diff --git a/.env.1password b/.env.1password new file mode 100644 index 0000000..dbd96ec --- /dev/null +++ b/.env.1password @@ -0,0 +1,47 @@ +# 1Password Environment Template +# This file contains secret references to 1Password vault items +# Use with: op run --env-file=.env.1password -- command +# Or: op inject -i .env.1password -o .env + +# ⚠️ DO NOT COMMIT THIS FILE - IT CONTAINS SECRET REFERENCES +# This file should be in .gitignore + +# Required Cloudflare Secrets +# Create these items in your 1Password vault: "MD-Book-Deployment" +CLOUDFLARE_API_TOKEN="op://MD-Book-Deployment/Cloudflare/api_token" +CLOUDFLARE_ACCOUNT_ID="op://MD-Book-Deployment/Cloudflare/account_id" + +# Optional Custom Domains +# Uncomment and set these if you have custom domains +# PRODUCTION_DOMAIN="op://MD-Book-Deployment/Domains/production" +# STAGING_DOMAIN="op://MD-Book-Deployment/Domains/staging" + +# Build Configuration (these can remain as regular values) +INPUT_DIR=test_input +OUTPUT_DIR=dist +SKIP_TESTS=false +DEPLOY_WORKER=true + +# Development Configuration +DEV_PORT=3000 +WATCH_FILES=true + +# Optional Analytics and Monitoring Secrets +# Uncomment and set these in 1Password if needed +# ANALYTICS_TOKEN="op://MD-Book-Deployment/Analytics/token" +# ERROR_REPORTING_DSN="op://MD-Book-Deployment/ErrorReporting/dsn" + +# Optional Email Configuration for Feedback +# Uncomment and set these in 1Password if needed +# FEEDBACK_EMAIL="op://MD-Book-Deployment/Email/feedback_address" +# SMTP_HOST="op://MD-Book-Deployment/SMTP/host" +# SMTP_PORT="op://MD-Book-Deployment/SMTP/port" +# SMTP_USER="op://MD-Book-Deployment/SMTP/username" +# SMTP_PASS="op://MD-Book-Deployment/SMTP/password" + +# GitHub Integration (for scripts that sync secrets) +# GITHUB_TOKEN="op://MD-Book-Deployment/GitHub/personal_access_token" + +# 1Password Service Account for CI/CD +# This should be set as a GitHub repository secret, not here +# OP_SERVICE_ACCOUNT_TOKEN="ops_..." \ No newline at end of file diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..514dbc3 --- /dev/null +++ b/.env.example @@ -0,0 +1,48 @@ +# Cloudflare Configuration +# Get these from your Cloudflare dashboard + +# Required: Your Cloudflare API Token +# Create at: https://dash.cloudflare.com/profile/api-tokens +# Permissions needed: Zone:Zone:Read, Zone:Page Rules:Edit, Account:Cloudflare Pages:Edit +CLOUDFLARE_API_TOKEN=your_api_token_here + +# Required: Your Cloudflare Account ID +# Find at: https://dash.cloudflare.com/ (right sidebar) +CLOUDFLARE_ACCOUNT_ID=your_account_id_here + +# Optional: Custom domain for production +# PRODUCTION_DOMAIN=docs.yourdomain.com + +# Optional: Custom domain for staging +# STAGING_DOMAIN=staging-docs.yourdomain.com + +# Build Configuration +# Input directory containing your Markdown files +INPUT_DIR=test_input + +# Output directory for generated HTML files +OUTPUT_DIR=dist + +# Skip tests during deployment (for faster deployments) +SKIP_TESTS=false + +# Deploy Cloudflare Worker along with Pages +DEPLOY_WORKER=true + +# Development Configuration +# Port for local development server +DEV_PORT=3000 + +# Enable file watching in development +WATCH_FILES=true + +# Analytics and Monitoring (Optional) +# ANALYTICS_TOKEN=your_analytics_token +# ERROR_REPORTING_DSN=your_error_reporting_dsn + +# Email notifications for feedback (Optional) +# FEEDBACK_EMAIL=feedback@yourdomain.com +# SMTP_HOST=smtp.yourdomain.com +# SMTP_PORT=587 +# SMTP_USER=your_smtp_user +# SMTP_PASS=your_smtp_password \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ce4de51..bbb39be 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,6 +11,8 @@ on: permissions: contents: read + issues: write + pull-requests: write env: CARGO_TERM_COLOR: always @@ -22,7 +24,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, macos-latest, windows-latest] + os: [ubuntu-18.04, ubuntu-20.04, ubuntu-22.04, ubuntu-latest, macos-latest, windows-latest] rust: [stable, beta] include: # Test on nightly but allow failures @@ -51,20 +53,28 @@ jobs: ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - key: ${{ runner.os }}-cargo-${{ matrix.rust }}-${{ hashFiles('**/Cargo.lock') }} + key: ${{ runner.os }}-${{ matrix.rust }}-cargo-${{ hashFiles('**/Cargo.lock') }} restore-keys: | - ${{ runner.os }}-cargo-${{ matrix.rust }}- + ${{ runner.os }}-${{ matrix.rust }}-cargo- + ${{ runner.os }}-stable-cargo- ${{ runner.os }}-cargo- + save-always: true - - name: Install Node.js for frontend tests - uses: actions/setup-node@v4 + - name: Cache Bun dependencies + uses: actions/cache@v4 + with: + path: ~/.bun/install/cache + key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lockb', '**/package.json') }} + restore-keys: | + ${{ runner.os }}-bun- + + - name: Install Bun for frontend tests + uses: oven-sh/setup-bun@v1 with: - node-version: '18' - cache: 'npm' - cache-dependency-path: package.json + bun-version: latest - name: Install frontend dependencies - run: npm ci + run: bun install - name: Check formatting if: matrix.rust == 'stable' @@ -88,11 +98,18 @@ jobs: continue-on-error: true # Some E2E tests might need actual server - name: Run frontend tests - run: npm test + run: bun test + + - name: Install benchmark dependencies + if: matrix.rust == 'stable' && matrix.os == 'ubuntu-latest' + run: sudo apt-get update && sudo apt-get install -y bc jq - - name: Run benchmarks (stable only) + - name: Run performance benchmarks if: matrix.rust == 'stable' && matrix.os == 'ubuntu-latest' - run: cargo bench --no-run # Don't actually run benchmarks in CI, just compile + run: | + chmod +x ./scripts/bench.sh + ./scripts/bench.sh + continue-on-error: false # Fail CI if significant regressions detected - name: Test documentation build if: matrix.rust == 'stable' @@ -127,19 +144,17 @@ jobs: ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - key: ${{ runner.os }}-cargo-wasm-${{ hashFiles('**/Cargo.lock') }} - - - name: Install wasm-pack - run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh - - - name: Install wasm-bindgen-cli - run: cargo install wasm-bindgen-cli - + key: ${{ runner.os }}-wasm-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-wasm-cargo- + ${{ runner.os }}-stable-cargo- + ${{ runner.os }}-cargo- + save-always: true - name: Build for WebAssembly - run: cargo build --target wasm32-unknown-unknown --lib + run: cargo build --target wasm32-unknown-unknown --lib --no-default-features - name: Run WASM tests - run: wasm-pack test --headless --chrome --firefox + run: cargo test --target wasm32-unknown-unknown --no-default-features continue-on-error: true # WASM tests might not work in CI environment msrv: @@ -157,11 +172,17 @@ jobs: uses: actions/cache@v4 with: path: | + ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - key: ${{ runner.os }}-cargo-msrv-${{ hashFiles('**/Cargo.lock') }} + key: ${{ runner.os }}-msrv-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-msrv-cargo- + ${{ runner.os }}-stable-cargo- + ${{ runner.os }}-cargo- + save-always: true - name: Check MSRV compilation run: cargo check --lib @@ -180,7 +201,7 @@ jobs: - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable - - name: Cache Cargo dependencies + - name: Cache Cargo dependencies and tools uses: actions/cache@v4 with: path: | @@ -189,20 +210,24 @@ jobs: ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - key: ${{ runner.os }}-cargo-audit-${{ hashFiles('**/Cargo.lock') }} + key: ${{ runner.os }}-audit-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-audit-cargo- + ${{ runner.os }}-stable-cargo- + ${{ runner.os }}-cargo- + save-always: true - name: Install cargo-audit - run: cargo install cargo-audit + run: | + # Check if cargo-audit is already installed + if ! command -v cargo-audit &> /dev/null; then + cargo install --locked cargo-audit + else + echo "cargo-audit is already installed: $(cargo-audit --version)" + fi - name: Run security audit run: cargo audit - - - name: Install cargo-deny - run: cargo install cargo-deny - - - name: Check licenses and security - run: cargo deny check - continue-on-error: true # Allow to continue if deny.toml doesn't exist yet coverage: name: Code Coverage @@ -218,8 +243,30 @@ jobs: with: components: llvm-tools-preview + - name: Cache Cargo dependencies and tools + uses: actions/cache@v4 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + key: ${{ runner.os }}-coverage-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-coverage-cargo- + ${{ runner.os }}-stable-cargo- + ${{ runner.os }}-cargo- + save-always: true + - name: Install cargo-tarpaulin - run: cargo install cargo-tarpaulin + run: | + # Check if cargo-tarpaulin is already installed + if ! command -v cargo-tarpaulin &> /dev/null; then + cargo install --locked cargo-tarpaulin + else + echo "cargo-tarpaulin is already installed: $(cargo-tarpaulin --version)" + fi - name: Generate coverage report run: | @@ -235,7 +282,7 @@ jobs: performance: name: Performance Regression runs-on: ubuntu-latest - if: github.event_name == 'push' && github.ref == 'refs/heads/main' + if: github.event_name == 'pull_request' || (github.event_name == 'push' && github.ref == 'refs/heads/main') steps: - name: Checkout repository @@ -253,17 +300,81 @@ jobs: ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - key: ${{ runner.os }}-cargo-bench-${{ hashFiles('**/Cargo.lock') }} + key: ${{ runner.os }}-bench-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-bench-cargo- + ${{ runner.os }}-stable-cargo- + ${{ runner.os }}-cargo- + save-always: true - - name: Run benchmarks - run: cargo bench -- --output-format json | tee benchmark-results.json - continue-on-error: true + - name: Install benchmark dependencies + run: sudo apt-get update && sudo apt-get install -y bc jq + + - name: Cache benchmark results + uses: actions/cache@v4 + with: + path: benchmark-results/ + key: ${{ runner.os }}-benchmarks-${{ github.base_ref || github.ref_name }} + restore-keys: | + ${{ runner.os }}-benchmarks-main + ${{ runner.os }}-benchmarks- + + - name: Run performance benchmarks + run: | + chmod +x ./scripts/bench.sh + ./scripts/bench.sh - - name: Store benchmark results + - name: Upload benchmark results uses: actions/upload-artifact@v4 with: - name: benchmark-results - path: benchmark-results.json + name: benchmark-results-${{ github.sha }} + path: benchmark-results/ + retention-days: 30 + + - name: Comment benchmark results on PR + if: github.event_name == 'pull_request' && always() + uses: actions/github-script@v7 + with: + script: | + const fs = require('fs'); + const path = 'benchmark-results/current.json'; + + try { + let body; + + if (fs.existsSync(path)) { + const results = fs.readFileSync(path, 'utf8'); + const truncatedResults = results.slice(0, 2000); + const wasTruncated = results.length > 2000; + + body = `## 📊 Performance Benchmark Results\n\nBenchmark completed successfully. Check the uploaded artifacts for detailed results.\n\n
\nRaw Results ${wasTruncated ? '(truncated)' : ''}\n\n\`\`\`json\n${truncatedResults}${wasTruncated ? '\n...\n[Results truncated - see artifacts for full output]' : ''}\n\`\`\`\n\n
`; + } else { + body = '## ⚠️ Performance Benchmark Results\n\nBenchmark completed but no results file was generated. Please check the workflow logs and uploaded artifacts.'; + } + + await github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: body + }); + + } catch (error) { + console.error('Failed to post benchmark comment:', error); + + // Try to post a simple error message + try { + await github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: '## ❌ Performance Benchmark Failed\n\nFailed to post benchmark results. Check workflow logs for details.' + }); + } catch (commentError) { + console.error('Failed to post error comment:', commentError); + // Don't fail the workflow if we can't post comments + } + } docs: name: Documentation @@ -286,7 +397,12 @@ jobs: ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - key: ${{ runner.os }}-cargo-doc-${{ hashFiles('**/Cargo.lock') }} + key: ${{ runner.os }}-doc-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-doc-cargo- + ${{ runner.os }}-stable-cargo- + ${{ runner.os }}-cargo- + save-always: true - name: Build documentation run: | diff --git a/.github/workflows/deploy-worker.yml b/.github/workflows/deploy-worker.yml new file mode 100644 index 0000000..629e035 --- /dev/null +++ b/.github/workflows/deploy-worker.yml @@ -0,0 +1,105 @@ +name: Deploy Cloudflare Worker + +on: + push: + branches: [main, master] + paths: + - 'worker/**' + - '.github/workflows/deploy-worker.yml' + pull_request: + branches: [main, master] + paths: + - 'worker/**' + workflow_dispatch: + inputs: + environment: + description: 'Deployment environment' + required: true + default: 'production' + type: choice + options: + - production + - staging + +permissions: + contents: read + +env: + NODE_VERSION: '20' + +jobs: + deploy-worker: + name: Deploy Worker to Cloudflare + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Bun + uses: oven-sh/setup-bun@v1 + with: + bun-version: latest + + - name: Cache Bun global packages + uses: actions/cache@v4 + with: + path: ~/.bun/install/global + key: ${{ runner.os }}-bun-global-wrangler + restore-keys: | + ${{ runner.os }}-bun-global- + + - name: Install Wrangler CLI + run: bun install -g wrangler + + - name: Verify Worker configuration + run: | + cd worker + if [ -f "wrangler.toml" ]; then + echo "Worker configuration found" + wrangler whoami + echo "✅ Worker setup validation passed" + else + echo "❌ Worker configuration not found" + exit 1 + fi + + - name: Deploy Worker (Production) + if: (github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master')) || (github.event_name == 'workflow_dispatch' && github.event.inputs.environment == 'production') + run: | + cd worker + wrangler deploy --env production + env: + CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} + CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + + - name: Deploy Worker (Staging) + if: github.event_name == 'pull_request' || (github.event_name == 'workflow_dispatch' && github.event.inputs.environment == 'staging') + run: | + cd worker + wrangler deploy --env staging + env: + CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} + CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + + - name: Worker Deployment Summary + run: | + ENVIRONMENT="production" + if [ "${{ github.event_name }}" = "pull_request" ] || [ "${{ github.event.inputs.environment }}" = "staging" ]; then + ENVIRONMENT="staging" + fi + + echo "## 🎉 Worker Deployment Successful!" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "Your Cloudflare Worker has been deployed successfully." >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "### Deployment Information" >> $GITHUB_STEP_SUMMARY + echo "- **Environment**: $ENVIRONMENT" >> $GITHUB_STEP_SUMMARY + echo "- **Commit**: ${{ github.sha }}" >> $GITHUB_STEP_SUMMARY + echo "- **Deploy Time**: $(date -u)" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "### API Endpoints" >> $GITHUB_STEP_SUMMARY + echo "- Health Check: \`/api/health\`" >> $GITHUB_STEP_SUMMARY + echo "- Search Suggestions: \`/api/search/suggestions?q=query\`" >> $GITHUB_STEP_SUMMARY + echo "- Analytics: \`/api/analytics/event\` (POST)" >> $GITHUB_STEP_SUMMARY + echo "- Feedback: \`/api/feedback\` (POST)" >> $GITHUB_STEP_SUMMARY \ No newline at end of file diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..92bd6c0 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,217 @@ +name: Deploy to Cloudflare Pages + +on: + push: + branches: [main, master] + pull_request: + branches: [main, master] + +permissions: + contents: read + deployments: write + +env: + CARGO_TERM_COLOR: always + RUST_BACKTRACE: 1 + NODE_VERSION: '20' + RUST_VERSION: '1.70.0' + +jobs: + build-and-deploy: + name: Build and Deploy to Cloudflare Pages + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ env.RUST_VERSION }} + components: rustfmt, clippy + + - name: Cache Cargo dependencies + uses: actions/cache@v4 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + key: ${{ runner.os }}-cloudflare-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cloudflare-cargo- + ${{ runner.os }}-stable-cargo- + ${{ runner.os }}-cargo- + save-always: true + + - name: Cache Bun dependencies + uses: actions/cache@v4 + with: + path: ~/.bun/install/cache + key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lockb', '**/package.json') }} + restore-keys: | + ${{ runner.os }}-bun- + + - name: Install Node.js and Bun + uses: actions/setup-node@v4 + with: + node-version: ${{ env.NODE_VERSION }} + + - name: Install Bun + uses: oven-sh/setup-bun@v1 + with: + bun-version: latest + + - name: Install frontend dependencies + run: bun install + + - name: Run tests before deployment + run: | + cargo fmt --all -- --check + cargo clippy --all-targets --all-features -- -D warnings + cargo test --lib --bins + bun test + + - name: Build optimized release binary + run: cargo build --release --all-features + + - name: Prepare test input for build + run: | + # Use test_input as the source for the documentation site + if [ ! -d "test_input" ]; then + echo "Creating minimal test input..." + mkdir -p test_input + echo "# Welcome to MD-Book" > test_input/index.md + echo "This is a modern mdbook replacement written in Rust." >> test_input/index.md + echo "" >> test_input/index.md + echo "## Features" >> test_input/index.md + echo "- Fast HTML generation from Markdown" >> test_input/index.md + echo "- Integrated search with Pagefind" >> test_input/index.md + echo "- Live development server" >> test_input/index.md + echo "- Multiple markdown format support" >> test_input/index.md + + echo "# Getting Started" > test_input/getting-started.md + echo "Learn how to use MD-Book to generate beautiful documentation." >> test_input/getting-started.md + fi + + - name: Generate static site + run: | + # Clean any previous build + rm -rf dist + + # Generate the static site using the built binary + ./target/release/md-book -i test_input -o dist + + # Verify the build output + ls -la dist/ + + - name: Create 404 page + run: | + # Create a custom 404 page + cat > dist/404.html << 'EOF' + + + + + + Page Not Found - MD-Book + + + + + +
+
+
+

Page Not Found

+

The page you're looking for doesn't exist.

+

Return to the homepage

+
+
+
+ + + EOF + + - name: Cache npm global packages + uses: actions/cache@v4 + with: + path: ~/.npm + key: ${{ runner.os }}-npm-global-${{ hashFiles('**/package.json') }} + restore-keys: | + ${{ runner.os }}-npm-global- + + - name: Setup Cloudflare CLI + run: npm install -g wrangler + + - name: Load secrets from 1Password + uses: 1password/load-secrets-action@v2 + if: vars.USE_1PASSWORD == 'true' || (vars.USE_1PASSWORD != 'false' && secrets.OP_SERVICE_ACCOUNT_TOKEN != '') + with: + export-env: true + env: + OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }} + CLOUDFLARE_API_TOKEN: "op://MD-Book-Deployment/Cloudflare/api_token" + CLOUDFLARE_ACCOUNT_ID: "op://MD-Book-Deployment/Cloudflare/account_id" + + - name: Deploy to Cloudflare Pages (Production) + if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master') + run: | + wrangler pages deploy dist \ + --project-name=md-book \ + --compatibility-date=2024-09-06 + env: + CLOUDFLARE_API_TOKEN: ${{ env.CLOUDFLARE_API_TOKEN || secrets.CLOUDFLARE_API_TOKEN }} + CLOUDFLARE_ACCOUNT_ID: ${{ env.CLOUDFLARE_ACCOUNT_ID || secrets.CLOUDFLARE_ACCOUNT_ID }} + + - name: Deploy to Cloudflare Pages (Preview) + if: github.event_name == 'pull_request' + run: | + wrangler pages deploy dist \ + --project-name=md-book \ + --compatibility-date=2024-09-06 \ + --branch=preview-${{ github.event.pull_request.number }} + env: + CLOUDFLARE_API_TOKEN: ${{ env.CLOUDFLARE_API_TOKEN || secrets.CLOUDFLARE_API_TOKEN }} + CLOUDFLARE_ACCOUNT_ID: ${{ env.CLOUDFLARE_ACCOUNT_ID || secrets.CLOUDFLARE_ACCOUNT_ID }} + + - name: Comment deployment URL on PR + if: github.event_name == 'pull_request' + uses: actions/github-script@v7 + with: + script: | + const deploymentUrl = `https://preview-${{ github.event.pull_request.number }}.md-book.pages.dev`; + const body = `## 🚀 Deployment Preview\n\nYour changes have been deployed to Cloudflare Pages!\n\n🔗 **Preview URL**: ${deploymentUrl}\n\nThe deployment will be updated automatically when you push new changes to this PR.`; + + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: body + }); + + - name: Upload build artifacts + if: always() + uses: actions/upload-artifact@v4 + with: + name: built-site-${{ github.sha }} + path: dist/ + retention-days: 7 + + - name: Deployment Summary + if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master') + run: | + echo "## 🎉 Deployment Successful!" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "Your MD-Book documentation has been deployed to Cloudflare Pages." >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "🔗 **Live URL**: https://md-book.pages.dev" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "### Build Information" >> $GITHUB_STEP_SUMMARY + echo "- **Commit**: ${{ github.sha }}" >> $GITHUB_STEP_SUMMARY + echo "- **Rust Version**: ${{ env.RUST_VERSION }}" >> $GITHUB_STEP_SUMMARY + echo "- **Build Time**: $(date -u)" >> $GITHUB_STEP_SUMMARY + echo "- **Generated Files**: $(find dist -type f | wc -l)" >> $GITHUB_STEP_SUMMARY \ No newline at end of file diff --git a/.github/workflows/netlify-deploy.yml b/.github/workflows/netlify-deploy.yml new file mode 100644 index 0000000..637776c --- /dev/null +++ b/.github/workflows/netlify-deploy.yml @@ -0,0 +1,128 @@ +name: Deploy to Netlify + +on: + push: + branches: [main, master] + pull_request: + branches: [main, master] + +permissions: + contents: read + pull-requests: write + +env: + CARGO_TERM_COLOR: always + RUST_BACKTRACE: 1 + RUST_VERSION: '1.70.0' + +jobs: + build-and-deploy: + name: Build and Deploy to Netlify + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ env.RUST_VERSION }} + components: rustfmt, clippy + + - name: Cache Cargo dependencies + uses: actions/cache@v4 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + key: ${{ runner.os }}-netlify-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-netlify-cargo- + ${{ runner.os }}-stable-cargo- + ${{ runner.os }}-cargo- + save-always: true + + - name: Run tests + run: | + cargo fmt --all -- --check + cargo clippy --all-targets --all-features -- -D warnings + cargo test --lib --bins + + - name: Build MD-Book + run: | + cargo build --release + + - name: Generate site + run: | + # Create input directory with sample content if it doesn't exist + if [ ! -d "test_input" ]; then + mkdir -p test_input + echo "# Welcome to MD-Book" > test_input/index.md + echo "" >> test_input/index.md + echo "This is a modern mdbook replacement written in Rust." >> test_input/index.md + echo "" >> test_input/index.md + echo "## Features" >> test_input/index.md + echo "- Fast and efficient" >> test_input/index.md + echo "- Modern web technologies" >> test_input/index.md + echo "- Integrated search" >> test_input/index.md + fi + + # Build the site + cargo run --release -- -i test_input -o dist + + - name: Create 404 page + run: | + # Create a custom 404 page + cat > dist/404.html << 'EOF' + + + + + + Page Not Found - MD-Book + + + + + +
+
+
+

Page Not Found

+

The page you're looking for doesn't exist.

+

Return to the homepage

+
+
+
+ + + EOF + + - name: Deploy to Netlify + uses: nwtgck/actions-netlify@v3.0 + with: + publish-dir: './dist' + production-branch: main + github-token: ${{ secrets.GITHUB_TOKEN }} + deploy-message: "Deploy from GitHub Actions - ${{ github.event.head_commit.message }}" + enable-pull-request-comment: true + enable-commit-comment: false + overwrites-pull-request-comment: true + env: + NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} + NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} + timeout-minutes: 10 + + - name: Upload build artifacts + if: always() + uses: actions/upload-artifact@v4 + with: + name: build-output + path: | + dist/ + target/release/md-book + retention-days: 7 \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 73b1b45..a638a4f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -135,12 +135,31 @@ jobs: ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - key: ${{ runner.os }}-cargo-release-${{ matrix.target }}-${{ hashFiles('**/Cargo.lock') }} + key: ${{ runner.os }}-${{ matrix.target }}-release-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-${{ matrix.target }}-release-cargo- + ${{ runner.os }}-${{ matrix.target }}-cargo- + ${{ runner.os }}-stable-cargo- + ${{ runner.os }}-cargo- + save-always: true + - name: Cache cross-compilation tool + if: matrix.cross + uses: actions/cache@v4 + with: + path: ~/.cargo/bin/cross + key: ${{ runner.os }}-cross-${{ hashFiles('~/.cargo/bin/cross') }} + restore-keys: | + ${{ runner.os }}-cross- + - name: Install cross-compilation tools if: matrix.cross run: | - cargo install cross --git https://github.com/cross-rs/cross + if ! command -v cross &> /dev/null; then + cargo install cross --git https://github.com/cross-rs/cross + else + echo "cross is already installed: $(cross --version)" + fi - name: Build release binary run: | @@ -242,7 +261,7 @@ jobs: - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable - - name: Cache Cargo dependencies + - name: Cache Cargo dependencies and tools uses: actions/cache@v4 with: path: | @@ -251,10 +270,20 @@ jobs: ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - key: ${{ runner.os }}-cargo-deb-${{ hashFiles('**/Cargo.lock') }} + key: ${{ runner.os }}-deb-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-deb-cargo- + ${{ runner.os }}-stable-cargo- + ${{ runner.os }}-cargo- + save-always: true - name: Install cargo-deb - run: cargo install cargo-deb + run: | + if ! command -v cargo-deb &> /dev/null; then + cargo install cargo-deb + else + echo "cargo-deb is already installed: $(cargo-deb --version)" + fi - name: Build Debian package run: | @@ -349,7 +378,12 @@ jobs: ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - key: ${{ runner.os }}-cargo-publish-${{ hashFiles('**/Cargo.lock') }} + key: ${{ runner.os }}-publish-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-publish-cargo- + ${{ runner.os }}-stable-cargo- + ${{ runner.os }}-cargo- + save-always: true - name: Publish to crates.io env: diff --git a/.github/workflows/sync-secrets.yml b/.github/workflows/sync-secrets.yml new file mode 100644 index 0000000..a1c42aa --- /dev/null +++ b/.github/workflows/sync-secrets.yml @@ -0,0 +1,150 @@ +name: Sync Secrets from 1Password + +on: + workflow_dispatch: + inputs: + dry_run: + description: 'Perform a dry run (no changes made)' + required: false + default: false + type: boolean + schedule: + # Run weekly on Sundays at 2 AM UTC to sync secrets + - cron: '0 2 * * 0' + +permissions: + contents: read + +jobs: + sync-secrets: + name: Sync 1Password to GitHub Secrets + runs-on: ubuntu-latest + if: secrets.OP_SERVICE_ACCOUNT_TOKEN != '' + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install 1Password CLI + uses: 1password/install-cli-action@v1 + + - name: Authenticate with 1Password + uses: 1password/load-secrets-action@v2 + with: + export-env: false + env: + OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }} + + - name: Sync secrets to GitHub (Dry Run) + if: inputs.dry_run + run: | + echo "🧪 Performing dry run - no changes will be made" + ./scripts/sync-secrets-to-github.sh --dry-run + env: + OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Sync secrets to GitHub + if: '!inputs.dry_run' + run: | + echo "🔄 Syncing secrets from 1Password to GitHub" + ./scripts/sync-secrets-to-github.sh + env: + OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Verify deployment after sync + if: '!inputs.dry_run' + run: | + echo "🔍 Testing deployment with synced secrets" + # Trigger the deploy workflow to test the synced secrets + gh workflow run deploy.yml --ref ${{ github.ref }} + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Summary + run: | + echo "## 🔐 Secret Sync Summary" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "- **Repository**: ${{ github.repository }}" >> $GITHUB_STEP_SUMMARY + echo "- **Triggered by**: ${{ github.event_name }}" >> $GITHUB_STEP_SUMMARY + echo "- **Dry run**: ${{ inputs.dry_run || 'false' }}" >> $GITHUB_STEP_SUMMARY + echo "- **Status**: ✅ Completed successfully" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + if [[ "${{ inputs.dry_run }}" == "true" ]]; then + echo "No changes were made during this dry run." >> $GITHUB_STEP_SUMMARY + else + echo "Secrets have been synced from 1Password to GitHub repository secrets." >> $GITHUB_STEP_SUMMARY + echo "The deployment workflow has been triggered to verify the synced secrets." >> $GITHUB_STEP_SUMMARY + fi + echo "" >> $GITHUB_STEP_SUMMARY + echo "### 📋 Next Steps" >> $GITHUB_STEP_SUMMARY + echo "- Monitor the deployment workflow for any issues" >> $GITHUB_STEP_SUMMARY + echo "- Check 1Password audit logs for secret access" >> $GITHUB_STEP_SUMMARY + echo "- Consider rotating secrets if needed" >> $GITHUB_STEP_SUMMARY + + notify-on-failure: + name: Notify on Sync Failure + runs-on: ubuntu-latest + needs: sync-secrets + if: failure() && !cancelled() + + steps: + - name: Create issue on failure + uses: actions/github-script@v7 + with: + script: | + const title = '🚨 Secret Sync Failed'; + const body = `## Secret Sync Failure + + The automated sync from 1Password to GitHub secrets has failed. + + **Details:** + - **Repository**: ${{ github.repository }} + - **Workflow**: ${{ github.workflow }} + - **Run ID**: ${{ github.run_id }} + - **Triggered by**: ${{ github.event_name }} + - **Time**: ${{ github.event.head_commit.timestamp || github.event.repository.updated_at }} + + **Action Required:** + 1. Check the workflow logs: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + 2. Verify 1Password service account permissions + 3. Check GitHub token permissions + 4. Manually run: \`./scripts/sync-secrets-to-github.sh --dry-run\` + 5. Fix any issues and re-run the sync + + **Monitoring:** + - Deployment may fail until secrets are synced + - Check 1Password audit logs for authentication issues + - Verify repository secrets in Settings > Secrets and variables > Actions + + This issue was created automatically by the sync-secrets workflow.`; + + // Check if issue already exists + const { data: issues } = await github.rest.issues.listForRepo({ + owner: context.repo.owner, + repo: context.repo.repo, + state: 'open', + labels: 'automation,secrets,1password' + }); + + const existingIssue = issues.find(issue => issue.title === title); + + if (!existingIssue) { + await github.rest.issues.create({ + owner: context.repo.owner, + repo: context.repo.repo, + title: title, + body: body, + labels: ['bug', 'automation', 'secrets', '1password', 'high-priority'] + }); + console.log('Created new issue for secret sync failure'); + } else { + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: existingIssue.number, + body: `Another secret sync failure occurred at ${{ github.event.head_commit.timestamp || github.event.repository.updated_at }}.\n\nWorkflow run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}` + }); + console.log('Added comment to existing secret sync failure issue'); + } \ No newline at end of file diff --git a/.gitignore b/.gitignore index cfd4a5a..5922a4a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,70 @@ -/target +# Rust +/target/ +**/*.rs.bk +Cargo.lock + +# Output directories +/dist/ +/build/ +/out/ /test_out + +# IDE files +.vscode/ +.idea/ +*.swp +*.swo + +# OS generated files .DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db + +# Environment variables (contain actual secrets) +.env +.env.local +.env.production +.env.staging + +# Note: .env.1password is NOT ignored because it contains only secret references +# (op://vault/item/field format), not actual secrets, and should be committed + +# Logs +*.log +logs/ + +# Node modules (for frontend tooling) +node_modules/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# Temporary files +tmp/ +temp/ test_* -dist* \ No newline at end of file + +# Test output +test-results/ +benchmark-results/ +coverage/ + +# Wrangler +.wrangler/ + +# Build artifacts +*.wasm +*.js.map + +# Backup files +*.backup +*.bak + +# Local development +.cache/ +.parcel-cache/ \ No newline at end of file diff --git a/CLAUDE.md b/CLAUDE.md index 98885a7..d2bd2d9 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -82,6 +82,183 @@ The project uses a layered configuration approach (priority order): Supports TOML, JSON, and YAML configuration files with shell expansion for paths. +## Deployment and CI/CD + +### Cloudflare Pages Deployment + +MD-Book is configured for automated deployment to Cloudflare Pages with the following features: + +#### Automated Deployments +- **Production**: Deploys automatically on push to `main`/`master` branch +- **Preview**: Creates preview deployments for pull requests +- **Manual**: Can be triggered manually via GitHub Actions + +#### Deployment Commands +```bash +# Full automated deployment (runs tests, builds, deploys) +./scripts/deploy.sh production + +# Deploy to staging +./scripts/deploy.sh staging + +# Skip tests for faster deployment +SKIP_TESTS=true ./scripts/deploy.sh production + +# Deploy without Cloudflare Worker +DEPLOY_WORKER=false ./scripts/deploy.sh production +``` + +#### GitHub Actions Workflows +- **`.github/workflows/deploy.yml`**: Main deployment workflow for Cloudflare Pages +- **`.github/workflows/deploy-worker.yml`**: Cloudflare Worker deployment +- **`.github/workflows/ci.yml`**: Comprehensive CI pipeline with testing and benchmarks + +#### Required Secrets +Set these in your GitHub repository settings: +``` +CLOUDFLARE_API_TOKEN=your_token_here +CLOUDFLARE_ACCOUNT_ID=your_account_id_here +``` + +### Cloudflare Worker + +The project includes an optional Cloudflare Worker for enhanced functionality: + +#### Worker Features +- **API Endpoints**: `/api/health`, `/api/search/suggestions`, `/api/analytics/event`, `/api/feedback` +- **Legacy Redirects**: Handles URL redirects for moved content +- **Security Headers**: Adds comprehensive security headers to all responses +- **Edge Functions**: Runs at Cloudflare's edge for optimal performance + +#### Worker Deployment +```bash +# Deploy worker to production +./scripts/deploy-worker.sh production + +# Deploy worker to staging +./scripts/deploy-worker.sh staging +``` + +### Netlify Deployment + +MD-Book also supports deployment to Netlify for simpler hosting needs: + +#### Quick Netlify Deployment +```bash +# Build the site +cargo run -- -i test_input -o dist + +# Deploy with Netlify CLI (install: npm install -g netlify-cli) +netlify deploy --prod --dir=dist + +# Or use drag-and-drop at https://app.netlify.com/drop +``` + +#### Configuration Files +- **`netlify.toml`**: Netlify configuration with build settings and headers +- **`.github/workflows/netlify-deploy.yml`**: GitHub Actions for automated deployment + +#### Netlify Features +- **Drag-and-drop deployment** for quick prototypes +- **Branch previews** for pull requests +- **Form handling** built into static HTML +- **Generous free tier** (100GB bandwidth/month) + +### Cloudflare Configuration Files +- **`wrangler.toml`**: Main Cloudflare Pages configuration +- **`worker/wrangler.toml`**: Cloudflare Worker configuration +- **`.env.example`**: Environment variables template + +#### Required Cloudflare Secrets +For deployment to work, you need two secrets from Cloudflare: + +**`CLOUDFLARE_API_TOKEN`** (Required for authentication) +- **Purpose**: Authenticates with Cloudflare API to deploy pages and manage resources +- **Permissions**: `Cloudflare Pages:Edit`, `Zone:Read`, `Account:Read` +- **Get it**: [Cloudflare API Tokens](https://dash.cloudflare.com/profile/api-tokens) → Create Token → Custom Token + +**`CLOUDFLARE_ACCOUNT_ID`** (Required for account identification) +- **Purpose**: Identifies which Cloudflare account to deploy resources to +- **Get it**: [Cloudflare Dashboard](https://dash.cloudflare.com/) → Copy "Account ID" from right sidebar + +**Setup Instructions:** +1. **For GitHub Actions**: Add both as repository secrets in Settings → Secrets and variables → Actions +2. **For Local Development**: Set as environment variables or add to `.env` file (never commit `.env`) + +### Build Pipeline + +1. **Prerequisites Check**: Validates Rust, Node.js, and required tools +2. **Testing Phase**: Runs format checks, linting, unit tests, and frontend tests +3. **Build Phase**: Compiles optimized release binary and generates static site +4. **Deployment Phase**: Deploys to Cloudflare Pages and optionally deploys Worker +5. **Verification**: Confirms deployment success and provides live URLs + +### Performance Optimizations + +#### Caching Strategy +- **Static Assets**: Long-term caching (1 year) for CSS, JS, images +- **Search Index**: Medium-term caching (1 hour) for Pagefind assets +- **HTML Pages**: Immediate revalidation for content updates + +#### Security Headers +- Content Security Policy (CSP) +- X-Frame-Options, X-XSS-Protection +- Strict Transport Security (HSTS) +- Content-Type-Options + +### Monitoring and Analytics + +#### Built-in Features +- Health check endpoint: `/api/health` +- Performance benchmarks in CI pipeline +- Build artifact uploads for debugging +- Deployment summaries in GitHub Actions + +#### Custom Analytics +- Event tracking via `/api/analytics/event` +- User feedback collection via `/api/feedback` +- Error reporting integration (configurable) + +### Environment Management + +#### Production Environment +- URL: `https://md-book.pages.dev` +- Automatic deployment from main branch +- Full feature set enabled +- Production-grade caching and security + +#### Staging Environment +- URL: `https://md-book-staging.pages.dev` +- Manual deployment for testing +- Same features as production +- Used for pre-production validation + +#### Preview Environments +- URL: `https://preview-{pr-number}.md-book.pages.dev` +- Created automatically for pull requests +- Allows testing changes before merge +- Automatically updated on PR changes + +### Troubleshooting Deployment + +#### Common Issues +1. **Missing Environment Variables**: Ensure `CLOUDFLARE_API_TOKEN` and `CLOUDFLARE_ACCOUNT_ID` are set +2. **Build Failures**: Check Rust version compatibility and dependencies +3. **Asset Loading**: Verify static asset paths and CDN configuration +4. **Search Not Working**: Ensure Pagefind is properly configured and indexed + +#### Debug Commands +```bash +# Test build locally +cargo run -- -i test_input -o dist + +# Validate worker locally +cd worker && wrangler dev + +# Check deployment status +wrangler pages deployment list --project-name=md-book +``` + ## Development Guidelines ### Rust & Async Programming Expert Guidelines diff --git a/CLOUDFLARE_SETUP.md b/CLOUDFLARE_SETUP.md new file mode 100644 index 0000000..39ac7ee --- /dev/null +++ b/CLOUDFLARE_SETUP.md @@ -0,0 +1,176 @@ +# Cloudflare Secrets Setup Guide + +This guide explains exactly what Cloudflare secrets you need and how to get them for deploying your MD-Book project. + +## Required Secrets + +### 1. CLOUDFLARE_API_TOKEN + +**What it does:** +- Authenticates your deployment scripts with Cloudflare's API +- Allows GitHub Actions to deploy to Cloudflare Pages +- Enables worker deployments and configuration updates + +**Required Permissions:** +- `Cloudflare Pages:Edit` - Deploy and manage Pages projects +- `Zone:Read` - Read DNS and domain information +- `Account:Read` - Access account-level resources + +**How to Get It:** + +1. **Go to Cloudflare API Tokens page:** + Visit: https://dash.cloudflare.com/profile/api-tokens + +2. **Create Custom Token:** + - Click "Create Token" + - Select "Custom token" (not pre-made templates) + +3. **Set Permissions:** + ``` + Account - Cloudflare Pages:Edit - [Your Account] + Zone - Zone:Read - All zones (or specific zones) + Account - Account:Read - [Your Account] + ``` + +4. **Add Restrictions (Optional but Recommended):** + - **Account resources:** Select your specific account + - **Zone resources:** Select specific zones if you don't want all zones + - **Client IP:** Add your deployment server IPs for extra security + - **TTL:** Set expiration date (90 days recommended) + +5. **Create and Copy Token:** + - Click "Continue to summary" → "Create Token" + - **⚠️ IMPORTANT**: Copy the token immediately - you won't see it again! + - Token format: `1234567890abcdef1234567890abcdef12345678` + +### 2. CLOUDFLARE_ACCOUNT_ID + +**What it does:** +- Identifies which Cloudflare account to deploy resources to +- Required for creating Pages projects and Workers +- Links deployments to the correct billing account + +**How to Get It:** + +1. **Go to Cloudflare Dashboard:** + Visit: https://dash.cloudflare.com/ + +2. **Find Account ID:** + - On any page, look at the **right sidebar** + - Under "Account" section, you'll see "Account ID" + - Format: `a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0` + +3. **Copy the Value:** + - Click the copy icon next to the Account ID + - It's a 32-character hex string + +## Setting Up Secrets + +### For GitHub Actions (Automated Deployment) + +1. **Go to your GitHub repository** +2. **Navigate to Settings → Secrets and variables → Actions** +3. **Add Repository Secrets:** + - Click "New repository secret" + - Name: `CLOUDFLARE_API_TOKEN` + - Value: [Paste your API token] + - Click "Add secret" + - Repeat for `CLOUDFLARE_ACCOUNT_ID` + +### For Local Development + +#### Option 1: Environment Variables +```bash +export CLOUDFLARE_API_TOKEN="your-api-token-here" +export CLOUDFLARE_ACCOUNT_ID="your-account-id-here" +``` + +#### Option 2: .env File +```bash +# Copy the template +cp .env.example .env + +# Edit .env file +echo "CLOUDFLARE_API_TOKEN=your-api-token-here" >> .env +echo "CLOUDFLARE_ACCOUNT_ID=your-account-id-here" >> .env +``` + +**⚠️ Important**: Never commit `.env` file to git - it's already in `.gitignore` + +## Verification + +Test that your secrets work: + +```bash +# Test API token +curl -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ + "https://api.cloudflare.com/client/v4/user/tokens/verify" + +# Test account access +curl -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ + "https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID" +``` + +Both should return successful responses with account information. + +## Security Best Practices + +### Token Security +- **Rotate regularly**: Create new tokens every 90 days +- **Minimal permissions**: Only grant required permissions +- **Monitor usage**: Check token activity in Cloudflare dashboard +- **Revoke unused**: Delete old tokens when no longer needed + +### Access Control +- **Repository secrets**: Only repository admins can view/edit secrets +- **Environment restrictions**: Use different tokens for staging vs production +- **IP restrictions**: Limit tokens to specific IPs when possible +- **Audit logs**: Monitor API token usage in Cloudflare dashboard + +## Troubleshooting + +### Common Issues + +**"Authentication failed"** +- Check that `CLOUDFLARE_API_TOKEN` is correct +- Verify token hasn't expired +- Ensure token has required permissions + +**"Account not found"** +- Check that `CLOUDFLARE_ACCOUNT_ID` is correct (32-character hex string) +- Verify you have access to the account +- Make sure account ID matches the token's account + +**"Permission denied"** +- Token needs `Cloudflare Pages:Edit` permission +- Add `Account:Read` and `Zone:Read` permissions +- Check if token is restricted to specific zones + +### Debug Commands + +```bash +# Verify token +wrangler whoami + +# List accounts +curl -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ + "https://api.cloudflare.com/client/v4/accounts" + +# Test Pages access +curl -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ + "https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/pages/projects" +``` + +## What Happens During Deployment + +When you deploy, these secrets are used to: + +1. **Authenticate with Cloudflare API** +2. **Create/update Pages project** in your account +3. **Upload static files** (HTML, CSS, JS, images) +4. **Configure caching rules** and security headers +5. **Deploy Worker functions** (if enabled) +6. **Set up custom domains** (if configured) +7. **Generate deployment URLs** for preview/production + +The entire process is automated and secure - secrets never appear in logs or output. \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 9cd713b..7b5f562 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1258,8 +1258,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi 0.11.1+wasi-snapshot-preview1", + "wasm-bindgen", ] [[package]] @@ -2032,6 +2034,7 @@ dependencies = [ "criterion", "futures", "futures-util", + "getrandom 0.2.16", "html-escape", "jiff", "markdown", @@ -2048,6 +2051,7 @@ dependencies = [ "twelf 0.15.0", "walkdir", "warp", + "wasm-bindgen", "wasm-bindgen-test", ] diff --git a/Cargo.toml b/Cargo.toml index a4c337b..2e11ac6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,31 +21,40 @@ thiserror = "1.0" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" jiff = "0.1.5" -syntect = "5.0.0" +syntect = { version = "5.0.0", optional = true } html-escape = "0.2.13" twelf = { version = "0.15.0", features = ["env", "toml", "json", "shellexpand"] } -# required for server and watcher -warp = "0.3.5" -notify = "6.0.1" -tokio = { version = "1.33.0", features = ["full"] } +# Optional dependencies for native builds only +warp = { version = "0.3.5", optional = true } +notify = { version = "6.0.1", optional = true } +tokio = { version = "1.33.0", default-features = false, optional = true } -futures = "0.3" -futures-util = "0.3" +futures = { version = "0.3", optional = true } +futures-util = { version = "0.3", optional = true } -# search engine -pagefind = "1.3.0" +# search engine (optional) +pagefind = { version = "1.3.0", optional = true } + +# WASM support +getrandom = { version = "0.2", features = ["js"] } +wasm-bindgen = { version = "0.2", optional = true } [dev-dependencies] criterion = { version = "0.5", features = ["html_reports"] } tempfile = "3.8" wasm-bindgen-test = "0.3" tokio-test = "0.4" -futures = "0.3" [features] -default = [] -wasm = [] +default = ["server", "watcher", "search", "syntax-highlighting"] +server = ["warp", "tokio/full", "futures", "futures-util"] +watcher = ["notify", "tokio/full"] +search = ["pagefind", "tokio/rt", "tokio/macros"] +syntax-highlighting = ["syntect"] +wasm = ["wasm-bindgen"] +# Minimal features for core functionality +core = ["tokio"] [[bench]] name = "pagefind_bench" diff --git a/DEPLOYMENT.md b/DEPLOYMENT.md new file mode 100644 index 0000000..fa8fdb7 --- /dev/null +++ b/DEPLOYMENT.md @@ -0,0 +1,730 @@ +# MD-Book Deployment Guide + +This document provides comprehensive instructions for deploying MD-Book to various hosting platforms including Cloudflare Pages, Workers, and Netlify. + +## Deployment Options + +MD-Book supports multiple hosting platforms: + +- **[Cloudflare Pages](#cloudflare-deployment)** - Unlimited bandwidth, Workers integration, advanced caching +- **[Netlify](#netlify-deployment)** - Simple deployment, forms, branch previews, generous free tier + +## Quick Start (Cloudflare) + +### 1. Initial Setup + +```bash +# Run the setup script to configure everything +./scripts/setup-cloudflare.sh +``` + +### 2. Configure Environment + +#### Option A: 1Password Integration (Recommended) +```bash +# Set up 1Password integration (secure, team-friendly) +./scripts/setup-1password.sh + +# Deploy with 1Password +op run --env-file=.env.1password -- ./scripts/deploy.sh production +``` + +#### Option B: Environment Variables (Traditional) +```bash +# Copy environment template +cp .env.example .env + +# Set your Cloudflare credentials (get these from Cloudflare Dashboard) +export CLOUDFLARE_API_TOKEN="your-api-token-here" # From API Tokens page +export CLOUDFLARE_ACCOUNT_ID="your-account-id-here" # From Dashboard sidebar +``` + +**⚠️ Important**: Never commit `.env` file to git - it's already in `.gitignore` + +**🔐 1Password Benefits**: Secure secret storage, team collaboration, audit trails, and automated rotation. + +### 3. Deploy + +#### With 1Password (Recommended) +```bash +# Deploy to production with 1Password +op run --env-file=.env.1password -- ./scripts/deploy.sh production + +# Deploy to staging with 1Password +op run --env-file=.env.1password -- ./scripts/deploy.sh staging + +# Auto-detect 1Password (fallback to env vars if not available) +./scripts/deploy.sh production + +# Force disable 1Password +USE_1PASSWORD=false ./scripts/deploy.sh production +``` + +#### With Environment Variables +```bash +# Deploy to production +./scripts/deploy.sh production + +# Deploy to staging +./scripts/deploy.sh staging +``` + +## Cloudflare Deployment + +### Architecture Overview + +``` +┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐ +│ GitHub Repo │───▶│ GitHub Actions │───▶│ Cloudflare Edge │ +└─────────────────┘ └──────────────────┘ └─────────────────┘ + │ │ + ▼ ▼ + ┌──────────────────┐ ┌─────────────────────┐ + │ Build Process │ │ Cloudflare Pages │ + │ │ │ (Static Hosting) │ + │ • Rust Compile │ └─────────────────────┘ + │ • Static Site │ │ + │ • Asset Optimize │ ▼ + │ • Search Index │ ┌─────────────────────┐ + └──────────────────┘ │ Cloudflare Workers │ + │ (API & Functions) │ + └─────────────────────┘ +``` + +## Components + +### 1. Cloudflare Pages +- **Purpose**: Static site hosting with global CDN +- **Features**: Automatic HTTPS, instant deployments, preview deployments +- **Configuration**: `wrangler.toml` + +### 2. Cloudflare Worker +- **Purpose**: API endpoints, redirects, and edge functions +- **Features**: Sub-millisecond response times, serverless scaling +- **Configuration**: `worker/wrangler.toml` + +### 3. GitHub Actions +- **Purpose**: Automated CI/CD pipeline +- **Features**: Testing, building, deploying, monitoring +- **Configuration**: `.github/workflows/` + +## Deployment Modes + +### Production Deployment +- **Trigger**: Push to `main` branch +- **URL**: `https://md-book.pages.dev` +- **Features**: Full feature set, production optimizations +- **Workflow**: `.github/workflows/deploy.yml` + +### Staging Deployment +- **Trigger**: Manual deployment +- **URL**: `https://md-book-staging.pages.dev` +- **Features**: Same as production, used for testing +- **Command**: `./scripts/deploy.sh staging` + +### Preview Deployments +- **Trigger**: Pull requests +- **URL**: `https://preview-{pr-number}.md-book.pages.dev` +- **Features**: Automatic preview for PR changes +- **Duration**: Temporary, removed when PR is closed + +## Scripts Reference + +### `./scripts/setup-cloudflare.sh` +Initial setup for Cloudflare deployment +- Installs required tools +- Configures environment +- Tests local build +- Provides GitHub Actions setup instructions + +### `./scripts/setup-1password.sh` +1Password integration setup for secure secret management +- Installs and configures 1Password CLI +- Creates vault and items for Cloudflare secrets +- Tests secret retrieval +- Generates .env file from 1Password vault + +### `./scripts/validate-secrets.sh` +Comprehensive secret validation +- Validates 1Password setup and access +- Checks environment variables +- Tests GitHub secrets (optional) +- Validates Cloudflare API connection (optional) + +### `./scripts/sync-secrets-to-github.sh` +GitHub secrets synchronization from 1Password +- Retrieves secrets from 1Password vault +- Syncs to GitHub repository secrets +- Supports dry-run mode for testing + +### `./scripts/deploy.sh [environment] [input_dir] [output_dir]` +Comprehensive deployment script +- Runs tests and builds +- Deploys to Cloudflare Pages +- Optionally deploys Worker +- Provides deployment summary + +**Examples:** +```bash +# Traditional deployment +./scripts/deploy.sh production +./scripts/deploy.sh staging docs dist +SKIP_TESTS=true ./scripts/deploy.sh production +DEPLOY_WORKER=false ./scripts/deploy.sh production + +# 1Password integration +op run --env-file=.env.1password -- ./scripts/deploy.sh production +USE_1PASSWORD=false ./scripts/deploy.sh production # Force disable 1Password +``` + +### `./scripts/deploy-worker.sh [environment]` +Worker-specific deployment +- Validates Worker code +- Deploys to specified environment +- Shows deployment history + +### `./scripts/monitor.sh [environment] [mode]` +Deployment monitoring and health checks +- Tests site availability +- Checks API endpoints +- Measures performance +- Validates SSL certificates + +**Examples:** +```bash +./scripts/monitor.sh # Full check of all environments +./scripts/monitor.sh production # Check production only +./scripts/monitor.sh production quick # Quick health check +``` + +## Configuration + +### Environment Variables + +#### Required +```bash +CLOUDFLARE_API_TOKEN=your_cloudflare_api_token # See "GitHub Secrets" section for details +CLOUDFLARE_ACCOUNT_ID=your_cloudflare_account_id # See "GitHub Secrets" section for details +``` + +**How to Get These Values:** +- `CLOUDFLARE_API_TOKEN`: Create at [Cloudflare API Tokens](https://dash.cloudflare.com/profile/api-tokens) +- `CLOUDFLARE_ACCOUNT_ID`: Found in [Cloudflare Dashboard](https://dash.cloudflare.com/) sidebar + +#### Optional +```bash +INPUT_DIR=test_input # Source markdown directory +OUTPUT_DIR=dist # Build output directory +SKIP_TESTS=false # Skip tests during deployment +DEPLOY_WORKER=true # Deploy worker with pages +``` + +### Cloudflare Configuration + +#### `wrangler.toml` (Pages) +- Project configuration +- Security headers +- Caching rules +- Custom domains +- Redirects + +#### `worker/wrangler.toml` (Worker) +- Worker configuration +- Route patterns +- Environment variables +- Resource limits + +### GitHub Secrets + +#### Required Secrets +Add these secrets to your GitHub repository (Settings → Secrets and variables → Actions): + +**`CLOUDFLARE_API_TOKEN`** +- **Purpose**: Authenticates with Cloudflare API for deployments +- **Permissions Required**: `Cloudflare Pages:Edit`, `Zone:Read`, `Account:Read` +- **How to Get**: + 1. Go to [Cloudflare Dashboard → My Profile → API Tokens](https://dash.cloudflare.com/profile/api-tokens) + 2. Click "Create Token" + 3. Use "Custom Token" template + 4. Set permissions: `Cloudflare Pages:Edit`, `Zone:Read`, `Account:Read` + 5. Optionally restrict to specific account/zones + 6. Copy the generated token (save it securely - you won't see it again) + +**`CLOUDFLARE_ACCOUNT_ID`** +- **Purpose**: Identifies your Cloudflare account for resource management +- **How to Get**: + 1. Go to [Cloudflare Dashboard](https://dash.cloudflare.com/) + 2. Select any domain or go to the main dashboard + 3. In the right sidebar, copy the "Account ID" value + 4. It looks like: `a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6` + +#### Security Notes +- **Never commit these values** to your repository +- **Use minimal permissions** - only grant what's needed +- **Rotate tokens regularly** (every 90 days recommended) +- **Monitor token usage** in Cloudflare Dashboard → API Tokens + +## 1Password Integration + +MD-Book includes comprehensive 1Password CLI integration for secure secret management: + +### Benefits +- **🔐 Secure Storage**: No secrets in plain text files or environment variables +- **👥 Team Collaboration**: Shared vaults for team deployments +- **📊 Audit Trail**: Complete history of secret access +- **🔄 Easy Rotation**: Automatic propagation to all environments +- **🎯 Principle of Least Privilege**: Service accounts with minimal permissions + +### Quick Start with 1Password +```bash +# 1. Set up 1Password integration +./scripts/setup-1password.sh + +# 2. Deploy with 1Password +op run --env-file=.env.1password -- ./scripts/deploy.sh production + +# 3. Sync secrets to GitHub for Actions +./scripts/sync-secrets-to-github.sh +``` + +### Workflows Supported +- **Local Development**: Use `op run` or `op inject` for seamless secret loading +- **GitHub Actions**: Automatic integration with 1Password service accounts +- **Team Deployment**: Shared vaults with role-based access +- **Secret Rotation**: Automated token rotation and propagation + +### Files Created +- `.env.1password` - 1Password secret references template +- `scripts/setup-1password.sh` - Initial setup and vault creation +- `scripts/validate-secrets.sh` - Comprehensive secret validation +- `scripts/sync-secrets-to-github.sh` - GitHub secrets sync +- `docs/1PASSWORD_SETUP.md` - Complete setup documentation + +See [1Password Setup Guide](./docs/1PASSWORD_SETUP.md) for detailed instructions. + +## Features + +### Performance Optimizations +- **Static Asset Caching**: 1-year cache for CSS/JS/images +- **HTML Revalidation**: Immediate content updates +- **Search Index Caching**: 1-hour cache for Pagefind +- **Edge Computing**: Worker functions run at 200+ locations + +### Security Features +- **HTTPS Everywhere**: Automatic SSL/TLS certificates +- **Security Headers**: CSP, HSTS, XSS protection +- **Content Validation**: Input sanitization and validation +- **DDoS Protection**: Built-in Cloudflare protection + +### Developer Experience +- **Live Previews**: Automatic PR deployments +- **Fast Deployments**: Typically complete in under 2 minutes +- **Rollback Support**: Easy deployment rollbacks +- **Comprehensive Monitoring**: Health checks and performance metrics + +## API Endpoints (Worker) + +### Health Check +```http +GET /api/health +``` +Returns deployment status and version information. + +### Search Suggestions +```http +GET /api/search/suggestions?q=query +``` +Returns search suggestions based on the indexed content. + +### Analytics Event +```http +POST /api/analytics/event +Content-Type: application/json + +{ + "event": "page_view", + "page": "/getting-started", + "timestamp": "2024-09-06T12:00:00Z" +} +``` + +### Feedback Submission +```http +POST /api/feedback +Content-Type: application/json + +{ + "message": "Great documentation!", + "page": "/introduction", + "rating": 5 +} +``` + +## Troubleshooting + +### Common Issues + +#### Build Failures +```bash +# Check Rust installation +cargo --version +rustc --version + +# Clean and rebuild +cargo clean +cargo build --release +``` + +#### Deployment Failures +```bash +# Verify environment variables +echo $CLOUDFLARE_API_TOKEN +echo $CLOUDFLARE_ACCOUNT_ID + +# Check Wrangler authentication +wrangler whoami + +# Manual deployment for debugging +wrangler pages deploy dist --project-name=md-book +``` + +#### Site Not Loading +```bash +# Check deployment status +wrangler pages deployment list --project-name=md-book + +# Test API endpoints +curl -s https://md-book.pages.dev/api/health + +# Run monitoring script +./scripts/monitor.sh production +``` + +### Debug Commands + +```bash +# Test local build +cargo run -- -i test_input -o dist + +# Validate worker locally +cd worker && wrangler dev + +# Check DNS resolution +nslookup md-book.pages.dev + +# Test SSL certificate +openssl s_client -servername md-book.pages.dev -connect md-book.pages.dev:443 +``` + +## Performance Benchmarks + +Expected performance metrics: +- **Page Load Time**: < 1.5s (globally) +- **First Contentful Paint**: < 0.8s +- **API Response Time**: < 100ms (from edge) +- **Build Time**: < 2 minutes (full deployment) + +## Monitoring and Alerts + +### Built-in Monitoring +- GitHub Actions deployment status +- Cloudflare analytics dashboard +- Worker execution metrics +- Pages performance insights + +### Custom Monitoring +- Health check endpoints +- Performance monitoring script +- Error rate tracking +- User feedback collection + +## Advanced Configuration + +### Custom Domains +Add to `wrangler.toml`: +```toml +[pages.custom_domains] +production = "docs.yourdomain.com" +staging = "staging-docs.yourdomain.com" +``` + +### Additional Workers +Create new workers for specialized functionality: +```bash +mkdir additional-worker +cd additional-worker +wrangler init +``` + +### Environment-Specific Configuration +Use environment variables in `wrangler.toml`: +```toml +[env.production.vars] +API_URL = "https://api.yourdomain.com" + +[env.staging.vars] +API_URL = "https://staging-api.yourdomain.com" +``` + +## Netlify Deployment + +MD-Book can also be deployed to Netlify, which offers a simple drag-and-drop deployment option and Git-based continuous deployment. + +### Quick Netlify Deployment + +#### Option 1: Drag and Drop +1. **Build your site locally:** + ```bash + # Build with default input/output + cargo run -- -i docs -o dist + + # Or use custom directories + cargo run -- -i your-content -o build + ``` + +2. **Deploy to Netlify:** + - Go to [Netlify Drop](https://app.netlify.com/drop) + - Drag your `dist` (or `build`) folder to the deploy area + - Your site will be live instantly with a random URL + - Optionally set a custom subdomain + +#### Option 2: Git-based Deployment +1. **Connect your repository:** + - Go to [Netlify](https://app.netlify.com/) + - Click "Add new site" → "Import an existing project" + - Connect your Git provider and select your repository + +2. **Configure build settings:** + ```yaml + # Build command + cargo run -- -i docs -o dist + + # Publish directory + dist + + # Environment variables (optional) + RUST_VERSION=1.70.0 + ``` + +#### Option 3: Netlify CLI +```bash +# Install Netlify CLI +npm install -g netlify-cli + +# Login to Netlify +netlify login + +# Build your site +cargo run -- -i docs -o dist + +# Deploy to draft URL +netlify deploy --dir=dist + +# Deploy to production +netlify deploy --prod --dir=dist +``` + +### Netlify Configuration File + +Create `netlify.toml` in your project root: + +```toml +[build] + command = "cargo run -- -i docs -o dist" + publish = "dist" + +[build.environment] + RUST_VERSION = "1.70.0" + +# Redirect rules for SPA-like behavior +[[redirects]] + from = "/*" + to = "/404.html" + status = 404 + +# Headers for better caching +[[headers]] + for = "/css/*" + [headers.values] + Cache-Control = "public, max-age=31536000" + +[[headers]] + for = "/js/*" + [headers.values] + Cache-Control = "public, max-age=31536000" + +[[headers]] + for = "*.html" + [headers.values] + Cache-Control = "public, max-age=0, must-revalidate" + +# Enable Netlify Functions (optional) +[functions] + directory = "netlify/functions" +``` + +### GitHub Actions for Netlify + +Create `.github/workflows/netlify-deploy.yml`: + +```yaml +name: Deploy to Netlify + +on: + push: + branches: [main, master] + pull_request: + branches: [main, master] + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Rust + uses: dtolnay/rust-toolchain@master + with: + toolchain: 1.70.0 + + - name: Cache Cargo + uses: actions/cache@v4 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + + - name: Build site + run: | + cargo run -- -i docs -o dist + + - name: Deploy to Netlify + uses: nwtgck/actions-netlify@v3.0 + with: + publish-dir: './dist' + production-branch: main + github-token: ${{ secrets.GITHUB_TOKEN }} + deploy-message: "Deploy from GitHub Actions" + env: + NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} + NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} +``` + +### Netlify Features for MD-Book + +#### Form Handling +Add contact forms to your documentation: + +```html + +
+

+ +

+

+ +

+

+ +

+

+ +

+
+``` + +#### Branch Previews +- Every pull request gets a preview URL +- Perfect for reviewing documentation changes +- Automatic cleanup when PR is merged/closed + +#### Custom Domains +```toml +# In netlify.toml +[build] + command = "cargo run -- -i docs -o dist" + publish = "dist" + +# Custom domain configuration +[[headers]] + for = "/*" + [headers.values] + X-Frame-Options = "DENY" + X-XSS-Protection = "1; mode=block" + X-Content-Type-Options = "nosniff" + Referrer-Policy = "strict-origin-when-cross-origin" +``` + +### Netlify vs Cloudflare Comparison + +| Feature | Netlify | Cloudflare Pages | +|---------|---------|-----------------| +| **Deployment** | Git-based, CLI, Drag & Drop | Git-based, CLI, API | +| **Build Time** | 15min free tier | Unlimited | +| **Bandwidth** | 100GB/month free | Unlimited | +| **Forms** | Built-in form handling | Requires Workers | +| **Functions** | Netlify Functions | Cloudflare Workers | +| **CDN** | Global CDN | Global CDN (faster) | +| **Custom Headers** | Via netlify.toml | Via _headers file | +| **Redirects** | Built-in | Built-in | +| **Branch Previews** | ✅ | ✅ | +| **Custom Domains** | Free SSL | Free SSL | +| **Analytics** | Paid add-on | Built-in | + +### Migration from Cloudflare to Netlify + +If you want to migrate from Cloudflare to Netlify: + +1. **Export your build:** + ```bash + # Build locally + cargo run -- -i docs -o dist + ``` + +2. **Create netlify.toml:** + ```toml + [build] + command = "cargo run -- -i docs -o dist" + publish = "dist" + ``` + +3. **Set up redirects:** + ```toml + # Convert Cloudflare _redirects to netlify.toml + [[redirects]] + from = "/old-path/*" + to = "/new-path/:splat" + status = 301 + ``` + +4. **Deploy:** + ```bash + netlify init + netlify deploy --prod + ``` + +## Support and Resources + +### Documentation +- [Cloudflare Pages Docs](https://developers.cloudflare.com/pages/) +- [Cloudflare Workers Docs](https://developers.cloudflare.com/workers/) +- [Wrangler CLI Reference](https://developers.cloudflare.com/workers/wrangler/) + +### Community +- [Cloudflare Community](https://community.cloudflare.com/) +- [Cloudflare Discord](https://discord.gg/cloudflaredev) +- [GitHub Issues](https://github.com/terraphim/md-book/issues) + +### Professional Support +- [Cloudflare Support](https://support.cloudflare.com/) +- [Enterprise Solutions](https://www.cloudflare.com/enterprise/) + +--- + +*This deployment system is designed for high-performance, scalable documentation hosting with minimal maintenance overhead.* \ No newline at end of file diff --git a/README.md b/README.md index 1f206a9..9dbdf62 100644 --- a/README.md +++ b/README.md @@ -90,6 +90,37 @@ cargo run -- -i input -o output --serve cargo run -- -i input -o output --watch --serve --port 8080 ``` +## Deployment + +MD-Book supports deployment to multiple platforms: + +### Cloudflare Pages (Recommended) +```bash +# Setup (includes 1Password integration) +./scripts/setup-cloudflare.sh + +# Deploy to production +./scripts/deploy.sh production +``` + +### Netlify +```bash +# Build site +cargo run -- -i docs -o dist + +# Deploy with CLI +netlify deploy --prod --dir=dist + +# Or drag & drop at https://app.netlify.com/drop +``` + +See [DEPLOYMENT.md](DEPLOYMENT.md) for comprehensive deployment documentation including: +- 1Password integration for secure secret management +- GitHub Actions workflows +- Custom domains and SSL +- Performance optimization +- Platform comparison + # TODO - [ ] Rust specific synax highlight. Good first issue. diff --git a/benches/pagefind_bench.rs b/benches/pagefind_bench.rs index 3ce714a..20f594a 100644 --- a/benches/pagefind_bench.rs +++ b/benches/pagefind_bench.rs @@ -1,4 +1,4 @@ -use criterion::{black_box, criterion_group, criterion_main, Criterion, BenchmarkId}; +use criterion::{black_box, criterion_group, criterion_main, BenchmarkId, Criterion}; use md_book::{PagefindBuilder, PagefindError}; use std::fs; use std::path::PathBuf; @@ -8,18 +8,34 @@ use tokio::runtime::Runtime; /// Generate test HTML content with varying sizes fn generate_html_content(title: &str, word_count: usize) -> String { let words = vec![ - "documentation", "search", "index", "content", "performance", "benchmark", - "testing", "pagefind", "rust", "webassembly", "optimization", "analysis", - "configuration", "installation", "tutorial", "guide", "advanced", "basic" + "documentation", + "search", + "index", + "content", + "performance", + "benchmark", + "testing", + "pagefind", + "rust", + "webassembly", + "optimization", + "analysis", + "configuration", + "installation", + "tutorial", + "guide", + "advanced", + "basic", ]; - - let repeated_words = words.iter() + + let repeated_words = words + .iter() .cycle() .take(word_count) .map(|w| w.to_string()) .collect::>() .join(" "); - + format!( r#" @@ -38,38 +54,42 @@ fn generate_html_content(title: &str, word_count: usize) -> String { } /// Create a test site with specified number of pages and content size -async fn create_benchmark_site(temp_dir: &TempDir, page_count: usize, words_per_page: usize) -> Result> { +async fn create_benchmark_site( + temp_dir: &TempDir, + page_count: usize, + words_per_page: usize, +) -> Result> { let site_path = temp_dir.path().to_path_buf(); - + // Create directory structure fs::create_dir_all(site_path.join("docs"))?; fs::create_dir_all(site_path.join("guides"))?; fs::create_dir_all(site_path.join("api"))?; - + // Generate pages for i in 0..page_count { let title = format!("Test Page {}", i); let content = generate_html_content(&title, words_per_page); - + let file_path = match i % 3 { 0 => site_path.join("docs").join(format!("page_{}.html", i)), 1 => site_path.join("guides").join(format!("guide_{}.html", i)), 2 => site_path.join("api").join(format!("api_{}.html", i)), _ => unreachable!(), }; - + fs::write(file_path, content)?; } - + Ok(site_path) } /// Benchmark pagefind builder initialization fn bench_pagefind_init(c: &mut Criterion) { let rt = Runtime::new().unwrap(); - + let mut group = c.benchmark_group("pagefind_init"); - + for page_count in [10, 50, 100, 500].iter() { group.bench_with_input( BenchmarkId::new("pages", page_count), @@ -81,7 +101,7 @@ fn bench_pagefind_init(c: &mut Criterion) { let site_path = create_benchmark_site(&temp_dir, page_count, 100) .await .expect("Failed to create site"); - + let result = PagefindBuilder::new(black_box(site_path)).await; assert!(result.is_ok()); result.unwrap() @@ -90,18 +110,18 @@ fn bench_pagefind_init(c: &mut Criterion) { }, ); } - + group.finish(); } /// Benchmark pagefind indexing performance fn bench_pagefind_indexing(c: &mut Criterion) { let rt = Runtime::new().unwrap(); - + let mut group = c.benchmark_group("pagefind_indexing"); group.sample_size(10); // Reduce sample size for slower operations group.measurement_time(std::time::Duration::from_secs(30)); - + for &(page_count, words_per_page) in [(10, 100), (50, 100), (100, 100), (50, 500)].iter() { group.bench_with_input( BenchmarkId::new("indexing", format!("{}p_{}w", page_count, words_per_page)), @@ -110,16 +130,18 @@ fn bench_pagefind_indexing(c: &mut Criterion) { b.iter(|| { rt.block_on(async { let temp_dir = TempDir::new().expect("Failed to create temp dir"); - let site_path = create_benchmark_site(&temp_dir, page_count, words_per_page) + let site_path = + create_benchmark_site(&temp_dir, page_count, words_per_page) + .await + .expect("Failed to create site"); + + let builder = PagefindBuilder::new(black_box(site_path)) .await - .expect("Failed to create site"); - - let builder = PagefindBuilder::new(black_box(site_path)).await .expect("Failed to create builder"); - + // This is the main operation we're benchmarking let result = builder.build().await; - + // The build might fail in the test environment, but we want to measure timing match result { Ok(_) => { @@ -137,17 +159,17 @@ fn bench_pagefind_indexing(c: &mut Criterion) { }, ); } - + group.finish(); } /// Benchmark memory usage during indexing fn bench_memory_usage(c: &mut Criterion) { let rt = Runtime::new().unwrap(); - + let mut group = c.benchmark_group("memory_usage"); group.sample_size(10); - + for page_count in [10, 50, 100].iter() { group.bench_with_input( BenchmarkId::new("memory", page_count), @@ -159,18 +181,19 @@ fn bench_memory_usage(c: &mut Criterion) { let site_path = create_benchmark_site(&temp_dir, page_count, 200) .await .expect("Failed to create site"); - + // Measure memory before let _memory_before = get_memory_usage(); - - let builder = PagefindBuilder::new(black_box(site_path)).await + + let builder = PagefindBuilder::new(black_box(site_path)) + .await .expect("Failed to create builder"); - + let _ = builder.build().await; // May fail in test environment - + // Measure memory after let _memory_after = get_memory_usage(); - + // In a real benchmark, we'd calculate the difference // For now, we just measure the timing }) @@ -178,91 +201,94 @@ fn bench_memory_usage(c: &mut Criterion) { }, ); } - + group.finish(); } /// Benchmark configuration loading performance fn bench_config_loading(c: &mut Criterion) { let rt = Runtime::new().unwrap(); - + let mut group = c.benchmark_group("config_loading"); - + // Test with different config file formats for format in ["toml", "json", "yaml"].iter() { - group.bench_with_input( - BenchmarkId::new("format", format), - format, - |b, &format| { - b.iter(|| { - rt.block_on(async { - let temp_dir = TempDir::new().expect("Failed to create temp dir"); - let site_path = create_benchmark_site(&temp_dir, 10, 50) - .await - .expect("Failed to create site"); - - // Create config file - let config_content = match format { - "toml" => r#" + group.bench_with_input(BenchmarkId::new("format", format), format, |b, &format| { + b.iter(|| { + rt.block_on(async { + let temp_dir = TempDir::new().expect("Failed to create temp dir"); + let site_path = create_benchmark_site(&temp_dir, 10, 50) + .await + .expect("Failed to create site"); + + // Create config file + let config_content = match format { + "toml" => { + r#" [pagefind] root_selector = "body" exclude_selectors = ["nav", "footer"] glob = "**/*.html" -"#, - "json" => r#"{ +"# + } + "json" => { + r#"{ "pagefind": { "root_selector": "body", "exclude_selectors": ["nav", "footer"], "glob": "**/*.html" } -}"#, - "yaml" => r#" +}"# + } + "yaml" => { + r#" pagefind: root_selector: "body" exclude_selectors: - "nav" - "footer" glob: "**/*.html" -"#, - _ => unreachable!(), - }; - - let config_file = format!("pagefind.{}", format); - let config_path = temp_dir.path().join(&config_file); - fs::write(&config_path, config_content).expect("Failed to write config"); - - // Change to temp directory for config loading - let original_dir = std::env::current_dir().expect("Failed to get current dir"); - std::env::set_current_dir(temp_dir.path()).expect("Failed to change dir"); - - let result = PagefindBuilder::new(black_box(site_path)).await; - - // Restore directory - std::env::set_current_dir(original_dir).expect("Failed to restore dir"); - - assert!(result.is_ok()); - result.unwrap() - }) - }); - }, - ); +"# + } + _ => unreachable!(), + }; + + let config_file = format!("pagefind.{}", format); + let config_path = temp_dir.path().join(&config_file); + fs::write(&config_path, config_content).expect("Failed to write config"); + + // Change to temp directory for config loading + let original_dir = std::env::current_dir().expect("Failed to get current dir"); + std::env::set_current_dir(temp_dir.path()).expect("Failed to change dir"); + + let result = PagefindBuilder::new(black_box(site_path)).await; + + // Restore directory + std::env::set_current_dir(original_dir).expect("Failed to restore dir"); + + assert!(result.is_ok()); + result.unwrap() + }) + }); + }); } - + group.finish(); } /// Benchmark error handling performance fn bench_error_handling(c: &mut Criterion) { let rt = Runtime::new().unwrap(); - + let mut group = c.benchmark_group("error_handling"); - + group.bench_function("invalid_path", |b| { b.iter(|| { rt.block_on(async { - let invalid_path = PathBuf::from("/absolutely/nonexistent/path/that/should/never/exist"); + let invalid_path = + PathBuf::from("/absolutely/nonexistent/path/that/should/never/exist"); let result = PagefindBuilder::new(black_box(invalid_path)).await; - + assert!(result.is_err()); match result.unwrap_err() { PagefindError::SourcePathNotFound { .. } => { @@ -273,7 +299,7 @@ fn bench_error_handling(c: &mut Criterion) { }) }); }); - + group.bench_function("multiple_configs", |b| { b.iter(|| { rt.block_on(async { @@ -281,20 +307,20 @@ fn bench_error_handling(c: &mut Criterion) { let site_path = create_benchmark_site(&temp_dir, 5, 50) .await .expect("Failed to create site"); - + // Create multiple config files fs::write(temp_dir.path().join("pagefind.toml"), "# TOML config") .expect("Failed to write TOML"); fs::write(temp_dir.path().join("pagefind.json"), "{}") .expect("Failed to write JSON"); - + let original_dir = std::env::current_dir().expect("Failed to get current dir"); std::env::set_current_dir(temp_dir.path()).expect("Failed to change dir"); - + let result = PagefindBuilder::new(black_box(site_path)).await; - + std::env::set_current_dir(original_dir).expect("Failed to restore dir"); - + assert!(result.is_err()); match result.unwrap_err() { PagefindError::MultipleConfigs { .. } => { @@ -305,7 +331,7 @@ fn bench_error_handling(c: &mut Criterion) { }) }); }); - + group.finish(); } @@ -319,9 +345,9 @@ fn get_memory_usage() -> usize { /// Benchmark concurrent operations fn bench_concurrent_operations(c: &mut Criterion) { let rt = Runtime::new().unwrap(); - + let mut group = c.benchmark_group("concurrent_operations"); - + for concurrency in [1, 2, 4, 8].iter() { group.bench_with_input( BenchmarkId::new("concurrent_init", concurrency), @@ -333,17 +359,15 @@ fn bench_concurrent_operations(c: &mut Criterion) { let site_path = create_benchmark_site(&temp_dir, 20, 100) .await .expect("Failed to create site"); - + // Create multiple builders concurrently let tasks = (0..concurrency).map(|_| { let site_path = site_path.clone(); - async move { - PagefindBuilder::new(black_box(site_path)).await - } + async move { PagefindBuilder::new(black_box(site_path)).await } }); - + let results = futures::future::join_all(tasks).await; - + // Verify all succeeded for result in results { assert!(result.is_ok()); @@ -353,7 +377,7 @@ fn bench_concurrent_operations(c: &mut Criterion) { }, ); } - + group.finish(); } @@ -367,4 +391,4 @@ criterion_group!( bench_concurrent_operations, ); -criterion_main!(benches); \ No newline at end of file +criterion_main!(benches); diff --git a/dist1/Architecture.html b/dist1/Architecture.html new file mode 100644 index 0000000..6c70aa8 --- /dev/null +++ b/dist1/Architecture.html @@ -0,0 +1,210 @@ + + + + + + Architecture | mdBook test book + + + + + + + + + + + +
+ + +
+
+

Architecture

+

Use mermaid to draw the architecture of the system.

+
graph TD;
+    A-->B;
+    A-->C;
+    B-->D;
+    C-->D;
+ +
+
+ + +
+
+ +
+ + \ No newline at end of file diff --git a/dist1/CODE_OF_CONDUCT.html b/dist1/CODE_OF_CONDUCT.html new file mode 100644 index 0000000..a24b221 --- /dev/null +++ b/dist1/CODE_OF_CONDUCT.html @@ -0,0 +1,231 @@ + + + + + + Code of Conduct | mdBook test book + + + + + + + + + + + +
+ + +
+
+

Code of Conduct

+

Code of Conduct

+

Our Pledge

+

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.

+

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

+

Our Standards

+

Examples of behavior that contributes to a positive environment for our community include:

+
    +
  • Demonstrating empathy and kindness toward other people
  • +
  • Being respectful of differing opinions, viewpoints, and experiences
  • +
  • Giving and gracefully accepting constructive feedback
  • +
  • Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
  • +
  • Focusing on what is best not just for us as individuals, but for the +overall community
  • +
+

Examples of unacceptable behavior include:

+
    +
  • The use of sexualized language or imagery, and sexual attention or advances of any kind
  • +
  • Trolling, insulting or derogatory comments, and personal or political attacks
  • +
  • Public or private harassment
  • +
  • Publishing others' private information, such as a physical or email address, without their explicit permission
  • +
  • Other conduct which could reasonably be considered inappropriate in a professional setting
  • +
+

Enforcement Responsibilities

+

Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

+

Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.

+

Scope

+

This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address,posting via an official social media account, or acting as an appointed representative at an online or offline event.

+

Enforcement

+

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at alex@terraphim.ai. All complaints will be reviewed and investigated promptly and fairly. All community leaders are obligated to respect the privacy and security of the reporter of any incident.

+

Attribution

+

This Code of Conduct is adapted from the Contributor Covenant, version 2.0, available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.

+

For answers to common questions about this code of conduct, see https://www.contributor-covenant.org/faq.

+ +
+
+ + +
+
+ +
+ + \ No newline at end of file diff --git a/dist1/CONTRIBUTE.html b/dist1/CONTRIBUTE.html new file mode 100644 index 0000000..b4ce418 --- /dev/null +++ b/dist1/CONTRIBUTE.html @@ -0,0 +1,221 @@ + + + + + + Contributing | mdBook test book + + + + + + + + + + + +
+ + +
+
+

Contributing

+

Contributing

+

Guide for Terraphim AI contributors

+

Earthly-Based Development

+

You can run the full stack using Earthly. +From the project root, execute the following command:

+
earthly ls

This will list all the available targets. You can then run the full stack using the following command:

+
earthly +pipeline

This will build the full stack using Earthly.

+

Local Development

+

If you want to develop without using Earthly, you need a local node.js, Yarn, +and Rust environment.

+

Then you can run the following commands:

+

Install the sample data for system_operator

+
git clone https://github.com/terraphim/INCOSE-Systems-Engineering-Handbook.git /tmp/system_operator/

Run the backend

+
cargo run 

Run the frontend in development mode:

+
yarn run dev

from ./desktop folder

+

to compile tauri in dev mode run:

+
yarn run tauri dev 
+ +
+
+ + +
+
+ +
+ + \ No newline at end of file diff --git a/dist1/DesignDecisions.html b/dist1/DesignDecisions.html new file mode 100644 index 0000000..9558886 --- /dev/null +++ b/dist1/DesignDecisions.html @@ -0,0 +1,206 @@ + + + + + + Design Decisions | mdBook test book + + + + + + + + + + + +
+ + +
+
+

Design Decisions

+

Design Decisions

+ + +
+
+ + +
+
+ +
+ + \ No newline at end of file diff --git a/dist1/Introduction.html b/dist1/Introduction.html new file mode 100644 index 0000000..3fa0f03 --- /dev/null +++ b/dist1/Introduction.html @@ -0,0 +1,240 @@ + + + + + + Introduction | mdBook test book + + + + + + + + + + + +
+ + +
+
+

Introduction

+

Introduction

+

testing

+

, {username}!

+

Visit www.commonmark.org/help for more information.

+

Terraphim is a privacy-first AI assistant which works for you under your complete control. It starts as a local search engine, which can be configured to search for different types of content, such as Stackoverflow, Github, and local filesystem with a pre-defined folder, including Markdown Files. We use modern algorithms for AI/ML, data fusion, and distributed communication techniques to run AI assistants on the user's hardware, including not used mobile devices.

+

Methodological aspects

+

To personalise the search relevance, Terraphim uses knowledge graph, either local, in Obsidian or Logseq, or shared, in Atomic Server. We follow the methodology to create and update such a knowledge graph. First, each Terraphim role has its own separate knowledge graph that contains relevant concepts, with all synonyms. Usually, at the start a couple of key industry standards, reference process models, or handbooks are identified, and then such concepts and synonyms are extracted from them, using named entities recognition and expert opinions.

+

Terraphim also can import curated industry taxonomies and produce a knowledge graph from it. The typical structure of a knowledge graph follows the SIPOC pattern – concepts at the input and output of some process are identified, and the process and its activity names are listed. After that, for each additional piece of data, for example, blog post, article, book, or video recording transcript, Terraphim identifies either role concepts from the knowledge graph or synonyms, extending the applicability of the knowledge graph that represents the domain, that is relevant for a selected Terraphim role. Using such textbook-quality datasets for semantic search enables delivery very accurate and precise search results.

+

This methodology has been validated within the INCOSE community for the systems engineering handbook v.4 and the systems engineering digital process model v.1 and was recognised as a valid low-effort substitution of the formal model-based systems engineering, especially for brownfield systems engineering, reverse-engineering, and professional certified systems engineering certification, as well as for engineering education. Connecting the Terraphim role to the widely accepted industry standard helps to activate the accumulated wisdom of generations, augments communication by referring to common and recognised concepts and terms used in the standard, and also helps to formulate and reuse lessons learned, pass audits, following organisational guidelines, and match communication to the documentation and standard terms, used in this documentation and user interfaces of the professional software tools, that often exploit the standard terminology.

+

Scientific innovation and history

+

At the core of Terraphim - Unique knowledge graph embeddings: Terraphim AI is designed to be determinicstic precise and have 100% precision and recall: in an engineering context, the more complex the system is being built, the more important to be able to specify not only "the battery" but be able to differentiate between battery cr2365 and AA battery. Hence, Terraphim embeddings maintain the sequence of words in a sentence. Terraphim Graph Embedding maintain the position of the term in a sentence and doesn't need traditional training techniques like "attention".

+

At the same time, by allowing users to specify required synonyms manually and then re-build graph embeddings for the role within 20 milliseconds, Terraphim AI allows to match terms in different languages to the same concept, thus no need to run language detection in the pipeline. By giving users full and precise control over term matching within the selected context, there is no need for a stop-words dictionary: "The Pattern" is the specific name of the project, which was Terraphim AI's predecessor. "The" is normally considered a stop-word and will be filtered pre-tokenisation, and "The pattern" will not match the project's name using traditional techniques. The Pattern used more traditional techniques for graph embeddings, BERT QA and T5 summarization.

+

To highlight the leanings and the major groundbreaking innovation for Terraphim AI: "The Patern" project was Platinum winner https://redis.com/blog/build-on-redis-hackathon-winners/ for Redis Hackathon challenge and at the time will outperform Nvidia ML pipeline for BERT QA inference on CPU and most likely in training. The prize demonstrated that external experts accepted the approach as innovative, and results were presented and discussed on the public lecture at Oxford University at Green Templeton College.

+

The Pattern grew out of participation in two Kaggle data science competitions, where the original ML pipeline will not finish processing data in 6 days, The Pattern will process data for training in 6 hours and have under 2 millisecond inference. By rethinking Terraphim AI from the ground up we can achieve pipeline processing time in hundreds of milliseconds and query - knowledge graph-based inference in 5 to 10 nanoseconds. Our approach to Terraphim AI allows us and our users way faster and more practical AI applications, and we will engage the scientific community via an existing arrangement with Alan Turing UK NLP group. All projects are open-sourced and learnings are shared on https://terraphim.ai, https://reference-architecture.ai or https://thepattern.digital

+

Deployment innovation

+

Terraphim private cloud is designed with minimal shared of infrastructure between tenants, being close to hardware for high performance, effective use of resources and encryption in transit: +Each user has it's own dedicated virtual machine, based on AWS Firecracker Virtual Machine (microVM). Firecracker Virtual Machine is an open source lightweight VM by AWS, which is the same technology behind AWS Lambda and AWS Firegate services. Use of Firecracker VM instead of docker or Kubernetes allows us:

+
    +
  1. +

    Create a new environment for users under 1 second: ~600-800 ms, including copying a new root partition for the user

    +
  2. +
  3. +

    Provide high performance and effective use of resources with response time in milliseconds and memory usage measured in megabytes - even for Machine Learning/AI

    +
  4. +
  5. +

    Maintain security and encryption in transit: each user has their own valid TLS certificate from Cloudflare to certify HTTPS entry point and encrypt traffic until Firecracker VM: traffic flow is via HTTPS server/load balancer (caddy) which direct traffic to corresponding tun/tap interface (kernel level, no docker/containerd) and VM attached directly to tun/tap interface. In our previous experiments with ML models training for The Pattern we noticed substantial performance degradation in network flow when using Kubernetes or Docker networks compared to standard linux kernel based networks.. Terraphim Private cloud designed specifically with high throughput requirements and as close to the network as possible.

    +
  6. +
  7. +

    Firecracker VM allows us to embed additional services - like Redis for caching for the users into their VMs, with high performance (no need to spin additional containers, unlike with Docker), but user's data won't leave VM boundaries.

    +
  8. +
  9. +

    Terraphim AI private cloud has additional capabilities designed but not enabled by default - for example, the use of Zerotier VPN network to optimise routing between nodes and provide additional security and encryption layer

    +
  10. +
+

In summary, Terraphim Private cloud is an evaluation environment for Terraphim AI users, which allows them to test Terraphim AI capabilities while maintaining privacy and ownership of their data. It's a substantial technological innovation in favour of customers and against current tech

+ + +
+
+ + +
+
+ +
+ + \ No newline at end of file diff --git a/dist1/README.html b/dist1/README.html new file mode 100644 index 0000000..0de5a44 --- /dev/null +++ b/dist1/README.html @@ -0,0 +1,231 @@ + + + + + + Terraphim documentation | mdBook test book + + + + + + + + + + + +
+ + +
+
+

Terraphim documentation

+

Terraphim documentation

+

This folder is a source for Terraphim documentation as well as demonstration for Terraphim Engineer role:

+

kg folder is an example of personal knowledge graph used for testing and fixtures

+

Example configuration for this KG:

+
"Terraphim Engineer": {
+  "shortname": "terraphim-engineer",
+  "name": "Terraphim Engineer",
+  "relevance_function": "terraphim-graph",
+  "theme": "superhero",
+  "kg": {
+    "automata_path": {
+      "Local": "data/term_to_id_test.json"
+    },
+    "knowledge_graph_local": {
+      "input_type": "markdown",
+      "path": "/Users/alex/projects/terraphim/terraphim-ai/docs/src/kg",
+      "public": true,
+      "publish": true
+    }
+  },
+  "haystacks": [
+    {
+      "path": "/Users/alex/projects/terraphim/terraphim-ai/docs/src/",
+      "service": "Ripgrep"
+    }
+  ]
+},
+ +
+
+ + +
+
+ +
+ + \ No newline at end of file diff --git a/dist1/SUMMARY.html b/dist1/SUMMARY.html new file mode 100644 index 0000000..06a47d3 --- /dev/null +++ b/dist1/SUMMARY.html @@ -0,0 +1,213 @@ + + + + + + Summary | mdBook test book + + + + + + + + + + + +
+ + +
+ +
+ + +
+
+ +
+ + \ No newline at end of file diff --git a/dist1/Use-cases.html b/dist1/Use-cases.html new file mode 100644 index 0000000..eab5605 --- /dev/null +++ b/dist1/Use-cases.html @@ -0,0 +1,239 @@ + + + + + + Use cases for Terraphim AI | mdBook test book + + + + + + + + + + + +
+ + +
+
+

Use cases for Terraphim AI

+

Use cases for Terraphim AI

+

Search your local markdown files, build your own personal knowledge graph, then publish your knowledge to the web, then reuse

+

End to End flow

+

The current focus is on perfecting overall end-to-end human usable flow:

+
    +
  • +

    engineer or expert takes notes in the Logseq-knowledge graph

    +
  • +
  • +

    notes are used to create thesaurus for Terraphim (using Terraphim desktop, feature done, alpha testing)

    +
  • +
  • +

    Thesaurus is used per each role to create Terraphim graph (used for ranking search results). Feature done, alpha testing

    +
  • +
  • +

    Terraphim desktop is used to search over local markdown files using Terraphim Graph for ranking (Feature done, alpha testing)

    +
  • +
  • +

    Terraphim desktop search automatically populates Atomic server with search results (first attempt and approach didn't work, required changes in Atomic Rust client, atomic +server-side updated with new client fetch, Terraphim feature for automatic cache population WIP https://github.com/terraphim/terraphim-ai/issues/12)

    +
  • +
  • +

    User works with search results forming blogs or articles in Atomic server using Atomic as standard CMS (all features done)

    +
  • +
  • +

    Final articles are published via different domains using Atomic Server + Sveltekit

    +
      +
    • +

      current websites: Systems Engineering

      +
    • +
    • +

      planned set of websites on different topics: learning rust, knowledge graphs, search engines, Metacortex Engineering (cross-discipline collaboration)

      +
    • +
    +
  • +
  • +

    Articles published (or drafts) in Atomic Server are used as input for Terraphim (both desktop and cloud) as haystack for the role (instead or alongside markdown files or any other sources) Blocked on https://github.com/atomicdata-dev/atomic-server/issues/778

    +
  • +
+ + +
+
+ + +
+
+ +
+ + \ No newline at end of file diff --git a/dist1/components/doc-toc.js b/dist1/components/doc-toc.js new file mode 100644 index 0000000..88f118a --- /dev/null +++ b/dist1/components/doc-toc.js @@ -0,0 +1,120 @@ +class DocToc extends HTMLElement { + constructor() { + super(); + this.attachShadow({ mode: 'open' }); + } + + connectedCallback() { + this.render(); + this.generateToc(); + } + + generateToc() { + const article = document.querySelector('.main-article'); + if (!article) return; + + const headers = Array.from(article.querySelectorAll('h1, h2, h3, h4, h5, h6')); + const tocList = document.createElement('ul'); + tocList.className = 'toc-list'; + + headers.forEach(header => { + // Skip the main title + if (header.tagName === 'H1' && header === article.querySelector('h1')) { + return; + } + + const level = parseInt(header.tagName.charAt(1)); + const title = header.textContent; + const id = this.slugify(title); + + // Add id to the header if it doesn't have one + if (!header.id) { + header.id = id; + } + + const listItem = document.createElement('li'); + listItem.className = `toc-item level-${level}`; + + const link = document.createElement('a'); + link.href = `#${id}`; + link.textContent = title; + + listItem.appendChild(link); + tocList.appendChild(listItem); + }); + + const tocContent = this.shadowRoot.querySelector('.toc-content'); + tocContent.innerHTML = ''; + tocContent.appendChild(tocList); + } + + slugify(text) { + return text.toLowerCase() + .replace(/[^a-z0-9]+/g, '-') + .replace(/(^-|-$)/g, ''); + } + + render() { + this.shadowRoot.innerHTML = ` + + + +
On this page
+
+ `; + } +} + +customElements.define('doc-toc', DocToc); \ No newline at end of file diff --git a/dist1/components/simple-block.js b/dist1/components/simple-block.js new file mode 100644 index 0000000..4a126e7 --- /dev/null +++ b/dist1/components/simple-block.js @@ -0,0 +1,68 @@ +class SimpleBlock extends HTMLElement { + constructor() { + super(); + this.attachShadow({ mode: 'open' }); + } + + connectedCallback() { + this.render(); + } + + render() { + this.shadowRoot.innerHTML = ` + + + + +
+
+
ℹ️
+ +
+
+ +
+
+ `; + } +} + +customElements.define('simple-block', SimpleBlock); \ No newline at end of file diff --git a/dist1/css/highlight.css b/dist1/css/highlight.css new file mode 100644 index 0000000..352c79b --- /dev/null +++ b/dist1/css/highlight.css @@ -0,0 +1,83 @@ +/* + * An increased contrast highlighting scheme loosely based on the + * "Base16 Atelier Dune Light" theme by Bram de Haan + * (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) + * Original Base16 color scheme by Chris Kempson + * (https://github.com/chriskempson/base16) + */ + +/* Comment */ +.hljs-comment, +.hljs-quote { + color: #575757; +} + +/* Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-attr, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d70025; +} + +/* Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b21e00; +} + +/* Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #008200; +} + +/* Blue */ +.hljs-title, +.hljs-section { + color: #0030f2; +} + +/* Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #9d00ec; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f6f7f6; + color: #000; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-addition { + color: #22863a; + background-color: #f0fff4; +} + +.hljs-deletion { + color: #b31d28; + background-color: #ffeef0; +} diff --git a/dist1/css/styles.css b/dist1/css/styles.css new file mode 100644 index 0000000..a7c2407 --- /dev/null +++ b/dist1/css/styles.css @@ -0,0 +1,824 @@ +:root { + --sl-color-primary-50: var(--sl-color-gray-50); + --sl-color-primary-100: var(--sl-color-gray-100); + --sl-color-primary-200: var(--sl-color-gray-200); + --sl-color-primary-300: var(--sl-color-gray-300); + --sl-color-primary-400: var(--sl-color-gray-400); + --sl-color-primary-500: var(--sl-color-gray-500); + --sl-color-primary-600: var(--sl-color-gray-600); + --sl-color-primary-700: var(--sl-color-gray-700); + --sl-color-primary-800: var(--sl-color-gray-800); + --sl-color-primary-900: var(--sl-color-gray-900); + + + --sidebar-width: 300px; + --toc-width: 240px; + --primary-color: var(--sl-color-primary-500); + --header-height: 60px; + --theme-text: var(--sl-color-neutral-900); + --theme-text-light: var(--sl-color-neutral-600); + --theme-bg: var(--sl-color-neutral-0); + --theme-bg-offset: var(--sl-color-neutral-50); + --theme-border: var(--sl-color-neutral-200); +} + +a { + color: var(--sl-color-neutral-600); + text-decoration: none; + text-decoration-color: var(--sl-color-neutral-200); + transition: var(--sl-transition-medium) color; +} + +a:hover { + color: var(--sl-color-gray-300); + text-decoration: none; +} + +a.active, +.active > a { + color: var(--sl-color-gray-700); + font-weight: var(--sl-font-weight-bold); +} + +body { + margin: 0; + padding: 0; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,Helvetica, Oxygen, Ubuntu, Cantarell, Arial, sans-serif; + line-height: 1.6; + color: var(--theme-text); + background: var(--theme-bg); +} + +.container { + display: grid; + grid-template-columns: var(--sidebar-width) minmax(0, 1fr) var(--toc-width); + grid-template-rows: auto 1fr auto; + grid-template-areas: + "header header header" + "sidebar main toc" + "footer footer footer"; + min-height: 100vh; + gap: 0; +} + +.site-header { + grid-area: header; +} + +.sidebar { + grid-area: sidebar; + position: sticky; + top: 0; + height: 100vh; + overflow-y: auto; + background: var(--sl-color-neutral-50); + border-right: 1px solid var(--sl-color-neutral-200); +} + +.content { + grid-area: main; + padding: 2rem; + max-width: 100%; + overflow-x: auto; +} + +doc-toc { + grid-area: toc; + position: sticky; + top: 0; + height: 100vh; + padding: 2rem; + border-left: 1px solid var(--sl-color-neutral-200); + background: var(--sl-color-neutral-50); + overflow-y: auto; +} + +.main-article { + min-height: 100vh; + width: 100%; + max-width: 1400px; + margin: 0 auto; +} + +/* Column layout for article sections */ +.main-article > p, +.main-article > ul, +.main-article > ol { + column-width: 40ch; + column-gap: 4rem; + column-rule: 1px solid var(--theme-border); + hyphens: none; + word-break: keep-all; + orphans: 3; + widows: 3; + text-align-last: start; +} + +/* Ensure inline code doesn't break */ +.main-article code { + white-space: nowrap; +} + +/* Prevent breaking of specific elements */ +.main-article > p > a, +.main-article > p > code, +.main-article > p > strong, +.main-article > p > em { + white-space: nowrap; +} + +/* Ensure proper spacing around headers */ +.main-article > h1, +.main-article > h2, +.main-article > h3, +.main-article > h4, +.main-article > h5, +.main-article > h6 { + break-after: avoid-column; + break-inside: avoid-column; + margin-bottom: 2rem; +} + +/* Headers and special elements span all columns */ +.main-article > h1, +.main-article > h2, +.main-article > h3, +.main-article > h4, +.main-article > h5, +.main-article > h6, +.main-article > pre, +.main-article > .nav-footer { + column-span: all; +} + +/* Add visual separation before headers */ +.main-article > h1::before, +.main-article > h2::before, +.main-article > h3::before, +.main-article > h4::before, +.main-article > h5::before, +.main-article > h6::before { + content: ""; + display: block; + height: 1px; + background: var(--theme-border); + margin: 3rem 0 2rem; + width: 100%; +} + +/* Prevent double separator at the start of the article */ +.main-article > h1:first-child::before { + display: none; +} + +/* Prevent orphaned headings */ +.main-article > h2, +.main-article > h3, +.main-article > h4, +.main-article > h5, +.main-article > h6 { + break-after: avoid; + margin-bottom: 2rem; +} + +/* Prevent code blocks from breaking across columns */ +.main-article > pre { + break-inside: avoid; + margin: 2rem 0; +} + +/* Adjust spacing for better readability */ +.main-article > * + * { + margin-top: 1.5rem; +} + +/* Responsive adjustments */ +@media (max-width: 1200px) { + .container { + grid-template-columns: var(--sidebar-width) 1fr; + grid-template-areas: + "header header" + "sidebar main" + "footer footer"; + } + + doc-toc { + display: none; + } + + .main-article { + max-width: 800px; + } + + .main-article > p, + .main-article > ul, + .main-article > ol { + column-width: auto; + column-count: 1; + column-gap: 0; + column-rule: none; + } + + .main-article > h1::before, + .main-article > h2::before, + .main-article > h3::before, + .main-article > h4::before, + .main-article > h5::before, + .main-article > h6::before { + margin: 2rem 0 1.5rem; + } +} + +@media (max-width: 768px) { + .container { + grid-template-columns: 1fr; + grid-template-areas: + "header" + "main" + "footer"; + } + + .sidebar { + display: none; + } + + .content { + grid-column: 1; + padding: 1rem; + } + + .main-article { + padding: 0 1rem; + } +} + +/* Site Footer */ +.site-footer { + grid-area: footer; + margin-top: auto; + padding: 2rem; + background: var(--sl-color-neutral-50); + border-top: 1px solid var(--sl-color-neutral-200); +} + +.footer-content { + max-width: 1400px; + margin: 0 auto; + display: flex; + justify-content: space-between; + align-items: center; + gap: 1rem; +} + +.footer-section { + display: flex; + align-items: center; + gap: 0.5rem; +} + +.copyright { + color: var(--sl-color-neutral-600); + margin: 0; +} + +.footer-link { + display: flex; + align-items: center; + gap: 0.5rem; + color: var(--sl-color-neutral-600); + text-decoration: none; +} + +.footer-link:hover { + color: var(--sl-color-primary-600); +} + +/* Navigation Footer */ +.nav-footer { + display: flex; + justify-content: space-between; + margin-top: 4rem; + padding-top: 2rem; + border-top: 1px solid var(--theme-border); + gap: 1rem; +} + +.nav-footer sl-button::part(base) { + color: var(--theme-text); + font-family: var(--sl-font-sans); + background: var(--theme-bg); + font-weight: 500; + --sl-spacing-medium: 1rem; +} + +.nav-footer sl-button::part(base):hover { + color: var(--primary-color); +} + +.nav-footer sl-button::part(prefix), +.nav-footer sl-button::part(suffix) { + font-size: 1.2em; +} + +.nav-previous { + margin-right: auto; +} + +.nav-next { + margin-left: auto; +} + +@media (max-width: 640px) { + .nav-footer { + flex-direction: column; + gap: 1rem; + } + + .nav-previous, + .nav-next { + margin: 0; + } + + .footer-content { + flex-direction: column; + text-align: center; + } +} + +/* Index page specific styles */ +.index-container { + display: block !important; + max-width: 1400px; + margin: 0 auto; + padding: 0 2rem; +} + +.index-content { + width: 100%; + max-width: none; + padding: 3rem 0; +} + +.index-header { + text-align: center; + margin-bottom: 3rem; +} + +.index-header h1 { + font-size: 2.5rem; + color: var(--sl-color-neutral-900); + margin: 0; +} + +.card-grid { + display: flex; + flex-direction: column; + gap: 4rem; +} + +.section-group h2 { + font-size: 1.75rem; + margin-bottom: 1.5rem; + color: var(--sl-color-neutral-800); + border-bottom: 2px solid var(--sl-color-neutral-200); + padding-bottom: 0.5rem; +} + +.card-group { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 1.5rem; +} + +sl-input { + width: 100%; + --sl-input-height-small: 2rem; + --sl-input-background-color: var(--theme-bg); +} + +/* Card styles */ +.doc-card { + --sl-panel-background-color: var(--sl-color-neutral-50); +} + +.doc-card::part(header) { + padding: var(--sl-spacing-large); +} + +.doc-card h3 { + margin: 0; + font-size: var(--sl-font-size-medium); + color: var(--sl-color-neutral-700); +} + +.doc-card::part(body) { + display: flex; + justify-content: flex-end; + padding: var(--sl-spacing-large); +} + +/* Add these global list resets */ +.sidebar-nav { + padding: 2rem 1.5rem; +} + +.sidebar-section { + margin-bottom: 2rem; + padding-left: 0.5rem; +} + +.sidebar-section-title { + font-size: 0.875rem; + font-weight: 600; + text-transform: uppercase; + color: var(--sl-color-neutral-500); + margin-bottom: 1rem; +} + +.sidebar-items { + list-style: none; + padding: 0; + margin: 0; +} + +.sidebar-item { + margin: 0.5rem 0; + padding-left: 0.5rem; +} + +/* TOC styles */ +.toc-list { + list-style: none; + padding: 0; + margin: 0; +} + +.toc-item { + margin: 0.25rem 0; +} + +.toc-item.level-1 { padding-left: 0; } +.toc-item.level-2 { padding-left: 1rem; } +.toc-item.level-3 { padding-left: 2rem; } +.toc-item.level-4 { padding-left: 3rem; } +.toc-item.level-5 { padding-left: 4rem; } +.toc-item.level-6 { padding-left: 5rem; } + +.card-grid { + display: flex; + flex-direction: column; + gap: 2rem; + padding: 1rem 0; +} + +.section-group h2 { + margin-bottom: 1rem; + color: var(--sl-color-neutral-700); +} + +.card-group { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); + gap: 1rem; +} + +.doc-card { + --sl-panel-background-color: var(--sl-color-neutral-50); +} + +.doc-card::part(header) { + padding: var(--sl-spacing-large); +} + +.doc-card h3 { + margin: 0; + font-size: var(--sl-font-size-medium); + color: var(--sl-color-neutral-700); +} + +.doc-card::part(body) { + display: flex; + justify-content: flex-end; + padding: var(--sl-spacing-large); +} + +@media (max-width: 640px) { + .card-group { + grid-template-columns: 1fr; + } +} + +.index-container { + display: block !important; + max-width: 1400px; + margin: 0 auto; + padding: 0 2rem; +} + +.index-content { + max-width: none; + padding: 3rem 0; +} + +.index-header { + text-align: center; + margin-bottom: 3rem; +} + +.index-header h1 { + font-size: 2.5rem; + color: var(--sl-color-neutral-900); + margin: 0; +} + +.card-grid { + display: flex; + flex-direction: column; + gap: 4rem; +} + +.section-group h2 { + font-size: 1.75rem; + margin-bottom: 1.5rem; + color: var(--sl-color-neutral-800); + border-bottom: 2px solid var(--sl-color-neutral-200); + padding-bottom: 0.5rem; +} + +.card-group { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 1.5rem; +} + +@media (max-width: 768px) { + .index-container { + padding: 0 1rem; + } + + .index-content { + padding: 2rem 0; + } + + .card-grid { + gap: 3rem; + } +} + +.site-footer { + grid-area: footer; + margin-top: auto; + padding: 2rem; + background: var(--sl-color-neutral-50); + border-top: 1px solid var(--sl-color-neutral-200); +} + +.footer-content { + max-width: 1400px; + margin: 0 auto; + display: flex; + justify-content: space-between; + align-items: center; + gap: 1rem; +} + +.footer-section { + display: flex; + align-items: center; + gap: 0.5rem; +} + +.copyright { + color: var(--sl-color-neutral-600); + margin: 0; +} + +.footer-link { + display: flex; + align-items: center; + gap: 0.5rem; + color: var(--sl-color-neutral-600); + text-decoration: none; +} + +.footer-link:hover { + color: var(--sl-color-primary-600); +} + +@media (max-width: 640px) { + .footer-content { + flex-direction: column; + text-align: center; + } +} + +/* Add visual separation before headers */ +.main-article > h1::before, +.main-article > h2::before, +.main-article > h3::before, +.main-article > h4::before, +.main-article > h5::before, +.main-article > h6::before { + content: ""; + display: block; + height: 1px; + background: var(--theme-border); + margin: 3rem 0 2rem; + width: 100%; +} + +/* Prevent double separator at the start of the article */ +.main-article > h1:first-child::before { + display: none; +} + +/* Adjust spacing between headers and content */ +.main-article > h1, +.main-article > h2, +.main-article > h3, +.main-article > h4, +.main-article > h5, +.main-article > h6 { + margin-bottom: 2rem; + column-span: all; +} + +/* Ensure proper spacing in responsive view */ +@media (max-width: 1200px) { + .main-article > h1::before, + .main-article > h2::before, + .main-article > h3::before, + .main-article > h4::before, + .main-article > h5::before, + .main-article > h6::before { + margin: 2rem 0 1.5rem; + } +} + +/* Site Header */ +.site-header { + position: sticky; + top: 0; + z-index: 100; + background: var(--sl-color-neutral-0); + border-bottom: 1px solid var(--sl-color-neutral-200); + height: var(--header-height); +} + +.header-content { + max-width: 1400px; + margin: 0 auto; + padding: 0 2rem; + height: 100%; + display: flex; + justify-content: space-between; + align-items: center; +} + +.header-left { + display: flex; + align-items: center; + gap: 1rem; +} + +.header-logo { + display: inline-flex; + align-items: center; + height: var(--header-height); + padding: 0.5rem; + box-sizing: border-box; +} + +.header-logo-img, +.header-logo sl-icon { + height: calc(var(--header-height) * 0.6); + width: auto; + display: block; +} + +.header-logo sl-icon::part(base) { + font-size: calc(var(--header-height) * 0.5); + color: var(--sl-color-primary-600); +} + +.header-title { + font-size: 1.25rem; +} + +.header-right { + display: flex; + align-items: center; +} + +.header-links { + display: flex; + gap: 1rem; +} + +.header-link { + display: flex; + align-items: center; + gap: 0.5rem; + color: var(--sl-color-neutral-600); + text-decoration: none; + font-size: 0.9375rem; +} + +.header-link:hover { + color: var(--sl-color-primary-600); +} + +@media (max-width: 768px) { + .header-content { + padding: 0 1rem; + } + + .header-link span { + display: none; + } +} + +.header-search { + margin-right: 2rem; +} + +.header-search::part(base) { + width: 200px; + background: var(--sl-color-neutral-50); +} + +@media (max-width: 768px) { + .header-search { + display: none; + } +} + +.header-links sl-icon { + font-size: 1.25rem; + margin-right: 0.5rem; +} + +.header-search sl-icon { + font-size: 1.25rem; + margin-right: 0.3rem; +} + +/* Code blocks */ +pre { + margin: 2rem 0; + padding: 1.5rem; + border-radius: var(--sl-border-radius-medium); + background: var(--sl-color-neutral-50); + border: 1px solid var(--sl-color-neutral-200); + overflow-x: auto; + column-span: all; + break-inside: avoid; + white-space: pre !important; +} + +/* Code block content */ +pre code { + display: block; + line-height: 1.5; + white-space: pre !important; +} + +/* Remove text styling from highlighted code */ +pre .code { + display: block; + white-space: pre !important; + word-break: normal; + word-wrap: normal; + column-width: auto; + column-count: 1; + column-gap: 0; + column-rule: none; + hyphens: none; +} + +/* Ensure inline code doesn't break */ +:not(pre) > code { + padding: 0.2em 0.4em; + background: var(--sl-color-neutral-50); + border: 1px solid var(--sl-color-neutral-200); + border-radius: var(--sl-border-radius-small); + font-size: 0.9em; + white-space: nowrap; +} + +/* Update link styles in content area */ +.content a { + color: var(--sl-color-primary-600); + text-decoration: underline; + text-underline-offset: 0.2em; + transition: var(--sl-transition-medium) color; +} + +.content a:hover { + color: var(--sl-color-primary-800); + text-decoration: underline; +} + +.content a:active { + color: var(--sl-color-primary-900); +} diff --git a/dist1/css/syntax.css b/dist1/css/syntax.css new file mode 100644 index 0000000..331b102 --- /dev/null +++ b/dist1/css/syntax.css @@ -0,0 +1,319 @@ +/* + * theme "Solarized (light)" generated by syntect + */ + +.code { + color: #657b83; + background-color: #fdf6e3; +} + +.comment, .meta.documentation { + color: #93a1a1; +} +.string { + color: #2aa198; +} +.string.regexp { + color: #2aa198; +} +.constant.character.escape { + color: #dc322f; +} +.constant.numeric { + color: #6c71c4; +} +.variable { + color: #268bd2; +} +.variable.function { + color: #b58900; +} +.variable.language { + color: #d33682; +} +.keyword { + color: #859900; +} +.meta.import .keyword, .keyword.control.import, .keyword.control.import.from, .keyword.other.import, .keyword.control.at-rule.include, .keyword.control.at-rule.import { + color: #cb4b16; +} +.keyword.operator.comparison, .keyword.operator.assignment, .keyword.operator.arithmetic { + color: #657b83; +} +.storage { + color: #859900; +} +.storage.modifier { + color: #586e75; +} +.keyword.control.class, .entity.name, .entity.name.class, .entity.name.type.class { + color: #b58900; +} +.entity.other.inherited-class { + color: #268bd2; +} +.entity.other.attribute-name { + color: #b58900; +} +.support, .support.type, .support.class { + color: #859900; +} +.entity.name.function { + color: #b58900; +} +.punctuation.definition.variable { + color: #859900; +} +.constant, .constant.language, .meta.preprocessor { + color: #b58900; +} +.entity.name.section { + color: #cb4b16; +} +.support.function.construct, .keyword.other.new { + color: #dc322f; +} +.constant.character, .constant.other { + color: #cb4b16; +} +.entity.name.tag { + color: #268bd2; +} +.punctuation.definition.tag.html, .punctuation.definition.tag.begin, .punctuation.definition.tag.end { + color: #93a1a1; +} +.support.function { + color: #859900; +} +.punctuation.separator.continuation { + color: #dc322f; +} +.storage.type { + color: #268bd2; +} +.support.type.exception { + color: #cb4b16; +} +.keyword.other.special-method { + color: #cb4b16; +} +.invalid { + background-color: #ec9489; +} +.string.quoted.double, .string.quoted.single { + color: #2aa198; +} +.punctuation.definition.string { + color: #839496; +} +.meta.brace.square, .punctuation.section.brackets { + color: #268bd2; +} +.meta.brace.round, .meta.brace.curly, .punctuation.section, .punctuation.section.block, .punctuation.definition.parameters, .punctuation.section.group { + color: #657b83; +} +.support.constant.color, .invalid.deprecated.color.w3c-non-standard-color-name.scss { + color: #b58900; +} +.meta.selector.css { + color: #657b83; +} +.entity.name.tag.css, .entity.name.tag.scss, .source.less .keyword.control.html.elements, .source.sass .keyword.control.untitled { + color: #b58900; +} +.entity.other.attribute-name.class { + color: #b58900; +} +.entity.other.attribute-name.id { + color: #b58900; +} +.entity.other.attribute-name.pseudo-element, .entity.other.attribute-name.tag.pseudo-element, .entity.other.attribute-name.pseudo-class, .entity.other.attribute-name.tag.pseudo-class { + color: #268bd2; +} +.text.html.basic .meta.tag.other.html, .text.html.basic .meta.tag.any.html, .text.html.basic .meta.tag.block.any, .text.html.basic .meta.tag.inline.any, .text.html.basic .meta.tag.structure.any.html, .text.html.basic .source.js.embedded.html, .punctuation.separator.key-value.html { + color: #657b83; +} +.text.html.basic .entity.other.attribute-name.html, .meta.tag.xml .entity.other.attribute-name { + color: #b58900; +} +.keyword.other.special-method.ruby { + color: #859900; +} +.variable.other.constant.ruby { + color: #b58900; +} +.constant.other.symbol.ruby { + color: #2aa198; +} +.keyword.other.special-method.ruby { + color: #cb4b16; +} +.meta.array .support.function.construct.php { + color: #b58900; +} +.entity.name.function.preprocessor.c, .meta.preprocessor.c.include, .meta.preprocessor.macro.c { + color: #cb4b16; +} +.meta.preprocessor.c.include .string.quoted.other.lt-gt.include.c, .meta.preprocessor.c.include .punctuation.definition.string.begin.c, .meta.preprocessor.c.include .punctuation.definition.string.end.c { + color: #2aa198; +} +.other.package.exclude, .other.remove { + color: #dc322f; +} +.other.add { + color: #2aa198; +} +.punctuation.section.group.tex, .punctuation.definition.arguments.begin.latex, .punctuation.definition.arguments.end.latex, .punctuation.definition.arguments.latex { + color: #dc322f; +} +.meta.group.braces.tex { + color: #b58900; +} +.string.other.math.tex { + color: #b58900; +} +.variable.parameter.function.latex { + color: #cb4b16; +} +.punctuation.definition.constant.math.tex { + color: #dc322f; +} +.text.tex.latex .constant.other.math.tex, .constant.other.general.math.tex, .constant.other.general.math.tex, .constant.character.math.tex { + color: #2aa198; +} +.string.other.math.tex { + color: #b58900; +} +.punctuation.definition.string.begin.tex, .punctuation.definition.string.end.tex { + color: #dc322f; +} +.keyword.control.label.latex, .text.tex.latex .constant.other.general.math.tex { + color: #2aa198; +} +.variable.parameter.definition.label.latex { + color: #dc322f; +} +.support.function.be.latex { + color: #859900; +} +.support.function.section.latex { + color: #cb4b16; +} +.support.function.general.tex { + color: #2aa198; +} +.keyword.control.ref.latex { + color: #2aa198; +} +.storage.type.class.python, .storage.type.function.python, .storage.modifier.global.python { + color: #859900; +} +.support.type.exception.python { + color: #b58900; +} +.meta.scope.for-in-loop.shell, .variable.other.loop.shell { + color: #586e75; +} +.meta.scope.case-block.shell, .meta.scope.case-body.shell { + color: #586e75; +} +.punctuation.definition.logical-expression.shell { + color: #dc322f; +} +.storage.modifier.c++ { + color: #859900; +} +.support.function.perl { + color: #268bd2; +} +.meta.diff, .meta.diff.header { + color: #93a1a1; +} +.meta.diff.range { + color: #268bd2; +} +.markup.deleted { + color: #dc322f; +} +.markup.changed { + color: #2aa198; +} +.markup.inserted { + color: #859900; +} +.markup.heading, .punctuation.definition.heading.markdown { + color: #b58900; +} +.markup.quote { + color: #859900; +} +.markup.italic { +font-style: italic; +} +.markup.bold { +font-weight: bold; +} +.markup.underline.link.markdown, .meta.link.reference .constant.other.reference.link.markdown { + color: #2aa198; +} +.constant.other.reference.link.markdown { + color: #6c71c4; +} +.meta.paragraph.markdown .meta.dummy.line-break { + background-color: #eee8d5; +} +.sublimelinter.notes { + color: #eee8d5; + background-color: #eee8d5; +} +.sublimelinter.outline.illegal { + color: #93a1a1; + background-color: #93a1a1; +} +.sublimelinter.underline.illegal { + background-color: #dc322f; +} +.sublimelinter.outline.warning { + color: #839496; + background-color: #839496; +} +.sublimelinter.underline.warning { + background-color: #b58900; +} +.sublimelinter.outline.violation { + color: #657b83; + background-color: #657b83; +} +.sublimelinter.underline.violation { + background-color: #cb4b16; +} +.sublimelinter.mark.warning { + color: #b58900; +} +.sublimelinter.mark.error { + color: #dc322f; +} +.sublimelinter.gutter-mark { + color: #657b83; +} +.brackethighlighter.all { + color: #93a1a1; +} +.entity.name.filename.find-in-files { + color: #2aa198; +} +.constant.numeric.line-number.find-in-files { + color: #93a1a1; +} +.markup.deleted.git_gutter { + color: #dc322f; +} +.markup.inserted.git_gutter { + color: #859900; +} +.markup.changed.git_gutter { + color: #b58900; +} +.variable.other.readwrite.js, .variable.other.object.js, .variable.other.constant.js { + color: #657b83; +} diff --git a/dist1/img/default_logo.svg b/dist1/img/default_logo.svg new file mode 100644 index 0000000..111569b --- /dev/null +++ b/dist1/img/default_logo.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/dist1/img/terraphim_gray.png b/dist1/img/terraphim_gray.png new file mode 100644 index 0000000..3b73c77 Binary files /dev/null and b/dist1/img/terraphim_gray.png differ diff --git a/dist1/index.html b/dist1/index.html new file mode 100644 index 0000000..eb01594 --- /dev/null +++ b/dist1/index.html @@ -0,0 +1,55 @@ + + + + + + Documentation Title | mdBook test book + + + + + + +
+ +
+ +
+ + +

Documentation Title

+ +

Important Note

+ This is an example of using the simple block component in your documentation. +
+ +
+ +
+
+ + \ No newline at end of file diff --git a/dist1/js/code-copy.js b/dist1/js/code-copy.js new file mode 100644 index 0000000..95e75a2 --- /dev/null +++ b/dist1/js/code-copy.js @@ -0,0 +1,9 @@ +document.addEventListener('DOMContentLoaded', () => { + document.querySelectorAll('pre code').forEach(codeBlock => { + const copyButton = document.createElement('sl-copy-button'); + copyButton.value = codeBlock.textContent; + copyButton.size = 'small'; + copyButton.variant = 'neutral'; + codeBlock.parentElement.appendChild(copyButton); + }); +}); \ No newline at end of file diff --git a/dist1/js/highlight.js b/dist1/js/highlight.js new file mode 100644 index 0000000..18d2434 --- /dev/null +++ b/dist1/js/highlight.js @@ -0,0 +1,54 @@ +/* + Highlight.js 10.1.1 (93fd0d73) + License: BSD-3-Clause + Copyright (c) 2006-2020, Ivan Sagalaev +*/ +var hljs=function(){"use strict";function e(n){Object.freeze(n);var t="function"==typeof n;return Object.getOwnPropertyNames(n).forEach((function(r){!Object.hasOwnProperty.call(n,r)||null===n[r]||"object"!=typeof n[r]&&"function"!=typeof n[r]||t&&("caller"===r||"callee"===r||"arguments"===r)||Object.isFrozen(n[r])||e(n[r])})),n}class n{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data}ignoreMatch(){this.ignore=!0}}function t(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function r(e,...n){var t={};for(const n in e)t[n]=e[n];return n.forEach((function(e){for(const n in e)t[n]=e[n]})),t}function a(e){return e.nodeName.toLowerCase()}var i=Object.freeze({__proto__:null,escapeHTML:t,inherit:r,nodeStream:function(e){var n=[];return function e(t,r){for(var i=t.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:r,node:i}),r=e(i,r),a(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:r,node:i}));return r}(e,0),n},mergeStreams:function(e,n,r){var i=0,s="",o=[];function l(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset"}function u(e){s+=""}function d(e){("start"===e.event?c:u)(e.node)}for(;e.length||n.length;){var g=l();if(s+=t(r.substring(i,g[0].offset)),i=g[0].offset,g===e){o.reverse().forEach(u);do{d(g.splice(0,1)[0]),g=l()}while(g===e&&g.length&&g[0].offset===i);o.reverse().forEach(c)}else"start"===g[0].event?o.push(g[0].node):o.pop(),d(g.splice(0,1)[0])}return s+t(r.substr(i))}});const s="",o=e=>!!e.kind;class l{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=t(e)}openNode(e){if(!o(e))return;let n=e.kind;e.sublanguage||(n=`${this.classPrefix}${n}`),this.span(n)}closeNode(e){o(e)&&(this.buffer+=s)}value(){return this.buffer}span(e){this.buffer+=``}}class c{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const n={kind:e,children:[]};this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n),n.children.forEach(n=>this._walk(e,n)),e.closeNode(n)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{c._collapse(e)}))}}class u extends c{constructor(e){super(),this.options=e}addKeyword(e,n){""!==e&&(this.openNode(n),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,n){const t=e.root;t.kind=n,t.sublanguage=!0,this.add(t)}toHTML(){return new l(this,this.options).value()}finalize(){return!0}}function d(e){return e?"string"==typeof e?e:e.source:null}const g="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",h={begin:"\\\\[\\s\\S]",relevance:0},f={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[h]},p={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[h]},b={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},m=function(e,n,t={}){var a=r({className:"comment",begin:e,end:n,contains:[]},t);return a.contains.push(b),a.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),a},v=m("//","$"),x=m("/\\*","\\*/"),E=m("#","$");var _=Object.freeze({__proto__:null,IDENT_RE:"[a-zA-Z]\\w*",UNDERSCORE_IDENT_RE:"[a-zA-Z_]\\w*",NUMBER_RE:"\\b\\d+(\\.\\d+)?",C_NUMBER_RE:g,BINARY_NUMBER_RE:"\\b(0b[01]+)",RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const n=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map(e=>d(e)).join("")}(n,/.*\b/,e.binary,/\b.*/)),r({className:"meta",begin:n,end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)},BACKSLASH_ESCAPE:h,APOS_STRING_MODE:f,QUOTE_STRING_MODE:p,PHRASAL_WORDS_MODE:b,COMMENT:m,C_LINE_COMMENT_MODE:v,C_BLOCK_COMMENT_MODE:x,HASH_COMMENT_MODE:E,NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?",relevance:0},C_NUMBER_MODE:{className:"number",begin:g,relevance:0},BINARY_NUMBER_MODE:{className:"number",begin:"\\b(0b[01]+)",relevance:0},CSS_NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[h,{begin:/\[/,end:/\]/,relevance:0,contains:[h]}]}]},TITLE_MODE:{className:"title",begin:"[a-zA-Z]\\w*",relevance:0},UNDERSCORE_TITLE_MODE:{className:"title",begin:"[a-zA-Z_]\\w*",relevance:0},METHOD_GUARD:{begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})}}),N="of and for in not or if then".split(" ");function w(e,n){return n?+n:function(e){return N.includes(e.toLowerCase())}(e)?0:1}const R=t,y=r,{nodeStream:k,mergeStreams:O}=i,M=Symbol("nomatch");return function(t){var a=[],i={},s={},o=[],l=!0,c=/(^(<[^>]+>|\t|)+|\n)/gm,g="Could not find the language '{}', did you forget to load/include a language module?";const h={disableAutodetect:!0,name:"Plain text",contains:[]};var f={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:u};function p(e){return f.noHighlightRe.test(e)}function b(e,n,t,r){var a={code:n,language:e};S("before:highlight",a);var i=a.result?a.result:m(a.language,a.code,t,r);return i.code=a.code,S("after:highlight",i),i}function m(e,t,a,s){var o=t;function c(e,n){var t=E.case_insensitive?n[0].toLowerCase():n[0];return Object.prototype.hasOwnProperty.call(e.keywords,t)&&e.keywords[t]}function u(){null!=y.subLanguage?function(){if(""!==A){var e=null;if("string"==typeof y.subLanguage){if(!i[y.subLanguage])return void O.addText(A);e=m(y.subLanguage,A,!0,k[y.subLanguage]),k[y.subLanguage]=e.top}else e=v(A,y.subLanguage.length?y.subLanguage:null);y.relevance>0&&(I+=e.relevance),O.addSublanguage(e.emitter,e.language)}}():function(){if(!y.keywords)return void O.addText(A);let e=0;y.keywordPatternRe.lastIndex=0;let n=y.keywordPatternRe.exec(A),t="";for(;n;){t+=A.substring(e,n.index);const r=c(y,n);if(r){const[e,a]=r;O.addText(t),t="",I+=a,O.addKeyword(n[0],e)}else t+=n[0];e=y.keywordPatternRe.lastIndex,n=y.keywordPatternRe.exec(A)}t+=A.substr(e),O.addText(t)}(),A=""}function h(e){return e.className&&O.openNode(e.className),y=Object.create(e,{parent:{value:y}})}function p(e){return 0===y.matcher.regexIndex?(A+=e[0],1):(L=!0,0)}var b={};function x(t,r){var i=r&&r[0];if(A+=t,null==i)return u(),0;if("begin"===b.type&&"end"===r.type&&b.index===r.index&&""===i){if(A+=o.slice(r.index,r.index+1),!l){const n=Error("0 width match regex");throw n.languageName=e,n.badRule=b.rule,n}return 1}if(b=r,"begin"===r.type)return function(e){var t=e[0],r=e.rule;const a=new n(r),i=[r.__beforeBegin,r["on:begin"]];for(const n of i)if(n&&(n(e,a),a.ignore))return p(t);return r&&r.endSameAsBegin&&(r.endRe=RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),r.skip?A+=t:(r.excludeBegin&&(A+=t),u(),r.returnBegin||r.excludeBegin||(A=t)),h(r),r.returnBegin?0:t.length}(r);if("illegal"===r.type&&!a){const e=Error('Illegal lexeme "'+i+'" for mode "'+(y.className||"")+'"');throw e.mode=y,e}if("end"===r.type){var s=function(e){var t=e[0],r=o.substr(e.index),a=function e(t,r,a){let i=function(e,n){var t=e&&e.exec(n);return t&&0===t.index}(t.endRe,a);if(i){if(t["on:end"]){const e=new n(t);t["on:end"](r,e),e.ignore&&(i=!1)}if(i){for(;t.endsParent&&t.parent;)t=t.parent;return t}}if(t.endsWithParent)return e(t.parent,r,a)}(y,e,r);if(!a)return M;var i=y;i.skip?A+=t:(i.returnEnd||i.excludeEnd||(A+=t),u(),i.excludeEnd&&(A=t));do{y.className&&O.closeNode(),y.skip||y.subLanguage||(I+=y.relevance),y=y.parent}while(y!==a.parent);return a.starts&&(a.endSameAsBegin&&(a.starts.endRe=a.endRe),h(a.starts)),i.returnEnd?0:t.length}(r);if(s!==M)return s}if("illegal"===r.type&&""===i)return 1;if(B>1e5&&B>3*r.index)throw Error("potential infinite loop, way more iterations than matches");return A+=i,i.length}var E=T(e);if(!E)throw console.error(g.replace("{}",e)),Error('Unknown language: "'+e+'"');var _=function(e){function n(n,t){return RegExp(d(n),"m"+(e.case_insensitive?"i":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,n){n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]),this.matchAt+=function(e){return RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=n(function(e,n="|"){for(var t=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,r=0,a="",i=0;i0&&(a+=n),a+="(";o.length>0;){var l=t.exec(o);if(null==l){a+=o;break}a+=o.substring(0,l.index),o=o.substring(l.index+l[0].length),"\\"===l[0][0]&&l[1]?a+="\\"+(+l[1]+s):(a+=l[0],"("===l[0]&&r++)}a+=")"}return a}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const n=this.matcherRe.exec(e);if(!n)return null;const t=n.findIndex((e,n)=>n>0&&void 0!==e),r=this.matchIndexes[t];return n.splice(0,t),Object.assign(n,r)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t;return this.rules.slice(e).forEach(([e,t])=>n.addRule(e,t)),n.compile(),this.multiRegexes[e]=n,n}considerAll(){this.regexIndex=0}addRule(e,n){this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex;const t=n.exec(e);return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&(this.regexIndex=0)),t}}function i(e,n){const t=e.input[e.index-1],r=e.input[e.index+e[0].length];"."!==t&&"."!==r||n.ignoreMatch()}if(e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return function t(s,o){const l=s;if(s.compiled)return l;s.compiled=!0,s.__beforeBegin=null,s.keywords=s.keywords||s.beginKeywords;let c=null;if("object"==typeof s.keywords&&(c=s.keywords.$pattern,delete s.keywords.$pattern),s.keywords&&(s.keywords=function(e,n){var t={};return"string"==typeof e?r("keyword",e):Object.keys(e).forEach((function(n){r(n,e[n])})),t;function r(e,r){n&&(r=r.toLowerCase()),r.split(" ").forEach((function(n){var r=n.split("|");t[r[0]]=[e,w(r[0],r[1])]}))}}(s.keywords,e.case_insensitive)),s.lexemes&&c)throw Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return l.keywordPatternRe=n(s.lexemes||c||/\w+/,!0),o&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")(?=\\b|\\s)",s.__beforeBegin=i),s.begin||(s.begin=/\B|\b/),l.beginRe=n(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(l.endRe=n(s.end)),l.terminator_end=d(s.end)||"",s.endsWithParent&&o.terminator_end&&(l.terminator_end+=(s.end?"|":"")+o.terminator_end)),s.illegal&&(l.illegalRe=n(s.illegal)),void 0===s.relevance&&(s.relevance=1),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(e){return function(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map((function(n){return r(e,{variants:null},n)}))),e.cached_variants?e.cached_variants:function e(n){return!!n&&(n.endsWithParent||e(n.starts))}(e)?r(e,{starts:e.starts?r(e.starts):null}):Object.isFrozen(e)?r(e):e}("self"===e?s:e)}))),s.contains.forEach((function(e){t(e,l)})),s.starts&&t(s.starts,o),l.matcher=function(e){const n=new a;return e.contains.forEach(e=>n.addRule(e.begin,{rule:e,type:"begin"})),e.terminator_end&&n.addRule(e.terminator_end,{type:"end"}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n}(l),l}(e)}(E),N="",y=s||_,k={},O=new f.__emitter(f);!function(){for(var e=[],n=y;n!==E;n=n.parent)n.className&&e.unshift(n.className);e.forEach(e=>O.openNode(e))}();var A="",I=0,S=0,B=0,L=!1;try{for(y.matcher.considerAll();;){B++,L?L=!1:(y.matcher.lastIndex=S,y.matcher.considerAll());const e=y.matcher.exec(o);if(!e)break;const n=x(o.substring(S,e.index),e);S=e.index+n}return x(o.substr(S)),O.closeAllNodes(),O.finalize(),N=O.toHTML(),{relevance:I,value:N,language:e,illegal:!1,emitter:O,top:y}}catch(n){if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:n.message,context:o.slice(S-100,S+100),mode:n.mode},sofar:N,relevance:0,value:R(o),emitter:O};if(l)return{illegal:!1,relevance:0,value:R(o),emitter:O,language:e,top:y,errorRaised:n};throw n}}function v(e,n){n=n||f.languages||Object.keys(i);var t=function(e){const n={relevance:0,emitter:new f.__emitter(f),value:R(e),illegal:!1,top:h};return n.emitter.addText(e),n}(e),r=t;return n.filter(T).filter(I).forEach((function(n){var a=m(n,e,!1);a.language=n,a.relevance>r.relevance&&(r=a),a.relevance>t.relevance&&(r=t,t=a)})),r.language&&(t.second_best=r),t}function x(e){return f.tabReplace||f.useBR?e.replace(c,e=>"\n"===e?f.useBR?"
":e:f.tabReplace?e.replace(/\t/g,f.tabReplace):e):e}function E(e){let n=null;const t=function(e){var n=e.className+" ";n+=e.parentNode?e.parentNode.className:"";const t=f.languageDetectRe.exec(n);if(t){var r=T(t[1]);return r||(console.warn(g.replace("{}",t[1])),console.warn("Falling back to no-highlight mode for this block.",e)),r?t[1]:"no-highlight"}return n.split(/\s+/).find(e=>p(e)||T(e))}(e);if(p(t))return;S("before:highlightBlock",{block:e,language:t}),f.useBR?(n=document.createElement("div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n"):n=e;const r=n.textContent,a=t?b(t,r,!0):v(r),i=k(n);if(i.length){const e=document.createElement("div");e.innerHTML=a.value,a.value=O(i,k(e),r)}a.value=x(a.value),S("after:highlightBlock",{block:e,result:a}),e.innerHTML=a.value,e.className=function(e,n,t){var r=n?s[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),e.includes(r)||a.push(r),a.join(" ").trim()}(e.className,t,a.language),e.result={language:a.language,re:a.relevance,relavance:a.relevance},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.relevance,relavance:a.second_best.relevance})}const N=()=>{if(!N.called){N.called=!0;var e=document.querySelectorAll("pre code");a.forEach.call(e,E)}};function T(e){return e=(e||"").toLowerCase(),i[e]||i[s[e]]}function A(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach(e=>{s[e]=n})}function I(e){var n=T(e);return n&&!n.disableAutodetect}function S(e,n){var t=e;o.forEach((function(e){e[t]&&e[t](n)}))}Object.assign(t,{highlight:b,highlightAuto:v,fixMarkup:x,highlightBlock:E,configure:function(e){f=y(f,e)},initHighlighting:N,initHighlightingOnLoad:function(){window.addEventListener("DOMContentLoaded",N,!1)},registerLanguage:function(e,n){var r=null;try{r=n(t)}catch(n){if(console.error("Language definition for '{}' could not be registered.".replace("{}",e)),!l)throw n;console.error(n),r=h}r.name||(r.name=e),i[e]=r,r.rawDefinition=n.bind(null,t),r.aliases&&A(r.aliases,{languageName:e})},listLanguages:function(){return Object.keys(i)},getLanguage:T,registerAliases:A,requireLanguage:function(e){var n=T(e);if(n)return n;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:I,inherit:y,addPlugin:function(e){o.push(e)}}),t.debugMode=function(){l=!1},t.safeMode=function(){l=!0},t.versionString="10.1.1";for(const n in _)"object"==typeof _[n]&&e(_[n]);return Object.assign(t,_),t}({})}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs); +hljs.registerLanguage("apache",function(){"use strict";return function(e){var n={className:"number",begin:"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?"};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:"",contains:[n,{className:"number",begin:":\\d{1,5}"},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{className:"meta",begin:"\\s\\[",end:"\\]$"},{className:"variable",begin:"[\\$%]\\{",end:"\\}",contains:["self",{className:"number",begin:"[\\$%]\\d+"}]},n,{className:"number",begin:"\\d+"},e.QUOTE_STRING_MODE]}}],illegal:/\S/}}}()); +hljs.registerLanguage("bash",function(){"use strict";return function(e){const s={};Object.assign(s,{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{/,end:/\}/,contains:[{begin:/:-/,contains:[s]}]}]});const t={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,t]};t.contains.push(n);const a={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,s]},i=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b-?[a-z\._]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[i,e.SHEBANG(),c,a,e.HASH_COMMENT_MODE,n,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}}()); +hljs.registerLanguage("c-like",function(){"use strict";return function(e){function t(e){return"(?:"+e+")?"}var n="(decltype\\(auto\\)|"+t("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+t("<.*?>")+")",r={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},a={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},i={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(a,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},o={className:"title",begin:t("[a-zA-Z_]\\w*::")+e.IDENT_RE,relevance:0},c=t("[a-zA-Z_]\\w*::")+e.IDENT_RE+"\\s*\\(",l={keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary",literal:"true false nullptr NULL"},d=[r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i,a],_={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:l,contains:d.concat([{begin:/\(/,end:/\)/,keywords:l,contains:d.concat(["self"]),relevance:0}]),relevance:0},u={className:"function",begin:"("+n+"[\\*&\\s]+)+"+c,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:l,illegal:/[^\w\s\*&:<>]/,contains:[{begin:"decltype\\(auto\\)",keywords:l,relevance:0},{begin:c,returnBegin:!0,contains:[o],relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r,{begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:["self",e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r]}]},r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s]};return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],keywords:l,disableAutodetect:!0,illegal:"",keywords:l,contains:["self",r]},{begin:e.IDENT_RE+"::",keywords:l},{className:"class",beginKeywords:"class struct",end:/[{;:]/,contains:[{begin://,contains:["self"]},e.TITLE_MODE]}]),exports:{preprocessor:s,strings:a,keywords:l}}}}()); +hljs.registerLanguage("c",function(){"use strict";return function(e){var n=e.getLanguage("c-like").rawDefinition();return n.name="C",n.aliases=["c","h"],n}}()); +hljs.registerLanguage("coffeescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((e=>n=>!e.includes(n))(["var","const","let","function","static"])).join(" "),literal:n.concat(["yes","no","on","off"]).join(" "),built_in:a.concat(["npm","print"]).join(" ")},i="[A-Za-z$_][0-9A-Za-z$_]*",s={className:"subst",begin:/#\{/,end:/}/,keywords:t},o=[r.BINARY_NUMBER_MODE,r.inherit(r.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[r.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[r.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[r.BACKSLASH_ESCAPE,s]},{begin:/"/,end:/"/,contains:[r.BACKSLASH_ESCAPE,s]}]},{className:"regexp",variants:[{begin:"///",end:"///",contains:[s,r.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)",relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+i},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{begin:"```",end:"```"},{begin:"`",end:"`"}]}];s.contains=o;var c=r.inherit(r.TITLE_MODE,{begin:i}),l={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:t,contains:["self"].concat(o)}]};return{name:"CoffeeScript",aliases:["coffee","cson","iced"],keywords:t,illegal:/\/\*/,contains:o.concat([r.COMMENT("###","###"),r.HASH_COMMENT_MODE,{className:"function",begin:"^\\s*"+i+"\\s*=\\s*(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[c,l]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:"(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[l]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[c]},c]},{begin:i+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}}()); +hljs.registerLanguage("cpp",function(){"use strict";return function(e){var t=e.getLanguage("c-like").rawDefinition();return t.disableAutodetect=!1,t.name="C++",t.aliases=["cc","c++","h++","hpp","hh","hxx","cxx"],t}}()); +hljs.registerLanguage("csharp",function(){"use strict";return function(e){var n={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let nameof on orderby partial remove select set value var when where yield",literal:"null false true"},i=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},t=e.inherit(s,{illegal:/\n/}),l={className:"subst",begin:"{",end:"}",keywords:n},r=e.inherit(l,{illegal:/\n/}),c={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},e.BACKSLASH_ESCAPE,r]},o={className:"string",begin:/\$@"/,end:'"',contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},l]},g=e.inherit(o,{illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},r]});l.contains=[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],r.contains=[g,c,t,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];var d={variants:[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},E={begin:"<",end:">",contains:[{beginKeywords:"in out"},i]},_=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",b={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},d,a,{beginKeywords:"class interface",end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},i,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",end:/[{;=]/,illegal:/[^\s:]/,contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"meta-string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+_+"\\s+)+"+e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{begin:e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,contains:[e.TITLE_MODE,E],relevance:0},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0,contains:[d,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},b]}}}()); +hljs.registerLanguage("css",function(){"use strict";return function(e){var n={begin:/(?:[A-Z\_\.\-]+|--[a-zA-Z0-9_-]+)\s*:/,returnBegin:!0,end:";",endsWithParent:!0,contains:[{className:"attribute",begin:/\S/,end:":",excludeEnd:!0,starts:{endsWithParent:!0,excludeEnd:!0,contains:[{begin:/[\w-]+\(/,returnBegin:!0,contains:[{className:"built_in",begin:/[\w-]+/},{begin:/\(/,end:/\)/,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{className:"number",begin:"#[0-9A-Fa-f]+"},{className:"meta",begin:"!important"}]}}]};return{name:"CSS",case_insensitive:!0,illegal:/[=\/|'\$]/,contains:[e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/},{className:"selector-class",begin:/\.[A-Za-z0-9_-]+/},{className:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",illegal:/:/,returnBegin:!0,contains:[{className:"keyword",begin:/@\-?\w[\w]*(\-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:"and or not only",contains:[{begin:/[a-z-]+:/,className:"attribute"},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},{begin:"{",end:"}",illegal:/\S/,contains:[e.C_BLOCK_COMMENT_MODE,n]}]}}}()); +hljs.registerLanguage("diff",function(){"use strict";return function(e){return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,variants:[{begin:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{begin:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{className:"comment",variants:[{begin:/Index: /,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^\-{3}/,end:/$/},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/^\*{15}$/}]},{className:"addition",begin:"^\\+",end:"$"},{className:"deletion",begin:"^\\-",end:"$"},{className:"addition",begin:"^\\!",end:"$"}]}}}()); +hljs.registerLanguage("go",function(){"use strict";return function(e){var n={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{name:"Go",aliases:["golang"],keywords:n,illegal:"e(n)).join("")}return function(a){var s={className:"number",relevance:0,variants:[{begin:/([\+\-]+)?[\d]+_[\d_]+/},{begin:a.NUMBER_RE}]},i=a.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];var t={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)}/}]},r={className:"literal",begin:/\bon|off|true|false|yes|no\b/},l={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},c={begin:/\[/,end:/\]/,contains:[i,r,t,l,s,"self"],relevance:0},g="("+[/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/].map(n=>e(n)).join("|")+")";return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:n(g,"(\\s*\\.\\s*",g,")*",n("(?=",/\s*=\s*[^#\s]/,")")),className:"attr",starts:{end:/$/,contains:[i,c,r,t,l,s]}}]}}}()); +hljs.registerLanguage("java",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function n(e){return a("(",e,")?")}function a(...n){return n.map(n=>e(n)).join("")}function s(...n){return"("+n.map(n=>e(n)).join("|")+")"}return function(e){var t="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",i={className:"meta",begin:"@[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},r=e=>a("[",e,"]+([",e,"_]*[",e,"]+)?"),c={className:"number",variants:[{begin:`\\b(0[bB]${r("01")})[lL]?`},{begin:`\\b(0${r("0-7")})[dDfFlL]?`},{begin:a(/\b0[xX]/,s(a(r("a-fA-F0-9"),/\./,r("a-fA-F0-9")),a(r("a-fA-F0-9"),/\.?/),a(/\./,r("a-fA-F0-9"))),/([pP][+-]?(\d+))?/,/[fFdDlL]?/)},{begin:a(/\b/,s(a(/\d*\./,r("\\d")),r("\\d")),/[eE][+-]?[\d]+[dDfF]?/)},{begin:a(/\b/,r(/\d/),n(/\.?/),n(r(/\d/)),/[dDfFlL]?/)}],relevance:0};return{name:"Java",aliases:["jsp"],keywords:t,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"new throw return else",relevance:0},{className:"function",begin:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:t,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,keywords:t,relevance:0,contains:[i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},c,i]}}}()); +hljs.registerLanguage("javascript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function s(e){return r("(?=",e,")")}function r(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(t){var i="[A-Za-z$_][0-9A-Za-z$_]*",c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/},o={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.join(" "),literal:n.join(" "),built_in:a.join(" ")},l={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:t.C_NUMBER_RE+"n?"}],relevance:0},E={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},d={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"xml"}},g={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"css"}},u={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,E]};E.contains=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,l,t.REGEXP_MODE];var b=E.contains.concat([{begin:/\(/,end:/\)/,contains:["self"].concat(E.contains,[t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE])},t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]),_={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:b};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,contains:[t.SHEBANG({binary:"node",relevance:5}),{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,t.C_LINE_COMMENT_MODE,t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,l,{begin:r(/[{,\n]\s*/,s(r(/(((\/\/.*)|(\/\*(.|\n)*\*\/))\s*)*/,i+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:i+s("\\s*:"),relevance:0}]},{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,t.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:b}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:"<>",end:""},{begin:c.begin,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[t.inherit(t.TITLE_MODE,{begin:i}),_],illegal:/\[|%/},{begin:/\$[(.]/},t.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0},{begin:"(get|set)\\s+(?="+i+"\\()",end:/{/,keywords:"get set",contains:[t.inherit(t.TITLE_MODE,{begin:i}),{begin:/\(\)/},_]}],illegal:/#(?!!)/}}}()); +hljs.registerLanguage("json",function(){"use strict";return function(n){var e={literal:"true false null"},i=[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],t=[n.QUOTE_STRING_MODE,n.C_NUMBER_MODE],a={end:",",endsWithParent:!0,excludeEnd:!0,contains:t,keywords:e},l={begin:"{",end:"}",contains:[{className:"attr",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE],illegal:"\\n"},n.inherit(a,{begin:/:/})].concat(i),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[n.inherit(a)],illegal:"\\S"};return t.push(l,s),i.forEach((function(n){t.push(n)})),{name:"JSON",contains:t,keywords:e,illegal:"\\S"}}}()); +hljs.registerLanguage("kotlin",function(){"use strict";return function(e){var n={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},a={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:"\\${",end:"}",contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},t={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,i]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,i]}]};i.contains.push(t);var r={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(t,{className:"meta-string"})]}]},c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),o={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},d=o;return d.variants[1].contains=[o],o.variants[1].contains=[d],{name:"Kotlin",aliases:["kt"],keywords:n,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},a,r,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:n,illegal:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[o,e.C_LINE_COMMENT_MODE,c],relevance:0},e.C_LINE_COMMENT_MODE,c,r,l,t,e.C_NUMBER_MODE]},c]},{className:"class",beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:!0,returnEnd:!0},r,l]},t,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},{className:"number",begin:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",relevance:0}]}}}()); +hljs.registerLanguage("less",function(){"use strict";return function(e){var n="([\\w-]+|@{[\\w-]+})",a=[],s=[],t=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},r=function(e,n,a){return{className:e,begin:n,relevance:a}},i={begin:"\\(",end:"\\)",contains:s,relevance:0};s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t("'"),t('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},r("number","#[0-9A-Fa-f]+\\b"),i,r("variable","@@?[\\w-]+",10),r("variable","@{[\\w-]+}"),r("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},{className:"meta",begin:"!important"});var c=s.concat({begin:"{",end:"}",contains:a}),l={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(s)},o={begin:n+"\\s*:",returnBegin:!0,end:"[;}]",relevance:0,contains:[{className:"attribute",begin:n,end:":",excludeEnd:!0,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",returnEnd:!0,contains:s,relevance:0}},d={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:c}},b={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:n,end:"{"}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l,r("keyword","all\\b"),r("variable","@{[\\w-]+}"),r("selector-tag",n+"%?",0),r("selector-id","#"+n),r("selector-class","\\."+n,0),r("selector-tag","&",0),{className:"selector-attr",begin:"\\[",end:"\\]"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"\\(",end:"\\)",contains:c},{begin:"!important"}]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,d,o,b),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:a}}}()); +hljs.registerLanguage("lua",function(){"use strict";return function(e){var t={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},a=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[t],relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:a.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:a}].concat(a)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[t],relevance:5}])}}}()); +hljs.registerLanguage("makefile",function(){"use strict";return function(e){var i={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:"",relevance:10,contains:[a,i,t,s,{begin:"\\[",end:"\\]",contains:[{className:"meta",begin:"",contains:[a,s,i,t]}]}]},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},n,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:")",end:">",keywords:{name:"style"},contains:[c],starts:{end:"",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:")",end:">",keywords:{name:"script"},contains:[c],starts:{end:"<\/script>",returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:"",contains:[{className:"name",begin:/[^\/><\s]+/,relevance:0},c]}]}}}()); +hljs.registerLanguage("markdown",function(){"use strict";return function(n){const e={begin:"<",end:">",subLanguage:"xml",relevance:0},a={begin:"\\[.+?\\][\\(\\[].*?[\\)\\]]",returnBegin:!0,contains:[{className:"string",begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:"link",begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},i={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},s={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};i.contains.push(s),s.contains.push(i);var c=[e,a];return i.contains=i.contains.concat(c),s.contains=s.contains.concat(c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:c=c.concat(i,s)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:c}]}]},e,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},i,s,{className:"quote",begin:"^>\\s+",contains:c,end:"$"},{className:"code",variants:[{begin:"(`{3,})(.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})(.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},a,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}}()); +hljs.registerLanguage("nginx",function(){"use strict";return function(e){var n={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/}/},{begin:"[\\$\\@]"+e.UNDERSCORE_IDENT_RE}]},a={endsWithParent:!0,keywords:{$pattern:"[a-z/_]+",literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[n]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"\\s\\^",end:"\\s|{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},n]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{begin:e.UNDERSCORE_IDENT_RE+"\\s+{",returnBegin:!0,end:"{",contains:[{className:"section",begin:e.UNDERSCORE_IDENT_RE}],relevance:0},{begin:e.UNDERSCORE_IDENT_RE+"\\s",end:";|{",returnBegin:!0,contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:a}],relevance:0}],illegal:"[^\\s\\}]"}}}()); +hljs.registerLanguage("objectivec",function(){"use strict";return function(e){var n=/[a-zA-Z@][a-zA-Z0-9_]*/,_={$pattern:n,keyword:"@interface @class @protocol @implementation"};return{name:"Objective-C",aliases:["mm","objc","obj-c"],keywords:{$pattern:n,keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+_.keyword.split(" ").join("|")+")\\b",end:"({|$)",excludeEnd:!0,keywords:_,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}}()); +hljs.registerLanguage("perl",function(){"use strict";return function(e){var n={$pattern:/[\w.]+/,keyword:"getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qq fileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmget sub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedir ioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when"},t={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:n},s={begin:"->{",end:"}"},r={variants:[{begin:/\$\d/},{begin:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{begin:/[\$%@][^\s\w{]/,relevance:0}]},i=[e.BACKSLASH_ESCAPE,t,r],a=[r,e.HASH_COMMENT_MODE,e.COMMENT("^\\=\\w","\\=cut",{endsWithParent:!0}),s,{className:"string",contains:i,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*\\<",end:"\\>",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:"{\\w+}",contains:[],relevance:0},{begin:"-?\\w+\\s*\\=\\>",contains:[],relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",begin:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",relevance:10},{className:"regexp",begin:"(m|qr)?/",end:"/[a-z]*",contains:[e.BACKSLASH_ESCAPE],relevance:0}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return t.contains=a,s.contains=a,{name:"Perl",aliases:["pl","pm"],keywords:n,contains:a}}}()); +hljs.registerLanguage("php",function(){"use strict";return function(e){var r={begin:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},t={className:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?[=]?/},{begin:/\?>/}]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:'b"',end:'"'},{begin:"b'",end:"'"},e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},n={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]},i={keyword:"__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list new object or private protected public real return string switch throw trait try unset use var void while xor yield",literal:"false null true",built_in:"Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Throwable Traversable WeakReference Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass"};return{aliases:["php","php3","php4","php5","php6","php7"],case_insensitive:!0,keywords:i,contains:[e.HASH_COMMENT_MODE,e.COMMENT("//","$",{contains:[t]}),e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler"}),{className:"string",begin:/<<<['"]?\w+['"]?$/,end:/^\w+;?$/,contains:[e.BACKSLASH_ESCAPE,{className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]}]},t,{className:"keyword",begin:/\$this\b/},r,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",r,e.C_BLOCK_COMMENT_MODE,a,n]}]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:/[:\(\$"]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",end:";",illegal:/[\.']/,contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",end:";",contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"=>"},a,n]}}}()); +hljs.registerLanguage("php-template",function(){"use strict";return function(n){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},n.inherit(n.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),n.inherit(n.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}}()); +hljs.registerLanguage("plaintext",function(){"use strict";return function(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}}()); +hljs.registerLanguage("properties",function(){"use strict";return function(e){var n="[ \\t\\f]*",t="("+n+"[:=]"+n+"|[ \\t\\f]+)",a="([^\\\\:= \\t\\f\\n]|\\\\.)+",s={end:t,relevance:0,starts:{className:"string",end:/$/,relevance:0,contains:[{begin:"\\\\\\n"}]}};return{name:".properties",case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT("^\\s*[!#]","$"),{begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+"+t,returnBegin:!0,contains:[{className:"attr",begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",endsParent:!0,relevance:0}],starts:s},{begin:a+t,returnBegin:!0,relevance:0,contains:[{className:"meta",begin:a,endsParent:!0,relevance:0}],starts:s},{className:"attr",relevance:0,begin:a+n+"$"}]}}}()); +hljs.registerLanguage("python",function(){"use strict";return function(e){var n={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10",built_in:"Ellipsis NotImplemented",literal:"False None True"},a={className:"meta",begin:/^(>>>|\.\.\.) /},i={className:"subst",begin:/\{/,end:/\}/,keywords:n,illegal:/#/},s={begin:/\{\{/,relevance:0},r={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(fr|rf|f)'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(fr|rf|f)"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},{begin:/(fr|rf|f)'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,s,i]},{begin:/(fr|rf|f)"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,i]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},l={className:"number",relevance:0,variants:[{begin:e.BINARY_NUMBER_RE+"[lLjJ]?"},{begin:"\\b(0o[0-7]+)[lLjJ]?"},{begin:e.C_NUMBER_RE+"[lLjJ]?"}]},t={className:"params",variants:[{begin:/\(\s*\)/,skip:!0,className:null},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:["self",a,l,r,e.HASH_COMMENT_MODE]}]};return i.contains=[r,l,a],{name:"Python",aliases:["py","gyp","ipython"],keywords:n,illegal:/(<\/|->|\?)|=>/,contains:[a,l,{beginKeywords:"if",relevance:0},r,e.HASH_COMMENT_MODE,{variants:[{className:"function",beginKeywords:"def"},{className:"class",beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/,contains:[e.UNDERSCORE_TITLE_MODE,t,{begin:/->/,endsWithParent:!0,keywords:"None"}]},{className:"meta",begin:/^[\t ]*@/,end:/$/},{begin:/\b(print|exec)\(/}]}}}()); +hljs.registerLanguage("python-repl",function(){"use strict";return function(n){return{aliases:["pycon"],contains:[{className:"meta",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}}()); +hljs.registerLanguage("ruby",function(){"use strict";return function(e){var n="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",a={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},s={className:"doctag",begin:"@[A-Za-z]+"},i={begin:"#<",end:">"},r=[e.COMMENT("#","$",{contains:[s]}),e.COMMENT("^\\=begin","^\\=end",{contains:[s],relevance:10}),e.COMMENT("^__END__","\\n$")],c={className:"subst",begin:"#\\{",end:"}",keywords:a},t={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[qQwWx]?\\(",end:"\\)"},{begin:"%[qQwWx]?\\[",end:"\\]"},{begin:"%[qQwWx]?{",end:"}"},{begin:"%[qQwWx]?<",end:">"},{begin:"%[qQwWx]?/",end:"/"},{begin:"%[qQwWx]?%",end:"%"},{begin:"%[qQwWx]?-",end:"-"},{begin:"%[qQwWx]?\\|",end:"\\|"},{begin:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{begin:/<<[-~]?'?(\w+)(?:.|\n)*?\n\s*\1\b/,returnBegin:!0,contains:[{begin:/<<[-~]?'?/},e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},b={className:"params",begin:"\\(",end:"\\)",endsParent:!0,keywords:a},d=[t,i,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[e.inherit(e.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{begin:"<\\s*",contains:[{begin:"("+e.IDENT_RE+"::)?"+e.IDENT_RE}]}].concat(r)},{className:"function",beginKeywords:"def",end:"$|;",contains:[e.inherit(e.TITLE_MODE,{begin:n}),b].concat(r)},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(\\!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[t,{begin:n}],relevance:0},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{className:"params",begin:/\|/,end:/\|/,keywords:a},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[i,{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r{",end:"}[a-z]*"},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(r),relevance:0}].concat(r);c.contains=d,b.contains=d;var g=[{begin:/^\s*=>/,starts:{end:"$",contains:d}},{className:"meta",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{end:"$",contains:d}}];return{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:r.concat(g).concat(d)}}}()); +hljs.registerLanguage("rust",function(){"use strict";return function(e){var n="([ui](8|16|32|64|128|size)|f(32|64))?",t="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",keyword:"abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield",literal:"true false Some None Ok Err",built_in:t},illegal:""}]}}}()); +hljs.registerLanguage("scss",function(){"use strict";return function(e){var t={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"},i={className:"number",begin:"#[0-9A-Fa-f]+"};return e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:"\\#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},{className:"selector-attr",begin:"\\[",end:"\\]",illegal:"$"},{className:"selector-tag",begin:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",relevance:0},{className:"selector-pseudo",begin:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{className:"selector-pseudo",begin:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},t,{className:"attribute",begin:"\\b(src|z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",illegal:"[^\\s]"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:":",end:";",contains:[t,i,e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"meta",begin:"!important"}]},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",returnBegin:!0,keywords:"and or not only",contains:[{begin:"@[a-z-]+",className:"keyword"},t,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,i,e.CSS_NUMBER_MODE]}]}}}()); +hljs.registerLanguage("shell",function(){"use strict";return function(s){return{name:"Shell Session",aliases:["console"],contains:[{className:"meta",begin:"^\\s{0,3}[/\\w\\d\\[\\]()@-]*[>%$#]",starts:{end:"$",subLanguage:"bash"}}]}}}()); +hljs.registerLanguage("sql",function(){"use strict";return function(e){var t=e.COMMENT("--","$");return{name:"SQL",case_insensitive:!0,illegal:/[<>{}*]/,contains:[{beginKeywords:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with",end:/;/,endsWithParent:!0,keywords:{$pattern:/[\w\.]+/,keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void"},contains:[{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:"string",begin:'"',end:'"',contains:[{begin:'""'}]},{className:"string",begin:"`",end:"`"},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]},e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]}}}()); +hljs.registerLanguage("swift",function(){"use strict";return function(e){var i={keyword:"#available #colorLiteral #column #else #elseif #endif #file #fileLiteral #function #if #imageLiteral #line #selector #sourceLocation _ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c compactMap contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip"},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),t={className:"subst",begin:/\\\(/,end:"\\)",keywords:i,contains:[]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:/"""/,end:/"""/},{begin:/"/,end:/"/}]},r={className:"number",begin:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",relevance:0};return t.contains=[r],{name:"Swift",keywords:i,contains:[a,e.C_LINE_COMMENT_MODE,n,{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*[!?]"},{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*",relevance:0},r,{className:"function",beginKeywords:"func",end:"{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{begin://},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:i,contains:["self",r,a,e.C_BLOCK_COMMENT_MODE,{begin:":"}],illegal:/["']/}],illegal:/\[|%/},{className:"class",beginKeywords:"struct protocol class extension enum",keywords:i,end:"\\{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/})]},{className:"meta",begin:"(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain|@dynamicMemberLookup|@propertyWrapper)\\b"},{beginKeywords:"import",end:/$/,contains:[e.C_LINE_COMMENT_MODE,n]}]}}}()); +hljs.registerLanguage("typescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.concat(["type","namespace","typedef","interface","public","private","protected","implements","declare","abstract","readonly"]).join(" "),literal:n.join(" "),built_in:a.concat(["any","void","number","boolean","string","object","never","enum"]).join(" ")},s={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},i={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:r.C_NUMBER_RE+"n?"}],relevance:0},o={className:"subst",begin:"\\$\\{",end:"\\}",keywords:t,contains:[]},c={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"xml"}},l={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"css"}},E={className:"string",begin:"`",end:"`",contains:[r.BACKSLASH_ESCAPE,o]};o.contains=[r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,i,r.REGEXP_MODE];var d={begin:"\\(",end:/\)/,keywords:t,contains:["self",r.QUOTE_STRING_MODE,r.APOS_STRING_MODE,r.NUMBER_MODE]},u={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,s,d]};return{name:"TypeScript",aliases:["ts"],keywords:t,contains:[r.SHEBANG(),{className:"meta",begin:/^\s*['"]use strict['"]/},r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,i,{begin:"("+r.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,r.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+r.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:r.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:d.contains}]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[\{;]/,excludeEnd:!0,keywords:t,contains:["self",r.inherit(r.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*"}),u],illegal:/%/,relevance:0},{beginKeywords:"constructor",end:/[\{;]/,excludeEnd:!0,contains:["self",u]},{begin:/module\./,keywords:{built_in:"module"},relevance:0},{beginKeywords:"module",end:/\{/,excludeEnd:!0},{beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:"interface extends"},{begin:/\$[(.]/},{begin:"\\."+r.IDENT_RE,relevance:0},s,d]}}}()); +hljs.registerLanguage("yaml",function(){"use strict";return function(e){var n="true false yes no null",a="[\\w#;/?:@&=+$,.~*\\'()[\\]]+",s={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]}]},i=e.inherit(s,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={end:",",endsWithParent:!0,excludeEnd:!0,contains:[],keywords:n,relevance:0},t={begin:"{",end:"}",contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---s*$",relevance:10},{className:"string",begin:"[\\|>]([0-9]?[+-])?[ ]*\\n( *)[\\S ]+\\n(\\2[\\S ]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type",begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"\\-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:e.C_NUMBER_RE+"\\b"},t,g,s],c=[...b];return c.pop(),c.push(i),l.contains=c,{name:"YAML",case_insensitive:!0,aliases:["yml","YAML"],contains:b}}}()); +hljs.registerLanguage("armasm",function(){"use strict";return function(s){const e={variants:[s.COMMENT("^[ \\t]*(?=#)","$",{relevance:0,excludeBegin:!0}),s.COMMENT("[;@]","$",{relevance:0}),s.C_LINE_COMMENT_MODE,s.C_BLOCK_COMMENT_MODE]};return{name:"ARM Assembly",case_insensitive:!0,aliases:["arm"],keywords:{$pattern:"\\.?"+s.IDENT_RE,meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},contains:[{className:"keyword",begin:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?(?=\\s)"},e,s.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^[ \\t]*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"[=#]\\w+"}],relevance:0}]}}}()); +hljs.registerLanguage("d",function(){"use strict";return function(e){var a={$pattern:e.UNDERSCORE_IDENT_RE,keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},d="((0|[1-9][\\d_]*)|0[bB][01_]+|0[xX]([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))",n="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",t={className:"number",begin:"\\b"+d+"(L|u|U|Lu|LU|uL|UL)?",relevance:0},_={className:"number",begin:"\\b(((0[xX](([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)\\.([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)|\\.?([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))[pP][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))|((0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(\\.\\d*|([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)))|\\d+\\.(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)|\\.(0|[1-9][\\d_]*)([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))?))([fF]|L|i|[fF]i|Li)?|"+d+"(i|[fF]i|Li))",relevance:0},r={className:"string",begin:"'("+n+"|.)",end:"'",illegal:"."},i={className:"string",begin:'"',contains:[{begin:n,relevance:0}],end:'"[cwd]?'},s=e.COMMENT("\\/\\+","\\+\\/",{contains:["self"],relevance:10});return{name:"D",keywords:a,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s,{className:"string",begin:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',relevance:10},i,{className:"string",begin:'[rq]"',end:'"[cwd]?',relevance:5},{className:"string",begin:"`",end:"`[cwd]?"},{className:"string",begin:'q"\\{',end:'\\}"'},_,t,r,{className:"meta",begin:"^#!",end:"$",relevance:5},{className:"meta",begin:"#(line)",end:"$",relevance:5},{className:"keyword",begin:"@[a-zA-Z_][a-zA-Z_\\d]*"}]}}}()); +hljs.registerLanguage("handlebars",function(){"use strict";function e(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(n){const a={"builtin-name":"action bindattr collection component concat debugger each each-in get hash if in input link-to loc log lookup mut outlet partial query-params render template textarea unbound unless view with yield"},t=/\[.*?\]/,s=/[^\s!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]+/,i=e("(",/'.*?'/,"|",/".*?"/,"|",t,"|",s,"|",/\.|\//,")+"),r=e("(",t,"|",s,")(?==)"),l={begin:i,lexemes:/[\w.\/]+/},c=n.inherit(l,{keywords:{literal:"true false undefined null"}}),o={begin:/\(/,end:/\)/},m={className:"attr",begin:r,relevance:0,starts:{begin:/=/,end:/=/,starts:{contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,c,o]}}},d={contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,{begin:/as\s+\|/,keywords:{keyword:"as"},end:/\|/,contains:[{begin:/\w+/}]},m,c,o],returnEnd:!0},g=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/\)/})});o.contains=[g];const u=n.inherit(l,{keywords:a,className:"name",starts:n.inherit(d,{end:/}}/})}),b=n.inherit(l,{keywords:a,className:"name"}),h=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/}}/})});return{name:"Handlebars",aliases:["hbs","html.hbs","html.handlebars","htmlbars"],case_insensitive:!0,subLanguage:"xml",contains:[{begin:/\\\{\{/,skip:!0},{begin:/\\\\(?=\{\{)/,skip:!0},n.COMMENT(/\{\{!--/,/--\}\}/),n.COMMENT(/\{\{!/,/\}\}/),{className:"template-tag",begin:/\{\{\{\{(?!\/)/,end:/\}\}\}\}/,contains:[u],starts:{end:/\{\{\{\{\//,returnEnd:!0,subLanguage:"xml"}},{className:"template-tag",begin:/\{\{\{\{\//,end:/\}\}\}\}/,contains:[b]},{className:"template-tag",begin:/\{\{#/,end:/\}\}/,contains:[u]},{className:"template-tag",begin:/\{\{(?=else\}\})/,end:/\}\}/,keywords:"else"},{className:"template-tag",begin:/\{\{\//,end:/\}\}/,contains:[b]},{className:"template-variable",begin:/\{\{\{/,end:/\}\}\}/,contains:[h]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[h]}]}}}()); +hljs.registerLanguage("haskell",function(){"use strict";return function(e){var n={variants:[e.COMMENT("--","$"),e.COMMENT("{-","-}",{contains:["self"]})]},i={className:"meta",begin:"{-#",end:"#-}"},a={className:"meta",begin:"^#",end:"$"},s={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},l={begin:"\\(",end:"\\)",illegal:'"',contains:[i,a,{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TITLE_MODE,{begin:"[_a-z][\\w']*"}),n]};return{name:"Haskell",aliases:["hs"],keywords:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",contains:[{beginKeywords:"module",end:"where",keywords:"module where",contains:[l,n],illegal:"\\W\\.|;"},{begin:"\\bimport\\b",end:"$",keywords:"import qualified as hiding",contains:[l,n],illegal:"\\W\\.|;"},{className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where",keywords:"class family instance where",contains:[s,l,n]},{className:"class",begin:"\\b(data|(new)?type)\\b",end:"$",keywords:"data family type newtype deriving",contains:[i,s,l,{begin:"{",end:"}",contains:l.contains},n]},{beginKeywords:"default",end:"$",contains:[s,l,n]},{beginKeywords:"infix infixl infixr",end:"$",contains:[e.C_NUMBER_MODE,n]},{begin:"\\bforeign\\b",end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",contains:[s,e.QUOTE_STRING_MODE,n]},{className:"meta",begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$"},i,a,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,s,e.inherit(e.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),n,{begin:"->|<-"}]}}}()); +hljs.registerLanguage("julia",function(){"use strict";return function(e){var r="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",t={$pattern:r,keyword:"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias ",literal:"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ ",built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool "},a={keywords:t,illegal:/<\//},n={className:"subst",begin:/\$\(/,end:/\)/,keywords:t},o={className:"variable",begin:"\\$"+r},i={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},l={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],begin:"`",end:"`"},s={className:"meta",begin:"@"+r};return a.name="Julia",a.contains=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i,l,s,{className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]},e.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],n.contains=a.contains,a}}()); +hljs.registerLanguage("nim",function(){"use strict";return function(e){return{name:"Nim",aliases:["nim"],keywords:{keyword:"addr and as asm bind block break case cast const continue converter discard distinct div do elif else end enum except export finally for from func generic if import in include interface is isnot iterator let macro method mixin mod nil not notin object of or out proc ptr raise ref return shl shr static template try tuple type using var when while with without xor yield",literal:"shared guarded stdin stdout stderr result true false",built_in:"int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float float32 float64 bool char string cstring pointer expr stmt void auto any range array openarray varargs seq set clong culong cchar cschar cshort cint csize clonglong cfloat cdouble clongdouble cuchar cushort cuint culonglong cstringarray semistatic"},contains:[{className:"meta",begin:/{\./,end:/\.}/,relevance:10},{className:"string",begin:/[a-zA-Z]\w*"/,end:/"/,contains:[{begin:/""/}]},{className:"string",begin:/([a-zA-Z]\w*)?"""/,end:/"""/},e.QUOTE_STRING_MODE,{className:"type",begin:/\b[A-Z]\w+\b/,relevance:0},{className:"number",relevance:0,variants:[{begin:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/},{begin:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/}]},e.HASH_COMMENT_MODE]}}}()); +hljs.registerLanguage("nix",function(){"use strict";return function(e){var n={keyword:"rec with let in inherit assert if else then",literal:"true false or and null",built_in:"import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation"},i={className:"subst",begin:/\$\{/,end:/}/,keywords:n},t={className:"string",contains:[i],variants:[{begin:"''",end:"''"},{begin:'"',end:'"'}]},s=[e.NUMBER_MODE,e.HASH_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t,{begin:/[a-zA-Z0-9-_]+(\s*=)/,returnBegin:!0,relevance:0,contains:[{className:"attr",begin:/\S+/}]}];return i.contains=s,{name:"Nix",aliases:["nixos"],keywords:n,contains:s}}}()); +hljs.registerLanguage("r",function(){"use strict";return function(e){var n="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{name:"R",contains:[e.HASH_COMMENT_MODE,{begin:n,keywords:{$pattern:n,keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},relevance:0},{className:"number",begin:"0[xX][0-9a-fA-F]+[Li]?\\b",relevance:0},{className:"number",begin:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",relevance:0},{className:"number",begin:"\\d+\\.(?!\\d)(?:i\\b)?",relevance:0},{className:"number",begin:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{className:"number",begin:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{begin:"`",end:"`",relevance:0},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]}]}}}()); +hljs.registerLanguage("scala",function(){"use strict";return function(e){var n={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:"\\${",end:"}"}]},a={className:"string",variants:[{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:'"""',end:'"""',relevance:10},{begin:'[a-z]+"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,n]},{className:"string",begin:'[a-z]+"""',end:'"""',contains:[n],relevance:10}]},s={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},t={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},i={className:"class",beginKeywords:"class object trait type",end:/[:={\[\n;]/,excludeEnd:!0,contains:[{beginKeywords:"extends with",relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},t]},l={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,excludeEnd:!0,contains:[t]};return{name:"Scala",keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,{className:"symbol",begin:"'\\w[\\w\\d_]*(?!')"},s,l,i,e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"}]}}}()); +hljs.registerLanguage("x86asm",function(){"use strict";return function(s){return{name:"Intel x86 Assembly",case_insensitive:!0,keywords:{$pattern:"[.%]?"+s.IDENT_RE,keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[s.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},s.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"subst",begin:"%[0-9]+",relevance:0},{className:"subst",begin:"%!S+",relevance:0},{className:"meta",begin:/^\s*\.[\w_-]+/}]}}}()); \ No newline at end of file diff --git a/dist1/js/mermaid-init.js b/dist1/js/mermaid-init.js new file mode 100644 index 0000000..0341d03 --- /dev/null +++ b/dist1/js/mermaid-init.js @@ -0,0 +1,4 @@ +mermaid.initialize({startOnLoad:true}); +mermaid.run({ + querySelector: '.language-mermaid', + }); \ No newline at end of file diff --git a/dist1/js/mermaid.min.js b/dist1/js/mermaid.min.js new file mode 100644 index 0000000..b2c9f2b --- /dev/null +++ b/dist1/js/mermaid.min.js @@ -0,0 +1,1648 @@ +/* MIT Licensed. Copyright (c) 2014 - 2022 Knut Sveidqvist */ +/* For license information please see https://github.com/mermaid-js/mermaid/blob/release/10.6.1/LICENSE */ +(function(xA,b0){typeof exports=="object"&&typeof module<"u"?module.exports=b0():typeof define=="function"&&define.amd?define(b0):(xA=typeof globalThis<"u"?globalThis:xA||self,xA.mermaid=b0())})(this,function(){"use strict";function xA(i){for(var a=[],f=1;f=It?nt:""+Array(It+1-Bt.length).join(Ot)+nt},mt={s:bt,z:function(nt){var It=-nt.utcOffset(),Ot=Math.abs(It),Bt=Math.floor(Ot/60),Et=Ot%60;return(It<=0?"+":"-")+bt(Bt,2,"0")+":"+bt(Et,2,"0")},m:function nt(It,Ot){if(It.date()1)return nt(Ct[0])}else{var xt=It.name;ft[xt]=It,Et=xt}return!Bt&&Et&&(yt=Et),Et||!Bt&&yt},X=function(nt,It){if(ut(nt))return nt.clone();var Ot=typeof It=="object"?It:{};return Ot.date=nt,Ot.args=arguments,new U(Ot)},pt=mt;pt.l=vt,pt.i=ut,pt.w=function(nt,It){return X(nt,{locale:It.$L,utc:It.$u,x:It.$x,$offset:It.$offset})};var U=function(){function nt(Ot){this.$L=vt(Ot.locale,null,!0),this.parse(Ot)}var It=nt.prototype;return It.parse=function(Ot){this.$d=function(Bt){var Et=Bt.date,Z=Bt.utc;if(Et===null)return new Date(NaN);if(pt.u(Et))return new Date;if(Et instanceof Date)return new Date(Et);if(typeof Et=="string"&&!/Z$/i.test(Et)){var Ct=Et.match(et);if(Ct){var xt=Ct[2]-1||0,Ht=(Ct[7]||"0").substring(0,3);return Z?new Date(Date.UTC(Ct[1],xt,Ct[3]||1,Ct[4]||0,Ct[5]||0,Ct[6]||0,Ht)):new Date(Ct[1],xt,Ct[3]||1,Ct[4]||0,Ct[5]||0,Ct[6]||0,Ht)}}return new Date(Et)}(Ot),this.$x=Ot.x||{},this.init()},It.init=function(){var Ot=this.$d;this.$y=Ot.getFullYear(),this.$M=Ot.getMonth(),this.$D=Ot.getDate(),this.$W=Ot.getDay(),this.$H=Ot.getHours(),this.$m=Ot.getMinutes(),this.$s=Ot.getSeconds(),this.$ms=Ot.getMilliseconds()},It.$utils=function(){return pt},It.isValid=function(){return this.$d.toString()!==W},It.isSame=function(Ot,Bt){var Et=X(Ot);return this.startOf(Bt)<=Et&&Et<=this.endOf(Bt)},It.isAfter=function(Ot,Bt){return X(Ot){},debug:(...i)=>{},info:(...i)=>{},warn:(...i)=>{},error:(...i)=>{},fatal:(...i)=>{}},Xft=function(i="fatal"){let a=p5.fatal;typeof i=="string"?(i=i.toLowerCase(),i in p5&&(a=p5[i])):typeof i=="number"&&(a=i),Ut.trace=()=>{},Ut.debug=()=>{},Ut.info=()=>{},Ut.warn=()=>{},Ut.error=()=>{},Ut.fatal=()=>{},a<=p5.fatal&&(Ut.fatal=console.error?console.error.bind(console,Q2("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Q2("FATAL"))),a<=p5.error&&(Ut.error=console.error?console.error.bind(console,Q2("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Q2("ERROR"))),a<=p5.warn&&(Ut.warn=console.warn?console.warn.bind(console,Q2("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Q2("WARN"))),a<=p5.info&&(Ut.info=console.info?console.info.bind(console,Q2("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Q2("INFO"))),a<=p5.debug&&(Ut.debug=console.debug?console.debug.bind(console,Q2("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Q2("DEBUG"))),a<=p5.trace&&(Ut.trace=console.debug?console.debug.bind(console,Q2("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Q2("TRACE")))},Q2=i=>`%c${w0().format("ss.SSS")} : ${i} : `;var Qft={};Object.defineProperty(Qft,"__esModule",{value:!0});var ik=Qft.sanitizeUrl=void 0,cxe=/^([^\w]*)(javascript|data|vbscript)/im,uxe=/&#(\w+)(^\w|;)?/g,lxe=/&(newline|tab);/gi,hxe=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,fxe=/^.+(:|:)/gim,dxe=[".","/"];function gxe(i){return dxe.indexOf(i[0])>-1}function pxe(i){return i.replace(uxe,function(a,f){return String.fromCharCode(f)})}function bxe(i){var a=pxe(i||"").replace(lxe,"").replace(hxe,"").trim();if(!a)return"about:blank";if(gxe(a))return a;var f=a.match(fxe);if(!f)return a;var p=f[0];return cxe.test(p)?"about:blank":a}ik=Qft.sanitizeUrl=bxe;function EU(i,a){return i==null||a==null?NaN:ia?1:i>=a?0:NaN}function wxe(i,a){return i==null||a==null?NaN:ai?1:a>=i?0:NaN}function Zft(i){let a,f,p;i.length!==2?(a=EU,f=(E,_)=>EU(i(E),_),p=(E,_)=>i(E)-_):(a=i===EU||i===wxe?i:vxe,f=i,p=i);function w(E,_,A=0,I=E.length){if(A>>1;f(E[B],_)<0?A=B+1:I=B}while(A>>1;f(E[B],_)<=0?A=B+1:I=B}while(AA&&p(E[B-1],_)>-p(E[B],_)?B-1:B}return{left:w,center:b,right:m}}function vxe(){return 0}function mxe(i){return i===null?NaN:+i}const yxe=Zft(EU).right;Zft(mxe).center;const xxe=yxe;class $Lt extends Map{constructor(a,f=Txe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:f}}),a!=null)for(const[p,w]of a)this.set(p,w)}get(a){return super.get(zLt(this,a))}has(a){return super.has(zLt(this,a))}set(a,f){return super.set(kxe(this,a),f)}delete(a){return super.delete(Exe(this,a))}}function zLt({_intern:i,_key:a},f){const p=a(f);return i.has(p)?i.get(p):f}function kxe({_intern:i,_key:a},f){const p=a(f);return i.has(p)?i.get(p):(i.set(p,f),f)}function Exe({_intern:i,_key:a},f){const p=a(f);return i.has(p)&&(f=i.get(p),i.delete(p)),f}function Txe(i){return i!==null&&typeof i=="object"?i.valueOf():i}const Cxe=Math.sqrt(50),_xe=Math.sqrt(10),Sxe=Math.sqrt(2);function TU(i,a,f){const p=(a-i)/Math.max(0,f),w=Math.floor(Math.log10(p)),m=p/Math.pow(10,w),b=m>=Cxe?10:m>=_xe?5:m>=Sxe?2:1;let E,_,A;return w<0?(A=Math.pow(10,-w)/b,E=Math.round(i*A),_=Math.round(a*A),E/Aa&&--_,A=-A):(A=Math.pow(10,w)*b,E=Math.round(i/A),_=Math.round(a/A),E*Aa&&--_),_0))return[];if(i===a)return[i];const p=a=w))return[];const E=m-w+1,_=new Array(E);if(p)if(b<0)for(let A=0;A=p)&&(f=p);else{let p=-1;for(let w of i)(w=a(w,++p,i))!=null&&(f=w)&&(f=w)}return f}function Mxe(i,a){let f;if(a===void 0)for(const p of i)p!=null&&(f>p||f===void 0&&p>=p)&&(f=p);else{let p=-1;for(let w of i)(w=a(w,++p,i))!=null&&(f>w||f===void 0&&w>=w)&&(f=w)}return f}function Dxe(i,a,f){i=+i,a=+a,f=(w=arguments.length)<2?(a=i,i=0,1):w<3?1:+f;for(var p=-1,w=Math.max(0,Math.ceil((a-i)/f))|0,m=new Array(w);++p+i(a)}function Nxe(i,a){return a=Math.max(0,i.bandwidth()-a*2)/2,i.round()&&(a=Math.round(a)),f=>+i(f)+a}function Bxe(){return!this.__axis}function HLt(i,a){var f=[],p=null,w=null,m=6,b=6,E=3,_=typeof window<"u"&&window.devicePixelRatio>1?0:.5,A=i===CU||i===_U?-1:1,I=i===_U||i===e1t?"x":"y",B=i===CU||i===n1t?Oxe:Pxe;function N(R){var z=p??(a.ticks?a.ticks.apply(a,f):a.domain()),W=w??(a.tickFormat?a.tickFormat.apply(a,f):Ixe),et=Math.max(m,0)+E,st=a.range(),at=+st[0]+_,bt=+st[st.length-1]+_,mt=(a.bandwidth?Nxe:Fxe)(a.copy(),_),yt=R.selection?R.selection():R,ft=yt.selectAll(".domain").data([null]),ut=yt.selectAll(".tick").data(z,a).order(),vt=ut.exit(),X=ut.enter().append("g").attr("class","tick"),pt=ut.select("line"),U=ut.select("text");ft=ft.merge(ft.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),ut=ut.merge(X),pt=pt.merge(X.append("line").attr("stroke","currentColor").attr(I+"2",A*m)),U=U.merge(X.append("text").attr("fill","currentColor").attr(I,A*et).attr("dy",i===CU?"0em":i===n1t?"0.71em":"0.32em")),R!==yt&&(ft=ft.transition(R),ut=ut.transition(R),pt=pt.transition(R),U=U.transition(R),vt=vt.transition(R).attr("opacity",qLt).attr("transform",function(Tt){return isFinite(Tt=mt(Tt))?B(Tt+_):this.getAttribute("transform")}),X.attr("opacity",qLt).attr("transform",function(Tt){var nt=this.parentNode.__axis;return B((nt&&isFinite(nt=nt(Tt))?nt:mt(Tt))+_)})),vt.remove(),ft.attr("d",i===_U||i===e1t?b?"M"+A*b+","+at+"H"+_+"V"+bt+"H"+A*b:"M"+_+","+at+"V"+bt:b?"M"+at+","+A*b+"V"+_+"H"+bt+"V"+A*b:"M"+at+","+_+"H"+bt),ut.attr("opacity",1).attr("transform",function(Tt){return B(mt(Tt)+_)}),pt.attr(I+"2",A*m),U.attr(I,A*et).text(W),yt.filter(Bxe).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",i===e1t?"start":i===_U?"end":"middle"),yt.each(function(){this.__axis=mt})}return N.scale=function(R){return arguments.length?(a=R,N):a},N.ticks=function(){return f=Array.from(arguments),N},N.tickArguments=function(R){return arguments.length?(f=R==null?[]:Array.from(R),N):f.slice()},N.tickValues=function(R){return arguments.length?(p=R==null?null:Array.from(R),N):p&&p.slice()},N.tickFormat=function(R){return arguments.length?(w=R,N):w},N.tickSize=function(R){return arguments.length?(m=b=+R,N):m},N.tickSizeInner=function(R){return arguments.length?(m=+R,N):m},N.tickSizeOuter=function(R){return arguments.length?(b=+R,N):b},N.tickPadding=function(R){return arguments.length?(E=+R,N):E},N.offset=function(R){return arguments.length?(_=+R,N):_},N}function Rxe(i){return HLt(CU,i)}function jxe(i){return HLt(n1t,i)}var $xe={value:()=>{}};function VLt(){for(var i=0,a=arguments.length,f={},p;i=0&&(p=f.slice(w+1),f=f.slice(0,w)),f&&!a.hasOwnProperty(f))throw new Error("unknown type: "+f);return{type:f,name:p}})}SU.prototype=VLt.prototype={constructor:SU,on:function(i,a){var f=this._,p=zxe(i+"",f),w,m=-1,b=p.length;if(arguments.length<2){for(;++m0)for(var f=new Array(w),p=0,w,m;p=0&&(a=i.slice(0,f))!=="xmlns"&&(i=i.slice(f+1)),ULt.hasOwnProperty(a)?{space:ULt[a],local:i}:i}function Hxe(i){return function(){var a=this.ownerDocument,f=this.namespaceURI;return f===r1t&&a.documentElement.namespaceURI===r1t?a.createElement(i):a.createElementNS(f,i)}}function Vxe(i){return function(){return this.ownerDocument.createElementNS(i.space,i.local)}}function WLt(i){var a=AU(i);return(a.local?Vxe:Hxe)(a)}function Gxe(){}function i1t(i){return i==null?Gxe:function(){return this.querySelector(i)}}function Uxe(i){typeof i!="function"&&(i=i1t(i));for(var a=this._groups,f=a.length,p=new Array(f),w=0;w=bt&&(bt=at+1);!(yt=et[bt])&&++bt=0;)(b=p[w])&&(m&&b.compareDocumentPosition(m)^4&&m.parentNode.insertBefore(b,m),m=b);return this}function b6e(i){i||(i=w6e);function a(B,N){return B&&N?i(B.__data__,N.__data__):!B-!N}for(var f=this._groups,p=f.length,w=new Array(p),m=0;ma?1:i>=a?0:NaN}function v6e(){var i=arguments[0];return arguments[0]=this,i.apply(null,arguments),this}function m6e(){return Array.from(this)}function y6e(){for(var i=this._groups,a=0,f=i.length;a1?this.each((a==null?D6e:typeof a=="function"?O6e:I6e)(i,a,f??"")):kA(this.node(),i)}function kA(i,a){return i.style.getPropertyValue(a)||JLt(i).getComputedStyle(i,null).getPropertyValue(a)}function F6e(i){return function(){delete this[i]}}function N6e(i,a){return function(){this[i]=a}}function B6e(i,a){return function(){var f=a.apply(this,arguments);f==null?delete this[i]:this[i]=f}}function R6e(i,a){return arguments.length>1?this.each((a==null?F6e:typeof a=="function"?B6e:N6e)(i,a)):this.node()[i]}function tMt(i){return i.trim().split(/^|\s+/)}function s1t(i){return i.classList||new eMt(i)}function eMt(i){this._node=i,this._names=tMt(i.getAttribute("class")||"")}eMt.prototype={add:function(i){var a=this._names.indexOf(i);a<0&&(this._names.push(i),this._node.setAttribute("class",this._names.join(" ")))},remove:function(i){var a=this._names.indexOf(i);a>=0&&(this._names.splice(a,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(i){return this._names.indexOf(i)>=0}};function nMt(i,a){for(var f=s1t(i),p=-1,w=a.length;++p=0&&(f=a.slice(p+1),a=a.slice(0,p)),{type:a,name:f}})}function fke(i){return function(){var a=this.__on;if(a){for(var f=0,p=-1,w=a.length,m;f>8&15|a>>4&240,a>>4&15|a&240,(a&15)<<4|a&15,1):f===8?IU(a>>24&255,a>>16&255,a>>8&255,(a&255)/255):f===4?IU(a>>12&15|a>>8&240,a>>8&15|a>>4&240,a>>4&15|a&240,((a&15)<<4|a&15)/255):null):(a=xke.exec(i))?new v0(a[1],a[2],a[3],1):(a=kke.exec(i))?new v0(a[1]*255/100,a[2]*255/100,a[3]*255/100,1):(a=Eke.exec(i))?IU(a[1],a[2],a[3],a[4]):(a=Tke.exec(i))?IU(a[1]*255/100,a[2]*255/100,a[3]*255/100,a[4]):(a=Cke.exec(i))?dMt(a[1],a[2]/100,a[3]/100,1):(a=_ke.exec(i))?dMt(a[1],a[2]/100,a[3]/100,a[4]):aMt.hasOwnProperty(i)?uMt(aMt[i]):i==="transparent"?new v0(NaN,NaN,NaN,0):null}function uMt(i){return new v0(i>>16&255,i>>8&255,i&255,1)}function IU(i,a,f,p){return p<=0&&(i=a=f=NaN),new v0(i,a,f,p)}function lMt(i){return i instanceof U7||(i=W7(i)),i?(i=i.rgb(),new v0(i.r,i.g,i.b,i.opacity)):new v0}function o1t(i,a,f,p){return arguments.length===1?lMt(i):new v0(i,a,f,p??1)}function v0(i,a,f,p){this.r=+i,this.g=+a,this.b=+f,this.opacity=+p}_P(v0,o1t,MU(U7,{brighter(i){return i=i==null?DU:Math.pow(DU,i),new v0(this.r*i,this.g*i,this.b*i,this.opacity)},darker(i){return i=i==null?SP:Math.pow(SP,i),new v0(this.r*i,this.g*i,this.b*i,this.opacity)},rgb(){return this},clamp(){return new v0(Y7(this.r),Y7(this.g),Y7(this.b),OU(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:hMt,formatHex:hMt,formatHex8:Lke,formatRgb:fMt,toString:fMt}));function hMt(){return`#${K7(this.r)}${K7(this.g)}${K7(this.b)}`}function Lke(){return`#${K7(this.r)}${K7(this.g)}${K7(this.b)}${K7((isNaN(this.opacity)?1:this.opacity)*255)}`}function fMt(){const i=OU(this.opacity);return`${i===1?"rgb(":"rgba("}${Y7(this.r)}, ${Y7(this.g)}, ${Y7(this.b)}${i===1?")":`, ${i})`}`}function OU(i){return isNaN(i)?1:Math.max(0,Math.min(1,i))}function Y7(i){return Math.max(0,Math.min(255,Math.round(i)||0))}function K7(i){return i=Y7(i),(i<16?"0":"")+i.toString(16)}function dMt(i,a,f,p){return p<=0?i=a=f=NaN:f<=0||f>=1?i=a=NaN:a<=0&&(i=NaN),new Xv(i,a,f,p)}function gMt(i){if(i instanceof Xv)return new Xv(i.h,i.s,i.l,i.opacity);if(i instanceof U7||(i=W7(i)),!i)return new Xv;if(i instanceof Xv)return i;i=i.rgb();var a=i.r/255,f=i.g/255,p=i.b/255,w=Math.min(a,f,p),m=Math.max(a,f,p),b=NaN,E=m-w,_=(m+w)/2;return E?(a===m?b=(f-p)/E+(f0&&_<1?0:b,new Xv(b,E,_,i.opacity)}function Mke(i,a,f,p){return arguments.length===1?gMt(i):new Xv(i,a,f,p??1)}function Xv(i,a,f,p){this.h=+i,this.s=+a,this.l=+f,this.opacity=+p}_P(Xv,Mke,MU(U7,{brighter(i){return i=i==null?DU:Math.pow(DU,i),new Xv(this.h,this.s,this.l*i,this.opacity)},darker(i){return i=i==null?SP:Math.pow(SP,i),new Xv(this.h,this.s,this.l*i,this.opacity)},rgb(){var i=this.h%360+(this.h<0)*360,a=isNaN(i)||isNaN(this.s)?0:this.s,f=this.l,p=f+(f<.5?f:1-f)*a,w=2*f-p;return new v0(c1t(i>=240?i-240:i+120,w,p),c1t(i,w,p),c1t(i<120?i+240:i-120,w,p),this.opacity)},clamp(){return new Xv(pMt(this.h),PU(this.s),PU(this.l),OU(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const i=OU(this.opacity);return`${i===1?"hsl(":"hsla("}${pMt(this.h)}, ${PU(this.s)*100}%, ${PU(this.l)*100}%${i===1?")":`, ${i})`}`}}));function pMt(i){return i=(i||0)%360,i<0?i+360:i}function PU(i){return Math.max(0,Math.min(1,i||0))}function c1t(i,a,f){return(i<60?a+(f-a)*i/60:i<180?f:i<240?a+(f-a)*(240-i)/60:a)*255}const Dke=Math.PI/180,Ike=180/Math.PI,FU=18,bMt=.96422,wMt=1,vMt=.82521,mMt=4/29,TA=6/29,yMt=3*TA*TA,Oke=TA*TA*TA;function xMt(i){if(i instanceof u3)return new u3(i.l,i.a,i.b,i.opacity);if(i instanceof b5)return kMt(i);i instanceof v0||(i=lMt(i));var a=f1t(i.r),f=f1t(i.g),p=f1t(i.b),w=u1t((.2225045*a+.7168786*f+.0606169*p)/wMt),m,b;return a===f&&f===p?m=b=w:(m=u1t((.4360747*a+.3850649*f+.1430804*p)/bMt),b=u1t((.0139322*a+.0971045*f+.7141733*p)/vMt)),new u3(116*w-16,500*(m-w),200*(w-b),i.opacity)}function Pke(i,a,f,p){return arguments.length===1?xMt(i):new u3(i,a,f,p??1)}function u3(i,a,f,p){this.l=+i,this.a=+a,this.b=+f,this.opacity=+p}_P(u3,Pke,MU(U7,{brighter(i){return new u3(this.l+FU*(i??1),this.a,this.b,this.opacity)},darker(i){return new u3(this.l-FU*(i??1),this.a,this.b,this.opacity)},rgb(){var i=(this.l+16)/116,a=isNaN(this.a)?i:i+this.a/500,f=isNaN(this.b)?i:i-this.b/200;return a=bMt*l1t(a),i=wMt*l1t(i),f=vMt*l1t(f),new v0(h1t(3.1338561*a-1.6168667*i-.4906146*f),h1t(-.9787684*a+1.9161415*i+.033454*f),h1t(.0719453*a-.2289914*i+1.4052427*f),this.opacity)}}));function u1t(i){return i>Oke?Math.pow(i,1/3):i/yMt+mMt}function l1t(i){return i>TA?i*i*i:yMt*(i-mMt)}function h1t(i){return 255*(i<=.0031308?12.92*i:1.055*Math.pow(i,1/2.4)-.055)}function f1t(i){return(i/=255)<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)}function Fke(i){if(i instanceof b5)return new b5(i.h,i.c,i.l,i.opacity);if(i instanceof u3||(i=xMt(i)),i.a===0&&i.b===0)return new b5(NaN,0()=>i;function EMt(i,a){return function(f){return i+f*a}}function Nke(i,a,f){return i=Math.pow(i,f),a=Math.pow(a,f)-i,f=1/f,function(p){return Math.pow(i+p*a,f)}}function Bke(i,a){var f=a-i;return f?EMt(i,f>180||f<-180?f-360*Math.round(f/360):f):NU(isNaN(i)?a:i)}function Rke(i){return(i=+i)==1?LP:function(a,f){return f-a?Nke(a,f,i):NU(isNaN(a)?f:a)}}function LP(i,a){var f=a-i;return f?EMt(i,f):NU(isNaN(i)?a:i)}const BU=function i(a){var f=Rke(a);function p(w,m){var b=f((w=o1t(w)).r,(m=o1t(m)).r),E=f(w.g,m.g),_=f(w.b,m.b),A=LP(w.opacity,m.opacity);return function(I){return w.r=b(I),w.g=E(I),w.b=_(I),w.opacity=A(I),w+""}}return p.gamma=i,p}(1);function jke(i,a){a||(a=[]);var f=i?Math.min(a.length,i.length):0,p=a.slice(),w;return function(m){for(w=0;wf&&(m=a.slice(f,m),E[b]?E[b]+=m:E[++b]=m),(p=p[0])===(w=w[0])?E[b]?E[b]+=w:E[++b]=w:(E[++b]=null,_.push({i:b,x:Qv(p,w)})),f=p1t.lastIndex;return f180?I+=360:I-A>180&&(A+=360),N.push({i:B.push(w(B)+"rotate(",null,p)-2,x:Qv(A,I)})):I&&B.push(w(B)+"rotate("+I+p)}function E(A,I,B,N){A!==I?N.push({i:B.push(w(B)+"skewX(",null,p)-2,x:Qv(A,I)}):I&&B.push(w(B)+"skewX("+I+p)}function _(A,I,B,N,R,z){if(A!==B||I!==N){var W=R.push(w(R)+"scale(",null,",",null,")");z.push({i:W-4,x:Qv(A,B)},{i:W-2,x:Qv(I,N)})}else(B!==1||N!==1)&&R.push(w(R)+"scale("+B+","+N+")")}return function(A,I){var B=[],N=[];return A=i(A),I=i(I),m(A.translateX,A.translateY,I.translateX,I.translateY,B,N),b(A.rotate,I.rotate,B,N),E(A.skewX,I.skewX,B,N),_(A.scaleX,A.scaleY,I.scaleX,I.scaleY,B,N),A=I=null,function(R){for(var z=-1,W=N.length,et;++z=0&&i._call.call(void 0,a),i=i._next;--CA}function DMt(){X7=($U=OP.now())+zU,CA=MP=0;try{t8e()}finally{CA=0,n8e(),X7=0}}function e8e(){var i=OP.now(),a=i-$U;a>AMt&&(zU-=a,$U=i)}function n8e(){for(var i,a=jU,f,p=1/0;a;)a._call?(p>a._time&&(p=a._time),i=a,a=a._next):(f=a._next,a._next=null,a=i?i._next=f:jU=f);IP=i,m1t(p)}function m1t(i){if(!CA){MP&&(MP=clearTimeout(MP));var a=i-X7;a>24?(i<1/0&&(MP=setTimeout(DMt,i-OP.now()-zU)),DP&&(DP=clearInterval(DP))):(DP||($U=OP.now(),DP=setInterval(e8e,AMt)),CA=1,LMt(DMt))}}function IMt(i,a,f){var p=new qU;return a=a==null?0:+a,p.restart(w=>{p.stop(),i(w+a)},a,f),p}var r8e=VLt("start","end","cancel","interrupt"),i8e=[],OMt=0,PMt=1,y1t=2,HU=3,FMt=4,x1t=5,VU=6;function GU(i,a,f,p,w,m){var b=i.__transition;if(!b)i.__transition={};else if(f in b)return;s8e(i,f,{name:a,index:p,group:w,on:r8e,tween:i8e,time:m.time,delay:m.delay,duration:m.duration,ease:m.ease,timer:null,state:OMt})}function k1t(i,a){var f=Zv(i,a);if(f.state>OMt)throw new Error("too late; already scheduled");return f}function l3(i,a){var f=Zv(i,a);if(f.state>HU)throw new Error("too late; already running");return f}function Zv(i,a){var f=i.__transition;if(!f||!(f=f[a]))throw new Error("transition not found");return f}function s8e(i,a,f){var p=i.__transition,w;p[a]=f,f.timer=MMt(m,0,f.time);function m(A){f.state=PMt,f.timer.restart(b,f.delay,f.time),f.delay<=A&&b(A-f.delay)}function b(A){var I,B,N,R;if(f.state!==PMt)return _();for(I in p)if(R=p[I],R.name===f.name){if(R.state===HU)return IMt(b);R.state===FMt?(R.state=VU,R.timer.stop(),R.on.call("interrupt",i,i.__data__,R.index,R.group),delete p[I]):+Iy1t&&p.state=0&&(a=a.slice(0,f)),!a||a==="start"})}function N8e(i,a,f){var p,w,m=F8e(a)?k1t:l3;return function(){var b=m(this,i),E=b.on;E!==p&&(w=(p=E).copy()).on(a,f),b.on=w}}function B8e(i,a){var f=this._id;return arguments.length<2?Zv(this.node(),f).on.on(i):this.each(N8e(f,i,a))}function R8e(i){return function(){var a=this.parentNode;for(var f in this.__transition)if(+f!==i)return;a&&a.removeChild(this)}}function j8e(){return this.on("end.remove",R8e(this._id))}function $8e(i){var a=this._name,f=this._id;typeof i!="function"&&(i=i1t(i));for(var p=this._groups,w=p.length,m=new Array(w),b=0;b=0))throw new Error(`invalid digits: ${i}`);if(a>15)return jMt;const f=10**a;return function(p){this._+=p[0];for(let w=1,m=p.length;wQ7)if(!(Math.abs(B*_-A*I)>Q7)||!m)this._append`L${this._x1=a},${this._y1=f}`;else{let R=p-b,z=w-E,W=_*_+A*A,et=R*R+z*z,st=Math.sqrt(W),at=Math.sqrt(N),bt=m*Math.tan((T1t-Math.acos((W+N-et)/(2*st*at)))/2),mt=bt/at,yt=bt/st;Math.abs(mt-1)>Q7&&this._append`L${a+mt*I},${f+mt*B}`,this._append`A${m},${m},0,0,${+(B*R>I*z)},${this._x1=a+yt*_},${this._y1=f+yt*A}`}}arc(a,f,p,w,m,b){if(a=+a,f=+f,p=+p,b=!!b,p<0)throw new Error(`negative radius: ${p}`);let E=p*Math.cos(w),_=p*Math.sin(w),A=a+E,I=f+_,B=1^b,N=b?w-m:m-w;this._x1===null?this._append`M${A},${I}`:(Math.abs(this._x1-A)>Q7||Math.abs(this._y1-I)>Q7)&&this._append`L${A},${I}`,p&&(N<0&&(N=N%C1t+C1t),N>hEe?this._append`A${p},${p},0,1,${B},${a-E},${f-_}A${p},${p},0,1,${B},${this._x1=A},${this._y1=I}`:N>Q7&&this._append`A${p},${p},0,${+(N>=T1t)},${B},${this._x1=a+p*Math.cos(m)},${this._y1=f+p*Math.sin(m)}`)}rect(a,f,p,w){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+f}h${p=+p}v${+w}h${-p}Z`}toString(){return this._}};function gEe(i){if(!i.ok)throw new Error(i.status+" "+i.statusText);return i.text()}function pEe(i,a){return fetch(i,a).then(gEe)}function bEe(i){return(a,f)=>pEe(a,f).then(p=>new DOMParser().parseFromString(p,i))}var wEe=bEe("image/svg+xml");function vEe(i){return Math.abs(i=Math.round(i))>=1e21?i.toLocaleString("en").replace(/,/g,""):i.toString(10)}function UU(i,a){if((f=(i=a?i.toExponential(a-1):i.toExponential()).indexOf("e"))<0)return null;var f,p=i.slice(0,f);return[p.length>1?p[0]+p.slice(2):p,+i.slice(f+1)]}function _A(i){return i=UU(Math.abs(i)),i?i[1]:NaN}function mEe(i,a){return function(f,p){for(var w=f.length,m=[],b=0,E=i[0],_=0;w>0&&E>0&&(_+E+1>p&&(E=Math.max(1,p-_)),m.push(f.substring(w-=E,w+E)),!((_+=E+1)>p));)E=i[b=(b+1)%i.length];return m.reverse().join(a)}}function yEe(i){return function(a){return a.replace(/[0-9]/g,function(f){return i[+f]})}}var xEe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function WU(i){if(!(a=xEe.exec(i)))throw new Error("invalid format: "+i);var a;return new _1t({fill:a[1],align:a[2],sign:a[3],symbol:a[4],zero:a[5],width:a[6],comma:a[7],precision:a[8]&&a[8].slice(1),trim:a[9],type:a[10]})}WU.prototype=_1t.prototype;function _1t(i){this.fill=i.fill===void 0?" ":i.fill+"",this.align=i.align===void 0?">":i.align+"",this.sign=i.sign===void 0?"-":i.sign+"",this.symbol=i.symbol===void 0?"":i.symbol+"",this.zero=!!i.zero,this.width=i.width===void 0?void 0:+i.width,this.comma=!!i.comma,this.precision=i.precision===void 0?void 0:+i.precision,this.trim=!!i.trim,this.type=i.type===void 0?"":i.type+""}_1t.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function kEe(i){t:for(var a=i.length,f=1,p=-1,w;f0&&(p=0);break}return p>0?i.slice(0,p)+i.slice(w+1):i}var $Mt;function EEe(i,a){var f=UU(i,a);if(!f)return i+"";var p=f[0],w=f[1],m=w-($Mt=Math.max(-8,Math.min(8,Math.floor(w/3)))*3)+1,b=p.length;return m===b?p:m>b?p+new Array(m-b+1).join("0"):m>0?p.slice(0,m)+"."+p.slice(m):"0."+new Array(1-m).join("0")+UU(i,Math.max(0,a+m-1))[0]}function zMt(i,a){var f=UU(i,a);if(!f)return i+"";var p=f[0],w=f[1];return w<0?"0."+new Array(-w).join("0")+p:p.length>w+1?p.slice(0,w+1)+"."+p.slice(w+1):p+new Array(w-p.length+2).join("0")}const qMt={"%":(i,a)=>(i*100).toFixed(a),b:i=>Math.round(i).toString(2),c:i=>i+"",d:vEe,e:(i,a)=>i.toExponential(a),f:(i,a)=>i.toFixed(a),g:(i,a)=>i.toPrecision(a),o:i=>Math.round(i).toString(8),p:(i,a)=>zMt(i*100,a),r:zMt,s:EEe,X:i=>Math.round(i).toString(16).toUpperCase(),x:i=>Math.round(i).toString(16)};function HMt(i){return i}var VMt=Array.prototype.map,GMt=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function TEe(i){var a=i.grouping===void 0||i.thousands===void 0?HMt:mEe(VMt.call(i.grouping,Number),i.thousands+""),f=i.currency===void 0?"":i.currency[0]+"",p=i.currency===void 0?"":i.currency[1]+"",w=i.decimal===void 0?".":i.decimal+"",m=i.numerals===void 0?HMt:yEe(VMt.call(i.numerals,String)),b=i.percent===void 0?"%":i.percent+"",E=i.minus===void 0?"−":i.minus+"",_=i.nan===void 0?"NaN":i.nan+"";function A(B){B=WU(B);var N=B.fill,R=B.align,z=B.sign,W=B.symbol,et=B.zero,st=B.width,at=B.comma,bt=B.precision,mt=B.trim,yt=B.type;yt==="n"?(at=!0,yt="g"):qMt[yt]||(bt===void 0&&(bt=12),mt=!0,yt="g"),(et||N==="0"&&R==="=")&&(et=!0,N="0",R="=");var ft=W==="$"?f:W==="#"&&/[boxX]/.test(yt)?"0"+yt.toLowerCase():"",ut=W==="$"?p:/[%p]/.test(yt)?b:"",vt=qMt[yt],X=/[defgprs%]/.test(yt);bt=bt===void 0?6:/[gprs]/.test(yt)?Math.max(1,Math.min(21,bt)):Math.max(0,Math.min(20,bt));function pt(U){var Tt=ft,nt=ut,It,Ot,Bt;if(yt==="c")nt=vt(U)+nt,U="";else{U=+U;var Et=U<0||1/U<0;if(U=isNaN(U)?_:vt(Math.abs(U),bt),mt&&(U=kEe(U)),Et&&+U==0&&z!=="+"&&(Et=!1),Tt=(Et?z==="("?z:E:z==="-"||z==="("?"":z)+Tt,nt=(yt==="s"?GMt[8+$Mt/3]:"")+nt+(Et&&z==="("?")":""),X){for(It=-1,Ot=U.length;++ItBt||Bt>57){nt=(Bt===46?w+U.slice(It+1):U.slice(It))+nt,U=U.slice(0,It);break}}}at&&!et&&(U=a(U,1/0));var Z=Tt.length+U.length+nt.length,Ct=Z>1)+Tt+U+nt+Ct.slice(Z);break;default:U=Ct+Tt+U+nt;break}return m(U)}return pt.toString=function(){return B+""},pt}function I(B,N){var R=A((B=WU(B),B.type="f",B)),z=Math.max(-8,Math.min(8,Math.floor(_A(N)/3)))*3,W=Math.pow(10,-z),et=GMt[8+z/3];return function(st){return R(W*st)+et}}return{format:A,formatPrefix:I}}var YU,UMt,WMt;CEe({thousands:",",grouping:[3],currency:["$",""]});function CEe(i){return YU=TEe(i),UMt=YU.format,WMt=YU.formatPrefix,YU}function _Ee(i){return Math.max(0,-_A(Math.abs(i)))}function SEe(i,a){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(_A(a)/3)))*3-_A(Math.abs(i)))}function AEe(i,a){return i=Math.abs(i),a=Math.abs(a)-i,Math.max(0,_A(a)-_A(i))+1}function KU(i,a){switch(arguments.length){case 0:break;case 1:this.range(i);break;default:this.range(a).domain(i);break}return this}const YMt=Symbol("implicit");function XU(){var i=new $Lt,a=[],f=[],p=YMt;function w(m){let b=i.get(m);if(b===void 0){if(p!==YMt)return p;i.set(m,b=a.push(m)-1)}return f[b%f.length]}return w.domain=function(m){if(!arguments.length)return a.slice();a=[],i=new $Lt;for(const b of m)i.has(b)||i.set(b,a.push(b)-1);return w},w.range=function(m){return arguments.length?(f=Array.from(m),w):f.slice()},w.unknown=function(m){return arguments.length?(p=m,w):p},w.copy=function(){return XU(a,f).unknown(p)},KU.apply(w,arguments),w}function S1t(){var i=XU().unknown(void 0),a=i.domain,f=i.range,p=0,w=1,m,b,E=!1,_=0,A=0,I=.5;delete i.unknown;function B(){var N=a().length,R=wa&&(f=i,i=a,a=f),function(p){return Math.max(i,Math.min(a,p))}}function IEe(i,a,f){var p=i[0],w=i[1],m=a[0],b=a[1];return w2?OEe:IEe,_=A=null,B}function B(N){return N==null||isNaN(N=+N)?m:(_||(_=E(i.map(p),a,f)))(p(b(N)))}return B.invert=function(N){return b(w((A||(A=E(a,i.map(p),Qv)))(N)))},B.domain=function(N){return arguments.length?(i=Array.from(N,MEe),I()):i.slice()},B.range=function(N){return arguments.length?(a=Array.from(N),I()):a.slice()},B.rangeRound=function(N){return a=Array.from(N),f=Uke,I()},B.clamp=function(N){return arguments.length?(b=N?!0:SA,I()):b!==SA},B.interpolate=function(N){return arguments.length?(f=N,I()):f},B.unknown=function(N){return arguments.length?(m=N,B):m},function(N,R){return p=N,w=R,I()}}function QMt(){return PEe()(SA,SA)}function FEe(i,a,f,p){var w=t1t(i,a,f),m;switch(p=WU(p??",f"),p.type){case"s":{var b=Math.max(Math.abs(i),Math.abs(a));return p.precision==null&&!isNaN(m=SEe(w,b))&&(p.precision=m),WMt(p,b)}case"":case"e":case"g":case"p":case"r":{p.precision==null&&!isNaN(m=AEe(w,Math.max(Math.abs(i),Math.abs(a))))&&(p.precision=m-(p.type==="e"));break}case"f":case"%":{p.precision==null&&!isNaN(m=_Ee(w))&&(p.precision=m-(p.type==="%")*2);break}}return UMt(p)}function NEe(i){var a=i.domain;return i.ticks=function(f){var p=a();return Axe(p[0],p[p.length-1],f??10)},i.tickFormat=function(f,p){var w=a();return FEe(w[0],w[w.length-1],f??10,p)},i.nice=function(f){f==null&&(f=10);var p=a(),w=0,m=p.length-1,b=p[w],E=p[m],_,A,I=10;for(E0;){if(A=Jft(b,E,f),A===_)return p[w]=b,p[m]=E,a(p);if(A>0)b=Math.floor(b/A)*A,E=Math.ceil(E/A)*A;else if(A<0)b=Math.ceil(b*A)/A,E=Math.floor(E*A)/A;else break;_=A}return i},i}function AA(){var i=QMt();return i.copy=function(){return XMt(i,AA())},KU.apply(i,arguments),NEe(i)}function BEe(i,a){i=i.slice();var f=0,p=i.length-1,w=i[f],m=i[p],b;return m(i(m=new Date(+m)),m),w.ceil=m=>(i(m=new Date(m-1)),a(m,1),i(m),m),w.round=m=>{const b=w(m),E=w.ceil(m);return m-b(a(m=new Date(+m),b==null?1:Math.floor(b)),m),w.range=(m,b,E)=>{const _=[];if(m=w.ceil(m),E=E==null?1:Math.floor(E),!(m0))return _;let A;do _.push(A=new Date(+m)),a(m,E),i(m);while(Aa1(b=>{if(b>=b)for(;i(b),!m(b);)b.setTime(b-1)},(b,E)=>{if(b>=b)if(E<0)for(;++E<=0;)for(;a(b,-1),!m(b););else for(;--E>=0;)for(;a(b,1),!m(b););}),f&&(w.count=(m,b)=>(L1t.setTime(+m),M1t.setTime(+b),i(L1t),i(M1t),Math.floor(f(L1t,M1t))),w.every=m=>(m=Math.floor(m),!isFinite(m)||!(m>0)?null:m>1?w.filter(p?b=>p(b)%m===0:b=>w.count(0,b)%m===0):w)),w}const LA=a1(()=>{},(i,a)=>{i.setTime(+i+a)},(i,a)=>a-i);LA.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?a1(a=>{a.setTime(Math.floor(a/i)*i)},(a,f)=>{a.setTime(+a+f*i)},(a,f)=>(f-a)/i):LA),LA.range;const m5=1e3,Z2=m5*60,y5=Z2*60,x5=y5*24,D1t=x5*7,ZMt=x5*30,I1t=x5*365,sk=a1(i=>{i.setTime(i-i.getMilliseconds())},(i,a)=>{i.setTime(+i+a*m5)},(i,a)=>(a-i)/m5,i=>i.getUTCSeconds());sk.range;const PP=a1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*m5)},(i,a)=>{i.setTime(+i+a*Z2)},(i,a)=>(a-i)/Z2,i=>i.getMinutes());PP.range,a1(i=>{i.setUTCSeconds(0,0)},(i,a)=>{i.setTime(+i+a*Z2)},(i,a)=>(a-i)/Z2,i=>i.getUTCMinutes()).range;const FP=a1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*m5-i.getMinutes()*Z2)},(i,a)=>{i.setTime(+i+a*y5)},(i,a)=>(a-i)/y5,i=>i.getHours());FP.range,a1(i=>{i.setUTCMinutes(0,0,0)},(i,a)=>{i.setTime(+i+a*y5)},(i,a)=>(a-i)/y5,i=>i.getUTCHours()).range;const Z7=a1(i=>i.setHours(0,0,0,0),(i,a)=>i.setDate(i.getDate()+a),(i,a)=>(a-i-(a.getTimezoneOffset()-i.getTimezoneOffset())*Z2)/x5,i=>i.getDate()-1);Z7.range;const O1t=a1(i=>{i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCDate(i.getUTCDate()+a)},(i,a)=>(a-i)/x5,i=>i.getUTCDate()-1);O1t.range,a1(i=>{i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCDate(i.getUTCDate()+a)},(i,a)=>(a-i)/x5,i=>Math.floor(i/x5)).range;function J7(i){return a1(a=>{a.setDate(a.getDate()-(a.getDay()+7-i)%7),a.setHours(0,0,0,0)},(a,f)=>{a.setDate(a.getDate()+f*7)},(a,f)=>(f-a-(f.getTimezoneOffset()-a.getTimezoneOffset())*Z2)/D1t)}const NP=J7(0),BP=J7(1),JMt=J7(2),tDt=J7(3),tT=J7(4),eDt=J7(5),nDt=J7(6);NP.range,BP.range,JMt.range,tDt.range,tT.range,eDt.range,nDt.range;function eT(i){return a1(a=>{a.setUTCDate(a.getUTCDate()-(a.getUTCDay()+7-i)%7),a.setUTCHours(0,0,0,0)},(a,f)=>{a.setUTCDate(a.getUTCDate()+f*7)},(a,f)=>(f-a)/D1t)}const rDt=eT(0),QU=eT(1),REe=eT(2),jEe=eT(3),MA=eT(4),$Ee=eT(5),zEe=eT(6);rDt.range,QU.range,REe.range,jEe.range,MA.range,$Ee.range,zEe.range;const RP=a1(i=>{i.setDate(1),i.setHours(0,0,0,0)},(i,a)=>{i.setMonth(i.getMonth()+a)},(i,a)=>a.getMonth()-i.getMonth()+(a.getFullYear()-i.getFullYear())*12,i=>i.getMonth());RP.range,a1(i=>{i.setUTCDate(1),i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCMonth(i.getUTCMonth()+a)},(i,a)=>a.getUTCMonth()-i.getUTCMonth()+(a.getUTCFullYear()-i.getUTCFullYear())*12,i=>i.getUTCMonth()).range;const k5=a1(i=>{i.setMonth(0,1),i.setHours(0,0,0,0)},(i,a)=>{i.setFullYear(i.getFullYear()+a)},(i,a)=>a.getFullYear()-i.getFullYear(),i=>i.getFullYear());k5.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:a1(a=>{a.setFullYear(Math.floor(a.getFullYear()/i)*i),a.setMonth(0,1),a.setHours(0,0,0,0)},(a,f)=>{a.setFullYear(a.getFullYear()+f*i)}),k5.range;const nT=a1(i=>{i.setUTCMonth(0,1),i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCFullYear(i.getUTCFullYear()+a)},(i,a)=>a.getUTCFullYear()-i.getUTCFullYear(),i=>i.getUTCFullYear());nT.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:a1(a=>{a.setUTCFullYear(Math.floor(a.getUTCFullYear()/i)*i),a.setUTCMonth(0,1),a.setUTCHours(0,0,0,0)},(a,f)=>{a.setUTCFullYear(a.getUTCFullYear()+f*i)}),nT.range;function qEe(i,a,f,p,w,m){const b=[[sk,1,m5],[sk,5,5*m5],[sk,15,15*m5],[sk,30,30*m5],[m,1,Z2],[m,5,5*Z2],[m,15,15*Z2],[m,30,30*Z2],[w,1,y5],[w,3,3*y5],[w,6,6*y5],[w,12,12*y5],[p,1,x5],[p,2,2*x5],[f,1,D1t],[a,1,ZMt],[a,3,3*ZMt],[i,1,I1t]];function E(A,I,B){const N=Iet).right(b,N);if(R===b.length)return i.every(t1t(A/I1t,I/I1t,B));if(R===0)return LA.every(Math.max(t1t(A,I,B),1));const[z,W]=b[N/b[R-1][2]53)return null;"w"in re||(re.w=1),"Z"in re?(Pe=F1t(jP(re.y,0,1)),te=Pe.getUTCDay(),Pe=te>4||te===0?QU.ceil(Pe):QU(Pe),Pe=O1t.offset(Pe,(re.V-1)*7),re.y=Pe.getUTCFullYear(),re.m=Pe.getUTCMonth(),re.d=Pe.getUTCDate()+(re.w+6)%7):(Pe=P1t(jP(re.y,0,1)),te=Pe.getDay(),Pe=te>4||te===0?BP.ceil(Pe):BP(Pe),Pe=Z7.offset(Pe,(re.V-1)*7),re.y=Pe.getFullYear(),re.m=Pe.getMonth(),re.d=Pe.getDate()+(re.w+6)%7)}else("W"in re||"U"in re)&&("w"in re||(re.w="u"in re?re.u%7:"W"in re?1:0),te="Z"in re?F1t(jP(re.y,0,1)).getUTCDay():P1t(jP(re.y,0,1)).getDay(),re.m=0,re.d="W"in re?(re.w+6)%7+re.W*7-(te+5)%7:re.w+re.U*7-(te+6)%7);return"Z"in re?(re.H+=re.Z/100|0,re.M+=re.Z%100,F1t(re)):P1t(re)}}function vt(ce,ke,zt,re){for(var se=0,Pe=ke.length,te=zt.length,Me,de;se=te)return-1;if(Me=ke.charCodeAt(se++),Me===37){if(Me=ke.charAt(se++),de=yt[Me in iDt?ke.charAt(se++):Me],!de||(re=de(ce,zt,re))<0)return-1}else if(Me!=zt.charCodeAt(re++))return-1}return re}function X(ce,ke,zt){var re=A.exec(ke.slice(zt));return re?(ce.p=I.get(re[0].toLowerCase()),zt+re[0].length):-1}function pt(ce,ke,zt){var re=R.exec(ke.slice(zt));return re?(ce.w=z.get(re[0].toLowerCase()),zt+re[0].length):-1}function U(ce,ke,zt){var re=B.exec(ke.slice(zt));return re?(ce.w=N.get(re[0].toLowerCase()),zt+re[0].length):-1}function Tt(ce,ke,zt){var re=st.exec(ke.slice(zt));return re?(ce.m=at.get(re[0].toLowerCase()),zt+re[0].length):-1}function nt(ce,ke,zt){var re=W.exec(ke.slice(zt));return re?(ce.m=et.get(re[0].toLowerCase()),zt+re[0].length):-1}function It(ce,ke,zt){return vt(ce,a,ke,zt)}function Ot(ce,ke,zt){return vt(ce,f,ke,zt)}function Bt(ce,ke,zt){return vt(ce,p,ke,zt)}function Et(ce){return b[ce.getDay()]}function Z(ce){return m[ce.getDay()]}function Ct(ce){return _[ce.getMonth()]}function xt(ce){return E[ce.getMonth()]}function Ht(ce){return w[+(ce.getHours()>=12)]}function Le(ce){return 1+~~(ce.getMonth()/3)}function Ft(ce){return b[ce.getUTCDay()]}function gn(ce){return m[ce.getUTCDay()]}function Se(ce){return _[ce.getUTCMonth()]}function me(ce){return E[ce.getUTCMonth()]}function Ve(ce){return w[+(ce.getUTCHours()>=12)]}function Ye(ce){return 1+~~(ce.getUTCMonth()/3)}return{format:function(ce){var ke=ft(ce+="",bt);return ke.toString=function(){return ce},ke},parse:function(ce){var ke=ut(ce+="",!1);return ke.toString=function(){return ce},ke},utcFormat:function(ce){var ke=ft(ce+="",mt);return ke.toString=function(){return ce},ke},utcParse:function(ce){var ke=ut(ce+="",!0);return ke.toString=function(){return ce},ke}}}var iDt={"-":"",_:" ",0:"0"},X1=/^\s*\d+/,UEe=/^%/,WEe=/[\\^$*+?|[\]().{}]/g;function Ic(i,a,f){var p=i<0?"-":"",w=(p?-i:i)+"",m=w.length;return p+(m[a.toLowerCase(),f]))}function KEe(i,a,f){var p=X1.exec(a.slice(f,f+1));return p?(i.w=+p[0],f+p[0].length):-1}function XEe(i,a,f){var p=X1.exec(a.slice(f,f+1));return p?(i.u=+p[0],f+p[0].length):-1}function QEe(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.U=+p[0],f+p[0].length):-1}function ZEe(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.V=+p[0],f+p[0].length):-1}function JEe(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.W=+p[0],f+p[0].length):-1}function sDt(i,a,f){var p=X1.exec(a.slice(f,f+4));return p?(i.y=+p[0],f+p[0].length):-1}function aDt(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.y=+p[0]+(+p[0]>68?1900:2e3),f+p[0].length):-1}function t7e(i,a,f){var p=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(a.slice(f,f+6));return p?(i.Z=p[1]?0:-(p[2]+(p[3]||"00")),f+p[0].length):-1}function e7e(i,a,f){var p=X1.exec(a.slice(f,f+1));return p?(i.q=p[0]*3-3,f+p[0].length):-1}function n7e(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.m=p[0]-1,f+p[0].length):-1}function oDt(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.d=+p[0],f+p[0].length):-1}function r7e(i,a,f){var p=X1.exec(a.slice(f,f+3));return p?(i.m=0,i.d=+p[0],f+p[0].length):-1}function cDt(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.H=+p[0],f+p[0].length):-1}function i7e(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.M=+p[0],f+p[0].length):-1}function s7e(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.S=+p[0],f+p[0].length):-1}function a7e(i,a,f){var p=X1.exec(a.slice(f,f+3));return p?(i.L=+p[0],f+p[0].length):-1}function o7e(i,a,f){var p=X1.exec(a.slice(f,f+6));return p?(i.L=Math.floor(p[0]/1e3),f+p[0].length):-1}function c7e(i,a,f){var p=UEe.exec(a.slice(f,f+1));return p?f+p[0].length:-1}function u7e(i,a,f){var p=X1.exec(a.slice(f));return p?(i.Q=+p[0],f+p[0].length):-1}function l7e(i,a,f){var p=X1.exec(a.slice(f));return p?(i.s=+p[0],f+p[0].length):-1}function uDt(i,a){return Ic(i.getDate(),a,2)}function h7e(i,a){return Ic(i.getHours(),a,2)}function f7e(i,a){return Ic(i.getHours()%12||12,a,2)}function d7e(i,a){return Ic(1+Z7.count(k5(i),i),a,3)}function lDt(i,a){return Ic(i.getMilliseconds(),a,3)}function g7e(i,a){return lDt(i,a)+"000"}function p7e(i,a){return Ic(i.getMonth()+1,a,2)}function b7e(i,a){return Ic(i.getMinutes(),a,2)}function w7e(i,a){return Ic(i.getSeconds(),a,2)}function v7e(i){var a=i.getDay();return a===0?7:a}function m7e(i,a){return Ic(NP.count(k5(i)-1,i),a,2)}function hDt(i){var a=i.getDay();return a>=4||a===0?tT(i):tT.ceil(i)}function y7e(i,a){return i=hDt(i),Ic(tT.count(k5(i),i)+(k5(i).getDay()===4),a,2)}function x7e(i){return i.getDay()}function k7e(i,a){return Ic(BP.count(k5(i)-1,i),a,2)}function E7e(i,a){return Ic(i.getFullYear()%100,a,2)}function T7e(i,a){return i=hDt(i),Ic(i.getFullYear()%100,a,2)}function C7e(i,a){return Ic(i.getFullYear()%1e4,a,4)}function _7e(i,a){var f=i.getDay();return i=f>=4||f===0?tT(i):tT.ceil(i),Ic(i.getFullYear()%1e4,a,4)}function S7e(i){var a=i.getTimezoneOffset();return(a>0?"-":(a*=-1,"+"))+Ic(a/60|0,"0",2)+Ic(a%60,"0",2)}function fDt(i,a){return Ic(i.getUTCDate(),a,2)}function A7e(i,a){return Ic(i.getUTCHours(),a,2)}function L7e(i,a){return Ic(i.getUTCHours()%12||12,a,2)}function M7e(i,a){return Ic(1+O1t.count(nT(i),i),a,3)}function dDt(i,a){return Ic(i.getUTCMilliseconds(),a,3)}function D7e(i,a){return dDt(i,a)+"000"}function I7e(i,a){return Ic(i.getUTCMonth()+1,a,2)}function O7e(i,a){return Ic(i.getUTCMinutes(),a,2)}function P7e(i,a){return Ic(i.getUTCSeconds(),a,2)}function F7e(i){var a=i.getUTCDay();return a===0?7:a}function N7e(i,a){return Ic(rDt.count(nT(i)-1,i),a,2)}function gDt(i){var a=i.getUTCDay();return a>=4||a===0?MA(i):MA.ceil(i)}function B7e(i,a){return i=gDt(i),Ic(MA.count(nT(i),i)+(nT(i).getUTCDay()===4),a,2)}function R7e(i){return i.getUTCDay()}function j7e(i,a){return Ic(QU.count(nT(i)-1,i),a,2)}function $7e(i,a){return Ic(i.getUTCFullYear()%100,a,2)}function z7e(i,a){return i=gDt(i),Ic(i.getUTCFullYear()%100,a,2)}function q7e(i,a){return Ic(i.getUTCFullYear()%1e4,a,4)}function H7e(i,a){var f=i.getUTCDay();return i=f>=4||f===0?MA(i):MA.ceil(i),Ic(i.getUTCFullYear()%1e4,a,4)}function V7e(){return"+0000"}function pDt(){return"%"}function bDt(i){return+i}function wDt(i){return Math.floor(+i/1e3)}var DA,ZU;G7e({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function G7e(i){return DA=GEe(i),ZU=DA.format,DA.parse,DA.utcFormat,DA.utcParse,DA}function U7e(i){return new Date(i)}function W7e(i){return i instanceof Date?+i:+new Date(+i)}function vDt(i,a,f,p,w,m,b,E,_,A){var I=QMt(),B=I.invert,N=I.domain,R=A(".%L"),z=A(":%S"),W=A("%I:%M"),et=A("%I %p"),st=A("%a %d"),at=A("%b %d"),bt=A("%B"),mt=A("%Y");function yt(ft){return(_(ft)1?0:i<-1?qP:Math.acos(i)}function yDt(i){return i>=1?JU:i<=-1?-JU:Math.asin(i)}function xDt(i){let a=3;return i.digits=function(f){if(!arguments.length)return a;if(f==null)a=null;else{const p=Math.floor(f);if(!(p>=0))throw new RangeError(`invalid digits: ${f}`);a=p}return i},()=>new dEe(a)}function J7e(i){return i.innerRadius}function tTe(i){return i.outerRadius}function eTe(i){return i.startAngle}function nTe(i){return i.endAngle}function rTe(i){return i&&i.padAngle}function iTe(i,a,f,p,w,m,b,E){var _=f-i,A=p-a,I=b-w,B=E-m,N=B*_-I*A;if(!(N*NIt*It+Ot*Ot&&(vt=pt,X=U),{cx:vt,cy:X,x01:-I,y01:-B,x11:vt*(w/yt-1),y11:X*(w/yt-1)}}function OA(){var i=J7e,a=tTe,f=Qh(0),p=null,w=eTe,m=nTe,b=rTe,E=null,_=xDt(A);function A(){var I,B,N=+i.apply(this,arguments),R=+a.apply(this,arguments),z=w.apply(this,arguments)-JU,W=m.apply(this,arguments)-JU,et=mDt(W-z),st=W>z;if(E||(E=I=_()),Ry0))E.moveTo(0,0);else if(et>tW-y0)E.moveTo(R*rT(z),R*h3(z)),E.arc(0,0,R,z,W,!st),N>y0&&(E.moveTo(N*rT(W),N*h3(W)),E.arc(0,0,N,W,z,st));else{var at=z,bt=W,mt=z,yt=W,ft=et,ut=et,vt=b.apply(this,arguments)/2,X=vt>y0&&(p?+p.apply(this,arguments):IA(N*N+R*R)),pt=N1t(mDt(R-N)/2,+f.apply(this,arguments)),U=pt,Tt=pt,nt,It;if(X>y0){var Ot=yDt(X/N*h3(vt)),Bt=yDt(X/R*h3(vt));(ft-=Ot*2)>y0?(Ot*=st?1:-1,mt+=Ot,yt-=Ot):(ft=0,mt=yt=(z+W)/2),(ut-=Bt*2)>y0?(Bt*=st?1:-1,at+=Bt,bt-=Bt):(ut=0,at=bt=(z+W)/2)}var Et=R*rT(at),Z=R*h3(at),Ct=N*rT(yt),xt=N*h3(yt);if(pt>y0){var Ht=R*rT(bt),Le=R*h3(bt),Ft=N*rT(mt),gn=N*h3(mt),Se;if(ety0?Tt>y0?(nt=eW(Ft,gn,Et,Z,R,Tt,st),It=eW(Ht,Le,Ct,xt,R,Tt,st),E.moveTo(nt.cx+nt.x01,nt.cy+nt.y01),Tty0)||!(ft>y0)?E.lineTo(Ct,xt):U>y0?(nt=eW(Ct,xt,Ht,Le,N,-U,st),It=eW(Et,Z,Ft,gn,N,-U,st),E.lineTo(nt.cx+nt.x01,nt.cy+nt.y01),Ui?1:a>=i?0:NaN}function cTe(i){return i}function uTe(){var i=cTe,a=oTe,f=null,p=Qh(0),w=Qh(tW),m=Qh(0);function b(E){var _,A=(E=kDt(E)).length,I,B,N=0,R=new Array(A),z=new Array(A),W=+p.apply(this,arguments),et=Math.min(tW,Math.max(-tW,w.apply(this,arguments)-W)),st,at=Math.min(Math.abs(et)/A,m.apply(this,arguments)),bt=at*(et<0?-1:1),mt;for(_=0;_0&&(N+=mt);for(a!=null?R.sort(function(yt,ft){return a(z[yt],z[ft])}):f!=null&&R.sort(function(yt,ft){return f(E[yt],E[ft])}),_=0,B=N?(et-A*bt)/N:0;_0?mt*B:0)+bt,z[I]={data:E[I],index:_,value:mt,startAngle:W,endAngle:st,padAngle:at};return z}return b.value=function(E){return arguments.length?(i=typeof E=="function"?E:Qh(+E),b):i},b.sortValues=function(E){return arguments.length?(a=E,f=null,b):a},b.sort=function(E){return arguments.length?(f=E,a=null,b):f},b.startAngle=function(E){return arguments.length?(p=typeof E=="function"?E:Qh(+E),b):p},b.endAngle=function(E){return arguments.length?(w=typeof E=="function"?E:Qh(+E),b):w},b.padAngle=function(E){return arguments.length?(m=typeof E=="function"?E:Qh(+E),b):m},b}class TDt{constructor(a,f){this._context=a,this._x=f}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(a,f){switch(a=+a,f=+f,this._point){case 0:{this._point=1,this._line?this._context.lineTo(a,f):this._context.moveTo(a,f);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+a)/2,this._y0,this._x0,f,a,f):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+f)/2,a,this._y0,a,f);break}}this._x0=a,this._y0=f}}function lTe(i){return new TDt(i,!0)}function hTe(i){return new TDt(i,!1)}function ak(){}function nW(i,a,f){i._context.bezierCurveTo((2*i._x0+i._x1)/3,(2*i._y0+i._y1)/3,(i._x0+2*i._x1)/3,(i._y0+2*i._y1)/3,(i._x0+4*i._x1+a)/6,(i._y0+4*i._y1+f)/6)}function rW(i){this._context=i}rW.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:nW(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:nW(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function HP(i){return new rW(i)}function CDt(i){this._context=i}CDt.prototype={areaStart:ak,areaEnd:ak,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._x2=i,this._y2=a;break;case 1:this._point=2,this._x3=i,this._y3=a;break;case 2:this._point=3,this._x4=i,this._y4=a,this._context.moveTo((this._x0+4*this._x1+i)/6,(this._y0+4*this._y1+a)/6);break;default:nW(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function fTe(i){return new CDt(i)}function _Dt(i){this._context=i}_Dt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var f=(this._x0+4*this._x1+i)/6,p=(this._y0+4*this._y1+a)/6;this._line?this._context.lineTo(f,p):this._context.moveTo(f,p);break;case 3:this._point=4;default:nW(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function dTe(i){return new _Dt(i)}function SDt(i,a){this._basis=new rW(i),this._beta=a}SDt.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var i=this._x,a=this._y,f=i.length-1;if(f>0)for(var p=i[0],w=a[0],m=i[f]-p,b=a[f]-w,E=-1,_;++E<=f;)_=E/f,this._basis.point(this._beta*i[E]+(1-this._beta)*(p+_*m),this._beta*a[E]+(1-this._beta)*(w+_*b));this._x=this._y=null,this._basis.lineEnd()},point:function(i,a){this._x.push(+i),this._y.push(+a)}};const gTe=function i(a){function f(p){return a===1?new rW(p):new SDt(p,a)}return f.beta=function(p){return i(+p)},f}(.85);function iW(i,a,f){i._context.bezierCurveTo(i._x1+i._k*(i._x2-i._x0),i._y1+i._k*(i._y2-i._y0),i._x2+i._k*(i._x1-a),i._y2+i._k*(i._y1-f),i._x2,i._y2)}function B1t(i,a){this._context=i,this._k=(1-a)/6}B1t.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:iW(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2,this._x1=i,this._y1=a;break;case 2:this._point=3;default:iW(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const pTe=function i(a){function f(p){return new B1t(p,a)}return f.tension=function(p){return i(+p)},f}(0);function R1t(i,a){this._context=i,this._k=(1-a)/6}R1t.prototype={areaStart:ak,areaEnd:ak,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._x3=i,this._y3=a;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=a);break;case 2:this._point=3,this._x5=i,this._y5=a;break;default:iW(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const bTe=function i(a){function f(p){return new R1t(p,a)}return f.tension=function(p){return i(+p)},f}(0);function j1t(i,a){this._context=i,this._k=(1-a)/6}j1t.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:iW(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const wTe=function i(a){function f(p){return new j1t(p,a)}return f.tension=function(p){return i(+p)},f}(0);function $1t(i,a,f){var p=i._x1,w=i._y1,m=i._x2,b=i._y2;if(i._l01_a>y0){var E=2*i._l01_2a+3*i._l01_a*i._l12_a+i._l12_2a,_=3*i._l01_a*(i._l01_a+i._l12_a);p=(p*E-i._x0*i._l12_2a+i._x2*i._l01_2a)/_,w=(w*E-i._y0*i._l12_2a+i._y2*i._l01_2a)/_}if(i._l23_a>y0){var A=2*i._l23_2a+3*i._l23_a*i._l12_a+i._l12_2a,I=3*i._l23_a*(i._l23_a+i._l12_a);m=(m*A+i._x1*i._l23_2a-a*i._l12_2a)/I,b=(b*A+i._y1*i._l23_2a-f*i._l12_2a)/I}i._context.bezierCurveTo(p,w,m,b,i._x2,i._y2)}function ADt(i,a){this._context=i,this._alpha=a}ADt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){if(i=+i,a=+a,this._point){var f=this._x2-i,p=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+p*p,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3;default:$1t(this,i,a);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const vTe=function i(a){function f(p){return a?new ADt(p,a):new B1t(p,0)}return f.alpha=function(p){return i(+p)},f}(.5);function LDt(i,a){this._context=i,this._alpha=a}LDt.prototype={areaStart:ak,areaEnd:ak,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,a){if(i=+i,a=+a,this._point){var f=this._x2-i,p=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+p*p,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=i,this._y3=a;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=a);break;case 2:this._point=3,this._x5=i,this._y5=a;break;default:$1t(this,i,a);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const mTe=function i(a){function f(p){return a?new LDt(p,a):new R1t(p,0)}return f.alpha=function(p){return i(+p)},f}(.5);function MDt(i,a){this._context=i,this._alpha=a}MDt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){if(i=+i,a=+a,this._point){var f=this._x2-i,p=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+p*p,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:$1t(this,i,a);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const yTe=function i(a){function f(p){return a?new MDt(p,a):new j1t(p,0)}return f.alpha=function(p){return i(+p)},f}(.5);function DDt(i){this._context=i}DDt.prototype={areaStart:ak,areaEnd:ak,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(i,a){i=+i,a=+a,this._point?this._context.lineTo(i,a):(this._point=1,this._context.moveTo(i,a))}};function xTe(i){return new DDt(i)}function IDt(i){return i<0?-1:1}function ODt(i,a,f){var p=i._x1-i._x0,w=a-i._x1,m=(i._y1-i._y0)/(p||w<0&&-0),b=(f-i._y1)/(w||p<0&&-0),E=(m*w+b*p)/(p+w);return(IDt(m)+IDt(b))*Math.min(Math.abs(m),Math.abs(b),.5*Math.abs(E))||0}function PDt(i,a){var f=i._x1-i._x0;return f?(3*(i._y1-i._y0)/f-a)/2:a}function z1t(i,a,f){var p=i._x0,w=i._y0,m=i._x1,b=i._y1,E=(m-p)/3;i._context.bezierCurveTo(p+E,w+E*a,m-E,b-E*f,m,b)}function sW(i){this._context=i}sW.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:z1t(this,this._t0,PDt(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){var f=NaN;if(i=+i,a=+a,!(i===this._x1&&a===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3,z1t(this,PDt(this,f=ODt(this,i,a)),f);break;default:z1t(this,this._t0,f=ODt(this,i,a));break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a,this._t0=f}}};function FDt(i){this._context=new NDt(i)}(FDt.prototype=Object.create(sW.prototype)).point=function(i,a){sW.prototype.point.call(this,a,i)};function NDt(i){this._context=i}NDt.prototype={moveTo:function(i,a){this._context.moveTo(a,i)},closePath:function(){this._context.closePath()},lineTo:function(i,a){this._context.lineTo(a,i)},bezierCurveTo:function(i,a,f,p,w,m){this._context.bezierCurveTo(a,i,p,f,m,w)}};function kTe(i){return new sW(i)}function ETe(i){return new FDt(i)}function BDt(i){this._context=i}BDt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var i=this._x,a=this._y,f=i.length;if(f)if(this._line?this._context.lineTo(i[0],a[0]):this._context.moveTo(i[0],a[0]),f===2)this._context.lineTo(i[1],a[1]);else for(var p=RDt(i),w=RDt(a),m=0,b=1;b=0;--a)w[a]=(b[a]-w[a+1])/m[a];for(m[f-1]=(i[f]+w[f-1])/2,a=0;a=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,a),this._context.lineTo(i,a);else{var f=this._x*(1-this._t)+i*this._t;this._context.lineTo(f,this._y),this._context.lineTo(f,a)}break}}this._x=i,this._y=a}};function CTe(i){return new aW(i,.5)}function _Te(i){return new aW(i,0)}function STe(i){return new aW(i,1)}function VP(i,a,f){this.k=i,this.x=a,this.y=f}VP.prototype={constructor:VP,scale:function(i){return i===1?this:new VP(this.k*i,this.x,this.y)},translate:function(i,a){return i===0&a===0?this:new VP(this.k,this.x+this.k*i,this.y+this.k*a)},apply:function(i){return[i[0]*this.k+this.x,i[1]*this.k+this.y]},applyX:function(i){return i*this.k+this.x},applyY:function(i){return i*this.k+this.y},invert:function(i){return[(i[0]-this.x)/this.k,(i[1]-this.y)/this.k]},invertX:function(i){return(i-this.x)/this.k},invertY:function(i){return(i-this.y)/this.k},rescaleX:function(i){return i.copy().domain(i.range().map(this.invertX,this).map(i.invert,i))},rescaleY:function(i){return i.copy().domain(i.range().map(this.invertY,this).map(i.invert,i))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},VP.prototype;/*! @license DOMPurify 3.0.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.5/LICENSE */const{entries:jDt,setPrototypeOf:$Dt,isFrozen:ATe,getPrototypeOf:LTe,getOwnPropertyDescriptor:MTe}=Object;let{freeze:ug,seal:Jv,create:DTe}=Object,{apply:q1t,construct:H1t}=typeof Reflect<"u"&&Reflect;q1t||(q1t=function(a,f,p){return a.apply(f,p)}),ug||(ug=function(a){return a}),Jv||(Jv=function(a){return a}),H1t||(H1t=function(a,f){return new a(...f)});const ITe=J2(Array.prototype.forEach),zDt=J2(Array.prototype.pop),GP=J2(Array.prototype.push),oW=J2(String.prototype.toLowerCase),V1t=J2(String.prototype.toString),OTe=J2(String.prototype.match),tm=J2(String.prototype.replace),PTe=J2(String.prototype.indexOf),FTe=J2(String.prototype.trim),Pb=J2(RegExp.prototype.test),UP=NTe(TypeError);function J2(i){return function(a){for(var f=arguments.length,p=new Array(f>1?f-1:0),w=1;w/gm),zTe=Jv(/\${[\w\W]*}/gm),qTe=Jv(/^data-[\-\w.\u00B7-\uFFFF]/),HTe=Jv(/^aria-[\-\w]+$/),UDt=Jv(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),VTe=Jv(/^(?:\w+script|data):/i),GTe=Jv(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),WDt=Jv(/^html$/i);var YDt=Object.freeze({__proto__:null,MUSTACHE_EXPR:jTe,ERB_EXPR:$Te,TMPLIT_EXPR:zTe,DATA_ATTR:qTe,ARIA_ATTR:HTe,IS_ALLOWED_URI:UDt,IS_SCRIPT_OR_DATA:VTe,ATTR_WHITESPACE:GTe,DOCTYPE_NAME:WDt});const UTe=()=>typeof window>"u"?null:window,WTe=function(a,f){if(typeof a!="object"||typeof a.createPolicy!="function")return null;let p=null;const w="data-tt-policy-suffix";f&&f.hasAttribute(w)&&(p=f.getAttribute(w));const m="dompurify"+(p?"#"+p:"");try{return a.createPolicy(m,{createHTML(b){return b},createScriptURL(b){return b}})}catch{return console.warn("TrustedTypes policy "+m+" could not be created."),null}};function KDt(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:UTe();const a=Bi=>KDt(Bi);if(a.version="3.0.5",a.removed=[],!i||!i.document||i.document.nodeType!==9)return a.isSupported=!1,a;const f=i.document,p=f.currentScript;let{document:w}=i;const{DocumentFragment:m,HTMLTemplateElement:b,Node:E,Element:_,NodeFilter:A,NamedNodeMap:I=i.NamedNodeMap||i.MozNamedAttrMap,HTMLFormElement:B,DOMParser:N,trustedTypes:R}=i,z=_.prototype,W=cW(z,"cloneNode"),et=cW(z,"nextSibling"),st=cW(z,"childNodes"),at=cW(z,"parentNode");if(typeof b=="function"){const Bi=w.createElement("template");Bi.content&&Bi.content.ownerDocument&&(w=Bi.content.ownerDocument)}let bt,mt="";const{implementation:yt,createNodeIterator:ft,createDocumentFragment:ut,getElementsByTagName:vt}=w,{importNode:X}=f;let pt={};a.isSupported=typeof jDt=="function"&&typeof at=="function"&&yt&&yt.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:U,ERB_EXPR:Tt,TMPLIT_EXPR:nt,DATA_ATTR:It,ARIA_ATTR:Ot,IS_SCRIPT_OR_DATA:Bt,ATTR_WHITESPACE:Et}=YDt;let{IS_ALLOWED_URI:Z}=YDt,Ct=null;const xt=mo({},[...qDt,...G1t,...U1t,...W1t,...HDt]);let Ht=null;const Le=mo({},[...VDt,...Y1t,...GDt,...uW]);let Ft=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),gn=null,Se=null,me=!0,Ve=!0,Ye=!1,ce=!0,ke=!1,zt=!1,re=!1,se=!1,Pe=!1,te=!1,Me=!1,de=!0,on=!1;const ni="user-content-";let Ks=!0,ws=!1,fo={},Xi=null;const Er=mo({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Xn=null;const di=mo({},["audio","video","img","source","image","track"]);let Ee=null;const Kn=mo({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),He="http://www.w3.org/1998/Math/MathML",Ti="http://www.w3.org/2000/svg",pn="http://www.w3.org/1999/xhtml";let Es=pn,qa=!1,Ma=null;const Gs=mo({},[He,Ti,pn],V1t);let Po;const vs=["application/xhtml+xml","text/html"],ru="text/html";let zs,Du=null;const pm=w.createElement("form"),uw=function(cn){return cn instanceof RegExp||cn instanceof Function},Wu=function(cn){if(!(Du&&Du===cn)){if((!cn||typeof cn!="object")&&(cn={}),cn=PA(cn),Po=vs.indexOf(cn.PARSER_MEDIA_TYPE)===-1?Po=ru:Po=cn.PARSER_MEDIA_TYPE,zs=Po==="application/xhtml+xml"?V1t:oW,Ct="ALLOWED_TAGS"in cn?mo({},cn.ALLOWED_TAGS,zs):xt,Ht="ALLOWED_ATTR"in cn?mo({},cn.ALLOWED_ATTR,zs):Le,Ma="ALLOWED_NAMESPACES"in cn?mo({},cn.ALLOWED_NAMESPACES,V1t):Gs,Ee="ADD_URI_SAFE_ATTR"in cn?mo(PA(Kn),cn.ADD_URI_SAFE_ATTR,zs):Kn,Xn="ADD_DATA_URI_TAGS"in cn?mo(PA(di),cn.ADD_DATA_URI_TAGS,zs):di,Xi="FORBID_CONTENTS"in cn?mo({},cn.FORBID_CONTENTS,zs):Er,gn="FORBID_TAGS"in cn?mo({},cn.FORBID_TAGS,zs):{},Se="FORBID_ATTR"in cn?mo({},cn.FORBID_ATTR,zs):{},fo="USE_PROFILES"in cn?cn.USE_PROFILES:!1,me=cn.ALLOW_ARIA_ATTR!==!1,Ve=cn.ALLOW_DATA_ATTR!==!1,Ye=cn.ALLOW_UNKNOWN_PROTOCOLS||!1,ce=cn.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ke=cn.SAFE_FOR_TEMPLATES||!1,zt=cn.WHOLE_DOCUMENT||!1,Pe=cn.RETURN_DOM||!1,te=cn.RETURN_DOM_FRAGMENT||!1,Me=cn.RETURN_TRUSTED_TYPE||!1,se=cn.FORCE_BODY||!1,de=cn.SANITIZE_DOM!==!1,on=cn.SANITIZE_NAMED_PROPS||!1,Ks=cn.KEEP_CONTENT!==!1,ws=cn.IN_PLACE||!1,Z=cn.ALLOWED_URI_REGEXP||UDt,Es=cn.NAMESPACE||pn,Ft=cn.CUSTOM_ELEMENT_HANDLING||{},cn.CUSTOM_ELEMENT_HANDLING&&uw(cn.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Ft.tagNameCheck=cn.CUSTOM_ELEMENT_HANDLING.tagNameCheck),cn.CUSTOM_ELEMENT_HANDLING&&uw(cn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Ft.attributeNameCheck=cn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),cn.CUSTOM_ELEMENT_HANDLING&&typeof cn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(Ft.allowCustomizedBuiltInElements=cn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ke&&(Ve=!1),te&&(Pe=!0),fo&&(Ct=mo({},[...HDt]),Ht=[],fo.html===!0&&(mo(Ct,qDt),mo(Ht,VDt)),fo.svg===!0&&(mo(Ct,G1t),mo(Ht,Y1t),mo(Ht,uW)),fo.svgFilters===!0&&(mo(Ct,U1t),mo(Ht,Y1t),mo(Ht,uW)),fo.mathMl===!0&&(mo(Ct,W1t),mo(Ht,GDt),mo(Ht,uW))),cn.ADD_TAGS&&(Ct===xt&&(Ct=PA(Ct)),mo(Ct,cn.ADD_TAGS,zs)),cn.ADD_ATTR&&(Ht===Le&&(Ht=PA(Ht)),mo(Ht,cn.ADD_ATTR,zs)),cn.ADD_URI_SAFE_ATTR&&mo(Ee,cn.ADD_URI_SAFE_ATTR,zs),cn.FORBID_CONTENTS&&(Xi===Er&&(Xi=PA(Xi)),mo(Xi,cn.FORBID_CONTENTS,zs)),Ks&&(Ct["#text"]=!0),zt&&mo(Ct,["html","head","body"]),Ct.table&&(mo(Ct,["tbody"]),delete gn.tbody),cn.TRUSTED_TYPES_POLICY){if(typeof cn.TRUSTED_TYPES_POLICY.createHTML!="function")throw UP('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof cn.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw UP('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');bt=cn.TRUSTED_TYPES_POLICY,mt=bt.createHTML("")}else bt===void 0&&(bt=WTe(R,p)),bt!==null&&typeof mt=="string"&&(mt=bt.createHTML(""));ug&&ug(cn),Du=cn}},th=mo({},["mi","mo","mn","ms","mtext"]),Fa=mo({},["foreignobject","desc","title","annotation-xml"]),Ml=mo({},["title","style","font","a","script"]),ha=mo({},G1t);mo(ha,U1t),mo(ha,BTe);const bc=mo({},W1t);mo(bc,RTe);const Cc=function(cn){let kr=at(cn);(!kr||!kr.tagName)&&(kr={namespaceURI:Es,tagName:"template"});const Ei=oW(cn.tagName),Jo=oW(kr.tagName);return Ma[cn.namespaceURI]?cn.namespaceURI===Ti?kr.namespaceURI===pn?Ei==="svg":kr.namespaceURI===He?Ei==="svg"&&(Jo==="annotation-xml"||th[Jo]):!!ha[Ei]:cn.namespaceURI===He?kr.namespaceURI===pn?Ei==="math":kr.namespaceURI===Ti?Ei==="math"&&Fa[Jo]:!!bc[Ei]:cn.namespaceURI===pn?kr.namespaceURI===Ti&&!Fa[Jo]||kr.namespaceURI===He&&!th[Jo]?!1:!bc[Ei]&&(Ml[Ei]||!ha[Ei]):!!(Po==="application/xhtml+xml"&&Ma[cn.namespaceURI]):!1},pa=function(cn){GP(a.removed,{element:cn});try{cn.parentNode.removeChild(cn)}catch{cn.remove()}},Da=function(cn,kr){try{GP(a.removed,{attribute:kr.getAttributeNode(cn),from:kr})}catch{GP(a.removed,{attribute:null,from:kr})}if(kr.removeAttribute(cn),cn==="is"&&!Ht[cn])if(Pe||te)try{pa(kr)}catch{}else try{kr.setAttribute(cn,"")}catch{}},Ha=function(cn){let kr,Ei;if(se)cn=""+cn;else{const rf=OTe(cn,/^[\r\n\t ]+/);Ei=rf&&rf[0]}Po==="application/xhtml+xml"&&Es===pn&&(cn=''+cn+"");const Jo=bt?bt.createHTML(cn):cn;if(Es===pn)try{kr=new N().parseFromString(Jo,Po)}catch{}if(!kr||!kr.documentElement){kr=yt.createDocument(Es,"template",null);try{kr.documentElement.innerHTML=qa?mt:Jo}catch{}}const wc=kr.body||kr.documentElement;return cn&&Ei&&wc.insertBefore(w.createTextNode(Ei),wc.childNodes[0]||null),Es===pn?vt.call(kr,zt?"html":"body")[0]:zt?kr.documentElement:wc},Dl=function(cn){return ft.call(cn.ownerDocument||cn,cn,A.SHOW_ELEMENT|A.SHOW_COMMENT|A.SHOW_TEXT,null,!1)},_c=function(cn){return cn instanceof B&&(typeof cn.nodeName!="string"||typeof cn.textContent!="string"||typeof cn.removeChild!="function"||!(cn.attributes instanceof I)||typeof cn.removeAttribute!="function"||typeof cn.setAttribute!="function"||typeof cn.namespaceURI!="string"||typeof cn.insertBefore!="function"||typeof cn.hasChildNodes!="function")},lw=function(cn){return typeof E=="object"?cn instanceof E:cn&&typeof cn=="object"&&typeof cn.nodeType=="number"&&typeof cn.nodeName=="string"},eh=function(cn,kr,Ei){pt[cn]&&ITe(pt[cn],Jo=>{Jo.call(a,kr,Ei,Du)})},ed=function(cn){let kr;if(eh("beforeSanitizeElements",cn,null),_c(cn))return pa(cn),!0;const Ei=zs(cn.nodeName);if(eh("uponSanitizeElement",cn,{tagName:Ei,allowedTags:Ct}),cn.hasChildNodes()&&!lw(cn.firstElementChild)&&(!lw(cn.content)||!lw(cn.content.firstElementChild))&&Pb(/<[/\w]/g,cn.innerHTML)&&Pb(/<[/\w]/g,cn.textContent))return pa(cn),!0;if(!Ct[Ei]||gn[Ei]){if(!gn[Ei]&&nd(Ei)&&(Ft.tagNameCheck instanceof RegExp&&Pb(Ft.tagNameCheck,Ei)||Ft.tagNameCheck instanceof Function&&Ft.tagNameCheck(Ei)))return!1;if(Ks&&!Xi[Ei]){const Jo=at(cn)||cn.parentNode,wc=st(cn)||cn.childNodes;if(wc&&Jo){const rf=wc.length;for(let Oc=rf-1;Oc>=0;--Oc)Jo.insertBefore(W(wc[Oc],!0),et(cn))}}return pa(cn),!0}return cn instanceof _&&!Cc(cn)||(Ei==="noscript"||Ei==="noembed"||Ei==="noframes")&&Pb(/<\/no(script|embed|frames)/i,cn.innerHTML)?(pa(cn),!0):(ke&&cn.nodeType===3&&(kr=cn.textContent,kr=tm(kr,U," "),kr=tm(kr,Tt," "),kr=tm(kr,nt," "),cn.textContent!==kr&&(GP(a.removed,{element:cn.cloneNode()}),cn.textContent=kr)),eh("afterSanitizeElements",cn,null),!1)},jd=function(cn,kr,Ei){if(de&&(kr==="id"||kr==="name")&&(Ei in w||Ei in pm))return!1;if(!(Ve&&!Se[kr]&&Pb(It,kr))){if(!(me&&Pb(Ot,kr))){if(!Ht[kr]||Se[kr]){if(!(nd(cn)&&(Ft.tagNameCheck instanceof RegExp&&Pb(Ft.tagNameCheck,cn)||Ft.tagNameCheck instanceof Function&&Ft.tagNameCheck(cn))&&(Ft.attributeNameCheck instanceof RegExp&&Pb(Ft.attributeNameCheck,kr)||Ft.attributeNameCheck instanceof Function&&Ft.attributeNameCheck(kr))||kr==="is"&&Ft.allowCustomizedBuiltInElements&&(Ft.tagNameCheck instanceof RegExp&&Pb(Ft.tagNameCheck,Ei)||Ft.tagNameCheck instanceof Function&&Ft.tagNameCheck(Ei))))return!1}else if(!Ee[kr]){if(!Pb(Z,tm(Ei,Et,""))){if(!((kr==="src"||kr==="xlink:href"||kr==="href")&&cn!=="script"&&PTe(Ei,"data:")===0&&Xn[cn])){if(!(Ye&&!Pb(Bt,tm(Ei,Et,"")))){if(Ei)return!1}}}}}}return!0},nd=function(cn){return cn.indexOf("-")>0},$d=function(cn){let kr,Ei,Jo,wc;eh("beforeSanitizeAttributes",cn,null);const{attributes:rf}=cn;if(!rf)return;const Oc={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Ht};for(wc=rf.length;wc--;){kr=rf[wc];const{name:sf,namespaceURI:af}=kr;if(Ei=sf==="value"?kr.value:FTe(kr.value),Jo=zs(sf),Oc.attrName=Jo,Oc.attrValue=Ei,Oc.keepAttr=!0,Oc.forceKeepAttr=void 0,eh("uponSanitizeAttribute",cn,Oc),Ei=Oc.attrValue,Oc.forceKeepAttr||(Da(sf,cn),!Oc.keepAttr))continue;if(!ce&&Pb(/\/>/i,Ei)){Da(sf,cn);continue}ke&&(Ei=tm(Ei,U," "),Ei=tm(Ei,Tt," "),Ei=tm(Ei,nt," "));const Qi=zs(cn.nodeName);if(jd(Qi,Jo,Ei)){if(on&&(Jo==="id"||Jo==="name")&&(Da(sf,cn),Ei=ni+Ei),bt&&typeof R=="object"&&typeof R.getAttributeType=="function"&&!af)switch(R.getAttributeType(Qi,Jo)){case"TrustedHTML":{Ei=bt.createHTML(Ei);break}case"TrustedScriptURL":{Ei=bt.createScriptURL(Ei);break}}try{af?cn.setAttributeNS(af,sf,Ei):cn.setAttribute(sf,Ei),zDt(a.removed)}catch{}}}eh("afterSanitizeAttributes",cn,null)},A0=function Bi(cn){let kr;const Ei=Dl(cn);for(eh("beforeSanitizeShadowDOM",cn,null);kr=Ei.nextNode();)eh("uponSanitizeShadowNode",kr,null),!ed(kr)&&(kr.content instanceof m&&Bi(kr.content),$d(kr));eh("afterSanitizeShadowDOM",cn,null)};return a.sanitize=function(Bi){let cn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},kr,Ei,Jo,wc;if(qa=!Bi,qa&&(Bi=""),typeof Bi!="string"&&!lw(Bi))if(typeof Bi.toString=="function"){if(Bi=Bi.toString(),typeof Bi!="string")throw UP("dirty is not a string, aborting")}else throw UP("toString is not a function");if(!a.isSupported)return Bi;if(re||Wu(cn),a.removed=[],typeof Bi=="string"&&(ws=!1),ws){if(Bi.nodeName){const sf=zs(Bi.nodeName);if(!Ct[sf]||gn[sf])throw UP("root node is forbidden and cannot be sanitized in-place")}}else if(Bi instanceof E)kr=Ha(""),Ei=kr.ownerDocument.importNode(Bi,!0),Ei.nodeType===1&&Ei.nodeName==="BODY"||Ei.nodeName==="HTML"?kr=Ei:kr.appendChild(Ei);else{if(!Pe&&!ke&&!zt&&Bi.indexOf("<")===-1)return bt&&Me?bt.createHTML(Bi):Bi;if(kr=Ha(Bi),!kr)return Pe?null:Me?mt:""}kr&&se&&pa(kr.firstChild);const rf=Dl(ws?Bi:kr);for(;Jo=rf.nextNode();)ed(Jo)||(Jo.content instanceof m&&A0(Jo.content),$d(Jo));if(ws)return Bi;if(Pe){if(te)for(wc=ut.call(kr.ownerDocument);kr.firstChild;)wc.appendChild(kr.firstChild);else wc=kr;return(Ht.shadowroot||Ht.shadowrootmode)&&(wc=X.call(f,wc,!0)),wc}let Oc=zt?kr.outerHTML:kr.innerHTML;return zt&&Ct["!doctype"]&&kr.ownerDocument&&kr.ownerDocument.doctype&&kr.ownerDocument.doctype.name&&Pb(WDt,kr.ownerDocument.doctype.name)&&(Oc=" +`+Oc),ke&&(Oc=tm(Oc,U," "),Oc=tm(Oc,Tt," "),Oc=tm(Oc,nt," ")),bt&&Me?bt.createHTML(Oc):Oc},a.setConfig=function(Bi){Wu(Bi),re=!0},a.clearConfig=function(){Du=null,re=!1},a.isValidAttribute=function(Bi,cn,kr){Du||Wu({});const Ei=zs(Bi),Jo=zs(cn);return jd(Ei,Jo,kr)},a.addHook=function(Bi,cn){typeof cn=="function"&&(pt[Bi]=pt[Bi]||[],GP(pt[Bi],cn))},a.removeHook=function(Bi){if(pt[Bi])return zDt(pt[Bi])},a.removeHooks=function(Bi){pt[Bi]&&(pt[Bi]=[])},a.removeAllHooks=function(){pt={}},a}var lW=KDt();const WP=//gi,YTe=i=>i?ZDt(i).replace(/\\n/g,"#br#").split("#br#"):[""],XDt=i=>lW.sanitize(i),QDt=(i,a)=>{var f;if(((f=a.flowchart)==null?void 0:f.htmlLabels)!==!1){const p=a.securityLevel;p==="antiscript"||p==="strict"?i=XDt(i):p!=="loose"&&(i=ZDt(i),i=i.replace(//g,">"),i=i.replace(/=/g,"="),i=ZTe(i))}return i},Q1=(i,a)=>i&&(a.dompurifyConfig?i=lW.sanitize(QDt(i,a),a.dompurifyConfig).toString():i=lW.sanitize(QDt(i,a),{FORBID_TAGS:["style"]}).toString(),i),KTe=(i,a)=>typeof i=="string"?Q1(i,a):i.flat().map(f=>Q1(f,a)),XTe=i=>WP.test(i),QTe=i=>i.split(WP),ZTe=i=>i.replace(/#br#/g,"
"),ZDt=i=>i.replace(WP,"#br#"),JTe=i=>{let a="";return i&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replaceAll(/\(/g,"\\("),a=a.replaceAll(/\)/g,"\\)")),a},o1=i=>!(i===!1||["false","null","0"].includes(String(i).trim().toLowerCase())),tCe=function(...i){const a=i.filter(f=>!isNaN(f));return Math.max(...a)},eCe=function(...i){const a=i.filter(f=>!isNaN(f));return Math.min(...a)},YP=function(i){const a=i.split(/(,)/),f=[];for(let p=0;p0&&p+1Math.max(0,i.split(a).length-1),nCe=(i,a)=>{const f=K1t(i,"~"),p=K1t(a,"~");return f===1&&p===1},rCe=i=>{const a=K1t(i,"~");let f=!1;if(a<=1)return i;a%2!==0&&i.startsWith("~")&&(i=i.substring(1),f=!0);const p=[...i];let w=p.indexOf("~"),m=p.lastIndexOf("~");for(;w!==-1&&m!==-1&&w!==m;)p[w]="<",p[m]=">",w=p.indexOf("~"),m=p.lastIndexOf("~");return f&&p.unshift("~"),p.join("")},Kr={getRows:YTe,sanitizeText:Q1,sanitizeTextOrArray:KTe,hasBreaks:XTe,splitBreaks:QTe,lineBreakRegex:WP,removeScript:XDt,getUrl:JTe,evaluate:o1,getMax:tCe,getMin:eCe},hW={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:i=>i>=255?255:i<0?0:i,g:i=>i>=255?255:i<0?0:i,b:i=>i>=255?255:i<0?0:i,h:i=>i%360,s:i=>i>=100?100:i<0?0:i,l:i=>i>=100?100:i<0?0:i,a:i=>i>=1?1:i<0?0:i},toLinear:i=>{const a=i/255;return i>.03928?Math.pow((a+.055)/1.055,2.4):a/12.92},hue2rgb:(i,a,f)=>(f<0&&(f+=1),f>1&&(f-=1),f<1/6?i+(a-i)*6*f:f<1/2?a:f<2/3?i+(a-i)*(2/3-f)*6:i),hsl2rgb:({h:i,s:a,l:f},p)=>{if(!a)return f*2.55;i/=360,a/=100,f/=100;const w=f<.5?f*(1+a):f+a-f*a,m=2*f-w;switch(p){case"r":return hW.hue2rgb(m,w,i+1/3)*255;case"g":return hW.hue2rgb(m,w,i)*255;case"b":return hW.hue2rgb(m,w,i-1/3)*255}},rgb2hsl:({r:i,g:a,b:f},p)=>{i/=255,a/=255,f/=255;const w=Math.max(i,a,f),m=Math.min(i,a,f),b=(w+m)/2;if(p==="l")return b*100;if(w===m)return 0;const E=w-m,_=b>.5?E/(2-w-m):E/(w+m);if(p==="s")return _*100;switch(w){case i:return((a-f)/E+(aa>f?Math.min(a,Math.max(f,i)):Math.min(f,Math.max(a,i)),round:i=>Math.round(i*1e10)/1e10},unit:{dec2hex:i=>{const a=Math.round(i).toString(16);return a.length>1?a:`0${a}`}}},ok={};for(let i=0;i<=255;i++)ok[i]=ga.unit.dec2hex(i);const x0={ALL:0,RGB:1,HSL:2};class iCe{constructor(){this.type=x0.ALL}get(){return this.type}set(a){if(this.type&&this.type!==a)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=a}reset(){this.type=x0.ALL}is(a){return this.type===a}}const sCe=iCe;class aCe{constructor(a,f){this.color=f,this.changed=!1,this.data=a,this.type=new sCe}set(a,f){return this.color=f,this.changed=!1,this.data=a,this.type.type=x0.ALL,this}_ensureHSL(){const a=this.data,{h:f,s:p,l:w}=a;f===void 0&&(a.h=ga.channel.rgb2hsl(a,"h")),p===void 0&&(a.s=ga.channel.rgb2hsl(a,"s")),w===void 0&&(a.l=ga.channel.rgb2hsl(a,"l"))}_ensureRGB(){const a=this.data,{r:f,g:p,b:w}=a;f===void 0&&(a.r=ga.channel.hsl2rgb(a,"r")),p===void 0&&(a.g=ga.channel.hsl2rgb(a,"g")),w===void 0&&(a.b=ga.channel.hsl2rgb(a,"b"))}get r(){const a=this.data,f=a.r;return!this.type.is(x0.HSL)&&f!==void 0?f:(this._ensureHSL(),ga.channel.hsl2rgb(a,"r"))}get g(){const a=this.data,f=a.g;return!this.type.is(x0.HSL)&&f!==void 0?f:(this._ensureHSL(),ga.channel.hsl2rgb(a,"g"))}get b(){const a=this.data,f=a.b;return!this.type.is(x0.HSL)&&f!==void 0?f:(this._ensureHSL(),ga.channel.hsl2rgb(a,"b"))}get h(){const a=this.data,f=a.h;return!this.type.is(x0.RGB)&&f!==void 0?f:(this._ensureRGB(),ga.channel.rgb2hsl(a,"h"))}get s(){const a=this.data,f=a.s;return!this.type.is(x0.RGB)&&f!==void 0?f:(this._ensureRGB(),ga.channel.rgb2hsl(a,"s"))}get l(){const a=this.data,f=a.l;return!this.type.is(x0.RGB)&&f!==void 0?f:(this._ensureRGB(),ga.channel.rgb2hsl(a,"l"))}get a(){return this.data.a}set r(a){this.type.set(x0.RGB),this.changed=!0,this.data.r=a}set g(a){this.type.set(x0.RGB),this.changed=!0,this.data.g=a}set b(a){this.type.set(x0.RGB),this.changed=!0,this.data.b=a}set h(a){this.type.set(x0.HSL),this.changed=!0,this.data.h=a}set s(a){this.type.set(x0.HSL),this.changed=!0,this.data.s=a}set l(a){this.type.set(x0.HSL),this.changed=!0,this.data.l=a}set a(a){this.changed=!0,this.data.a=a}}const oCe=aCe,fW=new oCe({r:0,g:0,b:0,a:0},"transparent"),JDt={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:i=>{if(i.charCodeAt(0)!==35)return;const a=i.match(JDt.re);if(!a)return;const f=a[1],p=parseInt(f,16),w=f.length,m=w%4===0,b=w>4,E=b?1:17,_=b?8:4,A=m?0:-1,I=b?255:15;return fW.set({r:(p>>_*(A+3)&I)*E,g:(p>>_*(A+2)&I)*E,b:(p>>_*(A+1)&I)*E,a:m?(p&I)*E/255:1},i)},stringify:i=>{const{r:a,g:f,b:p,a:w}=i;return w<1?`#${ok[Math.round(a)]}${ok[Math.round(f)]}${ok[Math.round(p)]}${ok[Math.round(w*255)]}`:`#${ok[Math.round(a)]}${ok[Math.round(f)]}${ok[Math.round(p)]}`}},KP=JDt,dW={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:i=>{const a=i.match(dW.hueRe);if(a){const[,f,p]=a;switch(p){case"grad":return ga.channel.clamp.h(parseFloat(f)*.9);case"rad":return ga.channel.clamp.h(parseFloat(f)*180/Math.PI);case"turn":return ga.channel.clamp.h(parseFloat(f)*360)}}return ga.channel.clamp.h(parseFloat(i))},parse:i=>{const a=i.charCodeAt(0);if(a!==104&&a!==72)return;const f=i.match(dW.re);if(!f)return;const[,p,w,m,b,E]=f;return fW.set({h:dW._hue2deg(p),s:ga.channel.clamp.s(parseFloat(w)),l:ga.channel.clamp.l(parseFloat(m)),a:b?ga.channel.clamp.a(E?parseFloat(b)/100:parseFloat(b)):1},i)},stringify:i=>{const{h:a,s:f,l:p,a:w}=i;return w<1?`hsla(${ga.lang.round(a)}, ${ga.lang.round(f)}%, ${ga.lang.round(p)}%, ${w})`:`hsl(${ga.lang.round(a)}, ${ga.lang.round(f)}%, ${ga.lang.round(p)}%)`}},gW=dW,pW={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:i=>{i=i.toLowerCase();const a=pW.colors[i];if(a)return KP.parse(a)},stringify:i=>{const a=KP.stringify(i);for(const f in pW.colors)if(pW.colors[f]===a)return f}},tIt=pW,eIt={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:i=>{const a=i.charCodeAt(0);if(a!==114&&a!==82)return;const f=i.match(eIt.re);if(!f)return;const[,p,w,m,b,E,_,A,I]=f;return fW.set({r:ga.channel.clamp.r(w?parseFloat(p)*2.55:parseFloat(p)),g:ga.channel.clamp.g(b?parseFloat(m)*2.55:parseFloat(m)),b:ga.channel.clamp.b(_?parseFloat(E)*2.55:parseFloat(E)),a:A?ga.channel.clamp.a(I?parseFloat(A)/100:parseFloat(A)):1},i)},stringify:i=>{const{r:a,g:f,b:p,a:w}=i;return w<1?`rgba(${ga.lang.round(a)}, ${ga.lang.round(f)}, ${ga.lang.round(p)}, ${ga.lang.round(w)})`:`rgb(${ga.lang.round(a)}, ${ga.lang.round(f)}, ${ga.lang.round(p)})`}},bW=eIt,em={format:{keyword:tIt,hex:KP,rgb:bW,rgba:bW,hsl:gW,hsla:gW},parse:i=>{if(typeof i!="string")return i;const a=KP.parse(i)||bW.parse(i)||gW.parse(i)||tIt.parse(i);if(a)return a;throw new Error(`Unsupported color format: "${i}"`)},stringify:i=>!i.changed&&i.color?i.color:i.type.is(x0.HSL)||i.data.r===void 0?gW.stringify(i):i.a<1||!Number.isInteger(i.r)||!Number.isInteger(i.g)||!Number.isInteger(i.b)?bW.stringify(i):KP.stringify(i)},nIt=(i,a)=>{const f=em.parse(i);for(const p in a)f[p]=ga.channel.clamp[p](a[p]);return em.stringify(f)},FA=(i,a,f=0,p=1)=>{if(typeof i!="number")return nIt(i,{a});const w=fW.set({r:ga.channel.clamp.r(i),g:ga.channel.clamp.g(a),b:ga.channel.clamp.b(f),a:ga.channel.clamp.a(p)});return em.stringify(w)},cCe=(i,a)=>ga.lang.round(em.parse(i)[a]),uCe=i=>{const{r:a,g:f,b:p}=em.parse(i),w=.2126*ga.channel.toLinear(a)+.7152*ga.channel.toLinear(f)+.0722*ga.channel.toLinear(p);return ga.lang.round(w)},lCe=i=>uCe(i)>=.5,iT=i=>!lCe(i),rIt=(i,a,f)=>{const p=em.parse(i),w=p[a],m=ga.channel.clamp[a](w+f);return w!==m&&(p[a]=m),em.stringify(p)},bs=(i,a)=>rIt(i,"l",a),$s=(i,a)=>rIt(i,"l",-a),xn=(i,a)=>{const f=em.parse(i),p={};for(const w in a)a[w]&&(p[w]=f[w]+a[w]);return nIt(i,p)},hCe=(i,a,f=50)=>{const{r:p,g:w,b:m,a:b}=em.parse(i),{r:E,g:_,b:A,a:I}=em.parse(a),B=f/100,N=B*2-1,R=b-I,W=((N*R===-1?N:(N+R)/(1+N*R))+1)/2,et=1-W,st=p*W+E*et,at=w*W+_*et,bt=m*W+A*et,mt=b*B+I*(1-B);return FA(st,at,bt,mt)},Di=(i,a=100)=>{const f=em.parse(i);return f.r=255-f.r,f.g=255-f.g,f.b=255-f.b,hCe(f,i,a)},lg=(i,a)=>a?xn(i,{s:-40,l:10}):xn(i,{s:-40,l:-10}),wW="#ffffff",vW="#f2f2f2";let fCe=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){var f,p,w,m,b,E,_,A,I,B,N;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||xn(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||xn(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||lg(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||lg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||lg(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||lg(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||Di(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Di(this.tertiaryColor),this.lineColor=this.lineColor||Di(this.background),this.arrowheadColor=this.arrowheadColor||Di(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?$s(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||$s(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Di(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||bs(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||xn(this.primaryColor,{h:30}),this.cScale4=this.cScale4||xn(this.primaryColor,{h:60}),this.cScale5=this.cScale5||xn(this.primaryColor,{h:90}),this.cScale6=this.cScale6||xn(this.primaryColor,{h:120}),this.cScale7=this.cScale7||xn(this.primaryColor,{h:150}),this.cScale8=this.cScale8||xn(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||xn(this.primaryColor,{h:270}),this.cScale10=this.cScale10||xn(this.primaryColor,{h:300}),this.cScale11=this.cScale11||xn(this.primaryColor,{h:330}),this.darkMode)for(let R=0;R{this[p]=a[p]}),this.updateColors(),f.forEach(p=>{this[p]=a[p]})}};const dCe=i=>{const a=new fCe;return a.calculate(i),a};let gCe=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=bs(this.primaryColor,16),this.tertiaryColor=xn(this.primaryColor,{h:-160}),this.primaryBorderColor=Di(this.background),this.secondaryBorderColor=lg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=lg(this.tertiaryColor,this.darkMode),this.primaryTextColor=Di(this.primaryColor),this.secondaryTextColor=Di(this.secondaryColor),this.tertiaryTextColor=Di(this.tertiaryColor),this.lineColor=Di(this.background),this.textColor=Di(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=bs(Di("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=FA(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=$s("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=$s(this.sectionBkgColor,10),this.taskBorderColor=FA(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=FA(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var a,f,p,w,m,b,E,_,A,I,B;this.secondBkg=bs(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=bs(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=bs(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=xn(this.primaryColor,{h:64}),this.fillType3=xn(this.secondaryColor,{h:64}),this.fillType4=xn(this.primaryColor,{h:-64}),this.fillType5=xn(this.secondaryColor,{h:-64}),this.fillType6=xn(this.primaryColor,{h:128}),this.fillType7=xn(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||xn(this.primaryColor,{h:30}),this.cScale4=this.cScale4||xn(this.primaryColor,{h:60}),this.cScale5=this.cScale5||xn(this.primaryColor,{h:90}),this.cScale6=this.cScale6||xn(this.primaryColor,{h:120}),this.cScale7=this.cScale7||xn(this.primaryColor,{h:150}),this.cScale8=this.cScale8||xn(this.primaryColor,{h:210}),this.cScale9=this.cScale9||xn(this.primaryColor,{h:270}),this.cScale10=this.cScale10||xn(this.primaryColor,{h:300}),this.cScale11=this.cScale11||xn(this.primaryColor,{h:330});for(let N=0;N{this[p]=a[p]}),this.updateColors(),f.forEach(p=>{this[p]=a[p]})}};const pCe=i=>{const a=new gCe;return a.calculate(i),a};let bCe=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=xn(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=xn(this.primaryColor,{h:-160}),this.primaryBorderColor=lg(this.primaryColor,this.darkMode),this.secondaryBorderColor=lg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=lg(this.tertiaryColor,this.darkMode),this.primaryTextColor=Di(this.primaryColor),this.secondaryTextColor=Di(this.secondaryColor),this.tertiaryTextColor=Di(this.tertiaryColor),this.lineColor=Di(this.background),this.textColor=Di(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=FA(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var a,f,p,w,m,b,E,_,A,I,B;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||xn(this.primaryColor,{h:30}),this.cScale4=this.cScale4||xn(this.primaryColor,{h:60}),this.cScale5=this.cScale5||xn(this.primaryColor,{h:90}),this.cScale6=this.cScale6||xn(this.primaryColor,{h:120}),this.cScale7=this.cScale7||xn(this.primaryColor,{h:150}),this.cScale8=this.cScale8||xn(this.primaryColor,{h:210}),this.cScale9=this.cScale9||xn(this.primaryColor,{h:270}),this.cScale10=this.cScale10||xn(this.primaryColor,{h:300}),this.cScale11=this.cScale11||xn(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||$s(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||$s(this.tertiaryColor,40);for(let N=0;N{this[p]=a[p]}),this.updateColors(),f.forEach(p=>{this[p]=a[p]})}};const X1t=i=>{const a=new bCe;return a.calculate(i),a};let wCe=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=bs("#cde498",10),this.primaryBorderColor=lg(this.primaryColor,this.darkMode),this.secondaryBorderColor=lg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=lg(this.tertiaryColor,this.darkMode),this.primaryTextColor=Di(this.primaryColor),this.secondaryTextColor=Di(this.secondaryColor),this.tertiaryTextColor=Di(this.primaryColor),this.lineColor=Di(this.background),this.textColor=Di(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var a,f,p,w,m,b,E,_,A,I,B;this.actorBorder=$s(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||xn(this.primaryColor,{h:30}),this.cScale4=this.cScale4||xn(this.primaryColor,{h:60}),this.cScale5=this.cScale5||xn(this.primaryColor,{h:90}),this.cScale6=this.cScale6||xn(this.primaryColor,{h:120}),this.cScale7=this.cScale7||xn(this.primaryColor,{h:150}),this.cScale8=this.cScale8||xn(this.primaryColor,{h:210}),this.cScale9=this.cScale9||xn(this.primaryColor,{h:270}),this.cScale10=this.cScale10||xn(this.primaryColor,{h:300}),this.cScale11=this.cScale11||xn(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||$s(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||$s(this.tertiaryColor,40);for(let N=0;N{this[p]=a[p]}),this.updateColors(),f.forEach(p=>{this[p]=a[p]})}};const vCe=i=>{const a=new wCe;return a.calculate(i),a};class mCe{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=bs(this.contrast,55),this.background="#ffffff",this.tertiaryColor=xn(this.primaryColor,{h:-160}),this.primaryBorderColor=lg(this.primaryColor,this.darkMode),this.secondaryBorderColor=lg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=lg(this.tertiaryColor,this.darkMode),this.primaryTextColor=Di(this.primaryColor),this.secondaryTextColor=Di(this.secondaryColor),this.tertiaryTextColor=Di(this.tertiaryColor),this.lineColor=Di(this.background),this.textColor=Di(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var a,f,p,w,m,b,E,_,A,I,B;this.secondBkg=bs(this.contrast,55),this.border2=this.contrast,this.actorBorder=bs(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let N=0;N{this[p]=a[p]}),this.updateColors(),f.forEach(p=>{this[p]=a[p]})}}const T5={base:{getThemeVariables:dCe},dark:{getThemeVariables:pCe},default:{getThemeVariables:X1t},forest:{getThemeVariables:vCe},neutral:{getThemeVariables:i=>{const a=new mCe;return a.calculate(i),a}}},C5={flowchart:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},theme:"default",maxTextSize:5e4,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize"],deterministicIds:!1,fontSize:16},iIt={...C5,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:T5.default.getThemeVariables(),sequence:{...C5.sequence,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{...C5.gantt,tickInterval:void 0,useWidth:void 0},c4:{...C5.c4,useWidth:void 0,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}},pie:{...C5.pie,useWidth:984},xyChart:{...C5.xyChart,useWidth:void 0},requirement:{...C5.requirement,useWidth:void 0},gitGraph:{...C5.gitGraph,useMaxWidth:!1},sankey:{...C5.sankey,useMaxWidth:!1}},sIt=(i,a="")=>Object.keys(i).reduce((f,p)=>Array.isArray(i[p])?f:typeof i[p]=="object"&&i[p]!==null?[...f,a+p,...sIt(i[p],"")]:[...f,a+p],[]),yCe=new Set(sIt(iIt,"")),Zh=iIt,mW=i=>{if(Ut.debug("sanitizeDirective called with",i),!(typeof i!="object"||i==null)){if(Array.isArray(i)){i.forEach(a=>mW(a));return}for(const a of Object.keys(i)){if(Ut.debug("Checking key",a),a.startsWith("__")||a.includes("proto")||a.includes("constr")||!yCe.has(a)||i[a]==null){Ut.debug("sanitize deleting key: ",a),delete i[a];continue}if(typeof i[a]=="object"){Ut.debug("sanitizing object",a),mW(i[a]);continue}const f=["themeCSS","fontFamily","altFontFamily"];for(const p of f)a.includes(p)&&(Ut.debug("sanitizing css option",a),i[a]=xCe(i[a]))}if(i.themeVariables)for(const a of Object.keys(i.themeVariables)){const f=i.themeVariables[a];f!=null&&f.match&&!f.match(/^[\d "#%(),.;A-Za-z]+$/)&&(i.themeVariables[a]="")}Ut.debug("After sanitization",i)}},xCe=i=>{let a=0,f=0;for(const p of i){if(a{for(const{id:a,detector:f,loader:p}of i)uIt(a,f,p)},uIt=(i,a,f)=>{NA[i]?Ut.error(`Detector with key ${i} already exists`):NA[i]={detector:a,loader:f},Ut.debug(`Detector with key ${i} added${f?" with loader":""}`)},ECe=i=>NA[i].loader,Q1t=(i,a,{depth:f=2,clobber:p=!1}={})=>{const w={depth:f,clobber:p};return Array.isArray(a)&&!Array.isArray(i)?(a.forEach(m=>Q1t(i,m,w)),i):Array.isArray(a)&&Array.isArray(i)?(a.forEach(m=>{i.includes(m)||i.push(m)}),i):i===void 0||f<=0?i!=null&&typeof i=="object"&&typeof a=="object"?Object.assign(i,a):a:(a!==void 0&&typeof i=="object"&&typeof a=="object"&&Object.keys(a).forEach(m=>{typeof a[m]=="object"&&(i[m]===void 0||typeof i[m]=="object")?(i[m]===void 0&&(i[m]=Array.isArray(a[m])?[]:{}),i[m]=Q1t(i[m],a[m],{depth:f-1,clobber:p})):(p||typeof i[m]!="object"&&typeof a[m]!="object")&&(i[m]=a[m])}),i)},Z1=Q1t;var TCe=typeof global=="object"&&global&&global.Object===Object&&global;const lIt=TCe;var CCe=typeof self=="object"&&self&&self.Object===Object&&self,_Ce=lIt||CCe||Function("return this")();const nm=_Ce;var SCe=nm.Symbol;const tw=SCe;var hIt=Object.prototype,ACe=hIt.hasOwnProperty,LCe=hIt.toString,QP=tw?tw.toStringTag:void 0;function MCe(i){var a=ACe.call(i,QP),f=i[QP];try{i[QP]=void 0;var p=!0}catch{}var w=LCe.call(i);return p&&(a?i[QP]=f:delete i[QP]),w}var DCe=Object.prototype,ICe=DCe.toString;function OCe(i){return ICe.call(i)}var PCe="[object Null]",FCe="[object Undefined]",fIt=tw?tw.toStringTag:void 0;function sT(i){return i==null?i===void 0?FCe:PCe:fIt&&fIt in Object(i)?MCe(i):OCe(i)}function Fb(i){var a=typeof i;return i!=null&&(a=="object"||a=="function")}var NCe="[object AsyncFunction]",BCe="[object Function]",RCe="[object GeneratorFunction]",jCe="[object Proxy]";function BA(i){if(!Fb(i))return!1;var a=sT(i);return a==BCe||a==RCe||a==NCe||a==jCe}var $Ce=nm["__core-js_shared__"];const Z1t=$Ce;var dIt=function(){var i=/[^.]+$/.exec(Z1t&&Z1t.keys&&Z1t.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}();function zCe(i){return!!dIt&&dIt in i}var qCe=Function.prototype,HCe=qCe.toString;function aT(i){if(i!=null){try{return HCe.call(i)}catch{}try{return i+""}catch{}}return""}var VCe=/[\\^$.*+?()[\]{}|]/g,GCe=/^\[object .+?Constructor\]$/,UCe=Function.prototype,WCe=Object.prototype,YCe=UCe.toString,KCe=WCe.hasOwnProperty,XCe=RegExp("^"+YCe.call(KCe).replace(VCe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function QCe(i){if(!Fb(i)||zCe(i))return!1;var a=BA(i)?XCe:GCe;return a.test(aT(i))}function ZCe(i,a){return i==null?void 0:i[a]}function oT(i,a){var f=ZCe(i,a);return QCe(f)?f:void 0}var JCe=oT(Object,"create");const ZP=JCe;function t9e(){this.__data__=ZP?ZP(null):{},this.size=0}function e9e(i){var a=this.has(i)&&delete this.__data__[i];return this.size-=a?1:0,a}var n9e="__lodash_hash_undefined__",r9e=Object.prototype,i9e=r9e.hasOwnProperty;function s9e(i){var a=this.__data__;if(ZP){var f=a[i];return f===n9e?void 0:f}return i9e.call(a,i)?a[i]:void 0}var a9e=Object.prototype,o9e=a9e.hasOwnProperty;function c9e(i){var a=this.__data__;return ZP?a[i]!==void 0:o9e.call(a,i)}var u9e="__lodash_hash_undefined__";function l9e(i,a){var f=this.__data__;return this.size+=this.has(i)?0:1,f[i]=ZP&&a===void 0?u9e:a,this}function cT(i){var a=-1,f=i==null?0:i.length;for(this.clear();++a-1}function w9e(i,a){var f=this.__data__,p=xW(f,i);return p<0?(++this.size,f.push([i,a])):f[p][1]=a,this}function _5(i){var a=-1,f=i==null?0:i.length;for(this.clear();++a-1&&i%1==0&&i<=U9e}function ck(i){return i!=null&&rdt(i.length)&&!BA(i)}function _It(i){return f3(i)&&ck(i)}function W9e(){return!1}var SIt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,AIt=SIt&&typeof module=="object"&&module&&!module.nodeType&&module,Y9e=AIt&&AIt.exports===SIt,LIt=Y9e?nm.Buffer:void 0,K9e=LIt?LIt.isBuffer:void 0,X9e=K9e||W9e;const zA=X9e;var Q9e="[object Object]",Z9e=Function.prototype,J9e=Object.prototype,MIt=Z9e.toString,t_e=J9e.hasOwnProperty,e_e=MIt.call(Object);function DIt(i){if(!f3(i)||sT(i)!=Q9e)return!1;var a=ndt(i);if(a===null)return!0;var f=t_e.call(a,"constructor")&&a.constructor;return typeof f=="function"&&f instanceof f&&MIt.call(f)==e_e}var n_e="[object Arguments]",r_e="[object Array]",i_e="[object Boolean]",s_e="[object Date]",a_e="[object Error]",o_e="[object Function]",c_e="[object Map]",u_e="[object Number]",l_e="[object Object]",h_e="[object RegExp]",f_e="[object Set]",d_e="[object String]",g_e="[object WeakMap]",p_e="[object ArrayBuffer]",b_e="[object DataView]",w_e="[object Float32Array]",v_e="[object Float64Array]",m_e="[object Int8Array]",y_e="[object Int16Array]",x_e="[object Int32Array]",k_e="[object Uint8Array]",E_e="[object Uint8ClampedArray]",T_e="[object Uint16Array]",C_e="[object Uint32Array]",bl={};bl[w_e]=bl[v_e]=bl[m_e]=bl[y_e]=bl[x_e]=bl[k_e]=bl[E_e]=bl[T_e]=bl[C_e]=!0,bl[n_e]=bl[r_e]=bl[p_e]=bl[i_e]=bl[b_e]=bl[s_e]=bl[a_e]=bl[o_e]=bl[c_e]=bl[u_e]=bl[l_e]=bl[h_e]=bl[f_e]=bl[d_e]=bl[g_e]=!1;function __e(i){return f3(i)&&rdt(i.length)&&!!bl[sT(i)]}function SW(i){return function(a){return i(a)}}var IIt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,tF=IIt&&typeof module=="object"&&module&&!module.nodeType&&module,S_e=tF&&tF.exports===IIt,idt=S_e&&lIt.process,A_e=function(){try{var i=tF&&tF.require&&tF.require("util").types;return i||idt&&idt.binding&&idt.binding("util")}catch{}}();const qA=A_e;var OIt=qA&&qA.isTypedArray,L_e=OIt?SW(OIt):__e;const AW=L_e;function sdt(i,a){if(!(a==="constructor"&&typeof i[a]=="function")&&a!="__proto__")return i[a]}var M_e=Object.prototype,D_e=M_e.hasOwnProperty;function LW(i,a,f){var p=i[a];(!(D_e.call(i,a)&&RA(p,f))||f===void 0&&!(a in i))&&TW(i,a,f)}function eF(i,a,f,p){var w=!f;f||(f={});for(var m=-1,b=a.length;++m-1&&i%1==0&&i0){if(++a>=U_e)return arguments[0]}else a=0;return i.apply(void 0,arguments)}}var X_e=K_e(G_e);const RIt=X_e;function DW(i,a){return RIt(BIt(i,a,lT),i+"")}function nF(i,a,f){if(!Fb(f))return!1;var p=typeof a;return(p=="number"?ck(f)&&MW(a,f.length):p=="string"&&a in f)?RA(f[a],i):!1}function Q_e(i){return DW(function(a,f){var p=-1,w=f.length,m=w>1?f[w-1]:void 0,b=w>2?f[2]:void 0;for(m=i.length>3&&typeof m=="function"?(w--,m):void 0,b&&nF(f[0],f[1],b)&&(m=w<3?void 0:m,w=1),a=Object(a);++pE.args);mW(b),p=Z1(p,[...b])}else p=f.args;if(!p)return;let w=yW(i,a);const m="config";return p[m]!==void 0&&(w==="flowchart-v2"&&(w="flowchart"),p[w]=p[m],delete p[m]),p},$It=function(i,a=null){try{const f=new RegExp(`[%]{2}(?![{]${tSe.source})(?=[}][%]{2}).* +`,"ig");i=i.trim().replace(f,"").replace(/'/gm,'"'),Ut.debug(`Detecting diagram directive${a!==null?" type:"+a:""} based on the text:${i}`);let p;const w=[];for(;(p=XP.exec(i))!==null;)if(p.index===XP.lastIndex&&XP.lastIndex++,p&&!a||a&&p[1]&&p[1].match(a)||a&&p[2]&&p[2].match(a)){const m=p[1]?p[1]:p[2],b=p[3]?p[3].trim():p[4]?JSON.parse(p[4].trim()):null;w.push({type:m,args:b})}return w.length===0?{type:i,args:null}:w.length===1?w[0]:w}catch(f){return Ut.error(`ERROR: ${f.message} - Unable to parse directive type: '${a}' based on the text: '${i}'`),{type:void 0,args:null}}},nSe=function(i){return i.replace(XP,"")},rSe=function(i,a){for(const[f,p]of a.entries())if(p.match(i))return f;return-1};function ew(i,a){if(!i)return a;const f=`curve${i.charAt(0).toUpperCase()+i.slice(1)}`;return J_e[f]??a}function iSe(i,a){const f=i.trim();if(f)return a.securityLevel!=="loose"?ik(f):f}const sSe=(i,...a)=>{const f=i.split("."),p=f.length-1,w=f[p];let m=window;for(let b=0;b{f+=zIt(w,a),a=w});const p=f/2;return adt(i,p)}function oSe(i){return i.length===1?i[0]:aSe(i)}const qIt=(i,a=2)=>{const f=Math.pow(10,a);return Math.round(i*f)/f},adt=(i,a)=>{let f,p=a;for(const w of i){if(f){const m=zIt(w,f);if(m=1)return{x:w.x,y:w.y};if(b>0&&b<1)return{x:qIt((1-b)*f.x+b*w.x,5),y:qIt((1-b)*f.y+b*w.y,5)}}}f=w}throw new Error("Could not find a suitable point for the given distance")},cSe=(i,a,f)=>{Ut.info(`our points ${JSON.stringify(a)}`),a[0]!==f&&(a=a.reverse());const w=adt(a,25),m=i?10:5,b=Math.atan2(a[0].y-w.y,a[0].x-w.x),E={x:0,y:0};return E.x=Math.sin(b)*m+(a[0].x+w.x)/2,E.y=-Math.cos(b)*m+(a[0].y+w.y)/2,E};function uSe(i,a,f){const p=structuredClone(f);Ut.info("our points",p),a!=="start_left"&&a!=="start_right"&&p.reverse();const w=25+i,m=adt(p,w),b=10+i*.5,E=Math.atan2(p[0].y-m.y,p[0].x-m.x),_={x:0,y:0};return a==="start_left"?(_.x=Math.sin(E+Math.PI)*b+(p[0].x+m.x)/2,_.y=-Math.cos(E+Math.PI)*b+(p[0].y+m.y)/2):a==="end_right"?(_.x=Math.sin(E-Math.PI)*b+(p[0].x+m.x)/2-5,_.y=-Math.cos(E-Math.PI)*b+(p[0].y+m.y)/2-5):a==="end_left"?(_.x=Math.sin(E)*b+(p[0].x+m.x)/2-5,_.y=-Math.cos(E)*b+(p[0].y+m.y)/2-5):(_.x=Math.sin(E)*b+(p[0].x+m.x)/2,_.y=-Math.cos(E)*b+(p[0].y+m.y)/2),_}function im(i){let a="",f="";for(const p of i)p!==void 0&&(p.startsWith("color:")||p.startsWith("text-align:")?f=f+p+";":a=a+p+";");return{style:a,labelStyle:f}}let HIt=0;const VIt=()=>(HIt++,"id-"+Math.random().toString(36).substr(2,12)+"-"+HIt);function lSe(i){let a="";const f="0123456789abcdef",p=f.length;for(let w=0;wlSe(i.length),hSe=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},fSe=function(i,a){const f=a.text.replace(Kr.lineBreakRegex," "),[,p]=VA(a.fontSize),w=i.append("text");w.attr("x",a.x),w.attr("y",a.y),w.style("text-anchor",a.anchor),w.style("font-family",a.fontFamily),w.style("font-size",p),w.style("font-weight",a.fontWeight),w.attr("fill",a.fill),a.class!==void 0&&w.attr("class",a.class);const m=w.append("tspan");return m.attr("x",a.x+a.textMargin*2),m.attr("fill",a.fill),m.text(f),w},UIt=jA((i,a,f)=>{if(!i||(f=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},f),Kr.lineBreakRegex.test(i)))return i;const p=i.split(" "),w=[];let m="";return p.forEach((b,E)=>{const _=d3(`${b} `,f),A=d3(m,f);if(_>a){const{hyphenatedStrings:N,remainingWord:R}=dSe(b,a,"-",f);w.push(m,...N),m=R}else A+_>=a?(w.push(m),m=b):m=[m,b].filter(Boolean).join(" ");E+1===p.length&&w.push(m)}),w.filter(b=>b!=="").join(f.joinWith)},(i,a,f)=>`${i}${a}${f.fontSize}${f.fontWeight}${f.fontFamily}${f.joinWith}`),dSe=jA((i,a,f="-",p)=>{p=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},p);const w=[...i],m=[];let b="";return w.forEach((E,_)=>{const A=`${b}${E}`;if(d3(A,p)>=a){const B=_+1,N=w.length===B,R=`${A}${f}`;m.push(N?A:R),b=""}else b=A}),{hyphenatedStrings:m,remainingWord:b}},(i,a,f="-",p)=>`${i}${a}${f}${p.fontSize}${p.fontWeight}${p.fontFamily}`);function odt(i,a){return cdt(i,a).height}function d3(i,a){return cdt(i,a).width}const cdt=jA((i,a)=>{const{fontSize:f=12,fontFamily:p="Arial",fontWeight:w=400}=a;if(!i)return{width:0,height:0};const[,m]=VA(f),b=["sans-serif",p],E=i.split(Kr.lineBreakRegex),_=[],A=yr("body");if(!A.remove)return{width:0,height:0,lineHeight:0};const I=A.append("svg");for(const N of b){let R=0;const z={width:0,height:0,lineHeight:0};for(const W of E){const et=hSe();et.text=W||jIt;const st=fSe(I,et).style("font-size",m).style("font-weight",w).style("font-family",N),at=(st._groups||st)[0][0].getBBox();if(at.width===0&&at.height===0)throw new Error("svg element not in render tree");z.width=Math.round(Math.max(z.width,at.width)),R=Math.round(at.height),z.height+=R,z.lineHeight=Math.round(Math.max(z.lineHeight,R))}_.push(z)}I.remove();const B=isNaN(_[1].height)||isNaN(_[1].width)||isNaN(_[1].lineHeight)||_[0].height>_[1].height&&_[0].width>_[1].width&&_[0].lineHeight>_[1].lineHeight?0:1;return _[B]},(i,a)=>`${i}${a.fontSize}${a.fontWeight}${a.fontFamily}`);class gSe{constructor(a=!1,f){this.count=0,this.count=f?f.length:0,this.next=a?()=>this.count++:()=>Date.now()}}let OW;const pSe=function(i){return OW=OW||document.createElement("div"),i=escape(i).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),OW.innerHTML=i,unescape(OW.textContent)};function WIt(i){return"str"in i}const bSe=(i,a,f,p)=>{var m;if(!p)return;const w=(m=i.node())==null?void 0:m.getBBox();w&&i.append("text").text(p).attr("x",w.x+w.width/2).attr("y",-f).attr("class",a)},VA=i=>{if(typeof i=="number")return[i,i+"px"];const a=parseInt(i??"",10);return Number.isNaN(a)?[void 0,void 0]:i===String(a)?[a,i+"px"]:[a,i]};function rF(i,a){return IW({},i,a)}const $a={assignWithDepth:Z1,wrapLabel:UIt,calculateTextHeight:odt,calculateTextWidth:d3,calculateTextDimensions:cdt,cleanAndMerge:rF,detectInit:eSe,detectDirective:$It,isSubstringInArray:rSe,interpolateToCurve:ew,calcLabelPosition:oSe,calcCardinalityPosition:cSe,calcTerminalLabelPosition:uSe,formatUrl:iSe,getStylesFromArray:im,generateId:VIt,random:GIt,runFunc:sSe,entityDecode:pSe,insertTitle:bSe,parseFontSize:VA,InitIDGenerator:gSe};var YIt="comm",KIt="rule",XIt="decl",wSe="@import",vSe="@keyframes",mSe=Math.abs,udt=String.fromCharCode;function QIt(i){return i.trim()}function ldt(i,a,f){return i.replace(a,f)}function ySe(i,a){return i.indexOf(a)}function iF(i,a){return i.charCodeAt(a)|0}function sF(i,a,f){return i.slice(a,f)}function uk(i){return i.length}function ZIt(i){return i.length}function PW(i,a){return a.push(i),i}var FW=1,GA=1,JIt=0,nw=0,Of=0,UA="";function hdt(i,a,f,p,w,m,b){return{value:i,root:a,parent:f,type:p,props:w,children:m,line:FW,column:GA,length:b,return:""}}function xSe(){return Of}function kSe(){return Of=nw>0?iF(UA,--nw):0,GA--,Of===10&&(GA=1,FW--),Of}function sm(){return Of=nw2||fdt(Of)>3?"":" "}function _Se(i,a){for(;--a&&sm()&&!(Of<48||Of>102||Of>57&&Of<65||Of>70&&Of<97););return BW(i,NW()+(a<6&&hT()==32&&sm()==32))}function gdt(i){for(;sm();)switch(Of){case i:return nw;case 34:case 39:i!==34&&i!==39&&gdt(Of);break;case 40:i===41&&gdt(i);break;case 92:sm();break}return nw}function SSe(i,a){for(;sm()&&i+Of!==47+10;)if(i+Of===42+42&&hT()===47)break;return"/*"+BW(a,nw-1)+"*"+udt(i===47?i:sm())}function ASe(i){for(;!fdt(hT());)sm();return BW(i,nw)}function LSe(i){return TSe(RW("",null,null,null,[""],i=ESe(i),0,[0],i))}function RW(i,a,f,p,w,m,b,E,_){for(var A=0,I=0,B=b,N=0,R=0,z=0,W=1,et=1,st=1,at=0,bt="",mt=w,yt=m,ft=p,ut=bt;et;)switch(z=at,at=sm()){case 40:if(z!=108&&iF(ut,B-1)==58){ySe(ut+=ldt(ddt(at),"&","&\f"),"&\f")!=-1&&(st=-1);break}case 34:case 39:case 91:ut+=ddt(at);break;case 9:case 10:case 13:case 32:ut+=CSe(z);break;case 92:ut+=_Se(NW()-1,7);continue;case 47:switch(hT()){case 42:case 47:PW(MSe(SSe(sm(),NW()),a,f),_);break;default:ut+="/"}break;case 123*W:E[A++]=uk(ut)*st;case 125*W:case 59:case 0:switch(at){case 0:case 125:et=0;case 59+I:R>0&&uk(ut)-B&&PW(R>32?eOt(ut+";",p,f,B-1):eOt(ldt(ut," ","")+";",p,f,B-2),_);break;case 59:ut+=";";default:if(PW(ft=tOt(ut,a,f,A,I,w,E,bt,mt=[],yt=[],B),m),at===123)if(I===0)RW(ut,a,ft,ft,mt,m,B,E,yt);else switch(N===99&&iF(ut,3)===110?100:N){case 100:case 109:case 115:RW(i,ft,ft,p&&PW(tOt(i,ft,ft,0,0,w,E,bt,w,mt=[],B),yt),w,yt,B,E,p?mt:yt);break;default:RW(ut,ft,ft,ft,[""],yt,0,E,yt)}}A=I=R=0,W=st=1,bt=ut="",B=b;break;case 58:B=1+uk(ut),R=z;default:if(W<1){if(at==123)--W;else if(at==125&&W++==0&&kSe()==125)continue}switch(ut+=udt(at),at*W){case 38:st=I>0?1:(ut+="\f",-1);break;case 44:E[A++]=(uk(ut)-1)*st,st=1;break;case 64:hT()===45&&(ut+=ddt(sm())),N=hT(),I=B=uk(bt=ut+=ASe(NW())),at++;break;case 45:z===45&&uk(ut)==2&&(W=0)}}return m}function tOt(i,a,f,p,w,m,b,E,_,A,I){for(var B=w-1,N=w===0?m:[""],R=ZIt(N),z=0,W=0,et=0;z0?N[st]+" "+at:ldt(at,/&\f/g,N[st])))&&(_[et++]=bt);return hdt(i,a,f,w===0?KIt:E,_,A,I)}function MSe(i,a,f){return hdt(i,a,f,YIt,udt(xSe()),sF(i,2,-2),0)}function eOt(i,a,f,p){return hdt(i,a,f,XIt,sF(i,0,p),sF(i,p+1,-1),p)}function pdt(i,a){for(var f="",p=ZIt(i),w=0;w{let f=Z1({},i),p={};for(const w of a)aOt(w),p=Z1(p,w);if(f=Z1(f,p),p.theme&&p.theme in T5){const w=Z1({},rOt),m=Z1(w.themeVariables||{},p.themeVariables);f.theme&&f.theme in T5&&(f.themeVariables=T5[f.theme].getThemeVariables(m))}return aF=f,cOt(aF),aF},ISe=i=>(fp=Z1({},WA),fp=Z1(fp,i),i.theme&&T5[i.theme]&&(fp.themeVariables=T5[i.theme].getThemeVariables(i.themeVariables)),jW(fp,YA),fp),OSe=i=>{rOt=Z1({},i)},PSe=i=>(fp=Z1(fp,i),jW(fp,YA),fp),iOt=()=>Z1({},fp),sOt=i=>(cOt(i),Z1(aF,i),Fd()),Fd=()=>Z1({},aF),aOt=i=>{i&&(["secure",...fp.secure??[]].forEach(a=>{Object.hasOwn(i,a)&&(Ut.debug(`Denied attempt to modify a secure key ${a}`,i[a]),delete i[a])}),Object.keys(i).forEach(a=>{a.startsWith("__")&&delete i[a]}),Object.keys(i).forEach(a=>{typeof i[a]=="string"&&(i[a].includes("<")||i[a].includes(">")||i[a].includes("url(data:"))&&delete i[a],typeof i[a]=="object"&&aOt(i[a])}))},FSe=i=>{mW(i),i.fontFamily&&(!i.themeVariables||!i.themeVariables.fontFamily)&&(i.themeVariables={fontFamily:i.fontFamily}),YA.push(i),jW(fp,YA)},$W=(i=fp)=>{YA=[],jW(i,YA)},NSe={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},oOt={},BSe=i=>{oOt[i]||(Ut.warn(NSe[i]),oOt[i]=!0)},cOt=i=>{i&&(i.lazyLoadedDiagrams||i.loadExternalDiagramsAtStartup)&&BSe("LAZY_LOAD_DEPRECATED")},uOt="c4",RSe={id:uOt,detector:i=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>nIe);return{id:uOt,diagram:i}}},lOt="flowchart",jSe={id:lOt,detector:(i,a)=>{var f,p;return((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="dagre-wrapper"||((p=a==null?void 0:a.flowchart)==null?void 0:p.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>cze);return{id:lOt,diagram:i}}},hOt="flowchart-v2",$Se={id:hOt,detector:(i,a)=>{var f,p,w;return((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="dagre-d3"||((p=a==null?void 0:a.flowchart)==null?void 0:p.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)&&((w=a==null?void 0:a.flowchart)==null?void 0:w.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>uze);return{id:hOt,diagram:i}}},fOt="er",zSe={id:fOt,detector:i=>/^\s*erDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Fze);return{id:fOt,diagram:i}}},dOt="gitGraph",qSe={id:dOt,detector:i=>/^\s*gitGraph/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>aqe);return{id:dOt,diagram:i}}},gOt="gantt",HSe={id:gOt,detector:i=>/^\s*gantt/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Kqe);return{id:gOt,diagram:i}}},pOt="info",VSe={id:pOt,detector:i=>/^\s*info/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Qqe);return{id:pOt,diagram:i}}},bOt="pie",GSe={id:bOt,detector:i=>/^\s*pie/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>rHe);return{id:bOt,diagram:i}}},wOt="quadrantChart",USe={id:wOt,detector:i=>/^\s*quadrantChart/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>mHe);return{id:wOt,diagram:i}}},vOt="xychart",WSe={id:vOt,detector:i=>/^\s*xychart-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>HHe);return{id:vOt,diagram:i}}},mOt="requirement",YSe={id:mOt,detector:i=>/^\s*requirement(Diagram)?/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>JHe);return{id:mOt,diagram:i}}},yOt="sequence",KSe={id:yOt,detector:i=>/^\s*sequenceDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>iGe);return{id:yOt,diagram:i}}},xOt="class",XSe={id:xOt,detector:(i,a)=>{var f;return((f=a==null?void 0:a.class)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>AGe);return{id:xOt,diagram:i}}},kOt="classDiagram",QSe={id:kOt,detector:(i,a)=>{var f;return/^\s*classDiagram/.test(i)&&((f=a==null?void 0:a.class)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>PGe);return{id:kOt,diagram:i}}},EOt="state",ZSe={id:EOt,detector:(i,a)=>{var f;return((f=a==null?void 0:a.state)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>xUe);return{id:EOt,diagram:i}}},TOt="stateDiagram",JSe={id:TOt,detector:(i,a)=>{var f;return!!(/^\s*stateDiagram-v2/.test(i)||/^\s*stateDiagram/.test(i)&&((f=a==null?void 0:a.state)==null?void 0:f.defaultRenderer)==="dagre-wrapper")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>$Ue);return{id:TOt,diagram:i}}},COt="journey",tAe={id:COt,detector:i=>/^\s*journey/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>sWe);return{id:COt,diagram:i}}},eAe=function(i,a){for(let f of a)i.attr(f[0],f[1])},nAe=function(i,a,f){let p=new Map;return f?(p.set("width","100%"),p.set("style",`max-width: ${a}px;`)):(p.set("height",i),p.set("width",a)),p},k0=function(i,a,f,p){const w=nAe(a,f,p);eAe(i,w)},fT=function(i,a,f,p){const w=a.node().getBBox(),m=w.width,b=w.height;Ut.info(`SVG bounds: ${m}x${b}`,w);let E=0,_=0;Ut.info(`Graph bounds: ${E}x${_}`,i),E=m+f*2,_=b+f*2,Ut.info(`Calculated bounds: ${E}x${_}`),k0(a,_,E,p);const A=`${w.x-f} ${w.y-f} ${w.width+2*f} ${w.height+2*f}`;a.attr("viewBox",A)},zW={},rAe=(i,a,f)=>{let p="";return i in zW&&zW[i]?p=zW[i](f):Ut.warn(`No theme found for ${i}`),` & { + font-family: ${f.fontFamily}; + font-size: ${f.fontSize}; + fill: ${f.textColor} + } + + /* Classes common for multiple diagrams */ + + & .error-icon { + fill: ${f.errorBkgColor}; + } + & .error-text { + fill: ${f.errorTextColor}; + stroke: ${f.errorTextColor}; + } + + & .edge-thickness-normal { + stroke-width: 2px; + } + & .edge-thickness-thick { + stroke-width: 3.5px + } + & .edge-pattern-solid { + stroke-dasharray: 0; + } + + & .edge-pattern-dashed{ + stroke-dasharray: 3; + } + .edge-pattern-dotted { + stroke-dasharray: 2; + } + + & .marker { + fill: ${f.lineColor}; + stroke: ${f.lineColor}; + } + & .marker.cross { + stroke: ${f.lineColor}; + } + + & svg { + font-family: ${f.fontFamily}; + font-size: ${f.fontSize}; + } + + ${p} + + ${a} +`},iAe=(i,a)=>{a!==void 0&&(zW[i]=a)},sAe=rAe;let bdt="",wdt="",vdt="";const mdt=i=>Q1(i,Fd()),hg=()=>{bdt="",vdt="",wdt=""},E0=i=>{bdt=mdt(i).replace(/^\s+/g,"")},fg=()=>bdt,dg=i=>{vdt=mdt(i).replace(/\n\s+/g,` +`)},gg=()=>vdt,Nb=i=>{wdt=mdt(i)},pg=()=>wdt,_Ot=Object.freeze(Object.defineProperty({__proto__:null,clear:hg,getAccDescription:gg,getAccTitle:fg,getDiagramTitle:pg,setAccDescription:dg,setAccTitle:E0,setDiagramTitle:Nb},Symbol.toStringTag,{value:"Module"})),aAe=Ut,oAe=Xft,Oe=Fd,cAe=sOt,SOt=WA,uAe=i=>Q1(i,Oe()),AOt=fT,lAe=()=>_Ot,qW={},HW=(i,a,f)=>{var p;if(qW[i])throw new Error(`Diagram ${i} already registered.`);qW[i]=a,f&&uIt(i,f),iAe(i,a.styles),(p=a.injectUtils)==null||p.call(a,aAe,oAe,Oe,uAe,AOt,lAe(),()=>{})},ydt=i=>{if(i in qW)return qW[i];throw new hAe(i)};class hAe extends Error{constructor(a){super(`Diagram ${a} not found.`)}}const VW=i=>{var w;const{securityLevel:a}=Oe();let f=yr("body");if(a==="sandbox"){const b=((w=yr(`#i${i}`).node())==null?void 0:w.contentDocument)??document;f=yr(b.body)}return f.select(`#${i}`)},LOt={draw:(i,a,f)=>{Ut.debug(`renering svg for syntax error +`);const p=VW(a);p.attr("viewBox","0 0 2412 512"),k0(p,100,512,!0);const w=p.append("g");w.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),w.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),w.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),w.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),w.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),w.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),w.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),w.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${f}`)}},fAe=LOt,dAe={db:{},renderer:LOt,parser:{parser:{yy:{}},parse:()=>{}}},MOt="flowchart-elk",gAe={id:MOt,detector:(i,a)=>{var f;return!!(/^\s*flowchart-elk/.test(i)||/^\s*flowchart|graph/.test(i)&&((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="elk")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>xWe);return{id:MOt,diagram:i}}},DOt="timeline",pAe={id:DOt,detector:i=>/^\s*timeline/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>$We);return{id:DOt,diagram:i}}},IOt="mindmap",bAe={id:IOt,detector:i=>/^\s*mindmap/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>bYe);return{id:IOt,diagram:i}}},OOt="sankey",wAe={id:OOt,detector:i=>/^\s*sankey-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>UYe);return{id:OOt,diagram:i}}};let POt=!1;const xdt=()=>{POt||(POt=!0,HW("error",dAe,i=>i.toLowerCase().trim()==="error"),HW("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},i=>i.toLowerCase().trimStart().startsWith("---")),cIt(RSe,QSe,XSe,zSe,HSe,VSe,GSe,YSe,KSe,gAe,$Se,jSe,bAe,pAe,qSe,JSe,ZSe,tAe,USe,wAe,WSe))};class FOt{constructor(a,f={}){this.text=a,this.metadata=f,this.type="graph",this.text+=` +`;const p=Fd();try{this.type=yW(a,p)}catch(m){this.type="error",this.detectError=m}const w=ydt(this.type);Ut.debug("Type "+this.type),this.db=w.db,this.renderer=w.renderer,this.parser=w.parser,this.parser.parser.yy=this.db,this.init=w.init,this.parse()}parse(){var f,p,w,m,b;if(this.detectError)throw this.detectError;(p=(f=this.db).clear)==null||p.call(f);const a=Fd();(w=this.init)==null||w.call(this,a),this.metadata.title&&((b=(m=this.db).setDiagramTitle)==null||b.call(m,this.metadata.title)),this.parser.parse(this.text)}async render(a,f){await this.renderer.draw(this.text,a,f,this)}getParser(){return this.parser}getType(){return this.type}}const kdt=async(i,a={})=>{const f=yW(i,Fd());try{ydt(f)}catch{const w=ECe(f);if(!w)throw new oIt(`Diagram ${f} not found.`);const{id:m,diagram:b}=await w();HW(m,b)}return new FOt(i,a)};let Edt=[];const vAe=i=>{Edt.push(i)},mAe=()=>{Edt.forEach(i=>{i()}),Edt=[]};var yAe=kIt(Object.keys,Object);const xAe=yAe;var kAe=Object.prototype,EAe=kAe.hasOwnProperty;function NOt(i){if(!_W(i))return xAe(i);var a=[];for(var f in Object(i))EAe.call(i,f)&&f!="constructor"&&a.push(f);return a}var TAe=oT(nm,"DataView");const Tdt=TAe;var CAe=oT(nm,"Promise");const Cdt=CAe;var _Ae=oT(nm,"Set");const KA=_Ae;var SAe=oT(nm,"WeakMap");const _dt=SAe;var BOt="[object Map]",AAe="[object Object]",ROt="[object Promise]",jOt="[object Set]",$Ot="[object WeakMap]",zOt="[object DataView]",LAe=aT(Tdt),MAe=aT(JP),DAe=aT(Cdt),IAe=aT(KA),OAe=aT(_dt),dT=sT;(Tdt&&dT(new Tdt(new ArrayBuffer(1)))!=zOt||JP&&dT(new JP)!=BOt||Cdt&&dT(Cdt.resolve())!=ROt||KA&&dT(new KA)!=jOt||_dt&&dT(new _dt)!=$Ot)&&(dT=function(i){var a=sT(i),f=a==AAe?i.constructor:void 0,p=f?aT(f):"";if(p)switch(p){case LAe:return zOt;case MAe:return BOt;case DAe:return ROt;case IAe:return jOt;case OAe:return $Ot}return a});const XA=dT;var PAe="[object Map]",FAe="[object Set]",NAe=Object.prototype,BAe=NAe.hasOwnProperty;function oF(i){if(i==null)return!0;if(ck(i)&&(If(i)||typeof i=="string"||typeof i.splice=="function"||zA(i)||AW(i)||$A(i)))return!i.length;var a=XA(i);if(a==PAe||a==FAe)return!i.size;if(_W(i))return!NOt(i).length;for(var f in i)if(BAe.call(i,f))return!1;return!0}const RAe="graphics-document document";function jAe(i,a){i.attr("role",RAe),a!==""&&i.attr("aria-roledescription",a)}function $Ae(i,a,f,p){if(i.insert!==void 0){if(f){const w=`chart-desc-${p}`;i.attr("aria-describedby",w),i.insert("desc",":first-child").attr("id",w).text(f)}if(a){const w=`chart-title-${p}`;i.attr("aria-labelledby",w),i.insert("title",":first-child").attr("id",w).text(a)}}}const zAe=i=>i.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function qOt(i){return typeof i>"u"||i===null}function qAe(i){return typeof i=="object"&&i!==null}function HAe(i){return Array.isArray(i)?i:qOt(i)?[]:[i]}function VAe(i,a){var f,p,w,m;if(a)for(m=Object.keys(a),f=0,p=m.length;fE&&(m=" ... ",a=p-E+m.length),f-p>E&&(b=" ...",f=p+E-b.length),{str:m+i.slice(a,f).replace(/\t/g,"→")+b,pos:p-a+m.length}}function Adt(i,a){return bg.repeat(" ",a-i.length)+i}function JAe(i,a){if(a=Object.create(a||null),!i.buffer)return null;a.maxLength||(a.maxLength=79),typeof a.indent!="number"&&(a.indent=1),typeof a.linesBefore!="number"&&(a.linesBefore=3),typeof a.linesAfter!="number"&&(a.linesAfter=2);for(var f=/\r?\n|\r|\0/g,p=[0],w=[],m,b=-1;m=f.exec(i.buffer);)w.push(m.index),p.push(m.index+m[0].length),i.position<=m.index&&b<0&&(b=p.length-2);b<0&&(b=p.length-1);var E="",_,A,I=Math.min(i.line+a.linesAfter,w.length).toString().length,B=a.maxLength-(a.indent+I+3);for(_=1;_<=a.linesBefore&&!(b-_<0);_++)A=Sdt(i.buffer,p[b-_],w[b-_],i.position-(p[b]-p[b-_]),B),E=bg.repeat(" ",a.indent)+Adt((i.line-_+1).toString(),I)+" | "+A.str+` +`+E;for(A=Sdt(i.buffer,p[b],w[b],i.position,B),E+=bg.repeat(" ",a.indent)+Adt((i.line+1).toString(),I)+" | "+A.str+` +`,E+=bg.repeat("-",a.indent+I+3+A.pos)+`^ +`,_=1;_<=a.linesAfter&&!(b+_>=w.length);_++)A=Sdt(i.buffer,p[b+_],w[b+_],i.position-(p[b]-p[b+_]),B),E+=bg.repeat(" ",a.indent)+Adt((i.line+_+1).toString(),I)+" | "+A.str+` +`;return E.replace(/\n$/,"")}var tLe=JAe,eLe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],nLe=["scalar","sequence","mapping"];function rLe(i){var a={};return i!==null&&Object.keys(i).forEach(function(f){i[f].forEach(function(p){a[String(p)]=f})}),a}function iLe(i,a){if(a=a||{},Object.keys(a).forEach(function(f){if(eLe.indexOf(f)===-1)throw new A5('Unknown option "'+f+'" is met in definition of "'+i+'" YAML type.')}),this.options=a,this.tag=i,this.kind=a.kind||null,this.resolve=a.resolve||function(){return!0},this.construct=a.construct||function(f){return f},this.instanceOf=a.instanceOf||null,this.predicate=a.predicate||null,this.represent=a.represent||null,this.representName=a.representName||null,this.defaultStyle=a.defaultStyle||null,this.multi=a.multi||!1,this.styleAliases=rLe(a.styleAliases||null),nLe.indexOf(this.kind)===-1)throw new A5('Unknown kind "'+this.kind+'" is specified for "'+i+'" YAML type.')}var T0=iLe;function VOt(i,a){var f=[];return i[a].forEach(function(p){var w=f.length;f.forEach(function(m,b){m.tag===p.tag&&m.kind===p.kind&&m.multi===p.multi&&(w=b)}),f[w]=p}),f}function sLe(){var i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},a,f;function p(w){w.multi?(i.multi[w.kind].push(w),i.multi.fallback.push(w)):i[w.kind][w.tag]=i.fallback[w.tag]=w}for(a=0,f=arguments.length;a=0?"0b"+i.toString(2):"-0b"+i.toString(2).slice(1)},octal:function(i){return i>=0?"0o"+i.toString(8):"-0o"+i.toString(8).slice(1)},decimal:function(i){return i.toString(10)},hexadecimal:function(i){return i>=0?"0x"+i.toString(16).toUpperCase():"-0x"+i.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),_Le=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function SLe(i){return!(i===null||!_Le.test(i)||i[i.length-1]==="_")}function ALe(i){var a,f;return a=i.replace(/_/g,"").toLowerCase(),f=a[0]==="-"?-1:1,"+-".indexOf(a[0])>=0&&(a=a.slice(1)),a===".inf"?f===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:a===".nan"?NaN:f*parseFloat(a,10)}var LLe=/^[-+]?[0-9]+e/;function MLe(i,a){var f;if(isNaN(i))switch(a){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===i)switch(a){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===i)switch(a){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(bg.isNegativeZero(i))return"-0.0";return f=i.toString(10),LLe.test(f)?f.replace("e",".e"):f}function DLe(i){return Object.prototype.toString.call(i)==="[object Number]"&&(i%1!==0||bg.isNegativeZero(i))}var ILe=new T0("tag:yaml.org,2002:float",{kind:"scalar",resolve:SLe,construct:ALe,predicate:DLe,represent:MLe,defaultStyle:"lowercase"}),GOt=lLe.extend({implicit:[gLe,vLe,CLe,ILe]}),OLe=GOt,UOt=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),WOt=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function PLe(i){return i===null?!1:UOt.exec(i)!==null||WOt.exec(i)!==null}function FLe(i){var a,f,p,w,m,b,E,_=0,A=null,I,B,N;if(a=UOt.exec(i),a===null&&(a=WOt.exec(i)),a===null)throw new Error("Date resolve error");if(f=+a[1],p=+a[2]-1,w=+a[3],!a[4])return new Date(Date.UTC(f,p,w));if(m=+a[4],b=+a[5],E=+a[6],a[7]){for(_=a[7].slice(0,3);_.length<3;)_+="0";_=+_}return a[9]&&(I=+a[10],B=+(a[11]||0),A=(I*60+B)*6e4,a[9]==="-"&&(A=-A)),N=new Date(Date.UTC(f,p,w,m,b,E,_)),A&&N.setTime(N.getTime()-A),N}function NLe(i){return i.toISOString()}var BLe=new T0("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:PLe,construct:FLe,instanceOf:Date,represent:NLe});function RLe(i){return i==="<<"||i===null}var jLe=new T0("tag:yaml.org,2002:merge",{kind:"scalar",resolve:RLe}),Mdt=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function $Le(i){if(i===null)return!1;var a,f,p=0,w=i.length,m=Mdt;for(f=0;f64)){if(a<0)return!1;p+=6}return p%8===0}function zLe(i){var a,f,p=i.replace(/[\r\n=]/g,""),w=p.length,m=Mdt,b=0,E=[];for(a=0;a>16&255),E.push(b>>8&255),E.push(b&255)),b=b<<6|m.indexOf(p.charAt(a));return f=w%4*6,f===0?(E.push(b>>16&255),E.push(b>>8&255),E.push(b&255)):f===18?(E.push(b>>10&255),E.push(b>>2&255)):f===12&&E.push(b>>4&255),new Uint8Array(E)}function qLe(i){var a="",f=0,p,w,m=i.length,b=Mdt;for(p=0;p>18&63],a+=b[f>>12&63],a+=b[f>>6&63],a+=b[f&63]),f=(f<<8)+i[p];return w=m%3,w===0?(a+=b[f>>18&63],a+=b[f>>12&63],a+=b[f>>6&63],a+=b[f&63]):w===2?(a+=b[f>>10&63],a+=b[f>>4&63],a+=b[f<<2&63],a+=b[64]):w===1&&(a+=b[f>>2&63],a+=b[f<<4&63],a+=b[64],a+=b[64]),a}function HLe(i){return Object.prototype.toString.call(i)==="[object Uint8Array]"}var VLe=new T0("tag:yaml.org,2002:binary",{kind:"scalar",resolve:$Le,construct:zLe,predicate:HLe,represent:qLe}),GLe=Object.prototype.hasOwnProperty,ULe=Object.prototype.toString;function WLe(i){if(i===null)return!0;var a=[],f,p,w,m,b,E=i;for(f=0,p=E.length;f>10)+55296,(i-65536&1023)+56320)}for(var ePt=new Array(256),nPt=new Array(256),ZA=0;ZA<256;ZA++)ePt[ZA]=tPt(ZA)?1:0,nPt[ZA]=tPt(ZA);function dMe(i,a){this.input=i,this.filename=a.filename||null,this.schema=a.schema||iMe,this.onWarning=a.onWarning||null,this.legacy=a.legacy||!1,this.json=a.json||!1,this.listener=a.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=i.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function rPt(i,a){var f={name:i.filename,buffer:i.input.slice(0,-1),position:i.position,line:i.line,column:i.position-i.lineStart};return f.snippet=tLe(f),new A5(a,f)}function Ss(i,a){throw rPt(i,a)}function WW(i,a){i.onWarning&&i.onWarning.call(null,rPt(i,a))}var iPt={YAML:function(a,f,p){var w,m,b;a.version!==null&&Ss(a,"duplication of %YAML directive"),p.length!==1&&Ss(a,"YAML directive accepts exactly one argument"),w=/^([0-9]+)\.([0-9]+)$/.exec(p[0]),w===null&&Ss(a,"ill-formed argument of the YAML directive"),m=parseInt(w[1],10),b=parseInt(w[2],10),m!==1&&Ss(a,"unacceptable YAML version of the document"),a.version=p[0],a.checkLineBreaks=b<2,b!==1&&b!==2&&WW(a,"unsupported YAML version of the document")},TAG:function(a,f,p){var w,m;p.length!==2&&Ss(a,"TAG directive accepts exactly two arguments"),w=p[0],m=p[1],QOt.test(w)||Ss(a,"ill-formed tag handle (first argument) of the TAG directive"),lk.call(a.tagMap,w)&&Ss(a,'there is a previously declared suffix for "'+w+'" tag handle'),ZOt.test(m)||Ss(a,"ill-formed tag prefix (second argument) of the TAG directive");try{m=decodeURIComponent(m)}catch{Ss(a,"tag prefix is malformed: "+m)}a.tagMap[w]=m}};function hk(i,a,f,p){var w,m,b,E;if(a1&&(i.result+=bg.repeat(` +`,a-1))}function gMe(i,a,f){var p,w,m,b,E,_,A,I,B=i.kind,N=i.result,R;if(R=i.input.charCodeAt(i.position),dp(R)||QA(R)||R===35||R===38||R===42||R===33||R===124||R===62||R===39||R===34||R===37||R===64||R===96||(R===63||R===45)&&(w=i.input.charCodeAt(i.position+1),dp(w)||f&&QA(w)))return!1;for(i.kind="scalar",i.result="",m=b=i.position,E=!1;R!==0;){if(R===58){if(w=i.input.charCodeAt(i.position+1),dp(w)||f&&QA(w))break}else if(R===35){if(p=i.input.charCodeAt(i.position-1),dp(p))break}else{if(i.position===i.lineStart&&YW(i)||f&&QA(R))break;if(g3(R))if(_=i.line,A=i.lineStart,I=i.lineIndent,Pf(i,!1,-1),i.lineIndent>=a){E=!0,R=i.input.charCodeAt(i.position);continue}else{i.position=b,i.line=_,i.lineStart=A,i.lineIndent=I;break}}E&&(hk(i,m,b,!1),Odt(i,i.line-_),m=b=i.position,E=!1),gT(R)||(b=i.position+1),R=i.input.charCodeAt(++i.position)}return hk(i,m,b,!1),i.result?!0:(i.kind=B,i.result=N,!1)}function pMe(i,a){var f,p,w;if(f=i.input.charCodeAt(i.position),f!==39)return!1;for(i.kind="scalar",i.result="",i.position++,p=w=i.position;(f=i.input.charCodeAt(i.position))!==0;)if(f===39)if(hk(i,p,i.position,!0),f=i.input.charCodeAt(++i.position),f===39)p=i.position,i.position++,w=i.position;else return!0;else g3(f)?(hk(i,p,w,!0),Odt(i,Pf(i,!1,a)),p=w=i.position):i.position===i.lineStart&&YW(i)?Ss(i,"unexpected end of the document within a single quoted scalar"):(i.position++,w=i.position);Ss(i,"unexpected end of the stream within a single quoted scalar")}function bMe(i,a){var f,p,w,m,b,E;if(E=i.input.charCodeAt(i.position),E!==34)return!1;for(i.kind="scalar",i.result="",i.position++,f=p=i.position;(E=i.input.charCodeAt(i.position))!==0;){if(E===34)return hk(i,f,i.position,!0),i.position++,!0;if(E===92){if(hk(i,f,i.position,!0),E=i.input.charCodeAt(++i.position),g3(E))Pf(i,!1,a);else if(E<256&&ePt[E])i.result+=nPt[E],i.position++;else if((b=lMe(E))>0){for(w=b,m=0;w>0;w--)E=i.input.charCodeAt(++i.position),(b=uMe(E))>=0?m=(m<<4)+b:Ss(i,"expected hexadecimal character");i.result+=fMe(m),i.position++}else Ss(i,"unknown escape sequence");f=p=i.position}else g3(E)?(hk(i,f,p,!0),Odt(i,Pf(i,!1,a)),f=p=i.position):i.position===i.lineStart&&YW(i)?Ss(i,"unexpected end of the document within a double quoted scalar"):(i.position++,p=i.position)}Ss(i,"unexpected end of the stream within a double quoted scalar")}function wMe(i,a){var f=!0,p,w,m,b=i.tag,E,_=i.anchor,A,I,B,N,R,z=Object.create(null),W,et,st,at;if(at=i.input.charCodeAt(i.position),at===91)I=93,R=!1,E=[];else if(at===123)I=125,R=!0,E={};else return!1;for(i.anchor!==null&&(i.anchorMap[i.anchor]=E),at=i.input.charCodeAt(++i.position);at!==0;){if(Pf(i,!0,a),at=i.input.charCodeAt(i.position),at===I)return i.position++,i.tag=b,i.anchor=_,i.kind=R?"mapping":"sequence",i.result=E,!0;f?at===44&&Ss(i,"expected the node content, but found ','"):Ss(i,"missed comma between flow collection entries"),et=W=st=null,B=N=!1,at===63&&(A=i.input.charCodeAt(i.position+1),dp(A)&&(B=N=!0,i.position++,Pf(i,!0,a))),p=i.line,w=i.lineStart,m=i.position,tL(i,a,GW,!1,!0),et=i.tag,W=i.result,Pf(i,!0,a),at=i.input.charCodeAt(i.position),(N||i.line===p)&&at===58&&(B=!0,at=i.input.charCodeAt(++i.position),Pf(i,!0,a),tL(i,a,GW,!1,!0),st=i.result),R?JA(i,E,z,et,W,st,p,w,m):B?E.push(JA(i,null,z,et,W,st,p,w,m)):E.push(W),Pf(i,!0,a),at=i.input.charCodeAt(i.position),at===44?(f=!0,at=i.input.charCodeAt(++i.position)):f=!1}Ss(i,"unexpected end of the stream within a flow collection")}function vMe(i,a){var f,p,w=Ddt,m=!1,b=!1,E=a,_=0,A=!1,I,B;if(B=i.input.charCodeAt(i.position),B===124)p=!1;else if(B===62)p=!0;else return!1;for(i.kind="scalar",i.result="";B!==0;)if(B=i.input.charCodeAt(++i.position),B===43||B===45)Ddt===w?w=B===43?XOt:sMe:Ss(i,"repeat of a chomping mode identifier");else if((I=hMe(B))>=0)I===0?Ss(i,"bad explicit indentation width of a block scalar; it cannot be less than one"):b?Ss(i,"repeat of an indentation width identifier"):(E=a+I-1,b=!0);else break;if(gT(B)){do B=i.input.charCodeAt(++i.position);while(gT(B));if(B===35)do B=i.input.charCodeAt(++i.position);while(!g3(B)&&B!==0)}for(;B!==0;){for(Idt(i),i.lineIndent=0,B=i.input.charCodeAt(i.position);(!b||i.lineIndentE&&(E=i.lineIndent),g3(B)){_++;continue}if(i.lineIndenta)&&_!==0)Ss(i,"bad indentation of a sequence entry");else if(i.lineIndenta)&&(et&&(b=i.line,E=i.lineStart,_=i.position),tL(i,a,UW,!0,w)&&(et?z=i.result:W=i.result),et||(JA(i,B,N,R,z,W,b,E,_),R=z=W=null),Pf(i,!0,-1),at=i.input.charCodeAt(i.position)),(i.line===m||i.lineIndent>a)&&at!==0)Ss(i,"bad indentation of a mapping entry");else if(i.lineIndenta?_=1:i.lineIndent===a?_=0:i.lineIndenta?_=1:i.lineIndent===a?_=0:i.lineIndent tag; it should be "scalar", not "'+i.kind+'"'),B=0,N=i.implicitTypes.length;B"),i.result!==null&&z.kind!==i.kind&&Ss(i,"unacceptable node kind for !<"+i.tag+'> tag; it should be "'+z.kind+'", not "'+i.kind+'"'),z.resolve(i.result,i.tag)?(i.result=z.construct(i.result,i.tag),i.anchor!==null&&(i.anchorMap[i.anchor]=i.result)):Ss(i,"cannot resolve a node with !<"+i.tag+"> explicit tag")}return i.listener!==null&&i.listener("close",i),i.tag!==null||i.anchor!==null||I}function EMe(i){var a=i.position,f,p,w,m=!1,b;for(i.version=null,i.checkLineBreaks=i.legacy,i.tagMap=Object.create(null),i.anchorMap=Object.create(null);(b=i.input.charCodeAt(i.position))!==0&&(Pf(i,!0,-1),b=i.input.charCodeAt(i.position),!(i.lineIndent>0||b!==37));){for(m=!0,b=i.input.charCodeAt(++i.position),f=i.position;b!==0&&!dp(b);)b=i.input.charCodeAt(++i.position);for(p=i.input.slice(f,i.position),w=[],p.length<1&&Ss(i,"directive name must not be less than one character in length");b!==0;){for(;gT(b);)b=i.input.charCodeAt(++i.position);if(b===35){do b=i.input.charCodeAt(++i.position);while(b!==0&&!g3(b));break}if(g3(b))break;for(f=i.position;b!==0&&!dp(b);)b=i.input.charCodeAt(++i.position);w.push(i.input.slice(f,i.position))}b!==0&&Idt(i),lk.call(iPt,p)?iPt[p](i,p,w):WW(i,'unknown document directive "'+p+'"')}if(Pf(i,!0,-1),i.lineIndent===0&&i.input.charCodeAt(i.position)===45&&i.input.charCodeAt(i.position+1)===45&&i.input.charCodeAt(i.position+2)===45?(i.position+=3,Pf(i,!0,-1)):m&&Ss(i,"directives end mark is expected"),tL(i,i.lineIndent-1,UW,!1,!0),Pf(i,!0,-1),i.checkLineBreaks&&oMe.test(i.input.slice(a,i.position))&&WW(i,"non-ASCII line breaks are interpreted as content"),i.documents.push(i.result),i.position===i.lineStart&&YW(i)){i.input.charCodeAt(i.position)===46&&(i.position+=3,Pf(i,!0,-1));return}if(i.position"u"&&(f=a,a=null);var p=oPt(i,f);if(typeof a!="function")return p;for(var w=0,m=p.length;wi.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(a,f,p)=>"<"+f+p.replace(/="([^"]*)"/g,"='$1'")+">"),OMe=i=>{const{text:a,metadata:f}=DMe(i),{displayMode:p,title:w,config:m={}}=f;return p&&(m.gantt||(m.gantt={}),m.gantt.displayMode=p),{title:w,config:m,text:a}},PMe=i=>{const a=$a.detectInit(i)??{},f=$a.detectDirective(i,"wrap");return Array.isArray(f)?a.wrap=f.some(({type:p})=>{}):(f==null?void 0:f.type)==="wrap"&&(a.wrap=!0),{text:nSe(i),directive:a}};function FMe(i){const a=IMe(i),f=OMe(a),p=PMe(f.text),w=rF(f.config,p.directive);return i=zAe(p.text),{code:i,title:f.title,config:w}}const NMe=5e4,BMe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",RMe="sandbox",jMe="loose",$Me="http://www.w3.org/2000/svg",zMe="http://www.w3.org/1999/xlink",qMe="http://www.w3.org/1999/xhtml",HMe="100%",VMe="100%",GMe="border:0;margin:0;",UMe="margin:0",WMe="allow-top-navigation-by-user-activation allow-popups",YMe='The "iframe" tag is not supported by your browser.',KMe=["foreignobject"],XMe=["dominant-baseline"];function cPt(i){const a=FMe(i);return $W(),FSe(a.config??{}),a}async function QMe(i,a){xdt(),i=cPt(i).code;try{await kdt(i)}catch(f){if(a!=null&&a.suppressErrors)return!1;throw f}return!0}const ZMe=function(i){let a=i;return a=a.replace(/style.*:\S*#.*;/g,function(f){return f.substring(0,f.length-1)}),a=a.replace(/classDef.*:\S*#.*;/g,function(f){return f.substring(0,f.length-1)}),a=a.replace(/#\w+;/g,function(f){const p=f.substring(1,f.length-1);return/^\+?\d+$/.test(p)?"fl°°"+p+"¶ß":"fl°"+p+"¶ß"}),a},uF=function(i){return i.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},uPt=(i,a,f=[])=>` +.${i} ${a} { ${f.join(" !important; ")} !important; }`,JMe=(i,a={})=>{var p;let f="";if(i.themeCSS!==void 0&&(f+=` +${i.themeCSS}`),i.fontFamily!==void 0&&(f+=` +:root { --mermaid-font-family: ${i.fontFamily}}`),i.altFontFamily!==void 0&&(f+=` +:root { --mermaid-alt-font-family: ${i.altFontFamily}}`),!oF(a)){const E=i.htmlLabels||((p=i.flowchart)==null?void 0:p.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const _ in a){const A=a[_];oF(A.styles)||E.forEach(I=>{f+=uPt(A.id,I,A.styles)}),oF(A.textStyles)||(f+=uPt(A.id,"tspan",A.textStyles))}}return f},tDe=(i,a,f,p)=>{const w=JMe(i,f),m=sAe(a,w,i.themeVariables);return pdt(LSe(`${p}{${m}}`),DSe)},eDe=(i="",a,f)=>{let p=i;return!f&&!a&&(p=p.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),p=uF(p),p=p.replace(/
/g,"
"),p},nDe=(i="",a)=>{var w,m;const f=(m=(w=a==null?void 0:a.viewBox)==null?void 0:w.baseVal)!=null&&m.height?a.viewBox.baseVal.height+"px":VMe,p=btoa(''+i+"");return``},lPt=(i,a,f,p,w)=>{const m=i.append("div");m.attr("id",f),p&&m.attr("style",p);const b=m.append("svg").attr("id",a).attr("width","100%").attr("xmlns",$Me);return w&&b.attr("xmlns:xlink",w),b.append("g"),i};function hPt(i,a){return i.append("iframe").attr("id",a).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const rDe=(i,a,f,p)=>{var w,m,b;(w=i.getElementById(a))==null||w.remove(),(m=i.getElementById(f))==null||m.remove(),(b=i.getElementById(p))==null||b.remove()},iDe=async function(i,a,f){var nt,It,Ot,Bt,Et,Z;xdt();const p=cPt(a);a=p.code;const w=Fd();Ut.debug(w),a.length>((w==null?void 0:w.maxTextSize)??NMe)&&(a=BMe);const m="#"+i,b="i"+i,E="#"+b,_="d"+i,A="#"+_;let I=yr("body");const B=w.securityLevel===RMe,N=w.securityLevel===jMe,R=w.fontFamily;if(f!==void 0){if(f&&(f.innerHTML=""),B){const Ct=hPt(yr(f),b);I=yr(Ct.nodes()[0].contentDocument.body),I.node().style.margin=0}else I=yr(f);lPt(I,i,_,`font-family: ${R}`,zMe)}else{if(rDe(document,i,_,b),B){const Ct=hPt(yr("body"),b);I=yr(Ct.nodes()[0].contentDocument.body),I.node().style.margin=0}else I=yr("body");lPt(I,i,_)}a=ZMe(a);let z,W;try{z=await kdt(a,{title:p.title})}catch(Ct){z=new FOt("error"),W=Ct}const et=I.select(A).node(),st=z.type,at=et.firstChild,bt=at.firstChild,mt=(It=(nt=z.renderer).getClasses)==null?void 0:It.call(nt,a,z),yt=tDe(w,st,mt,m),ft=document.createElement("style");ft.innerHTML=yt,at.insertBefore(ft,bt);try{await z.renderer.draw(a,i,nOt,z)}catch(Ct){throw fAe.draw(a,i,nOt),Ct}const ut=I.select(`${A} svg`),vt=(Bt=(Ot=z.db).getAccTitle)==null?void 0:Bt.call(Ot),X=(Z=(Et=z.db).getAccDescription)==null?void 0:Z.call(Et);aDe(st,ut,vt,X),I.select(`[id="${i}"]`).selectAll("foreignobject > *").attr("xmlns",qMe);let pt=I.select(A).node().innerHTML;if(Ut.debug("config.arrowMarkerAbsolute",w.arrowMarkerAbsolute),pt=eDe(pt,B,o1(w.arrowMarkerAbsolute)),B){const Ct=I.select(A+" svg").node();pt=nDe(pt,Ct)}else N||(pt=lW.sanitize(pt,{ADD_TAGS:KMe,ADD_ATTR:XMe}));if(mAe(),W)throw W;const Tt=yr(B?E:A).node();return Tt&&"remove"in Tt&&Tt.remove(),{svg:pt,bindFunctions:z.db.bindFunctions}};function sDe(i={}){var f;i!=null&&i.fontFamily&&!((f=i.themeVariables)!=null&&f.fontFamily)&&(i.themeVariables||(i.themeVariables={}),i.themeVariables.fontFamily=i.fontFamily),OSe(i),i!=null&&i.theme&&i.theme in T5?i.themeVariables=T5[i.theme].getThemeVariables(i.themeVariables):i&&(i.themeVariables=T5.default.getThemeVariables(i.themeVariables));const a=typeof i=="object"?ISe(i):iOt();Xft(a.logLevel),xdt()}function aDe(i,a,f,p){jAe(a,i),$Ae(a,f,p,a.attr("id"))}const pT=Object.freeze({render:iDe,parse:QMe,getDiagramFromText:kdt,initialize:sDe,getConfig:Fd,setConfig:sOt,getSiteConfig:iOt,updateSiteConfig:PSe,reset:()=>{$W()},globalReset:()=>{$W(WA)},defaultConfig:WA});Xft(Fd().logLevel),$W(Fd());const oDe=async()=>{Ut.debug("Loading registered diagrams");const a=(await Promise.allSettled(Object.entries(NA).map(async([f,{detector:p,loader:w}])=>{if(w)try{ydt(f)}catch{try{const{diagram:b,id:E}=await w();HW(E,b,p)}catch(b){throw Ut.error(`Failed to load external diagram with key ${f}. Removing from detectors.`),delete NA[f],b}}}))).filter(f=>f.status==="rejected");if(a.length>0){Ut.error(`Failed to load ${a.length} external diagrams`);for(const f of a)Ut.error(f);throw new Error(`Failed to load ${a.length} external diagrams`)}},cDe=(i,a,f)=>{Ut.warn(i),WIt(i)?(f&&f(i.str,i.hash),a.push({...i,message:i.str,error:i})):(f&&f(i),i instanceof Error&&a.push({str:i.message,message:i.message,hash:i.name,error:i}))},fPt=async function(i={querySelector:".mermaid"}){try{await uDe(i)}catch(a){if(WIt(a)&&Ut.error(a.str),Bb.parseError&&Bb.parseError(a),!i.suppressErrors)throw Ut.error("Use the suppressErrors option to suppress these errors"),a}},uDe=async function({postRenderCallback:i,querySelector:a,nodes:f}={querySelector:".mermaid"}){const p=pT.getConfig();Ut.debug(`${i?"":"No "}Callback function found`);let w;if(f)w=f;else if(a)w=document.querySelectorAll(a);else throw new Error("Nodes and querySelector are both undefined");Ut.debug(`Found ${w.length} diagrams`),(p==null?void 0:p.startOnLoad)!==void 0&&(Ut.debug("Start On Load: "+(p==null?void 0:p.startOnLoad)),pT.updateSiteConfig({startOnLoad:p==null?void 0:p.startOnLoad}));const m=new $a.InitIDGenerator(p.deterministicIds,p.deterministicIDSeed);let b;const E=[];for(const _ of Array.from(w)){Ut.info("Rendering diagram: "+_.id);/*! Check if previously processed */if(_.getAttribute("data-processed"))continue;_.setAttribute("data-processed","true");const A=`mermaid-${m.next()}`;b=_.innerHTML,b=xA($a.entityDecode(b)).trim().replace(//gi,"
");const I=$a.detectInit(b);I&&Ut.debug("Detected early reinit: ",I);try{const{svg:B,bindFunctions:N}=await bPt(A,b,_);_.innerHTML=B,i&&await i(A),N&&N(_)}catch(B){cDe(B,E,Bb.parseError)}}if(E.length>0)throw E[0]},dPt=function(i){pT.initialize(i)},lDe=async function(i,a,f){Ut.warn("mermaid.init is deprecated. Please use run instead."),i&&dPt(i);const p={postRenderCallback:f,querySelector:".mermaid"};typeof a=="string"?p.querySelector=a:a&&(a instanceof HTMLElement?p.nodes=[a]:p.nodes=a),await fPt(p)},hDe=async(i,{lazyLoad:a=!0}={})=>{cIt(...i),a===!1&&await oDe()},gPt=function(){if(Bb.startOnLoad){const{startOnLoad:i}=pT.getConfig();i&&Bb.run().catch(a=>Ut.error("Mermaid failed to initialize",a))}};if(typeof document<"u"){/*! + * Wait for document loaded before starting the execution + */window.addEventListener("load",gPt,!1)}const fDe=function(i){Bb.parseError=i},KW=[];let Pdt=!1;const pPt=async()=>{if(!Pdt){for(Pdt=!0;KW.length>0;){const i=KW.shift();if(i)try{await i()}catch(a){Ut.error("Error executing queue",a)}}Pdt=!1}},dDe=async(i,a)=>new Promise((f,p)=>{const w=()=>new Promise((m,b)=>{pT.parse(i,a).then(E=>{m(E),f(E)},E=>{var _;Ut.error("Error parsing",E),(_=Bb.parseError)==null||_.call(Bb,E),b(E),p(E)})});KW.push(w),pPt().catch(p)}),bPt=(i,a,f)=>new Promise((p,w)=>{const m=()=>new Promise((b,E)=>{pT.render(i,a,f).then(_=>{b(_),p(_)},_=>{var A;Ut.error("Error parsing",_),(A=Bb.parseError)==null||A.call(Bb,_),E(_),w(_)})});KW.push(m),pPt().catch(w)}),Bb={startOnLoad:!0,mermaidAPI:pT,parse:dDe,render:bPt,init:lDe,run:fPt,registerExternalDiagrams:hDe,initialize:dPt,parseError:void 0,contentLoaded:gPt,setParseErrorHandler:fDe,detectType:yW};var XW=function(){var i=function(Xi,Er,Xn,di){for(Xn=Xn||{},di=Xi.length;di--;Xn[Xi[di]]=Er);return Xn},a=[1,24],f=[1,25],p=[1,26],w=[1,27],m=[1,28],b=[1,63],E=[1,64],_=[1,65],A=[1,66],I=[1,67],B=[1,68],N=[1,69],R=[1,29],z=[1,30],W=[1,31],et=[1,32],st=[1,33],at=[1,34],bt=[1,35],mt=[1,36],yt=[1,37],ft=[1,38],ut=[1,39],vt=[1,40],X=[1,41],pt=[1,42],U=[1,43],Tt=[1,44],nt=[1,45],It=[1,46],Ot=[1,47],Bt=[1,48],Et=[1,50],Z=[1,51],Ct=[1,52],xt=[1,53],Ht=[1,54],Le=[1,55],Ft=[1,56],gn=[1,57],Se=[1,58],me=[1,59],Ve=[1,60],Ye=[14,42],ce=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ke=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],zt=[1,82],re=[1,83],se=[1,84],Pe=[1,85],te=[12,14,42],Me=[12,14,33,42],de=[12,14,33,42,76,77,79,80],on=[12,33],ni=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Ks={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:function(Er,Xn,di,Ee,Kn,He,Ti){var pn=He.length-1;switch(Kn){case 3:Ee.setDirection("TB");break;case 4:Ee.setDirection("BT");break;case 5:Ee.setDirection("RL");break;case 6:Ee.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Ee.setC4Type(He[pn-3]);break;case 19:Ee.setTitle(He[pn].substring(6)),this.$=He[pn].substring(6);break;case 20:Ee.setAccDescription(He[pn].substring(15)),this.$=He[pn].substring(15);break;case 21:this.$=He[pn].trim(),Ee.setTitle(this.$);break;case 22:case 23:this.$=He[pn].trim(),Ee.setAccDescription(this.$);break;case 28:case 29:He[pn].splice(2,0,"ENTERPRISE"),Ee.addPersonOrSystemBoundary(...He[pn]),this.$=He[pn];break;case 30:Ee.addPersonOrSystemBoundary(...He[pn]),this.$=He[pn];break;case 31:He[pn].splice(2,0,"CONTAINER"),Ee.addContainerBoundary(...He[pn]),this.$=He[pn];break;case 32:Ee.addDeploymentNode("node",...He[pn]),this.$=He[pn];break;case 33:Ee.addDeploymentNode("nodeL",...He[pn]),this.$=He[pn];break;case 34:Ee.addDeploymentNode("nodeR",...He[pn]),this.$=He[pn];break;case 35:Ee.popBoundaryParseStack();break;case 39:Ee.addPersonOrSystem("person",...He[pn]),this.$=He[pn];break;case 40:Ee.addPersonOrSystem("external_person",...He[pn]),this.$=He[pn];break;case 41:Ee.addPersonOrSystem("system",...He[pn]),this.$=He[pn];break;case 42:Ee.addPersonOrSystem("system_db",...He[pn]),this.$=He[pn];break;case 43:Ee.addPersonOrSystem("system_queue",...He[pn]),this.$=He[pn];break;case 44:Ee.addPersonOrSystem("external_system",...He[pn]),this.$=He[pn];break;case 45:Ee.addPersonOrSystem("external_system_db",...He[pn]),this.$=He[pn];break;case 46:Ee.addPersonOrSystem("external_system_queue",...He[pn]),this.$=He[pn];break;case 47:Ee.addContainer("container",...He[pn]),this.$=He[pn];break;case 48:Ee.addContainer("container_db",...He[pn]),this.$=He[pn];break;case 49:Ee.addContainer("container_queue",...He[pn]),this.$=He[pn];break;case 50:Ee.addContainer("external_container",...He[pn]),this.$=He[pn];break;case 51:Ee.addContainer("external_container_db",...He[pn]),this.$=He[pn];break;case 52:Ee.addContainer("external_container_queue",...He[pn]),this.$=He[pn];break;case 53:Ee.addComponent("component",...He[pn]),this.$=He[pn];break;case 54:Ee.addComponent("component_db",...He[pn]),this.$=He[pn];break;case 55:Ee.addComponent("component_queue",...He[pn]),this.$=He[pn];break;case 56:Ee.addComponent("external_component",...He[pn]),this.$=He[pn];break;case 57:Ee.addComponent("external_component_db",...He[pn]),this.$=He[pn];break;case 58:Ee.addComponent("external_component_queue",...He[pn]),this.$=He[pn];break;case 60:Ee.addRel("rel",...He[pn]),this.$=He[pn];break;case 61:Ee.addRel("birel",...He[pn]),this.$=He[pn];break;case 62:Ee.addRel("rel_u",...He[pn]),this.$=He[pn];break;case 63:Ee.addRel("rel_d",...He[pn]),this.$=He[pn];break;case 64:Ee.addRel("rel_l",...He[pn]),this.$=He[pn];break;case 65:Ee.addRel("rel_r",...He[pn]),this.$=He[pn];break;case 66:Ee.addRel("rel_b",...He[pn]),this.$=He[pn];break;case 67:He[pn].splice(0,1),Ee.addRel("rel",...He[pn]),this.$=He[pn];break;case 68:Ee.updateElStyle("update_el_style",...He[pn]),this.$=He[pn];break;case 69:Ee.updateRelStyle("update_rel_style",...He[pn]),this.$=He[pn];break;case 70:Ee.updateLayoutConfig("update_layout_config",...He[pn]),this.$=He[pn];break;case 71:this.$=[He[pn]];break;case 72:He[pn].unshift(He[pn-1]),this.$=He[pn];break;case 73:case 75:this.$=He[pn].trim();break;case 74:let Es={};Es[He[pn-1].trim()]=He[pn].trim(),this.$=Es;break;case 76:this.$="";break}},table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:a,23:f,24:p,26:w,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{13:70,19:20,20:21,21:22,22:a,23:f,24:p,26:w,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{13:71,19:20,20:21,21:22,22:a,23:f,24:p,26:w,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{13:72,19:20,20:21,21:22,22:a,23:f,24:p,26:w,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{13:73,19:20,20:21,21:22,22:a,23:f,24:p,26:w,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{14:[1,74]},i(Ye,[2,13],{43:23,29:49,30:61,32:62,20:75,34:b,36:E,37:_,38:A,39:I,40:B,41:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve}),i(Ye,[2,14]),i(ce,[2,16],{12:[1,76]}),i(Ye,[2,36],{12:[1,77]}),i(ke,[2,19]),i(ke,[2,20]),{25:[1,78]},{27:[1,79]},i(ke,[2,23]),{35:80,75:81,76:zt,77:re,79:se,80:Pe},{35:86,75:81,76:zt,77:re,79:se,80:Pe},{35:87,75:81,76:zt,77:re,79:se,80:Pe},{35:88,75:81,76:zt,77:re,79:se,80:Pe},{35:89,75:81,76:zt,77:re,79:se,80:Pe},{35:90,75:81,76:zt,77:re,79:se,80:Pe},{35:91,75:81,76:zt,77:re,79:se,80:Pe},{35:92,75:81,76:zt,77:re,79:se,80:Pe},{35:93,75:81,76:zt,77:re,79:se,80:Pe},{35:94,75:81,76:zt,77:re,79:se,80:Pe},{35:95,75:81,76:zt,77:re,79:se,80:Pe},{35:96,75:81,76:zt,77:re,79:se,80:Pe},{35:97,75:81,76:zt,77:re,79:se,80:Pe},{35:98,75:81,76:zt,77:re,79:se,80:Pe},{35:99,75:81,76:zt,77:re,79:se,80:Pe},{35:100,75:81,76:zt,77:re,79:se,80:Pe},{35:101,75:81,76:zt,77:re,79:se,80:Pe},{35:102,75:81,76:zt,77:re,79:se,80:Pe},{35:103,75:81,76:zt,77:re,79:se,80:Pe},{35:104,75:81,76:zt,77:re,79:se,80:Pe},i(te,[2,59]),{35:105,75:81,76:zt,77:re,79:se,80:Pe},{35:106,75:81,76:zt,77:re,79:se,80:Pe},{35:107,75:81,76:zt,77:re,79:se,80:Pe},{35:108,75:81,76:zt,77:re,79:se,80:Pe},{35:109,75:81,76:zt,77:re,79:se,80:Pe},{35:110,75:81,76:zt,77:re,79:se,80:Pe},{35:111,75:81,76:zt,77:re,79:se,80:Pe},{35:112,75:81,76:zt,77:re,79:se,80:Pe},{35:113,75:81,76:zt,77:re,79:se,80:Pe},{35:114,75:81,76:zt,77:re,79:se,80:Pe},{35:115,75:81,76:zt,77:re,79:se,80:Pe},{20:116,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{12:[1,118],33:[1,117]},{35:119,75:81,76:zt,77:re,79:se,80:Pe},{35:120,75:81,76:zt,77:re,79:se,80:Pe},{35:121,75:81,76:zt,77:re,79:se,80:Pe},{35:122,75:81,76:zt,77:re,79:se,80:Pe},{35:123,75:81,76:zt,77:re,79:se,80:Pe},{35:124,75:81,76:zt,77:re,79:se,80:Pe},{35:125,75:81,76:zt,77:re,79:se,80:Pe},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},i(Ye,[2,15]),i(ce,[2,17],{21:22,19:130,22:a,23:f,24:p,26:w,28:m}),i(Ye,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:a,23:f,24:p,26:w,28:m,34:b,36:E,37:_,38:A,39:I,40:B,41:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve}),i(ke,[2,21]),i(ke,[2,22]),i(te,[2,39]),i(Me,[2,71],{75:81,35:132,76:zt,77:re,79:se,80:Pe}),i(de,[2,73]),{78:[1,133]},i(de,[2,75]),i(de,[2,76]),i(te,[2,40]),i(te,[2,41]),i(te,[2,42]),i(te,[2,43]),i(te,[2,44]),i(te,[2,45]),i(te,[2,46]),i(te,[2,47]),i(te,[2,48]),i(te,[2,49]),i(te,[2,50]),i(te,[2,51]),i(te,[2,52]),i(te,[2,53]),i(te,[2,54]),i(te,[2,55]),i(te,[2,56]),i(te,[2,57]),i(te,[2,58]),i(te,[2,60]),i(te,[2,61]),i(te,[2,62]),i(te,[2,63]),i(te,[2,64]),i(te,[2,65]),i(te,[2,66]),i(te,[2,67]),i(te,[2,68]),i(te,[2,69]),i(te,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},i(on,[2,28]),i(on,[2,29]),i(on,[2,30]),i(on,[2,31]),i(on,[2,32]),i(on,[2,33]),i(on,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},i(ce,[2,18]),i(Ye,[2,38]),i(Me,[2,72]),i(de,[2,74]),i(te,[2,24]),i(te,[2,35]),i(ni,[2,25]),i(ni,[2,26],{12:[1,138]}),i(ni,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:function(Er,Xn){if(Xn.recoverable)this.trace(Er);else{var di=new Error(Er);throw di.hash=Xn,di}},parse:function(Er){var Xn=this,di=[0],Ee=[],Kn=[null],He=[],Ti=this.table,pn="",Es=0,qa=0,Ma=2,Gs=1,Po=He.slice.call(arguments,1),vs=Object.create(this.lexer),ru={yy:{}};for(var zs in this.yy)Object.prototype.hasOwnProperty.call(this.yy,zs)&&(ru.yy[zs]=this.yy[zs]);vs.setInput(Er,ru.yy),ru.yy.lexer=vs,ru.yy.parser=this,typeof vs.yylloc>"u"&&(vs.yylloc={});var Du=vs.yylloc;He.push(Du);var pm=vs.options&&vs.options.ranges;typeof ru.yy.parseError=="function"?this.parseError=ru.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function uw(){var Dl;return Dl=Ee.pop()||vs.lex()||Gs,typeof Dl!="number"&&(Dl instanceof Array&&(Ee=Dl,Dl=Ee.pop()),Dl=Xn.symbols_[Dl]||Dl),Dl}for(var Wu,th,Fa,Ml,ha={},bc,Cc,pa,Da;;){if(th=di[di.length-1],this.defaultActions[th]?Fa=this.defaultActions[th]:((Wu===null||typeof Wu>"u")&&(Wu=uw()),Fa=Ti[th]&&Ti[th][Wu]),typeof Fa>"u"||!Fa.length||!Fa[0]){var Ha="";Da=[];for(bc in Ti[th])this.terminals_[bc]&&bc>Ma&&Da.push("'"+this.terminals_[bc]+"'");vs.showPosition?Ha="Parse error on line "+(Es+1)+`: +`+vs.showPosition()+` +Expecting `+Da.join(", ")+", got '"+(this.terminals_[Wu]||Wu)+"'":Ha="Parse error on line "+(Es+1)+": Unexpected "+(Wu==Gs?"end of input":"'"+(this.terminals_[Wu]||Wu)+"'"),this.parseError(Ha,{text:vs.match,token:this.terminals_[Wu]||Wu,line:vs.yylineno,loc:Du,expected:Da})}if(Fa[0]instanceof Array&&Fa.length>1)throw new Error("Parse Error: multiple actions possible at state: "+th+", token: "+Wu);switch(Fa[0]){case 1:di.push(Wu),Kn.push(vs.yytext),He.push(vs.yylloc),di.push(Fa[1]),Wu=null,qa=vs.yyleng,pn=vs.yytext,Es=vs.yylineno,Du=vs.yylloc;break;case 2:if(Cc=this.productions_[Fa[1]][1],ha.$=Kn[Kn.length-Cc],ha._$={first_line:He[He.length-(Cc||1)].first_line,last_line:He[He.length-1].last_line,first_column:He[He.length-(Cc||1)].first_column,last_column:He[He.length-1].last_column},pm&&(ha._$.range=[He[He.length-(Cc||1)].range[0],He[He.length-1].range[1]]),Ml=this.performAction.apply(ha,[pn,qa,Es,ru.yy,Fa[1],Kn,He].concat(Po)),typeof Ml<"u")return Ml;Cc&&(di=di.slice(0,-1*Cc*2),Kn=Kn.slice(0,-1*Cc),He=He.slice(0,-1*Cc)),di.push(this.productions_[Fa[1]][0]),Kn.push(ha.$),He.push(ha._$),pa=Ti[di[di.length-2]][di[di.length-1]],di.push(pa);break;case 3:return!0}}return!0}},ws=function(){var Xi={EOF:1,parseError:function(Xn,di){if(this.yy.parser)this.yy.parser.parseError(Xn,di);else throw new Error(Xn)},setInput:function(Er,Xn){return this.yy=Xn||this.yy||{},this._input=Er,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Er=this._input[0];this.yytext+=Er,this.yyleng++,this.offset++,this.match+=Er,this.matched+=Er;var Xn=Er.match(/(?:\r\n?|\n).*/g);return Xn?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Er},unput:function(Er){var Xn=Er.length,di=Er.split(/(?:\r\n?|\n)/g);this._input=Er+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Xn),this.offset-=Xn;var Ee=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),di.length-1&&(this.yylineno-=di.length-1);var Kn=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:di?(di.length===Ee.length?this.yylloc.first_column:0)+Ee[Ee.length-di.length].length-di[0].length:this.yylloc.first_column-Xn},this.options.ranges&&(this.yylloc.range=[Kn[0],Kn[0]+this.yyleng-Xn]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Er){this.unput(this.match.slice(Er))},pastInput:function(){var Er=this.matched.substr(0,this.matched.length-this.match.length);return(Er.length>20?"...":"")+Er.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Er=this.match;return Er.length<20&&(Er+=this._input.substr(0,20-Er.length)),(Er.substr(0,20)+(Er.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Er=this.pastInput(),Xn=new Array(Er.length+1).join("-");return Er+this.upcomingInput()+` +`+Xn+"^"},test_match:function(Er,Xn){var di,Ee,Kn;if(this.options.backtrack_lexer&&(Kn={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Kn.yylloc.range=this.yylloc.range.slice(0))),Ee=Er[0].match(/(?:\r\n?|\n).*/g),Ee&&(this.yylineno+=Ee.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ee?Ee[Ee.length-1].length-Ee[Ee.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Er[0].length},this.yytext+=Er[0],this.match+=Er[0],this.matches=Er,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Er[0].length),this.matched+=Er[0],di=this.performAction.call(this,this.yy,this,Xn,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),di)return di;if(this._backtrack){for(var He in Kn)this[He]=Kn[He];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Er,Xn,di,Ee;this._more||(this.yytext="",this.match="");for(var Kn=this._currentRules(),He=0;HeXn[0].length)){if(Xn=di,Ee=He,this.options.backtrack_lexer){if(Er=this.test_match(di,Kn[He]),Er!==!1)return Er;if(this._backtrack){Xn=!1;continue}else return!1}else if(!this.options.flex)break}return Xn?(Er=this.test_match(Xn,Kn[Ee]),Er!==!1?Er:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Xn=this.next();return Xn||this.lex()},begin:function(Xn){this.conditionStack.push(Xn)},popState:function(){var Xn=this.conditionStack.length-1;return Xn>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Xn){return Xn=this.conditionStack.length-1-Math.abs(Xn||0),Xn>=0?this.conditionStack[Xn]:"INITIAL"},pushState:function(Xn){this.begin(Xn)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Xn,di,Ee,Kn){switch(Ee){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return Xi}();Ks.lexer=ws;function fo(){this.yy={}}return fo.prototype=Ks,Ks.Parser=fo,new fo}();XW.parser=XW;const gDe=XW;let am=[],fk=[""],wg="global",om="",p3=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],lF=[],Fdt="",Ndt=!1,QW=4,ZW=2;var wPt;const pDe=function(){return wPt},bDe=function(i){wPt=Q1(i,Oe())},wDe=function(i,a,f,p,w,m,b,E,_){if(i==null||a===void 0||a===null||f===void 0||f===null||p===void 0||p===null)return;let A={};const I=lF.find(B=>B.from===a&&B.to===f);if(I?A=I:lF.push(A),A.type=i,A.from=a,A.to=f,A.label={text:p},w==null)A.techn={text:""};else if(typeof w=="object"){let[B,N]=Object.entries(w)[0];A[B]={text:N}}else A.techn={text:w};if(m==null)A.descr={text:""};else if(typeof m=="object"){let[B,N]=Object.entries(m)[0];A[B]={text:N}}else A.descr={text:m};if(typeof b=="object"){let[B,N]=Object.entries(b)[0];A[B]=N}else A.sprite=b;if(typeof E=="object"){let[B,N]=Object.entries(E)[0];A[B]=N}else A.tags=E;if(typeof _=="object"){let[B,N]=Object.entries(_)[0];A[B]=N}else A.link=_;A.wrap=dk()},vDe=function(i,a,f,p,w,m,b){if(a===null||f===null)return;let E={};const _=am.find(A=>A.alias===a);if(_&&a===_.alias?E=_:(E.alias=a,am.push(E)),f==null?E.label={text:""}:E.label={text:f},p==null)E.descr={text:""};else if(typeof p=="object"){let[A,I]=Object.entries(p)[0];E[A]={text:I}}else E.descr={text:p};if(typeof w=="object"){let[A,I]=Object.entries(w)[0];E[A]=I}else E.sprite=w;if(typeof m=="object"){let[A,I]=Object.entries(m)[0];E[A]=I}else E.tags=m;if(typeof b=="object"){let[A,I]=Object.entries(b)[0];E[A]=I}else E.link=b;E.typeC4Shape={text:i},E.parentBoundary=wg,E.wrap=dk()},mDe=function(i,a,f,p,w,m,b,E){if(a===null||f===null)return;let _={};const A=am.find(I=>I.alias===a);if(A&&a===A.alias?_=A:(_.alias=a,am.push(_)),f==null?_.label={text:""}:_.label={text:f},p==null)_.techn={text:""};else if(typeof p=="object"){let[I,B]=Object.entries(p)[0];_[I]={text:B}}else _.techn={text:p};if(w==null)_.descr={text:""};else if(typeof w=="object"){let[I,B]=Object.entries(w)[0];_[I]={text:B}}else _.descr={text:w};if(typeof m=="object"){let[I,B]=Object.entries(m)[0];_[I]=B}else _.sprite=m;if(typeof b=="object"){let[I,B]=Object.entries(b)[0];_[I]=B}else _.tags=b;if(typeof E=="object"){let[I,B]=Object.entries(E)[0];_[I]=B}else _.link=E;_.wrap=dk(),_.typeC4Shape={text:i},_.parentBoundary=wg},yDe=function(i,a,f,p,w,m,b,E){if(a===null||f===null)return;let _={};const A=am.find(I=>I.alias===a);if(A&&a===A.alias?_=A:(_.alias=a,am.push(_)),f==null?_.label={text:""}:_.label={text:f},p==null)_.techn={text:""};else if(typeof p=="object"){let[I,B]=Object.entries(p)[0];_[I]={text:B}}else _.techn={text:p};if(w==null)_.descr={text:""};else if(typeof w=="object"){let[I,B]=Object.entries(w)[0];_[I]={text:B}}else _.descr={text:w};if(typeof m=="object"){let[I,B]=Object.entries(m)[0];_[I]=B}else _.sprite=m;if(typeof b=="object"){let[I,B]=Object.entries(b)[0];_[I]=B}else _.tags=b;if(typeof E=="object"){let[I,B]=Object.entries(E)[0];_[I]=B}else _.link=E;_.wrap=dk(),_.typeC4Shape={text:i},_.parentBoundary=wg},xDe=function(i,a,f,p,w){if(i===null||a===null)return;let m={};const b=p3.find(E=>E.alias===i);if(b&&i===b.alias?m=b:(m.alias=i,p3.push(m)),a==null?m.label={text:""}:m.label={text:a},f==null)m.type={text:"system"};else if(typeof f=="object"){let[E,_]=Object.entries(f)[0];m[E]={text:_}}else m.type={text:f};if(typeof p=="object"){let[E,_]=Object.entries(p)[0];m[E]=_}else m.tags=p;if(typeof w=="object"){let[E,_]=Object.entries(w)[0];m[E]=_}else m.link=w;m.parentBoundary=wg,m.wrap=dk(),om=wg,wg=i,fk.push(om)},kDe=function(i,a,f,p,w){if(i===null||a===null)return;let m={};const b=p3.find(E=>E.alias===i);if(b&&i===b.alias?m=b:(m.alias=i,p3.push(m)),a==null?m.label={text:""}:m.label={text:a},f==null)m.type={text:"container"};else if(typeof f=="object"){let[E,_]=Object.entries(f)[0];m[E]={text:_}}else m.type={text:f};if(typeof p=="object"){let[E,_]=Object.entries(p)[0];m[E]=_}else m.tags=p;if(typeof w=="object"){let[E,_]=Object.entries(w)[0];m[E]=_}else m.link=w;m.parentBoundary=wg,m.wrap=dk(),om=wg,wg=i,fk.push(om)},EDe=function(i,a,f,p,w,m,b,E){if(a===null||f===null)return;let _={};const A=p3.find(I=>I.alias===a);if(A&&a===A.alias?_=A:(_.alias=a,p3.push(_)),f==null?_.label={text:""}:_.label={text:f},p==null)_.type={text:"node"};else if(typeof p=="object"){let[I,B]=Object.entries(p)[0];_[I]={text:B}}else _.type={text:p};if(w==null)_.descr={text:""};else if(typeof w=="object"){let[I,B]=Object.entries(w)[0];_[I]={text:B}}else _.descr={text:w};if(typeof b=="object"){let[I,B]=Object.entries(b)[0];_[I]=B}else _.tags=b;if(typeof E=="object"){let[I,B]=Object.entries(E)[0];_[I]=B}else _.link=E;_.nodeType=i,_.parentBoundary=wg,_.wrap=dk(),om=wg,wg=a,fk.push(om)},TDe=function(){wg=om,fk.pop(),om=fk.pop(),fk.push(om)},CDe=function(i,a,f,p,w,m,b,E,_,A,I){let B=am.find(N=>N.alias===a);if(!(B===void 0&&(B=p3.find(N=>N.alias===a),B===void 0))){if(f!=null)if(typeof f=="object"){let[N,R]=Object.entries(f)[0];B[N]=R}else B.bgColor=f;if(p!=null)if(typeof p=="object"){let[N,R]=Object.entries(p)[0];B[N]=R}else B.fontColor=p;if(w!=null)if(typeof w=="object"){let[N,R]=Object.entries(w)[0];B[N]=R}else B.borderColor=w;if(m!=null)if(typeof m=="object"){let[N,R]=Object.entries(m)[0];B[N]=R}else B.shadowing=m;if(b!=null)if(typeof b=="object"){let[N,R]=Object.entries(b)[0];B[N]=R}else B.shape=b;if(E!=null)if(typeof E=="object"){let[N,R]=Object.entries(E)[0];B[N]=R}else B.sprite=E;if(_!=null)if(typeof _=="object"){let[N,R]=Object.entries(_)[0];B[N]=R}else B.techn=_;if(A!=null)if(typeof A=="object"){let[N,R]=Object.entries(A)[0];B[N]=R}else B.legendText=A;if(I!=null)if(typeof I=="object"){let[N,R]=Object.entries(I)[0];B[N]=R}else B.legendSprite=I}},_De=function(i,a,f,p,w,m,b){const E=lF.find(_=>_.from===a&&_.to===f);if(E!==void 0){if(p!=null)if(typeof p=="object"){let[_,A]=Object.entries(p)[0];E[_]=A}else E.textColor=p;if(w!=null)if(typeof w=="object"){let[_,A]=Object.entries(w)[0];E[_]=A}else E.lineColor=w;if(m!=null)if(typeof m=="object"){let[_,A]=Object.entries(m)[0];E[_]=parseInt(A)}else E.offsetX=parseInt(m);if(b!=null)if(typeof b=="object"){let[_,A]=Object.entries(b)[0];E[_]=parseInt(A)}else E.offsetY=parseInt(b)}},SDe=function(i,a,f){let p=QW,w=ZW;if(typeof a=="object"){const m=Object.values(a)[0];p=parseInt(m)}else p=parseInt(a);if(typeof f=="object"){const m=Object.values(f)[0];w=parseInt(m)}else w=parseInt(f);p>=1&&(QW=p),w>=1&&(ZW=w)},ADe=function(){return QW},LDe=function(){return ZW},MDe=function(){return wg},DDe=function(){return om},vPt=function(i){return i==null?am:am.filter(a=>a.parentBoundary===i)},IDe=function(i){return am.find(a=>a.alias===i)},ODe=function(i){return Object.keys(vPt(i))},PDe=function(i){return i==null?p3:p3.filter(a=>a.parentBoundary===i)},FDe=function(){return lF},NDe=function(){return Fdt},BDe=function(i){Ndt=i},dk=function(){return Ndt},Bdt={addPersonOrSystem:vDe,addPersonOrSystemBoundary:xDe,addContainer:mDe,addContainerBoundary:kDe,addComponent:yDe,addDeploymentNode:EDe,popBoundaryParseStack:TDe,addRel:wDe,updateElStyle:CDe,updateRelStyle:_De,updateLayoutConfig:SDe,autoWrap:dk,setWrap:BDe,getC4ShapeArray:vPt,getC4Shape:IDe,getC4ShapeKeys:ODe,getBoundarys:PDe,getCurrentBoundaryParse:MDe,getParentBoundaryParse:DDe,getRels:FDe,getTitle:NDe,getC4Type:pDe,getC4ShapeInRow:ADe,getC4BoundaryInRow:LDe,setAccTitle:E0,getAccTitle:fg,getAccDescription:gg,setAccDescription:dg,getConfig:()=>Oe().c4,clear:function(){am=[],p3=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],om="",wg="global",fk=[""],lF=[],fk=[""],Fdt="",Ndt=!1,QW=4,ZW=2},LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:function(i){Fdt=Q1(i,Oe())},setC4Type:bDe},JW=(i,a)=>{const f=i.append("rect");if(f.attr("x",a.x),f.attr("y",a.y),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("width",a.width),f.attr("height",a.height),a.rx!==void 0&&f.attr("rx",a.rx),a.ry!==void 0&&f.attr("ry",a.ry),a.attrs!==void 0)for(const p in a.attrs)f.attr(p,a.attrs[p]);return a.class!==void 0&&f.attr("class",a.class),f},mPt=(i,a)=>{const f={x:a.startx,y:a.starty,width:a.stopx-a.startx,height:a.stopy-a.starty,fill:a.fill,stroke:a.stroke,class:"rect"};JW(i,f).lower()},RDe=(i,a)=>{const f=a.text.replace(WP," "),p=i.append("text");p.attr("x",a.x),p.attr("y",a.y),p.attr("class","legend"),p.style("text-anchor",a.anchor),a.class!==void 0&&p.attr("class",a.class);const w=p.append("tspan");return w.attr("x",a.x+a.textMargin*2),w.text(f),p},jDe=(i,a,f,p)=>{const w=i.append("image");w.attr("x",a),w.attr("y",f);const m=ik(p);w.attr("xlink:href",m)},$De=(i,a,f,p)=>{const w=i.append("use");w.attr("x",a),w.attr("y",f);const m=ik(p);w.attr("xlink:href",`#${m}`)},bT=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),Rdt=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),jdt=function(i,a){return JW(i,a)},yPt=function(i,a,f,p,w,m){const b=i.append("image");b.attr("width",a),b.attr("height",f),b.attr("x",p),b.attr("y",w);let E=m.startsWith("data:image/png;base64")?m:ik(m);b.attr("xlink:href",E)},zDe=(i,a,f)=>{const p=i.append("g");let w=0;for(let m of a){let b=m.textColor?m.textColor:"#444444",E=m.lineColor?m.lineColor:"#444444",_=m.offsetX?parseInt(m.offsetX):0,A=m.offsetY?parseInt(m.offsetY):0,I="";if(w===0){let N=p.append("line");N.attr("x1",m.startPoint.x),N.attr("y1",m.startPoint.y),N.attr("x2",m.endPoint.x),N.attr("y2",m.endPoint.y),N.attr("stroke-width","1"),N.attr("stroke",E),N.style("fill","none"),m.type!=="rel_b"&&N.attr("marker-end","url("+I+"#arrowhead)"),(m.type==="birel"||m.type==="rel_b")&&N.attr("marker-start","url("+I+"#arrowend)"),w=-1}else{let N=p.append("path");N.attr("fill","none").attr("stroke-width","1").attr("stroke",E).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",m.startPoint.x).replaceAll("starty",m.startPoint.y).replaceAll("controlx",m.startPoint.x+(m.endPoint.x-m.startPoint.x)/2-(m.endPoint.x-m.startPoint.x)/4).replaceAll("controly",m.startPoint.y+(m.endPoint.y-m.startPoint.y)/2).replaceAll("stopx",m.endPoint.x).replaceAll("stopy",m.endPoint.y)),m.type!=="rel_b"&&N.attr("marker-end","url("+I+"#arrowhead)"),(m.type==="birel"||m.type==="rel_b")&&N.attr("marker-start","url("+I+"#arrowend)")}let B=f.messageFont();L5(f)(m.label.text,p,Math.min(m.startPoint.x,m.endPoint.x)+Math.abs(m.endPoint.x-m.startPoint.x)/2+_,Math.min(m.startPoint.y,m.endPoint.y)+Math.abs(m.endPoint.y-m.startPoint.y)/2+A,m.label.width,m.label.height,{fill:b},B),m.techn&&m.techn.text!==""&&(B=f.messageFont(),L5(f)("["+m.techn.text+"]",p,Math.min(m.startPoint.x,m.endPoint.x)+Math.abs(m.endPoint.x-m.startPoint.x)/2+_,Math.min(m.startPoint.y,m.endPoint.y)+Math.abs(m.endPoint.y-m.startPoint.y)/2+f.messageFontSize+5+A,Math.max(m.label.width,m.techn.width),m.techn.height,{fill:b,"font-style":"italic"},B))}},qDe=function(i,a,f){const p=i.append("g");let w=a.bgColor?a.bgColor:"none",m=a.borderColor?a.borderColor:"#444444",b=a.fontColor?a.fontColor:"black",E={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};a.nodeType&&(E={"stroke-width":1});let _={x:a.x,y:a.y,fill:w,stroke:m,width:a.width,height:a.height,rx:2.5,ry:2.5,attrs:E};jdt(p,_);let A=f.boundaryFont();A.fontWeight="bold",A.fontSize=A.fontSize+2,A.fontColor=b,L5(f)(a.label.text,p,a.x,a.y+a.label.Y,a.width,a.height,{fill:"#444444"},A),a.type&&a.type.text!==""&&(A=f.boundaryFont(),A.fontColor=b,L5(f)(a.type.text,p,a.x,a.y+a.type.Y,a.width,a.height,{fill:"#444444"},A)),a.descr&&a.descr.text!==""&&(A=f.boundaryFont(),A.fontSize=A.fontSize-2,A.fontColor=b,L5(f)(a.descr.text,p,a.x,a.y+a.descr.Y,a.width,a.height,{fill:"#444444"},A))},HDe=function(i,a,f){var B;let p=a.bgColor?a.bgColor:f[a.typeC4Shape.text+"_bg_color"],w=a.borderColor?a.borderColor:f[a.typeC4Shape.text+"_border_color"],m=a.fontColor?a.fontColor:"#FFFFFF",b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(a.typeC4Shape.text){case"person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const E=i.append("g");E.attr("class","person-man");const _=bT();switch(a.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":_.x=a.x,_.y=a.y,_.fill=p,_.width=a.width,_.height=a.height,_.stroke=w,_.rx=2.5,_.ry=2.5,_.attrs={"stroke-width":.5},jdt(E,_);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":E.append("path").attr("fill",p).attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2).replaceAll("height",a.height)),E.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":E.append("path").attr("fill",p).attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("width",a.width).replaceAll("half",a.height/2)),E.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",a.x+a.width).replaceAll("starty",a.y).replaceAll("half",a.height/2));break}let A=ZDe(f,a.typeC4Shape.text);switch(E.append("text").attr("fill",m).attr("font-family",A.fontFamily).attr("font-size",A.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",a.typeC4Shape.width).attr("x",a.x+a.width/2-a.typeC4Shape.width/2).attr("y",a.y+a.typeC4Shape.Y).text("<<"+a.typeC4Shape.text+">>"),a.typeC4Shape.text){case"person":case"external_person":yPt(E,48,48,a.x+a.width/2-24,a.y+a.image.Y,b);break}let I=f[a.typeC4Shape.text+"Font"]();return I.fontWeight="bold",I.fontSize=I.fontSize+2,I.fontColor=m,L5(f)(a.label.text,E,a.x,a.y+a.label.Y,a.width,a.height,{fill:m},I),I=f[a.typeC4Shape.text+"Font"](),I.fontColor=m,a.techn&&((B=a.techn)==null?void 0:B.text)!==""?L5(f)(a.techn.text,E,a.x,a.y+a.techn.Y,a.width,a.height,{fill:m,"font-style":"italic"},I):a.type&&a.type.text!==""&&L5(f)(a.type.text,E,a.x,a.y+a.type.Y,a.width,a.height,{fill:m,"font-style":"italic"},I),a.descr&&a.descr.text!==""&&(I=f.personFont(),I.fontColor=m,L5(f)(a.descr.text,E,a.x,a.y+a.descr.Y,a.width,a.height,{fill:m},I)),a.height},VDe=function(i){i.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},GDe=function(i){i.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},UDe=function(i){i.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},WDe=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},YDe=function(i){i.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},KDe=function(i){i.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},XDe=function(i){i.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},QDe=function(i){const f=i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);f.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),f.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},ZDe=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),L5=function(){function i(w,m,b,E,_,A,I){const B=m.append("text").attr("x",b+_/2).attr("y",E+A/2+5).style("text-anchor","middle").text(w);p(B,I)}function a(w,m,b,E,_,A,I,B){const{fontSize:N,fontFamily:R,fontWeight:z}=B,W=w.split(Kr.lineBreakRegex);for(let et=0;et=this.data.widthLimit||p>=this.data.widthLimit||this.nextData.cnt>xPt)&&(f=this.nextData.startx+a.margin+ds.nextLinePaddingX,w=this.nextData.stopy+a.margin*2,this.nextData.stopx=p=f+a.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=m=w+a.height,this.nextData.cnt=1),a.x=f,a.y=w,this.updateVal(this.data,"startx",f,Math.min),this.updateVal(this.data,"starty",w,Math.min),this.updateVal(this.data,"stopx",p,Math.max),this.updateVal(this.data,"stopy",m,Math.max),this.updateVal(this.nextData,"startx",f,Math.min),this.updateVal(this.nextData,"starty",w,Math.min),this.updateVal(this.nextData,"stopx",p,Math.max),this.updateVal(this.nextData,"stopy",m,Math.max)}init(a){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},zdt(a.db.getConfig())}bumpLastMargin(a){this.data.stopx+=a,this.data.stopy+=a}}const zdt=function(i){Z1(ds,i),i.fontFamily&&(ds.personFontFamily=ds.systemFontFamily=ds.messageFontFamily=i.fontFamily),i.fontSize&&(ds.personFontSize=ds.systemFontSize=ds.messageFontSize=i.fontSize),i.fontWeight&&(ds.personFontWeight=ds.systemFontWeight=ds.messageFontWeight=i.fontWeight)},hF=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),nY=i=>({fontFamily:i.boundaryFontFamily,fontSize:i.boundaryFontSize,fontWeight:i.boundaryFontWeight}),JDe=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight});function cm(i,a,f,p,w){if(!a[i].width)if(f)a[i].text=UIt(a[i].text,w,p),a[i].textLines=a[i].text.split(Kr.lineBreakRegex).length,a[i].width=w,a[i].height=odt(a[i].text,p);else{let m=a[i].text.split(Kr.lineBreakRegex);a[i].textLines=m.length;let b=0;a[i].height=0,a[i].width=0;for(const E of m)a[i].width=Math.max(d3(E,p),a[i].width),b=odt(E,p),a[i].height=a[i].height+b}}const EPt=function(i,a,f){a.x=f.data.startx,a.y=f.data.starty,a.width=f.data.stopx-f.data.startx,a.height=f.data.stopy-f.data.starty,a.label.y=ds.c4ShapeMargin-35;let p=a.wrap&&ds.wrap,w=nY(ds);w.fontSize=w.fontSize+2,w.fontWeight="bold";let m=d3(a.label.text,w);cm("label",a,p,w,m),b3.drawBoundary(i,a,ds)},TPt=function(i,a,f,p){let w=0;for(const m of p){w=0;const b=f[m];let E=hF(ds,b.typeC4Shape.text);switch(E.fontSize=E.fontSize-2,b.typeC4Shape.width=d3("«"+b.typeC4Shape.text+"»",E),b.typeC4Shape.height=E.fontSize+2,b.typeC4Shape.Y=ds.c4ShapePadding,w=b.typeC4Shape.Y+b.typeC4Shape.height-4,b.image={width:0,height:0,Y:0},b.typeC4Shape.text){case"person":case"external_person":b.image.width=48,b.image.height=48,b.image.Y=w,w=b.image.Y+b.image.height;break}b.sprite&&(b.image.width=48,b.image.height=48,b.image.Y=w,w=b.image.Y+b.image.height);let _=b.wrap&&ds.wrap,A=ds.width-ds.c4ShapePadding*2,I=hF(ds,b.typeC4Shape.text);if(I.fontSize=I.fontSize+2,I.fontWeight="bold",cm("label",b,_,I,A),b.label.Y=w+8,w=b.label.Y+b.label.height,b.type&&b.type.text!==""){b.type.text="["+b.type.text+"]";let R=hF(ds,b.typeC4Shape.text);cm("type",b,_,R,A),b.type.Y=w+5,w=b.type.Y+b.type.height}else if(b.techn&&b.techn.text!==""){b.techn.text="["+b.techn.text+"]";let R=hF(ds,b.techn.text);cm("techn",b,_,R,A),b.techn.Y=w+5,w=b.techn.Y+b.techn.height}let B=w,N=b.label.width;if(b.descr&&b.descr.text!==""){let R=hF(ds,b.typeC4Shape.text);cm("descr",b,_,R,A),b.descr.Y=w+20,w=b.descr.Y+b.descr.height,N=Math.max(b.label.width,b.descr.width),B=w-b.descr.textLines*5}N=N+ds.c4ShapePadding,b.width=Math.max(b.width||ds.width,N,ds.width),b.height=Math.max(b.height||ds.height,B,ds.height),b.margin=b.margin||ds.c4ShapeMargin,i.insert(b),b3.drawC4Shape(a,b,ds)}i.bumpLastMargin(ds.c4ShapeMargin)};let rw=class{constructor(a,f){this.x=a,this.y=f}},CPt=function(i,a){let f=i.x,p=i.y,w=a.x,m=a.y,b=f+i.width/2,E=p+i.height/2,_=Math.abs(f-w),A=Math.abs(p-m),I=A/_,B=i.height/i.width,N=null;return p==m&&fw?N=new rw(f,E):f==w&&pm&&(N=new rw(b,p)),f>w&&p=I?N=new rw(f,E+I*i.width/2):N=new rw(b-_/A*i.height/2,p+i.height):f=I?N=new rw(f+i.width,E+I*i.width/2):N=new rw(b+_/A*i.height/2,p+i.height):fm?B>=I?N=new rw(f+i.width,E-I*i.width/2):N=new rw(b+i.height/2*_/A,p):f>w&&p>m&&(B>=I?N=new rw(f,E-i.width/2*I):N=new rw(b-i.height/2*_/A,p)),N},tIe=function(i,a){let f={x:0,y:0};f.x=a.x+a.width/2,f.y=a.y+a.height/2;let p=CPt(i,f);f.x=i.x+i.width/2,f.y=i.y+i.height/2;let w=CPt(a,f);return{startPoint:p,endPoint:w}};const eIe=function(i,a,f,p){let w=0;for(let m of a){w=w+1;let b=m.wrap&&ds.wrap,E=JDe(ds);p.db.getC4Type()==="C4Dynamic"&&(m.label.text=w+": "+m.label.text);let A=d3(m.label.text,E);cm("label",m,b,E,A),m.techn&&m.techn.text!==""&&(A=d3(m.techn.text,E),cm("techn",m,b,E,A)),m.descr&&m.descr.text!==""&&(A=d3(m.descr.text,E),cm("descr",m,b,E,A));let I=f(m.from),B=f(m.to),N=tIe(I,B);m.startPoint=N.startPoint,m.endPoint=N.endPoint}b3.drawRels(i,a,ds)};function _Pt(i,a,f,p,w){let m=new kPt(w);m.data.widthLimit=f.data.widthLimit/Math.min($dt,p.length);for(let[b,E]of p.entries()){let _=0;E.image={width:0,height:0,Y:0},E.sprite&&(E.image.width=48,E.image.height=48,E.image.Y=_,_=E.image.Y+E.image.height);let A=E.wrap&&ds.wrap,I=nY(ds);if(I.fontSize=I.fontSize+2,I.fontWeight="bold",cm("label",E,A,I,m.data.widthLimit),E.label.Y=_+8,_=E.label.Y+E.label.height,E.type&&E.type.text!==""){E.type.text="["+E.type.text+"]";let z=nY(ds);cm("type",E,A,z,m.data.widthLimit),E.type.Y=_+5,_=E.type.Y+E.type.height}if(E.descr&&E.descr.text!==""){let z=nY(ds);z.fontSize=z.fontSize-2,cm("descr",E,A,z,m.data.widthLimit),E.descr.Y=_+20,_=E.descr.Y+E.descr.height}if(b==0||b%$dt===0){let z=f.data.startx+ds.diagramMarginX,W=f.data.stopy+ds.diagramMarginY+_;m.setData(z,z,W,W)}else{let z=m.data.stopx!==m.data.startx?m.data.stopx+ds.diagramMarginX:m.data.startx,W=m.data.starty;m.setData(z,z,W,W)}m.name=E.alias;let B=w.db.getC4ShapeArray(E.alias),N=w.db.getC4ShapeKeys(E.alias);N.length>0&&TPt(m,i,B,N),a=E.alias;let R=w.db.getBoundarys(a);R.length>0&&_Pt(i,a,m,R,w),E.alias!=="global"&&EPt(i,E,m),f.data.stopy=Math.max(m.data.stopy+ds.c4ShapeMargin,f.data.stopy),f.data.stopx=Math.max(m.data.stopx+ds.c4ShapeMargin,f.data.stopx),tY=Math.max(tY,f.data.stopx),eY=Math.max(eY,f.data.stopy)}}const SPt={drawPersonOrSystemArray:TPt,drawBoundary:EPt,setConf:zdt,draw:function(i,a,f,p){ds=Oe().c4;const w=Oe().securityLevel;let m;w==="sandbox"&&(m=yr("#i"+a));const b=yr(w==="sandbox"?m.nodes()[0].contentDocument.body:"body");let E=p.db;p.db.setWrap(ds.wrap),xPt=E.getC4ShapeInRow(),$dt=E.getC4BoundaryInRow(),Ut.debug(`C:${JSON.stringify(ds,null,2)}`);const _=w==="sandbox"?b.select(`[id="${a}"]`):yr(`[id="${a}"]`);b3.insertComputerIcon(_),b3.insertDatabaseIcon(_),b3.insertClockIcon(_);let A=new kPt(p);A.setData(ds.diagramMarginX,ds.diagramMarginX,ds.diagramMarginY,ds.diagramMarginY),A.data.widthLimit=screen.availWidth,tY=ds.diagramMarginX,eY=ds.diagramMarginY;const I=p.db.getTitle();let B=p.db.getBoundarys("");_Pt(_,"",A,B,p),b3.insertArrowHead(_),b3.insertArrowEnd(_),b3.insertArrowCrossHead(_),b3.insertArrowFilledHead(_),eIe(_,p.db.getRels(),p.db.getC4Shape,p),A.data.stopx=tY,A.data.stopy=eY;const N=A.data;let z=N.stopy-N.starty+2*ds.diagramMarginY;const et=N.stopx-N.startx+2*ds.diagramMarginX;I&&_.append("text").text(I).attr("x",(N.stopx-N.startx)/2-4*ds.diagramMarginX).attr("y",N.starty+ds.diagramMarginY),k0(_,z,et,ds.useMaxWidth);const st=I?60:0;_.attr("viewBox",N.startx-ds.diagramMarginX+" -"+(ds.diagramMarginY+st)+" "+et+" "+(z+st)),Ut.debug("models:",N)}},nIe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:gDe,db:Bdt,renderer:SPt,styles:i=>`.person { + stroke: ${i.personBorder}; + fill: ${i.personBkg}; + } +`,init:({c4:i,wrap:a})=>{SPt.setConf(i),Bdt.setWrap(a)}}},Symbol.toStringTag,{value:"Module"}));var qdt=function(){var i=function(af,Qi,Ts,ka){for(Ts=Ts||{},ka=af.length;ka--;Ts[af[ka]]=Qi);return Ts},a=[1,4],f=[1,3],p=[1,5],w=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],m=[2,2],b=[1,13],E=[1,14],_=[1,15],A=[1,16],I=[1,23],B=[1,25],N=[1,26],R=[1,27],z=[1,49],W=[1,48],et=[1,29],st=[1,30],at=[1,31],bt=[1,32],mt=[1,33],yt=[1,44],ft=[1,46],ut=[1,42],vt=[1,47],X=[1,43],pt=[1,50],U=[1,45],Tt=[1,51],nt=[1,52],It=[1,34],Ot=[1,35],Bt=[1,36],Et=[1,37],Z=[1,57],Ct=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],xt=[1,61],Ht=[1,60],Le=[1,62],Ft=[8,9,11,73,75],gn=[1,88],Se=[1,93],me=[1,92],Ve=[1,89],Ye=[1,85],ce=[1,91],ke=[1,87],zt=[1,94],re=[1,90],se=[1,95],Pe=[1,86],te=[8,9,10,11,73,75],Me=[8,9,10,11,44,73,75],de=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],on=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],ni=[42,58,86,99,102,103,106,108,111,112,113],Ks=[1,121],ws=[1,120],fo=[1,128],Xi=[1,142],Er=[1,143],Xn=[1,144],di=[1,145],Ee=[1,130],Kn=[1,132],He=[1,136],Ti=[1,137],pn=[1,138],Es=[1,139],qa=[1,140],Ma=[1,141],Gs=[1,146],Po=[1,147],vs=[1,126],ru=[1,127],zs=[1,134],Du=[1,129],pm=[1,133],uw=[1,131],Wu=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],th=[1,149],Fa=[8,9,11],Ml=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],ha=[1,169],bc=[1,165],Cc=[1,166],pa=[1,170],Da=[1,167],Ha=[1,168],Dl=[75,113,116],_c=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],lw=[10,103],eh=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],ed=[1,235],jd=[1,233],nd=[1,237],$d=[1,231],A0=[1,232],Bi=[1,234],cn=[1,236],kr=[1,238],Ei=[1,255],Jo=[8,9,11,103],wc=[8,9,10,11,58,81,102,103,106,107,108,109],rf={trace:function(){},yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeperator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,verticeStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(Qi,Ts,ka,xi,Yc,Ce,vp){var Be=Ce.length-1;switch(Yc){case 2:this.$=[];break;case 3:(!Array.isArray(Ce[Be])||Ce[Be].length>0)&&Ce[Be-1].push(Ce[Be]),this.$=Ce[Be-1];break;case 4:case 176:this.$=Ce[Be];break;case 11:xi.setDirection("TB"),this.$="TB";break;case 12:xi.setDirection(Ce[Be-1]),this.$=Ce[Be-1];break;case 27:this.$=Ce[Be-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=xi.addSubGraph(Ce[Be-6],Ce[Be-1],Ce[Be-4]);break;case 34:this.$=xi.addSubGraph(Ce[Be-3],Ce[Be-1],Ce[Be-3]);break;case 35:this.$=xi.addSubGraph(void 0,Ce[Be-1],void 0);break;case 37:this.$=Ce[Be].trim(),xi.setAccTitle(this.$);break;case 38:case 39:this.$=Ce[Be].trim(),xi.setAccDescription(this.$);break;case 43:xi.addLink(Ce[Be-2].stmt,Ce[Be],Ce[Be-1]),this.$={stmt:Ce[Be],nodes:Ce[Be].concat(Ce[Be-2].nodes)};break;case 44:xi.addLink(Ce[Be-3].stmt,Ce[Be-1],Ce[Be-2]),this.$={stmt:Ce[Be-1],nodes:Ce[Be-1].concat(Ce[Be-3].nodes)};break;case 45:this.$={stmt:Ce[Be-1],nodes:Ce[Be-1]};break;case 46:this.$={stmt:Ce[Be],nodes:Ce[Be]};break;case 47:this.$=[Ce[Be]];break;case 48:this.$=Ce[Be-4].concat(Ce[Be]);break;case 49:this.$=Ce[Be];break;case 50:this.$=Ce[Be-2],xi.setClass(Ce[Be-2],Ce[Be]);break;case 51:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"square");break;case 52:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"doublecircle");break;case 53:this.$=Ce[Be-5],xi.addVertex(Ce[Be-5],Ce[Be-2],"circle");break;case 54:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"ellipse");break;case 55:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"stadium");break;case 56:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"subroutine");break;case 57:this.$=Ce[Be-7],xi.addVertex(Ce[Be-7],Ce[Be-1],"rect",void 0,void 0,void 0,Object.fromEntries([[Ce[Be-5],Ce[Be-3]]]));break;case 58:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"cylinder");break;case 59:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"round");break;case 60:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"diamond");break;case 61:this.$=Ce[Be-5],xi.addVertex(Ce[Be-5],Ce[Be-2],"hexagon");break;case 62:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"odd");break;case 63:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"trapezoid");break;case 64:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"inv_trapezoid");break;case 65:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"lean_right");break;case 66:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"lean_left");break;case 67:this.$=Ce[Be],xi.addVertex(Ce[Be]);break;case 68:Ce[Be-1].text=Ce[Be],this.$=Ce[Be-1];break;case 69:case 70:Ce[Be-2].text=Ce[Be-1],this.$=Ce[Be-2];break;case 71:this.$=Ce[Be];break;case 72:var Bf=xi.destructLink(Ce[Be],Ce[Be-2]);this.$={type:Bf.type,stroke:Bf.stroke,length:Bf.length,text:Ce[Be-1]};break;case 73:this.$={text:Ce[Be],type:"text"};break;case 74:this.$={text:Ce[Be-1].text+""+Ce[Be],type:Ce[Be-1].type};break;case 75:this.$={text:Ce[Be],type:"string"};break;case 76:this.$={text:Ce[Be],type:"markdown"};break;case 77:var Bf=xi.destructLink(Ce[Be]);this.$={type:Bf.type,stroke:Bf.stroke,length:Bf.length};break;case 78:this.$=Ce[Be-1];break;case 79:this.$={text:Ce[Be],type:"text"};break;case 80:this.$={text:Ce[Be-1].text+""+Ce[Be],type:Ce[Be-1].type};break;case 81:this.$={text:Ce[Be],type:"string"};break;case 82:case 97:this.$={text:Ce[Be],type:"markdown"};break;case 94:this.$={text:Ce[Be],type:"text"};break;case 95:this.$={text:Ce[Be-1].text+""+Ce[Be],type:Ce[Be-1].type};break;case 96:this.$={text:Ce[Be],type:"text"};break;case 98:this.$=Ce[Be-4],xi.addClass(Ce[Be-2],Ce[Be]);break;case 99:this.$=Ce[Be-4],xi.setClass(Ce[Be-2],Ce[Be]);break;case 100:case 108:this.$=Ce[Be-1],xi.setClickEvent(Ce[Be-1],Ce[Be]);break;case 101:case 109:this.$=Ce[Be-3],xi.setClickEvent(Ce[Be-3],Ce[Be-2]),xi.setTooltip(Ce[Be-3],Ce[Be]);break;case 102:this.$=Ce[Be-2],xi.setClickEvent(Ce[Be-2],Ce[Be-1],Ce[Be]);break;case 103:this.$=Ce[Be-4],xi.setClickEvent(Ce[Be-4],Ce[Be-3],Ce[Be-2]),xi.setTooltip(Ce[Be-4],Ce[Be]);break;case 104:this.$=Ce[Be-2],xi.setLink(Ce[Be-2],Ce[Be]);break;case 105:this.$=Ce[Be-4],xi.setLink(Ce[Be-4],Ce[Be-2]),xi.setTooltip(Ce[Be-4],Ce[Be]);break;case 106:this.$=Ce[Be-4],xi.setLink(Ce[Be-4],Ce[Be-2],Ce[Be]);break;case 107:this.$=Ce[Be-6],xi.setLink(Ce[Be-6],Ce[Be-4],Ce[Be]),xi.setTooltip(Ce[Be-6],Ce[Be-2]);break;case 110:this.$=Ce[Be-1],xi.setLink(Ce[Be-1],Ce[Be]);break;case 111:this.$=Ce[Be-3],xi.setLink(Ce[Be-3],Ce[Be-2]),xi.setTooltip(Ce[Be-3],Ce[Be]);break;case 112:this.$=Ce[Be-3],xi.setLink(Ce[Be-3],Ce[Be-2],Ce[Be]);break;case 113:this.$=Ce[Be-5],xi.setLink(Ce[Be-5],Ce[Be-4],Ce[Be]),xi.setTooltip(Ce[Be-5],Ce[Be-2]);break;case 114:this.$=Ce[Be-4],xi.addVertex(Ce[Be-2],void 0,void 0,Ce[Be]);break;case 115:this.$=Ce[Be-4],xi.updateLink([Ce[Be-2]],Ce[Be]);break;case 116:this.$=Ce[Be-4],xi.updateLink(Ce[Be-2],Ce[Be]);break;case 117:this.$=Ce[Be-8],xi.updateLinkInterpolate([Ce[Be-6]],Ce[Be-2]),xi.updateLink([Ce[Be-6]],Ce[Be]);break;case 118:this.$=Ce[Be-8],xi.updateLinkInterpolate(Ce[Be-6],Ce[Be-2]),xi.updateLink(Ce[Be-6],Ce[Be]);break;case 119:this.$=Ce[Be-6],xi.updateLinkInterpolate([Ce[Be-4]],Ce[Be]);break;case 120:this.$=Ce[Be-6],xi.updateLinkInterpolate(Ce[Be-4],Ce[Be]);break;case 121:case 123:this.$=[Ce[Be]];break;case 122:case 124:Ce[Be-2].push(Ce[Be]),this.$=Ce[Be-2];break;case 126:this.$=Ce[Be-1]+Ce[Be];break;case 174:this.$=Ce[Be];break;case 175:this.$=Ce[Be-1]+""+Ce[Be];break;case 177:this.$=Ce[Be-1]+""+Ce[Be];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,9:a,10:f,12:p},{1:[3]},i(w,m,{5:6}),{4:7,9:a,10:f,12:p},{4:8,9:a,10:f,12:p},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:b,9:E,10:_,11:A,20:17,22:18,23:19,24:20,25:21,26:22,27:I,33:24,34:B,36:N,38:R,40:28,41:38,42:z,43:39,45:40,58:W,81:et,82:st,83:at,84:bt,85:mt,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt,118:It,119:Ot,120:Bt,121:Et},i(w,[2,9]),i(w,[2,10]),i(w,[2,11]),{8:[1,54],9:[1,55],10:Z,15:53,18:56},i(Ct,[2,3]),i(Ct,[2,4]),i(Ct,[2,5]),i(Ct,[2,6]),i(Ct,[2,7]),i(Ct,[2,8]),{8:xt,9:Ht,11:Le,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:xt,9:Ht,11:Le,21:66},{8:xt,9:Ht,11:Le,21:67},{8:xt,9:Ht,11:Le,21:68},{8:xt,9:Ht,11:Le,21:69},{8:xt,9:Ht,11:Le,21:70},{8:xt,9:Ht,10:[1,71],11:Le,21:72},i(Ct,[2,36]),{35:[1,73]},{37:[1,74]},i(Ct,[2,39]),i(Ft,[2,46],{18:75,10:Z}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:gn,42:Se,58:me,77:[1,83],86:Ve,92:[1,80],94:[1,81],98:82,102:Ye,103:ce,106:ke,108:zt,111:re,112:se,113:Pe,117:84},i(Ct,[2,178]),i(Ct,[2,179]),i(Ct,[2,180]),i(Ct,[2,181]),i(te,[2,47]),i(te,[2,49],{44:[1,96]}),i(Me,[2,67],{110:109,29:[1,97],42:z,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:W,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:yt,99:ft,102:ut,103:vt,106:X,108:pt,111:U,112:Tt,113:nt}),i(de,[2,174]),i(de,[2,135]),i(de,[2,136]),i(de,[2,137]),i(de,[2,138]),i(de,[2,139]),i(de,[2,140]),i(de,[2,141]),i(de,[2,142]),i(de,[2,143]),i(de,[2,144]),i(de,[2,145]),i(w,[2,12]),i(w,[2,18]),i(w,[2,19]),{9:[1,110]},i(on,[2,26],{18:111,10:Z}),i(Ct,[2,27]),{40:112,41:38,42:z,43:39,45:40,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt},i(Ct,[2,40]),i(Ct,[2,41]),i(Ct,[2,42]),i(ni,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:Ks,116:ws},i([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),i(Ct,[2,28]),i(Ct,[2,29]),i(Ct,[2,30]),i(Ct,[2,31]),i(Ct,[2,32]),{10:fo,12:Xi,14:Er,27:Xn,28:122,32:di,42:Ee,58:Kn,73:He,77:[1,124],78:[1,125],80:135,81:Ti,82:pn,83:Es,84:qa,85:Ma,86:Gs,87:Po,88:123,102:vs,106:ru,108:zs,111:Du,112:pm,113:uw},i(Wu,m,{5:148}),i(Ct,[2,37]),i(Ct,[2,38]),i(Ft,[2,45],{42:th}),{42:z,45:150,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt},{99:[1,151],100:152,102:[1,153]},{42:z,45:154,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt},{42:z,45:155,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt},i(Fa,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},i(Fa,[2,108],{117:160,10:[1,159],14:gn,42:Se,58:me,86:Ve,102:Ye,103:ce,106:ke,108:zt,111:re,112:se,113:Pe}),i(Fa,[2,110],{10:[1,161]}),i(Ml,[2,176]),i(Ml,[2,163]),i(Ml,[2,164]),i(Ml,[2,165]),i(Ml,[2,166]),i(Ml,[2,167]),i(Ml,[2,168]),i(Ml,[2,169]),i(Ml,[2,170]),i(Ml,[2,171]),i(Ml,[2,172]),i(Ml,[2,173]),{42:z,45:162,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt},{30:163,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:171,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:173,48:[1,172],65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:174,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:175,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:176,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{106:[1,177]},{30:178,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:179,63:[1,180],65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:181,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:182,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:183,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},i(de,[2,175]),i(w,[2,20]),i(on,[2,25]),i(Ft,[2,43],{18:184,10:Z}),i(ni,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{75:[1,188],76:189,113:Ks,116:ws},i(Dl,[2,73]),i(Dl,[2,75]),i(Dl,[2,76]),i(Dl,[2,161]),i(Dl,[2,162]),{8:xt,9:Ht,10:fo,11:Le,12:Xi,14:Er,21:191,27:Xn,29:[1,190],32:di,42:Ee,58:Kn,73:He,80:135,81:Ti,82:pn,83:Es,84:qa,85:Ma,86:Gs,87:Po,88:192,102:vs,106:ru,108:zs,111:Du,112:pm,113:uw},i(_c,[2,94]),i(_c,[2,96]),i(_c,[2,97]),i(_c,[2,150]),i(_c,[2,151]),i(_c,[2,152]),i(_c,[2,153]),i(_c,[2,154]),i(_c,[2,155]),i(_c,[2,156]),i(_c,[2,157]),i(_c,[2,158]),i(_c,[2,159]),i(_c,[2,160]),i(_c,[2,83]),i(_c,[2,84]),i(_c,[2,85]),i(_c,[2,86]),i(_c,[2,87]),i(_c,[2,88]),i(_c,[2,89]),i(_c,[2,90]),i(_c,[2,91]),i(_c,[2,92]),i(_c,[2,93]),{6:11,7:12,8:b,9:E,10:_,11:A,20:17,22:18,23:19,24:20,25:21,26:22,27:I,32:[1,193],33:24,34:B,36:N,38:R,40:28,41:38,42:z,43:39,45:40,58:W,81:et,82:st,83:at,84:bt,85:mt,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt,118:It,119:Ot,120:Bt,121:Et},{10:Z,18:194},{10:[1,195],42:z,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:109,111:U,112:Tt,113:nt},{10:[1,196]},{10:[1,197],103:[1,198]},i(lw,[2,121]),{10:[1,199],42:z,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:109,111:U,112:Tt,113:nt},{10:[1,200],42:z,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:109,111:U,112:Tt,113:nt},{77:[1,201]},i(Fa,[2,102],{10:[1,202]}),i(Fa,[2,104],{10:[1,203]}),{77:[1,204]},i(Ml,[2,177]),{77:[1,205],95:[1,206]},i(te,[2,50],{110:109,42:z,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,111:U,112:Tt,113:nt}),{31:[1,207],65:ha,79:208,113:pa,114:Da,115:Ha},i(eh,[2,79]),i(eh,[2,81]),i(eh,[2,82]),i(eh,[2,146]),i(eh,[2,147]),i(eh,[2,148]),i(eh,[2,149]),{47:[1,209],65:ha,79:208,113:pa,114:Da,115:Ha},{30:210,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{49:[1,211],65:ha,79:208,113:pa,114:Da,115:Ha},{51:[1,212],65:ha,79:208,113:pa,114:Da,115:Ha},{53:[1,213],65:ha,79:208,113:pa,114:Da,115:Ha},{55:[1,214],65:ha,79:208,113:pa,114:Da,115:Ha},{58:[1,215]},{62:[1,216],65:ha,79:208,113:pa,114:Da,115:Ha},{64:[1,217],65:ha,79:208,113:pa,114:Da,115:Ha},{30:218,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{31:[1,219],65:ha,79:208,113:pa,114:Da,115:Ha},{65:ha,67:[1,220],69:[1,221],79:208,113:pa,114:Da,115:Ha},{65:ha,67:[1,223],69:[1,222],79:208,113:pa,114:Da,115:Ha},i(Ft,[2,44],{42:th}),i(ni,[2,70]),i(ni,[2,69]),{60:[1,224],65:ha,79:208,113:pa,114:Da,115:Ha},i(ni,[2,72]),i(Dl,[2,74]),{30:225,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},i(Wu,m,{5:226}),i(_c,[2,95]),i(Ct,[2,35]),{41:227,42:z,43:39,45:40,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt},{10:ed,58:jd,81:nd,89:228,102:$d,104:229,105:230,106:A0,107:Bi,108:cn,109:kr},{10:ed,58:jd,81:nd,89:239,101:[1,240],102:$d,104:229,105:230,106:A0,107:Bi,108:cn,109:kr},{10:ed,58:jd,81:nd,89:241,101:[1,242],102:$d,104:229,105:230,106:A0,107:Bi,108:cn,109:kr},{102:[1,243]},{10:ed,58:jd,81:nd,89:244,102:$d,104:229,105:230,106:A0,107:Bi,108:cn,109:kr},{42:z,45:245,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt},i(Fa,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},i(Fa,[2,109]),i(Fa,[2,111],{10:[1,249]}),i(Fa,[2,112]),i(Me,[2,51]),i(eh,[2,80]),i(Me,[2,52]),{49:[1,250],65:ha,79:208,113:pa,114:Da,115:Ha},i(Me,[2,59]),i(Me,[2,54]),i(Me,[2,55]),i(Me,[2,56]),{106:[1,251]},i(Me,[2,58]),i(Me,[2,60]),{64:[1,252],65:ha,79:208,113:pa,114:Da,115:Ha},i(Me,[2,62]),i(Me,[2,63]),i(Me,[2,65]),i(Me,[2,64]),i(Me,[2,66]),i([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:ha,79:208,113:pa,114:Da,115:Ha},{6:11,7:12,8:b,9:E,10:_,11:A,20:17,22:18,23:19,24:20,25:21,26:22,27:I,32:[1,254],33:24,34:B,36:N,38:R,40:28,41:38,42:z,43:39,45:40,58:W,81:et,82:st,83:at,84:bt,85:mt,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt,118:It,119:Ot,120:Bt,121:Et},i(te,[2,48]),i(Fa,[2,114],{103:Ei}),i(Jo,[2,123],{105:256,10:ed,58:jd,81:nd,102:$d,106:A0,107:Bi,108:cn,109:kr}),i(wc,[2,125]),i(wc,[2,127]),i(wc,[2,128]),i(wc,[2,129]),i(wc,[2,130]),i(wc,[2,131]),i(wc,[2,132]),i(wc,[2,133]),i(wc,[2,134]),i(Fa,[2,115],{103:Ei}),{10:[1,257]},i(Fa,[2,116],{103:Ei}),{10:[1,258]},i(lw,[2,122]),i(Fa,[2,98],{103:Ei}),i(Fa,[2,99],{110:109,42:z,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,111:U,112:Tt,113:nt}),i(Fa,[2,103]),i(Fa,[2,105],{10:[1,259]}),i(Fa,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:xt,9:Ht,11:Le,21:264},i(Ct,[2,34]),{10:ed,58:jd,81:nd,102:$d,104:265,105:230,106:A0,107:Bi,108:cn,109:kr},i(wc,[2,126]),{14:gn,42:Se,58:me,86:Ve,98:266,102:Ye,103:ce,106:ke,108:zt,111:re,112:se,113:Pe,117:84},{14:gn,42:Se,58:me,86:Ve,98:267,102:Ye,103:ce,106:ke,108:zt,111:re,112:se,113:Pe,117:84},{95:[1,268]},i(Fa,[2,113]),i(Me,[2,53]),{30:269,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},i(Me,[2,61]),i(Wu,m,{5:270}),i(Jo,[2,124],{105:256,10:ed,58:jd,81:nd,102:$d,106:A0,107:Bi,108:cn,109:kr}),i(Fa,[2,119],{117:160,10:[1,271],14:gn,42:Se,58:me,86:Ve,102:Ye,103:ce,106:ke,108:zt,111:re,112:se,113:Pe}),i(Fa,[2,120],{117:160,10:[1,272],14:gn,42:Se,58:me,86:Ve,102:Ye,103:ce,106:ke,108:zt,111:re,112:se,113:Pe}),i(Fa,[2,107]),{31:[1,273],65:ha,79:208,113:pa,114:Da,115:Ha},{6:11,7:12,8:b,9:E,10:_,11:A,20:17,22:18,23:19,24:20,25:21,26:22,27:I,32:[1,274],33:24,34:B,36:N,38:R,40:28,41:38,42:z,43:39,45:40,58:W,81:et,82:st,83:at,84:bt,85:mt,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt,118:It,119:Ot,120:Bt,121:Et},{10:ed,58:jd,81:nd,89:275,102:$d,104:229,105:230,106:A0,107:Bi,108:cn,109:kr},{10:ed,58:jd,81:nd,89:276,102:$d,104:229,105:230,106:A0,107:Bi,108:cn,109:kr},i(Me,[2,57]),i(Ct,[2,33]),i(Fa,[2,117],{103:Ei}),i(Fa,[2,118],{103:Ei})],defaultActions:{},parseError:function(Qi,Ts){if(Ts.recoverable)this.trace(Qi);else{var ka=new Error(Qi);throw ka.hash=Ts,ka}},parse:function(Qi){var Ts=this,ka=[0],xi=[],Yc=[null],Ce=[],vp=this.table,Be="",Bf=0,yg=0,bm=2,Ek=1,E3=Ce.slice.call(arguments,1),Il=Object.create(this.lexer),L0={yy:{}};for(var hw in this.yy)Object.prototype.hasOwnProperty.call(this.yy,hw)&&(L0.yy[hw]=this.yy[hw]);Il.setInput(Qi,L0.yy),L0.yy.lexer=Il,L0.yy.parser=this,typeof Il.yylloc>"u"&&(Il.yylloc={});var H5=Il.yylloc;Ce.push(H5);var Hb=Il.options&&Il.options.ranges;typeof L0.yy.parseError=="function"?this.parseError=L0.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function V5(){var xg;return xg=xi.pop()||Il.lex()||Ek,typeof xg!="number"&&(xg instanceof Array&&(xi=xg,xg=xi.pop()),xg=Ts.symbols_[xg]||xg),xg}for(var f1,rd,id,G5,fw={},U5,mp,W5,T3;;){if(rd=ka[ka.length-1],this.defaultActions[rd]?id=this.defaultActions[rd]:((f1===null||typeof f1>"u")&&(f1=V5()),id=vp[rd]&&vp[rd][f1]),typeof id>"u"||!id.length||!id[0]){var wm="";T3=[];for(U5 in vp[rd])this.terminals_[U5]&&U5>bm&&T3.push("'"+this.terminals_[U5]+"'");Il.showPosition?wm="Parse error on line "+(Bf+1)+`: +`+Il.showPosition()+` +Expecting `+T3.join(", ")+", got '"+(this.terminals_[f1]||f1)+"'":wm="Parse error on line "+(Bf+1)+": Unexpected "+(f1==Ek?"end of input":"'"+(this.terminals_[f1]||f1)+"'"),this.parseError(wm,{text:Il.match,token:this.terminals_[f1]||f1,line:Il.yylineno,loc:H5,expected:T3})}if(id[0]instanceof Array&&id.length>1)throw new Error("Parse Error: multiple actions possible at state: "+rd+", token: "+f1);switch(id[0]){case 1:ka.push(f1),Yc.push(Il.yytext),Ce.push(Il.yylloc),ka.push(id[1]),f1=null,yg=Il.yyleng,Be=Il.yytext,Bf=Il.yylineno,H5=Il.yylloc;break;case 2:if(mp=this.productions_[id[1]][1],fw.$=Yc[Yc.length-mp],fw._$={first_line:Ce[Ce.length-(mp||1)].first_line,last_line:Ce[Ce.length-1].last_line,first_column:Ce[Ce.length-(mp||1)].first_column,last_column:Ce[Ce.length-1].last_column},Hb&&(fw._$.range=[Ce[Ce.length-(mp||1)].range[0],Ce[Ce.length-1].range[1]]),G5=this.performAction.apply(fw,[Be,yg,Bf,L0.yy,id[1],Yc,Ce].concat(E3)),typeof G5<"u")return G5;mp&&(ka=ka.slice(0,-1*mp*2),Yc=Yc.slice(0,-1*mp),Ce=Ce.slice(0,-1*mp)),ka.push(this.productions_[id[1]][0]),Yc.push(fw.$),Ce.push(fw._$),W5=vp[ka[ka.length-2]][ka[ka.length-1]],ka.push(W5);break;case 3:return!0}}return!0}},Oc=function(){var af={EOF:1,parseError:function(Ts,ka){if(this.yy.parser)this.yy.parser.parseError(Ts,ka);else throw new Error(Ts)},setInput:function(Qi,Ts){return this.yy=Ts||this.yy||{},this._input=Qi,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Qi=this._input[0];this.yytext+=Qi,this.yyleng++,this.offset++,this.match+=Qi,this.matched+=Qi;var Ts=Qi.match(/(?:\r\n?|\n).*/g);return Ts?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Qi},unput:function(Qi){var Ts=Qi.length,ka=Qi.split(/(?:\r\n?|\n)/g);this._input=Qi+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ts),this.offset-=Ts;var xi=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ka.length-1&&(this.yylineno-=ka.length-1);var Yc=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ka?(ka.length===xi.length?this.yylloc.first_column:0)+xi[xi.length-ka.length].length-ka[0].length:this.yylloc.first_column-Ts},this.options.ranges&&(this.yylloc.range=[Yc[0],Yc[0]+this.yyleng-Ts]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Qi){this.unput(this.match.slice(Qi))},pastInput:function(){var Qi=this.matched.substr(0,this.matched.length-this.match.length);return(Qi.length>20?"...":"")+Qi.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Qi=this.match;return Qi.length<20&&(Qi+=this._input.substr(0,20-Qi.length)),(Qi.substr(0,20)+(Qi.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Qi=this.pastInput(),Ts=new Array(Qi.length+1).join("-");return Qi+this.upcomingInput()+` +`+Ts+"^"},test_match:function(Qi,Ts){var ka,xi,Yc;if(this.options.backtrack_lexer&&(Yc={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Yc.yylloc.range=this.yylloc.range.slice(0))),xi=Qi[0].match(/(?:\r\n?|\n).*/g),xi&&(this.yylineno+=xi.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xi?xi[xi.length-1].length-xi[xi.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Qi[0].length},this.yytext+=Qi[0],this.match+=Qi[0],this.matches=Qi,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Qi[0].length),this.matched+=Qi[0],ka=this.performAction.call(this,this.yy,this,Ts,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ka)return ka;if(this._backtrack){for(var Ce in Yc)this[Ce]=Yc[Ce];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Qi,Ts,ka,xi;this._more||(this.yytext="",this.match="");for(var Yc=this._currentRules(),Ce=0;CeTs[0].length)){if(Ts=ka,xi=Ce,this.options.backtrack_lexer){if(Qi=this.test_match(ka,Yc[Ce]),Qi!==!1)return Qi;if(this._backtrack){Ts=!1;continue}else return!1}else if(!this.options.flex)break}return Ts?(Qi=this.test_match(Ts,Yc[xi]),Qi!==!1?Qi:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ts=this.next();return Ts||this.lex()},begin:function(Ts){this.conditionStack.push(Ts)},popState:function(){var Ts=this.conditionStack.length-1;return Ts>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ts){return Ts=this.conditionStack.length-1-Math.abs(Ts||0),Ts>=0?this.conditionStack[Ts]:"INITIAL"},pushState:function(Ts){this.begin(Ts)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Ts,ka,xi,Yc){switch(xi){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:this.begin("callbackname");break;case 8:this.popState();break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 11:this.popState();break;case 12:return 93;case 13:return"MD_STR";case 14:this.popState();break;case 15:this.begin("md_string");break;case 16:return"STR";case 17:this.popState();break;case 18:this.pushState("string");break;case 19:return 81;case 20:return 99;case 21:return 82;case 22:return 101;case 23:return 83;case 24:return 84;case 25:return 94;case 26:this.begin("click");break;case 27:this.popState();break;case 28:return 85;case 29:return Ts.lex.firstGraph()&&this.begin("dir"),12;case 30:return Ts.lex.firstGraph()&&this.begin("dir"),12;case 31:return Ts.lex.firstGraph()&&this.begin("dir"),12;case 32:return 27;case 33:return 32;case 34:return 95;case 35:return 95;case 36:return 95;case 37:return 95;case 38:return this.popState(),13;case 39:return this.popState(),14;case 40:return this.popState(),14;case 41:return this.popState(),14;case 42:return this.popState(),14;case 43:return this.popState(),14;case 44:return this.popState(),14;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return 118;case 50:return 119;case 51:return 120;case 52:return 121;case 53:return 102;case 54:return 108;case 55:return 44;case 56:return 58;case 57:return 42;case 58:return 8;case 59:return 103;case 60:return 112;case 61:return this.popState(),75;case 62:return this.pushState("edgeText"),73;case 63:return 116;case 64:return this.popState(),75;case 65:return this.pushState("thickEdgeText"),73;case 66:return 116;case 67:return this.popState(),75;case 68:return this.pushState("dottedEdgeText"),73;case 69:return 116;case 70:return 75;case 71:return this.popState(),51;case 72:return"TEXT";case 73:return this.pushState("ellipseText"),50;case 74:return this.popState(),53;case 75:return this.pushState("text"),52;case 76:return this.popState(),55;case 77:return this.pushState("text"),54;case 78:return 56;case 79:return this.pushState("text"),65;case 80:return this.popState(),62;case 81:return this.pushState("text"),61;case 82:return this.popState(),47;case 83:return this.pushState("text"),46;case 84:return this.popState(),67;case 85:return this.popState(),69;case 86:return 114;case 87:return this.pushState("trapText"),66;case 88:return this.pushState("trapText"),68;case 89:return 115;case 90:return 65;case 91:return 87;case 92:return"SEP";case 93:return 86;case 94:return 112;case 95:return 108;case 96:return 42;case 97:return 106;case 98:return 111;case 99:return 113;case 100:return this.popState(),60;case 101:return this.pushState("text"),60;case 102:return this.popState(),49;case 103:return this.pushState("text"),48;case 104:return this.popState(),31;case 105:return this.pushState("text"),29;case 106:return this.popState(),64;case 107:return this.pushState("text"),63;case 108:return"TEXT";case 109:return"QUOTE";case 110:return 9;case 111:return 10;case 112:return 11}},rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{callbackargs:{rules:[11,12,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},callbackname:{rules:[8,9,10,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},href:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},click:{rules:[15,18,27,28,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dottedEdgeText:{rules:[15,18,67,69,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},thickEdgeText:{rules:[15,18,64,66,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},edgeText:{rules:[15,18,61,63,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},trapText:{rules:[15,18,70,73,75,77,81,83,84,85,86,87,88,101,103,105,107],inclusive:!1},ellipseText:{rules:[15,18,70,71,72,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},text:{rules:[15,18,70,73,74,75,76,77,80,81,82,83,87,88,100,101,102,103,104,105,106,107,108],inclusive:!1},vertex:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dir:{rules:[15,18,38,39,40,41,42,43,44,45,46,47,48,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr_multiline:{rules:[5,6,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr:{rules:[3,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_title:{rules:[1,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},md_string:{rules:[13,14,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},string:{rules:[15,16,17,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},INITIAL:{rules:[0,2,4,7,15,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,67,68,70,73,75,77,78,79,81,83,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,105,107,109,110,111,112],inclusive:!0}}};return af}();rf.lexer=Oc;function sf(){this.yy={}}return sf.prototype=rf,rf.Parser=sf,new sf}();qdt.parser=qdt;const Hdt=qdt,rIe="flowchart-";let APt=0,Vdt=Oe(),wl={},gk=[],eL={},M5=[],rY={},iY={},sY=0,Gdt=!0,iw,aY,oY=[];const cY=i=>Kr.sanitizeText(i,Vdt),fF=function(i){const a=Object.keys(wl);for(const f of a)if(wl[f].id===i)return wl[f].domId;return i},LPt=function(i,a,f,p,w,m,b={}){let E,_=i;_!==void 0&&_.trim().length!==0&&(wl[_]===void 0&&(wl[_]={id:_,labelType:"text",domId:rIe+_+"-"+APt,styles:[],classes:[]}),APt++,a!==void 0?(Vdt=Oe(),E=cY(a.text.trim()),wl[_].labelType=a.type,E[0]==='"'&&E[E.length-1]==='"'&&(E=E.substring(1,E.length-1)),wl[_].text=E):wl[_].text===void 0&&(wl[_].text=i),f!==void 0&&(wl[_].type=f),p!=null&&p.forEach(function(A){wl[_].styles.push(A)}),w!=null&&w.forEach(function(A){wl[_].classes.push(A)}),m!==void 0&&(wl[_].dir=m),wl[_].props===void 0?wl[_].props=b:b!==void 0&&Object.assign(wl[_].props,b))},MPt=function(i,a,f){const m={start:i,end:a,type:void 0,text:"",labelType:"text"};Ut.info("abc78 Got edge...",m);const b=f.text;if(b!==void 0&&(m.text=cY(b.text.trim()),m.text[0]==='"'&&m.text[m.text.length-1]==='"'&&(m.text=m.text.substring(1,m.text.length-1)),m.labelType=b.type),f!==void 0&&(m.type=f.type,m.stroke=f.stroke,m.length=f.length),(m==null?void 0:m.length)>10&&(m.length=10),gk.length<280)Ut.info("abc78 pushing edge..."),gk.push(m);else throw new Error("Too many edges")},DPt=function(i,a,f){Ut.info("addLink (abc78)",i,a,f);let p,w;for(p=0;p/)&&(iw="LR"),iw.match(/.*v/)&&(iw="TB"),iw==="TD"&&(iw="TB")},uY=function(i,a){i.split(",").forEach(function(f){let p=f;wl[p]!==void 0&&wl[p].classes.push(a),rY[p]!==void 0&&rY[p].classes.push(a)})},iIe=function(i,a){i.split(",").forEach(function(f){a!==void 0&&(iY[aY==="gen-1"?fF(f):f]=cY(a))})},sIe=function(i,a,f){let p=fF(i);if(Oe().securityLevel!=="loose"||a===void 0)return;let w=[];if(typeof f=="string"){w=f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let m=0;m")),w.classed("hover",!0)}).on("mouseout",function(){a.transition().duration(500).style("opacity",0),yr(this).classed("hover",!1)})};oY.push(VPt);const GPt=function(i="gen-1"){wl={},eL={},gk=[],oY=[VPt],M5=[],rY={},sY=0,iY={},Gdt=!0,aY=i,hg()},UPt=i=>{aY=i||"gen-2"},WPt=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},YPt=function(i,a,f){let p=i.text.trim(),w=f.text;i===f&&f.text.match(/\s/)&&(p=void 0);function m(I){const B={boolean:{},number:{},string:{}},N=[];let R;return{nodeList:I.filter(function(W){const et=typeof W;return W.stmt&&W.stmt==="dir"?(R=W.value,!1):W.trim()===""?!1:et in B?B[et].hasOwnProperty(W)?!1:B[et][W]=!0:N.includes(W)?!1:N.push(W)}),dir:R}}let b=[];const{nodeList:E,dir:_}=m(b.concat.apply(b,a));if(b=E,aY==="gen-1")for(let I=0;I2e3)return;if(KPt[dF]=a,M5[a].id===i)return{result:!0,count:0};let p=0,w=1;for(;p=0){const b=XPt(i,m);if(b.result)return{result:!0,count:w+b.count};w=w+b.count}p=p+1}return{result:!1,count:w}},QPt=function(i){return KPt[i]},ZPt=function(){dF=-1,M5.length>0&&XPt("none",M5.length-1)},JPt=function(){return M5},tFt=()=>Gdt?(Gdt=!1,!0):!1,oIe=i=>{let a=i.trim(),f="arrow_open";switch(a[0]){case"<":f="arrow_point",a=a.slice(1);break;case"x":f="arrow_cross",a=a.slice(1);break;case"o":f="arrow_circle",a=a.slice(1);break}let p="normal";return a.includes("=")&&(p="thick"),a.includes(".")&&(p="dotted"),{type:f,stroke:p}},cIe=(i,a)=>{const f=a.length;let p=0;for(let w=0;w{const a=i.trim();let f=a.slice(0,-1),p="arrow_open";switch(a.slice(-1)){case"x":p="arrow_cross",a[0]==="x"&&(p="double_"+p,f=f.slice(1));break;case">":p="arrow_point",a[0]==="<"&&(p="double_"+p,f=f.slice(1));break;case"o":p="arrow_circle",a[0]==="o"&&(p="double_"+p,f=f.slice(1));break}let w="normal",m=f.length-1;f[0]==="="&&(w="thick"),f[0]==="~"&&(w="invisible");let b=cIe(".",f);return b&&(w="dotted",m=b),{type:p,stroke:w,length:m}},eFt=(i,a)=>{const f=uIe(i);let p;if(a){if(p=oIe(a),p.stroke!==f.stroke)return{type:"INVALID",stroke:"INVALID"};if(p.type==="arrow_open")p.type=f.type;else{if(p.type!==f.type)return{type:"INVALID",stroke:"INVALID"};p.type="double_"+p.type}return p.type==="double_arrow"&&(p.type="double_arrow_point"),p.length=f.length,p}return f},nFt=(i,a)=>{let f=!1;return i.forEach(p=>{p.nodes.indexOf(a)>=0&&(f=!0)}),f},rFt=(i,a)=>{const f=[];return i.nodes.forEach((p,w)=>{nFt(a,p)||f.push(i.nodes[w])}),{nodes:f}},iFt={firstGraph:tFt},wT={defaultConfig:()=>SOt.flowchart,setAccTitle:E0,getAccTitle:fg,getAccDescription:gg,setAccDescription:dg,addVertex:LPt,lookUpDomId:fF,addLink:DPt,updateLinkInterpolate:IPt,updateLink:OPt,addClass:PPt,setDirection:FPt,setClass:uY,setTooltip:iIe,getTooltip:BPt,setClickEvent:RPt,setLink:NPt,bindFunctions:jPt,getDirection:$Pt,getVertices:zPt,getEdges:qPt,getClasses:HPt,clear:GPt,setGen:UPt,defaultStyle:WPt,addSubGraph:YPt,getDepthFirstPos:QPt,indexNodes:ZPt,getSubGraphs:JPt,destructLink:eFt,lex:iFt,exists:nFt,makeUniq:rFt,setDiagramTitle:Nb,getDiagramTitle:pg},lIe=Object.freeze(Object.defineProperty({__proto__:null,addClass:PPt,addLink:DPt,addSingleLink:MPt,addSubGraph:YPt,addVertex:LPt,bindFunctions:jPt,clear:GPt,default:wT,defaultStyle:WPt,destructLink:eFt,firstGraph:tFt,getClasses:HPt,getDepthFirstPos:QPt,getDirection:$Pt,getEdges:qPt,getSubGraphs:JPt,getTooltip:BPt,getVertices:zPt,indexNodes:ZPt,lex:iFt,lookUpDomId:fF,setClass:uY,setClickEvent:RPt,setDirection:FPt,setGen:UPt,setLink:NPt,updateLink:OPt,updateLinkInterpolate:IPt},Symbol.toStringTag,{value:"Module"}));var hIe="[object Symbol]";function vT(i){return typeof i=="symbol"||f3(i)&&sT(i)==hIe}function nL(i,a){for(var f=-1,p=i==null?0:i.length,w=Array(p);++f-1}function Rb(i){return ck(i)?PIt(i):NOt(i)}var LIe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,MIe=/^\w*$/;function Udt(i,a){if(If(i))return!1;var f=typeof i;return f=="number"||f=="symbol"||f=="boolean"||i==null||vT(i)?!0:MIe.test(i)||!LIe.test(i)||a!=null&&i in Object(a)}var DIe=500;function IIe(i){var a=jA(i,function(p){return f.size===DIe&&f.clear(),p}),f=a.cache;return a}var OIe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,PIe=/\\(\\)?/g,FIe=IIe(function(i){var a=[];return i.charCodeAt(0)===46&&a.push(""),i.replace(OIe,function(f,p,w,m){a.push(w?m.replace(PIe,"$1"):p||f)}),a});const NIe=FIe;function fFt(i){return i==null?"":oFt(i)}function hY(i,a){return If(i)?i:Udt(i,a)?[i]:NIe(fFt(i))}var BIe=1/0;function gF(i){if(typeof i=="string"||vT(i))return i;var a=i+"";return a=="0"&&1/i==-BIe?"-0":a}function fY(i,a){a=hY(a,i);for(var f=0,p=a.length;i!=null&&f0&&f(E)?a>1?dY(E,a-1,f,p,w):Wdt(w,E):p||(w[w.length]=E)}return w}function rL(i){var a=i==null?0:i.length;return a?dY(i,1):[]}function $Ie(i){return RIt(BIt(i,void 0,rL),i+"")}function zIe(i,a,f,p){var w=-1,m=i==null?0:i.length;for(p&&m&&(f=i[++w]);++wE))return!1;var A=m.get(i),I=m.get(a);if(A&&I)return A==a&&I==i;var B=-1,N=!0,R=f&pPe?new bF:void 0;for(m.set(i,a),m.set(a,i);++B2?a[2]:void 0;for(w&&nF(a[0],a[1],w)&&(p=1);++f-1?w[m?a[b]:b]:void 0}}var iFe=Math.max;function sFe(i,a,f){var p=i==null?0:i.length;if(!p)return-1;var w=f==null?0:EIe(f);return w<0&&(w=iFe(p+w,0)),hFt(i,pk(a),w)}var aFe=rFe(sFe);const e0t=aFe;function RFt(i,a){var f=-1,p=ck(i)?Array(i.length):[];return pY(i,function(w,m,b){p[++f]=a(w,m,b)}),p}function Ff(i,a){var f=If(i)?nL:RFt;return f(i,pk(a))}function oFe(i,a){return i==null?i:tdt(i,t0t(a),uT)}function cFe(i,a){return i&&Jdt(i,t0t(a))}function uFe(i,a){return i>a}var lFe=Object.prototype,hFe=lFe.hasOwnProperty;function fFe(i,a){return i!=null&&hFe.call(i,a)}function za(i,a){return i!=null&&PFt(i,a,fFe)}function dFe(i,a){return nL(a,function(f){return i[f]})}function I5(i){return i==null?[]:dFe(i,Rb(i))}function Jh(i){return i===void 0}function jFt(i,a){return ia||m&&b&&_&&!E&&!A||p&&b&&_||!f&&_||!w)return 1;if(!p&&!m&&!A&&i=E)return _;var A=f[p];return _*(A=="desc"?-1:1)}}return i.index-a.index}function mFe(i,a,f){a.length?a=nL(a,function(m){return If(m)?function(b){return fY(b,m.length===1?m[0]:m)}:m}):a=[lT];var p=-1;a=nL(a,SW(pk));var w=RFt(i,function(m,b,E){var _=nL(a,function(A){return A(m)});return{criteria:_,index:++p,value:m}});return bFe(w,function(m,b){return vFe(m,b,f)})}function yFe(i,a){return pFe(i,a,function(f,p){return FFt(i,p)})}var xFe=$Ie(function(i,a){return i==null?{}:yFe(i,a)});const vF=xFe;var kFe=Math.ceil,EFe=Math.max;function TFe(i,a,f,p){for(var w=-1,m=EFe(kFe((a-i)/(f||1)),0),b=Array(m);m--;)b[p?m:++w]=i,i+=f;return b}function CFe(i){return function(a,f,p){return p&&typeof p!="number"&&nF(a,f,p)&&(f=p=void 0),a=lY(a),f===void 0?(f=a,a=0):f=lY(f),p=p===void 0?a1&&nF(i,a[0],a[1])?a=[]:f>2&&nF(a[0],a[1],a[2])&&(a=[a[0]]),mFe(i,dY(a,1),[])});const yF=AFe;var LFe=1/0,MFe=KA&&1/Xdt(new KA([,-0]))[1]==LFe?function(i){return new KA(i)}:TIe;const DFe=MFe;var IFe=200;function OFe(i,a,f){var p=-1,w=AIe,m=i.length,b=!0,E=[],_=E;if(f)b=!1,w=eFe;else if(m>=IFe){var A=a?null:DFe(i);if(A)return Xdt(A);b=!1,w=_Ft,_=new bF}else _=a?[]:E;t:for(;++p1?w.setNode(m,f):w.setNode(m)}),this}setNode(a,f){return za(this._nodes,a)?(arguments.length>1&&(this._nodes[a]=f),this):(this._nodes[a]=arguments.length>1?f:this._defaultNodeLabelFn(a),this._isCompound&&(this._parent[a]=xT,this._children[a]={},this._children[xT][a]=!0),this._in[a]={},this._preds[a]={},this._out[a]={},this._sucs[a]={},++this._nodeCount,this)}node(a){return this._nodes[a]}hasNode(a){return za(this._nodes,a)}removeNode(a){var f=this;if(za(this._nodes,a)){var p=function(w){f.removeEdge(f._edgeObjs[w])};delete this._nodes[a],this._isCompound&&(this._removeFromParentsChildList(a),delete this._parent[a],cr(this.children(a),function(w){f.setParent(w)}),delete this._children[a]),cr(Rb(this._in[a]),p),delete this._in[a],delete this._preds[a],cr(Rb(this._out[a]),p),delete this._out[a],delete this._sucs[a],--this._nodeCount}return this}setParent(a,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Jh(f))f=xT;else{f+="";for(var p=f;!Jh(p);p=this.parent(p))if(p===a)throw new Error("Setting "+f+" as parent of "+a+" would create a cycle");this.setNode(f)}return this.setNode(a),this._removeFromParentsChildList(a),this._parent[a]=f,this._children[f][a]=!0,this}_removeFromParentsChildList(a){delete this._children[this._parent[a]][a]}parent(a){if(this._isCompound){var f=this._parent[a];if(f!==xT)return f}}children(a){if(Jh(a)&&(a=xT),this._isCompound){var f=this._children[a];if(f)return Rb(f)}else{if(a===xT)return this.nodes();if(this.hasNode(a))return[]}}predecessors(a){var f=this._preds[a];if(f)return Rb(f)}successors(a){var f=this._sucs[a];if(f)return Rb(f)}neighbors(a){var f=this.predecessors(a);if(f)return FFe(f,this.successors(a))}isLeaf(a){var f;return this.isDirected()?f=this.successors(a):f=this.neighbors(a),f.length===0}filterNodes(a){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var p=this;cr(this._nodes,function(b,E){a(E)&&f.setNode(E,b)}),cr(this._edgeObjs,function(b){f.hasNode(b.v)&&f.hasNode(b.w)&&f.setEdge(b,p.edge(b))});var w={};function m(b){var E=p.parent(b);return E===void 0||f.hasNode(E)?(w[b]=E,E):E in w?w[E]:m(E)}return this._isCompound&&cr(f.nodes(),function(b){f.setParent(b,m(b))}),f}setDefaultEdgeLabel(a){return BA(a)||(a=HA(a)),this._defaultEdgeLabelFn=a,this}edgeCount(){return this._edgeCount}edges(){return I5(this._edgeObjs)}setPath(a,f){var p=this,w=arguments;return mF(a,function(m,b){return w.length>1?p.setEdge(m,b,f):p.setEdge(m,b),b}),this}setEdge(){var a,f,p,w,m=!1,b=arguments[0];typeof b=="object"&&b!==null&&"v"in b?(a=b.v,f=b.w,p=b.name,arguments.length===2&&(w=arguments[1],m=!0)):(a=b,f=arguments[1],p=arguments[3],arguments.length>2&&(w=arguments[2],m=!0)),a=""+a,f=""+f,Jh(p)||(p=""+p);var E=xF(this._isDirected,a,f,p);if(za(this._edgeLabels,E))return m&&(this._edgeLabels[E]=w),this;if(!Jh(p)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(a),this.setNode(f),this._edgeLabels[E]=m?w:this._defaultEdgeLabelFn(a,f,p);var _=$Fe(this._isDirected,a,f,p);return a=_.v,f=_.w,Object.freeze(_),this._edgeObjs[E]=_,zFt(this._preds[f],a),zFt(this._sucs[a],f),this._in[f][E]=_,this._out[a][E]=_,this._edgeCount++,this}edge(a,f,p){var w=arguments.length===1?i0t(this._isDirected,arguments[0]):xF(this._isDirected,a,f,p);return this._edgeLabels[w]}hasEdge(a,f,p){var w=arguments.length===1?i0t(this._isDirected,arguments[0]):xF(this._isDirected,a,f,p);return za(this._edgeLabels,w)}removeEdge(a,f,p){var w=arguments.length===1?i0t(this._isDirected,arguments[0]):xF(this._isDirected,a,f,p),m=this._edgeObjs[w];return m&&(a=m.v,f=m.w,delete this._edgeLabels[w],delete this._edgeObjs[w],qFt(this._preds[f],a),qFt(this._sucs[a],f),delete this._in[f][w],delete this._out[a][w],this._edgeCount--),this}inEdges(a,f){var p=this._in[a];if(p){var w=I5(p);return f?D5(w,function(m){return m.v===f}):w}}outEdges(a,f){var p=this._out[a];if(p){var w=I5(p);return f?D5(w,function(m){return m.w===f}):w}}nodeEdges(a,f){var p=this.inEdges(a,f);if(p)return p.concat(this.outEdges(a,f))}}c1.prototype._nodeCount=0,c1.prototype._edgeCount=0;function zFt(i,a){i[a]?i[a]++:i[a]=1}function qFt(i,a){--i[a]||delete i[a]}function xF(i,a,f,p){var w=""+a,m=""+f;if(!i&&w>m){var b=w;w=m,m=b}return w+$Ft+m+$Ft+(Jh(p)?jFe:p)}function $Fe(i,a,f,p){var w=""+a,m=""+f;if(!i&&w>m){var b=w;w=m,m=b}var E={v:w,w:m};return p&&(E.name=p),E}function i0t(i,a){return xF(i,a.v,a.w,a.name)}class zFe{constructor(){var a={};a._next=a._prev=a,this._sentinel=a}dequeue(){var a=this._sentinel,f=a._prev;if(f!==a)return HFt(f),f}enqueue(a){var f=this._sentinel;a._prev&&a._next&&HFt(a),a._next=f._next,f._next._prev=a,f._next=a,a._prev=f}toString(){for(var a=[],f=this._sentinel,p=f._prev;p!==f;)a.push(JSON.stringify(p,qFe)),p=p._prev;return"["+a.join(", ")+"]"}}function HFt(i){i._prev._next=i._next,i._next._prev=i._prev,delete i._next,delete i._prev}function qFe(i,a){if(i!=="_next"&&i!=="_prev")return a}var HFe=HA(1);function VFe(i,a){if(i.nodeCount()<=1)return[];var f=UFe(i,a||HFe),p=GFe(f.graph,f.buckets,f.zeroIdx);return rL(Ff(p,function(w){return i.outEdges(w.v,w.w)}))}function GFe(i,a,f){for(var p=[],w=a[a.length-1],m=a[0],b;i.nodeCount();){for(;b=m.dequeue();)s0t(i,a,f,b);for(;b=w.dequeue();)s0t(i,a,f,b);if(i.nodeCount()){for(var E=a.length-2;E>0;--E)if(b=a[E].dequeue(),b){p=p.concat(s0t(i,a,f,b,!0));break}}}return p}function s0t(i,a,f,p,w){var m=w?[]:void 0;return cr(i.inEdges(p.v),function(b){var E=i.edge(b),_=i.node(b.v);w&&m.push({v:b.v,w:b.w}),_.out-=E,a0t(a,f,_)}),cr(i.outEdges(p.v),function(b){var E=i.edge(b),_=b.w,A=i.node(_);A.in-=E,a0t(a,f,A)}),i.removeNode(p.v),m}function UFe(i,a){var f=new c1,p=0,w=0;cr(i.nodes(),function(E){f.setNode(E,{v:E,in:0,out:0})}),cr(i.edges(),function(E){var _=f.edge(E.v,E.w)||0,A=a(E),I=_+A;f.setEdge(E.v,E.w,I),w=Math.max(w,f.node(E.v).out+=A),p=Math.max(p,f.node(E.w).in+=A)});var m=yT(w+p+3).map(function(){return new zFe}),b=p+1;return cr(f.nodes(),function(E){a0t(m,b,f.node(E))}),{graph:f,buckets:m,zeroIdx:b}}function a0t(i,a,f){f.out?f.in?i[f.out-f.in+a].enqueue(f):i[i.length-1].enqueue(f):i[0].enqueue(f)}function WFe(i){var a=i.graph().acyclicer==="greedy"?VFe(i,f(i)):YFe(i);cr(a,function(p){var w=i.edge(p);i.removeEdge(p),w.forwardName=p.name,w.reversed=!0,i.setEdge(p.w,p.v,w,vY("rev"))});function f(p){return function(w){return p.edge(w).weight}}}function YFe(i){var a=[],f={},p={};function w(m){za(p,m)||(p[m]=!0,f[m]=!0,cr(i.outEdges(m),function(b){za(f,b.w)?a.push(b):w(b.w)}),delete f[m])}return cr(i.nodes(),w),a}function KFe(i){cr(i.edges(),function(a){var f=i.edge(a);if(f.reversed){i.removeEdge(a);var p=f.forwardName;delete f.reversed,delete f.forwardName,i.setEdge(a.w,a.v,f,p)}})}function sL(i,a,f,p){var w;do w=vY(p);while(i.hasNode(w));return f.dummy=a,i.setNode(w,f),w}function XFe(i){var a=new c1().setGraph(i.graph());return cr(i.nodes(),function(f){a.setNode(f,i.node(f))}),cr(i.edges(),function(f){var p=a.edge(f.v,f.w)||{weight:0,minlen:1},w=i.edge(f);a.setEdge(f.v,f.w,{weight:p.weight+w.weight,minlen:Math.max(p.minlen,w.minlen)})}),a}function VFt(i){var a=new c1({multigraph:i.isMultigraph()}).setGraph(i.graph());return cr(i.nodes(),function(f){i.children(f).length||a.setNode(f,i.node(f))}),cr(i.edges(),function(f){a.setEdge(f,i.edge(f))}),a}function GFt(i,a){var f=i.x,p=i.y,w=a.x-f,m=a.y-p,b=i.width/2,E=i.height/2;if(!w&&!m)throw new Error("Not possible to find intersection inside of the rectangle");var _,A;return Math.abs(m)*b>Math.abs(w)*E?(m<0&&(E=-E),_=E*w/m,A=E):(w<0&&(b=-b),_=b,A=b*m/w),{x:f+_,y:p+A}}function mY(i){var a=Ff(yT(WFt(i)+1),function(){return[]});return cr(i.nodes(),function(f){var p=i.node(f),w=p.rank;Jh(w)||(a[w][p.order]=f)}),a}function QFe(i){var a=wF(Ff(i.nodes(),function(f){return i.node(f).rank}));cr(i.nodes(),function(f){var p=i.node(f);za(p,"rank")&&(p.rank-=a)})}function ZFe(i){var a=wF(Ff(i.nodes(),function(m){return i.node(m).rank})),f=[];cr(i.nodes(),function(m){var b=i.node(m).rank-a;f[b]||(f[b]=[]),f[b].push(m)});var p=0,w=i.graph().nodeRankFactor;cr(f,function(m,b){Jh(m)&&b%w!==0?--p:p&&cr(m,function(E){i.node(E).rank+=p})})}function UFt(i,a,f,p){var w={width:0,height:0};return arguments.length>=4&&(w.rank=f,w.order=p),sL(i,"border",w,a)}function WFt(i){return mT(Ff(i.nodes(),function(a){var f=i.node(a).rank;if(!Jh(f))return f}))}function JFe(i,a){var f={lhs:[],rhs:[]};return cr(i,function(p){a(p)?f.lhs.push(p):f.rhs.push(p)}),f}function tNe(i,a){var f=NFt();try{return a()}finally{console.log(i+" time: "+(NFt()-f)+"ms")}}function eNe(i,a){return a()}function nNe(i){function a(f){var p=i.children(f),w=i.node(f);if(p.length&&cr(p,a),za(w,"minRank")){w.borderLeft=[],w.borderRight=[];for(var m=w.minRank,b=w.maxRank+1;mb.lim&&(E=b,_=!0);var A=D5(a.edges(),function(I){return _===sNt(i,i.node(I.v),E)&&_!==sNt(i,i.node(I.w),E)});return r0t(A,function(I){return kF(a,I)})}function iNt(i,a,f,p){var w=f.v,m=f.w;i.removeEdge(w,m),i.setEdge(p.v,p.w,{}),h0t(i),l0t(i,a),wNe(i,a)}function wNe(i,a){var f=e0t(i.nodes(),function(w){return!a.node(w).parent}),p=pNe(i,f);p=p.slice(1),cr(p,function(w){var m=i.node(w).parent,b=a.edge(w,m),E=!1;b||(b=a.edge(m,w),E=!0),a.node(w).rank=a.node(m).rank+(E?b.minlen:-b.minlen)})}function vNe(i,a,f){return i.hasEdge(a,f)}function sNt(i,a,f){return f.low<=a.lim&&a.lim<=f.lim}function mNe(i){switch(i.graph().ranker){case"network-simplex":aNt(i);break;case"tight-tree":xNe(i);break;case"longest-path":yNe(i);break;default:aNt(i)}}var yNe=u0t;function xNe(i){u0t(i),QFt(i)}function aNt(i){kT(i)}function kNe(i){var a=sL(i,"root",{},"_root"),f=ENe(i),p=mT(I5(f))-1,w=2*p+1;i.graph().nestingRoot=a,cr(i.edges(),function(b){i.edge(b).minlen*=w});var m=TNe(i)+1;cr(i.children(),function(b){oNt(i,a,w,m,p,f,b)}),i.graph().nodeRankFactor=w}function oNt(i,a,f,p,w,m,b){var E=i.children(b);if(!E.length){b!==a&&i.setEdge(a,b,{weight:0,minlen:f});return}var _=UFt(i,"_bt"),A=UFt(i,"_bb"),I=i.node(b);i.setParent(_,b),I.borderTop=_,i.setParent(A,b),I.borderBottom=A,cr(E,function(B){oNt(i,a,f,p,w,m,B);var N=i.node(B),R=N.borderTop?N.borderTop:B,z=N.borderBottom?N.borderBottom:B,W=N.borderTop?p:2*p,et=R!==z?1:w-m[b]+1;i.setEdge(_,R,{weight:W,minlen:et,nestingEdge:!0}),i.setEdge(z,A,{weight:W,minlen:et,nestingEdge:!0})}),i.parent(b)||i.setEdge(a,_,{weight:0,minlen:w+m[b]})}function ENe(i){var a={};function f(p,w){var m=i.children(p);m&&m.length&&cr(m,function(b){f(b,w+1)}),a[p]=w}return cr(i.children(),function(p){f(p,1)}),a}function TNe(i){return mF(i.edges(),function(a,f){return a+i.edge(f).weight},0)}function CNe(i){var a=i.graph();i.removeNode(a.nestingRoot),delete a.nestingRoot,cr(i.edges(),function(f){var p=i.edge(f);p.nestingEdge&&i.removeEdge(f)})}function _Ne(i,a,f){var p={},w;cr(f,function(m){for(var b=i.parent(m),E,_;b;){if(E=i.parent(b),E?(_=p[E],p[E]=b):(_=w,w=b),_&&_!==b){a.setEdge(_,b);return}b=E}})}function SNe(i,a,f){var p=ANe(i),w=new c1({compound:!0}).setGraph({root:p}).setDefaultNodeLabel(function(m){return i.node(m)});return cr(i.nodes(),function(m){var b=i.node(m),E=i.parent(m);(b.rank===a||b.minRank<=a&&a<=b.maxRank)&&(w.setNode(m),w.setParent(m,E||p),cr(i[f](m),function(_){var A=_.v===m?_.w:_.v,I=w.edge(A,m),B=Jh(I)?0:I.weight;w.setEdge(A,m,{weight:i.edge(_).weight+B})}),za(b,"minRank")&&w.setNode(m,{borderLeft:b.borderLeft[a],borderRight:b.borderRight[a]}))}),w}function ANe(i){for(var a;i.hasNode(a=vY("_root")););return a}function LNe(i,a){for(var f=0,p=1;p0;)I%2&&(B+=E[I+1]),I=I-1>>1,E[I]+=A.weight;_+=A.weight*B})),_}function DNe(i){var a={},f=D5(i.nodes(),function(E){return!i.children(E).length}),p=mT(Ff(f,function(E){return i.node(E).rank})),w=Ff(yT(p+1),function(){return[]});function m(E){if(!za(a,E)){a[E]=!0;var _=i.node(E);w[_.rank].push(E),cr(i.successors(E),m)}}var b=yF(f,function(E){return i.node(E).rank});return cr(b,m),w}function INe(i,a){return Ff(a,function(f){var p=i.inEdges(f);if(p.length){var w=mF(p,function(m,b){var E=i.edge(b),_=i.node(b.v);return{sum:m.sum+E.weight*_.order,weight:m.weight+E.weight}},{sum:0,weight:0});return{v:f,barycenter:w.sum/w.weight,weight:w.weight}}else return{v:f}})}function ONe(i,a){var f={};cr(i,function(w,m){var b=f[w.v]={indegree:0,in:[],out:[],vs:[w.v],i:m};Jh(w.barycenter)||(b.barycenter=w.barycenter,b.weight=w.weight)}),cr(a.edges(),function(w){var m=f[w.v],b=f[w.w];!Jh(m)&&!Jh(b)&&(b.indegree++,m.out.push(f[w.w]))});var p=D5(f,function(w){return!w.indegree});return PNe(p)}function PNe(i){var a=[];function f(m){return function(b){b.merged||(Jh(b.barycenter)||Jh(m.barycenter)||b.barycenter>=m.barycenter)&&FNe(m,b)}}function p(m){return function(b){b.in.push(m),--b.indegree===0&&i.push(b)}}for(;i.length;){var w=i.pop();a.push(w),cr(w.in.reverse(),f(w)),cr(w.out,p(w))}return Ff(D5(a,function(m){return!m.merged}),function(m){return vF(m,["vs","i","barycenter","weight"])})}function FNe(i,a){var f=0,p=0;i.weight&&(f+=i.barycenter*i.weight,p+=i.weight),a.weight&&(f+=a.barycenter*a.weight,p+=a.weight),i.vs=a.vs.concat(i.vs),i.barycenter=f/p,i.weight=p,i.i=Math.min(a.i,i.i),a.merged=!0}function NNe(i,a){var f=JFe(i,function(I){return za(I,"barycenter")}),p=f.lhs,w=yF(f.rhs,function(I){return-I.i}),m=[],b=0,E=0,_=0;p.sort(BNe(!!a)),_=cNt(m,w,_),cr(p,function(I){_+=I.vs.length,m.push(I.vs),b+=I.barycenter*I.weight,E+=I.weight,_=cNt(m,w,_)});var A={vs:rL(m)};return E&&(A.barycenter=b/E,A.weight=E),A}function cNt(i,a,f){for(var p;a.length&&(p=bY(a)).i<=f;)a.pop(),i.push(p.vs),f++;return f}function BNe(i){return function(a,f){return a.barycenterf.barycenter?1:i?f.i-a.i:a.i-f.i}}function uNt(i,a,f,p){var w=i.children(a),m=i.node(a),b=m?m.borderLeft:void 0,E=m?m.borderRight:void 0,_={};b&&(w=D5(w,function(z){return z!==b&&z!==E}));var A=INe(i,w);cr(A,function(z){if(i.children(z.v).length){var W=uNt(i,z.v,f,p);_[z.v]=W,za(W,"barycenter")&&jNe(z,W)}});var I=ONe(A,f);RNe(I,_);var B=NNe(I,p);if(b&&(B.vs=rL([b,B.vs,E]),i.predecessors(b).length)){var N=i.node(i.predecessors(b)[0]),R=i.node(i.predecessors(E)[0]);za(B,"barycenter")||(B.barycenter=0,B.weight=0),B.barycenter=(B.barycenter*B.weight+N.order+R.order)/(B.weight+2),B.weight+=2}return B}function RNe(i,a){cr(i,function(f){f.vs=rL(f.vs.map(function(p){return a[p]?a[p].vs:p}))})}function jNe(i,a){Jh(i.barycenter)?(i.barycenter=a.barycenter,i.weight=a.weight):(i.barycenter=(i.barycenter*i.weight+a.barycenter*a.weight)/(i.weight+a.weight),i.weight+=a.weight)}function $Ne(i){var a=WFt(i),f=lNt(i,yT(1,a+1),"inEdges"),p=lNt(i,yT(a-1,-1,-1),"outEdges"),w=DNe(i);hNt(i,w);for(var m=Number.POSITIVE_INFINITY,b,E=0,_=0;_<4;++E,++_){zNe(E%2?f:p,E%4>=2),w=mY(i);var A=LNe(i,w);Ab||E>a[_].lim));for(A=_,_=p;(_=i.parent(_))!==A;)m.push(_);return{path:w.concat(m.reverse()),lca:A}}function VNe(i){var a={},f=0;function p(w){var m=f;cr(i.children(w),p),a[w]={low:m,lim:f++}}return cr(i.children(),p),a}function GNe(i,a){var f={};function p(w,m){var b=0,E=0,_=w.length,A=bY(m);return cr(m,function(I,B){var N=WNe(i,I),R=N?i.node(N).order:_;(N||I===A)&&(cr(m.slice(E,B+1),function(z){cr(i.predecessors(z),function(W){var et=i.node(W),st=et.order;(stA)&&fNt(f,N,I)})})}function w(m,b){var E=-1,_,A=0;return cr(b,function(I,B){if(i.node(I).dummy==="border"){var N=i.predecessors(I);N.length&&(_=i.node(N[0]).order,p(b,A,B,E,_),A=B,E=_)}p(b,A,b.length,_,m.length)}),b}return mF(a,w),f}function WNe(i,a){if(i.node(a).dummy)return e0t(i.predecessors(a),function(f){return i.node(f).dummy})}function fNt(i,a,f){if(a>f){var p=a;a=f,f=p}var w=i[a];w||(i[a]=w={}),w[f]=!0}function YNe(i,a,f){if(a>f){var p=a;a=f,f=p}return za(i[a],f)}function KNe(i,a,f,p){var w={},m={},b={};return cr(a,function(E){cr(E,function(_,A){w[_]=_,m[_]=_,b[_]=A})}),cr(a,function(E){var _=-1;cr(E,function(A){var I=p(A);if(I.length){I=yF(I,function(W){return b[W]});for(var B=(I.length-1)/2,N=Math.floor(B),R=Math.ceil(B);N<=R;++N){var z=I[N];m[A]===A&&_0}function v3(i,a,f){var p=i.x,w=i.y,m=[],b=Number.POSITIVE_INFINITY,E=Number.POSITIVE_INFINITY;a.forEach(function(z){b=Math.min(b,z.x),E=Math.min(E,z.y)});for(var _=p-i.width/2-b,A=w-i.height/2-E,I=0;I1&&m.sort(function(z,W){var et=z.x-f.x,st=z.y-f.y,at=Math.sqrt(et*et+st*st),bt=W.x-f.x,mt=W.y-f.y,yt=Math.sqrt(bt*bt+mt*mt);return atMath.abs(w)*E?(m<0&&(E=-E),_=m===0?0:E*w/m,A=E):(w<0&&(b=-b),_=b,A=w===0?0:b*m/w),{x:f+_,y:p+A}}var E0t={rect:ZBe,ellipse:JBe,circle:tRe,diamond:eRe};function QBe(i){E0t=i}function ZBe(i,a,f){var p=i.insert("rect",":first-child").attr("rx",f.rx).attr("ry",f.ry).attr("x",-a.width/2).attr("y",-a.height/2).attr("width",a.width).attr("height",a.height);return f.intersect=function(w){return k0t(f,w)},p}function JBe(i,a,f){var p=a.width/2,w=a.height/2,m=i.insert("ellipse",":first-child").attr("x",-a.width/2).attr("y",-a.height/2).attr("rx",p).attr("ry",w);return f.intersect=function(b){return vNt(f,p,w,b)},m}function tRe(i,a,f){var p=Math.max(a.width,a.height)/2,w=i.insert("circle",":first-child").attr("x",-a.width/2).attr("y",-a.height/2).attr("r",p);return f.intersect=function(m){return KBe(f,p,m)},w}function eRe(i,a,f){var p=a.width*Math.SQRT2/2,w=a.height*Math.SQRT2/2,m=[{x:0,y:-w},{x:-p,y:0},{x:0,y:w},{x:p,y:0}],b=i.insert("polygon",":first-child").attr("points",m.map(function(E){return E.x+","+E.y}).join(" "));return f.intersect=function(E){return v3(f,m,E)},b}function nRe(){var i=function(a,f){sRe(f);var p=EF(a,"output"),w=EF(p,"clusters"),m=EF(p,"edgePaths"),b=m0t(EF(p,"edgeLabels"),f),E=x0t(EF(p,"nodes"),f,E0t);aL(f),YBe(E,f),WBe(b,f),y0t(m,f,p0t);var _=v0t(w,f);UBe(_,f),aRe(f)};return i.createNodes=function(a){return arguments.length?(GBe(a),i):x0t},i.createClusters=function(a){return arguments.length?(BBe(a),i):v0t},i.createEdgeLabels=function(a){return arguments.length?(RBe(a),i):m0t},i.createEdgePaths=function(a){return arguments.length?(jBe(a),i):y0t},i.shapes=function(a){return arguments.length?(QBe(a),i):E0t},i.arrows=function(a){return arguments.length?(MBe(a),i):p0t},i}var rRe={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},iRe={arrowhead:"normal",curve:cg};function sRe(i){i.nodes().forEach(function(a){var f=i.node(a);!za(f,"label")&&!i.children(a).length&&(f.label=a),za(f,"paddingX")&&iL(f,{paddingLeft:f.paddingX,paddingRight:f.paddingX}),za(f,"paddingY")&&iL(f,{paddingTop:f.paddingY,paddingBottom:f.paddingY}),za(f,"padding")&&iL(f,{paddingLeft:f.padding,paddingRight:f.padding,paddingTop:f.padding,paddingBottom:f.padding}),iL(f,rRe),cr(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(p){f[p]=Number(f[p])}),za(f,"width")&&(f._prevWidth=f.width),za(f,"height")&&(f._prevHeight=f.height)}),i.edges().forEach(function(a){var f=i.edge(a);za(f,"label")||(f.label=""),iL(f,iRe)})}function aRe(i){cr(i.nodes(),function(a){var f=i.node(a);za(f,"_prevWidth")?f.width=f._prevWidth:delete f.width,za(f,"_prevHeight")?f.height=f._prevHeight:delete f.height,delete f._prevWidth,delete f._prevHeight})}function EF(i,a){var f=i.select("g."+a);return f.empty()&&(f=i.append("g").attr("class",a)),f}function yNt(i,a,f){const p=a.width,w=a.height,m=(p+w)*.9,b=[{x:m/2,y:0},{x:m,y:-m/2},{x:m/2,y:-m},{x:0,y:-m/2}],E=O5(i,m,m,b);return f.intersect=function(_){return v3(f,b,_)},E}function xNt(i,a,f){const w=a.height,m=w/4,b=a.width+2*m,E=[{x:m,y:0},{x:b-m,y:0},{x:b,y:-w/2},{x:b-m,y:-w},{x:m,y:-w},{x:0,y:-w/2}],_=O5(i,b,w,E);return f.intersect=function(A){return v3(f,E,A)},_}function kNt(i,a,f){const p=a.width,w=a.height,m=[{x:-w/2,y:0},{x:p,y:0},{x:p,y:-w},{x:-w/2,y:-w},{x:0,y:-w/2}],b=O5(i,p,w,m);return f.intersect=function(E){return v3(f,m,E)},b}function ENt(i,a,f){const p=a.width,w=a.height,m=[{x:-2*w/6,y:0},{x:p-w/6,y:0},{x:p+2*w/6,y:-w},{x:w/6,y:-w}],b=O5(i,p,w,m);return f.intersect=function(E){return v3(f,m,E)},b}function TNt(i,a,f){const p=a.width,w=a.height,m=[{x:2*w/6,y:0},{x:p+w/6,y:0},{x:p-2*w/6,y:-w},{x:-w/6,y:-w}],b=O5(i,p,w,m);return f.intersect=function(E){return v3(f,m,E)},b}function CNt(i,a,f){const p=a.width,w=a.height,m=[{x:-2*w/6,y:0},{x:p+2*w/6,y:0},{x:p-w/6,y:-w},{x:w/6,y:-w}],b=O5(i,p,w,m);return f.intersect=function(E){return v3(f,m,E)},b}function _Nt(i,a,f){const p=a.width,w=a.height,m=[{x:w/6,y:0},{x:p-w/6,y:0},{x:p+2*w/6,y:-w},{x:-2*w/6,y:-w}],b=O5(i,p,w,m);return f.intersect=function(E){return v3(f,m,E)},b}function SNt(i,a,f){const p=a.width,w=a.height,m=[{x:0,y:0},{x:p+w/2,y:0},{x:p,y:-w/2},{x:p+w/2,y:-w},{x:0,y:-w}],b=O5(i,p,w,m);return f.intersect=function(E){return v3(f,m,E)},b}function ANt(i,a,f){const p=a.height,w=a.width+p/4,m=i.insert("rect",":first-child").attr("rx",p/2).attr("ry",p/2).attr("x",-w/2).attr("y",-p/2).attr("width",w).attr("height",p);return f.intersect=function(b){return k0t(f,b)},m}function LNt(i,a,f){const p=a.width,w=a.height,m=[{x:0,y:0},{x:p,y:0},{x:p,y:-w},{x:0,y:-w},{x:0,y:0},{x:-8,y:0},{x:p+8,y:0},{x:p+8,y:-w},{x:-8,y:-w},{x:-8,y:0}],b=O5(i,p,w,m);return f.intersect=function(E){return v3(f,m,E)},b}function MNt(i,a,f){const p=a.width,w=p/2,m=w/(2.5+p/50),b=a.height+m,E="M 0,"+m+" a "+w+","+m+" 0,0,0 "+p+" 0 a "+w+","+m+" 0,0,0 "+-p+" 0 l 0,"+b+" a "+w+","+m+" 0,0,0 "+p+" 0 l 0,"+-b,_=i.attr("label-offset-y",m).insert("path",":first-child").attr("d",E).attr("transform","translate("+-p/2+","+-(b/2+m)+")");return f.intersect=function(A){const I=k0t(f,A),B=I.x-f.x;if(w!=0&&(Math.abs(B)f.height/2-m)){let N=m*m*(1-B*B/(w*w));N!=0&&(N=Math.sqrt(N)),N=m-N,A.y-f.y>0&&(N=-N),I.y+=N}return I},_}function oRe(i){i.shapes().question=yNt,i.shapes().hexagon=xNt,i.shapes().stadium=ANt,i.shapes().subroutine=LNt,i.shapes().cylinder=MNt,i.shapes().rect_left_inv_arrow=kNt,i.shapes().lean_right=ENt,i.shapes().lean_left=TNt,i.shapes().trapezoid=CNt,i.shapes().inv_trapezoid=_Nt,i.shapes().rect_right_inv_arrow=SNt}function cRe(i){i({question:yNt}),i({hexagon:xNt}),i({stadium:ANt}),i({subroutine:LNt}),i({cylinder:MNt}),i({rect_left_inv_arrow:kNt}),i({lean_right:ENt}),i({lean_left:TNt}),i({trapezoid:CNt}),i({inv_trapezoid:_Nt}),i({rect_right_inv_arrow:SNt})}function O5(i,a,f,p){return i.insert("polygon",":first-child").attr("points",p.map(function(w){return w.x+","+w.y}).join(" ")).attr("transform","translate("+-a/2+","+f/2+")")}const uRe={addToRender:oRe,addToRenderV2:cRe},DNt={},lRe=function(i){const a=Object.keys(i);for(const f of a)DNt[f]=i[f]},INt=function(i,a,f,p,w,m){const b=p?p.select(`[id="${f}"]`):yr(`[id="${f}"]`),E=w||document;Object.keys(i).forEach(function(A){const I=i[A];let B="default";I.classes.length>0&&(B=I.classes.join(" "));const N=im(I.styles);let R=I.text!==void 0?I.text:I.id,z;if(o1(Oe().flowchart.htmlLabels)){const st={label:R.replace(/fa[blrs]?:fa-[\w-]+/g,at=>``)};z=b0t(b,st).node(),z.parentNode.removeChild(z)}else{const st=E.createElementNS("http://www.w3.org/2000/svg","text");st.setAttribute("style",N.labelStyle.replace("color:","fill:"));const at=R.split(Kr.lineBreakRegex);for(const bt of at){const mt=E.createElementNS("http://www.w3.org/2000/svg","tspan");mt.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),mt.setAttribute("dy","1em"),mt.setAttribute("x","1"),mt.textContent=bt,st.appendChild(mt)}z=st}let W=0,et="";switch(I.type){case"round":W=5,et="rect";break;case"square":et="rect";break;case"diamond":et="question";break;case"hexagon":et="hexagon";break;case"odd":et="rect_left_inv_arrow";break;case"lean_right":et="lean_right";break;case"lean_left":et="lean_left";break;case"trapezoid":et="trapezoid";break;case"inv_trapezoid":et="inv_trapezoid";break;case"odd_right":et="rect_left_inv_arrow";break;case"circle":et="circle";break;case"ellipse":et="ellipse";break;case"stadium":et="stadium";break;case"subroutine":et="subroutine";break;case"cylinder":et="cylinder";break;case"group":et="rect";break;default:et="rect"}Ut.warn("Adding node",I.id,I.domId),a.setNode(m.db.lookUpDomId(I.id),{labelType:"svg",labelStyle:N.labelStyle,shape:et,label:z,rx:W,ry:W,class:B,style:N.style,id:m.db.lookUpDomId(I.id)})})},ONt=function(i,a,f){let p=0,w,m;if(i.defaultStyle!==void 0){const b=im(i.defaultStyle);w=b.style,m=b.labelStyle}i.forEach(function(b){p++;const E="L-"+b.start+"-"+b.end,_="LS-"+b.start,A="LE-"+b.end,I={};b.type==="arrow_open"?I.arrowhead="none":I.arrowhead="normal";let B="",N="";if(b.style!==void 0){const R=im(b.style);B=R.style,N=R.labelStyle}else switch(b.stroke){case"normal":B="fill:none",w!==void 0&&(B=w),m!==void 0&&(N=m);break;case"dotted":B="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":B=" stroke-width: 3.5px;fill:none";break}I.style=B,I.labelStyle=N,b.interpolate!==void 0?I.curve=ew(b.interpolate,cg):i.defaultInterpolate!==void 0?I.curve=ew(i.defaultInterpolate,cg):I.curve=ew(DNt.curve,cg),b.text===void 0?b.style!==void 0&&(I.arrowheadStyle="fill: #333"):(I.arrowheadStyle="fill: #333",I.labelpos="c",o1(Oe().flowchart.htmlLabels)?(I.labelType="html",I.label=`${b.text.replace(/fa[blrs]?:fa-[\w-]+/g,R=>``)}`):(I.labelType="text",I.label=b.text.replace(Kr.lineBreakRegex,` +`),b.style===void 0&&(I.style=I.style||"stroke: #333; stroke-width: 1.5px;fill:none"),I.labelStyle=I.labelStyle.replace("color:","fill:"))),I.id=E,I.class=_+" "+A,I.minlen=b.length||1,a.setEdge(f.db.lookUpDomId(b.start),f.db.lookUpDomId(b.end),I,p)})},hRe={setConf:lRe,addVertices:INt,addEdges:ONt,getClasses:function(i,a){return Ut.info("Extracting classes"),a.db.getClasses()},draw:function(i,a,f,p){Ut.info("Drawing flowchart");const{securityLevel:w,flowchart:m}=Oe();let b;w==="sandbox"&&(b=yr("#i"+a));const E=yr(w==="sandbox"?b.nodes()[0].contentDocument.body:"body"),_=w==="sandbox"?b.nodes()[0].contentDocument:document;let A=p.db.getDirection();A===void 0&&(A="TD");const I=m.nodeSpacing||50,B=m.rankSpacing||50,N=new c1({multigraph:!0,compound:!0}).setGraph({rankdir:A,nodesep:I,ranksep:B,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let R;const z=p.db.getSubGraphs();for(let ft=z.length-1;ft>=0;ft--)R=z[ft],p.db.addVertex(R.id,R.title,"group",void 0,R.classes);const W=p.db.getVertices();Ut.warn("Get vertices",W);const et=p.db.getEdges();let st=0;for(st=z.length-1;st>=0;st--){R=z[st],sMt("cluster").append("text");for(let ft=0;ft{a.forEach(w=>{pRe[w](i,f,p)})},pRe={extension:(i,a,f)=>{Ut.trace("Making markers for ",f),i.append("defs").append("marker").attr("id",f+"_"+a+"-extensionStart").attr("class","marker extension "+a).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-extensionEnd").attr("class","marker extension "+a).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},composition:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-compositionStart").attr("class","marker composition "+a).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-compositionEnd").attr("class","marker composition "+a).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},aggregation:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-aggregationStart").attr("class","marker aggregation "+a).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-aggregationEnd").attr("class","marker aggregation "+a).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},dependency:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-dependencyStart").attr("class","marker dependency "+a).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-dependencyEnd").attr("class","marker dependency "+a).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},lollipop:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-lollipopStart").attr("class","marker lollipop "+a).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),i.append("defs").append("marker").attr("id",f+"_"+a+"-lollipopEnd").attr("class","marker lollipop "+a).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},point:(i,a,f)=>{i.append("marker").attr("id",f+"_"+a+"-pointEnd").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),i.append("marker").attr("id",f+"_"+a+"-pointStart").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},circle:(i,a,f)=>{i.append("marker").attr("id",f+"_"+a+"-circleEnd").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),i.append("marker").attr("id",f+"_"+a+"-circleStart").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},cross:(i,a,f)=>{i.append("marker").attr("id",f+"_"+a+"-crossEnd").attr("class","marker cross "+a).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),i.append("marker").attr("id",f+"_"+a+"-crossStart").attr("class","marker cross "+a).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},barb:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}},PNt=gRe;function bRe(i,a){a&&i.attr("style",a)}function wRe(i){const a=yr(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),f=a.append("xhtml:div"),p=i.label,w=i.isNode?"nodeLabel":"edgeLabel";return f.html('"+p+""),bRe(f,i.labelStyle),f.style("display","inline-block"),f.style("white-space","nowrap"),f.attr("xmlns","http://www.w3.org/1999/xhtml"),a.node()}const gp=(i,a,f,p)=>{let w=i||"";if(typeof w=="object"&&(w=w[0]),o1(Oe().flowchart.htmlLabels)){w=w.replace(/\\n|\n/g,"
"),Ut.info("vertexText"+w);const m={isNode:p,label:uF(w).replace(/fa[blrs]?:fa-[\w-]+/g,E=>``),labelStyle:a.replace("fill:","color:")};return wRe(m)}else{const m=document.createElementNS("http://www.w3.org/2000/svg","text");m.setAttribute("style",a.replace("color:","fill:"));let b=[];typeof w=="string"?b=w.split(/\\n|\n|/gi):Array.isArray(w)?b=w:b=[];for(const E of b){const _=document.createElementNS("http://www.w3.org/2000/svg","tspan");_.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),_.setAttribute("dy","1em"),_.setAttribute("x","0"),f?_.setAttribute("class","title-row"):_.setAttribute("class","row"),_.textContent=E.trim(),m.appendChild(_)}return m}},vRe={};function mRe(i,a){const f=a||vRe,p=typeof f.includeImageAlt=="boolean"?f.includeImageAlt:!0,w=typeof f.includeHtml=="boolean"?f.includeHtml:!0;return FNt(i,p,w)}function FNt(i,a,f){if(yRe(i)){if("value"in i)return i.type==="html"&&!f?"":i.value;if(a&&"alt"in i&&i.alt)return i.alt;if("children"in i)return NNt(i.children,a,f)}return Array.isArray(i)?NNt(i,a,f):""}function NNt(i,a,f){const p=[];let w=-1;for(;++ww?0:w+a:a=a>w?w:a,f=f>0?f:0,p.length<1e4)b=Array.from(p),b.unshift(a,f),i.splice(...b);else for(f&&i.splice(a,f);m0?(m3(i,i.length,0,a),i):a}const BNt={}.hasOwnProperty;function xRe(i){const a={};let f=-1;for(;++fb))return;const ut=a.events.length;let vt=ut,X,pt;for(;vt--;)if(a.events[vt][0]==="exit"&&a.events[vt][1].type==="chunkFlow"){if(X){pt=a.events[vt][1].end;break}X=!0}for(st(p),ft=ut;ftbt;){const yt=f[mt];a.containerState=yt[1],yt[0].exit.call(a,i)}f.length=bt}function at(){w.write([null]),m=void 0,w=void 0,a.containerState._closeFlow=void 0}}function PRe(i,a,f){return il(i,i.attempt(this.parser.constructs.document,a,f),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function jNt(i){if(i===null||pp(i)||LRe(i))return 1;if(ARe(i))return 2}function _0t(i,a,f){const p=[];let w=-1;for(;++w1&&i[f][1].end.offset-i[f][1].start.offset>1?2:1;const B=Object.assign({},i[p][1].end),N=Object.assign({},i[f][1].start);$Nt(B,-_),$Nt(N,_),b={type:_>1?"strongSequence":"emphasisSequence",start:B,end:Object.assign({},i[p][1].end)},E={type:_>1?"strongSequence":"emphasisSequence",start:Object.assign({},i[f][1].start),end:N},m={type:_>1?"strongText":"emphasisText",start:Object.assign({},i[p][1].end),end:Object.assign({},i[f][1].start)},w={type:_>1?"strong":"emphasis",start:Object.assign({},b.start),end:Object.assign({},E.end)},i[p][1].end=Object.assign({},b.start),i[f][1].start=Object.assign({},E.end),A=[],i[p][1].end.offset-i[p][1].start.offset&&(A=sw(A,[["enter",i[p][1],a],["exit",i[p][1],a]])),A=sw(A,[["enter",w,a],["enter",b,a],["exit",b,a],["enter",m,a]]),A=sw(A,_0t(a.parser.constructs.insideSpan.null,i.slice(p+1,f),a)),A=sw(A,[["exit",m,a],["enter",E,a],["exit",E,a],["exit",w,a]]),i[f][1].end.offset-i[f][1].start.offset?(I=2,A=sw(A,[["enter",i[f][1],a],["exit",i[f][1],a]])):I=0,m3(i,p-1,f-p+3,A),f=p+A.length-I-2;break}}for(f=-1;++f0&&Wc(ft)?il(i,at,"linePrefix",m+1)(ft):at(ft)}function at(ft){return ft===null||xa(ft)?i.check(GNt,W,mt)(ft):(i.enter("codeFlowValue"),bt(ft))}function bt(ft){return ft===null||xa(ft)?(i.exit("codeFlowValue"),at(ft)):(i.consume(ft),bt)}function mt(ft){return i.exit("codeFenced"),a(ft)}function yt(ft,ut,vt){let X=0;return pt;function pt(Ot){return ft.enter("lineEnding"),ft.consume(Ot),ft.exit("lineEnding"),U}function U(Ot){return ft.enter("codeFencedFence"),Wc(Ot)?il(ft,Tt,"linePrefix",p.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(Ot):Tt(Ot)}function Tt(Ot){return Ot===E?(ft.enter("codeFencedFenceSequence"),nt(Ot)):vt(Ot)}function nt(Ot){return Ot===E?(X++,ft.consume(Ot),nt):X>=b?(ft.exit("codeFencedFenceSequence"),Wc(Ot)?il(ft,It,"whitespace")(Ot):It(Ot)):vt(Ot)}function It(Ot){return Ot===null||xa(Ot)?(ft.exit("codeFencedFence"),ut(Ot)):vt(Ot)}}}function URe(i,a,f){const p=this;return w;function w(b){return b===null?f(b):(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),m)}function m(b){return p.parser.lazy[p.now().line]?f(b):a(b)}}const L0t={name:"codeIndented",tokenize:YRe},WRe={tokenize:KRe,partial:!0};function YRe(i,a,f){const p=this;return w;function w(A){return i.enter("codeIndented"),il(i,m,"linePrefix",4+1)(A)}function m(A){const I=p.events[p.events.length-1];return I&&I[1].type==="linePrefix"&&I[2].sliceSerialize(I[1],!0).length>=4?b(A):f(A)}function b(A){return A===null?_(A):xa(A)?i.attempt(WRe,b,_)(A):(i.enter("codeFlowValue"),E(A))}function E(A){return A===null||xa(A)?(i.exit("codeFlowValue"),b(A)):(i.consume(A),E)}function _(A){return i.exit("codeIndented"),a(A)}}function KRe(i,a,f){const p=this;return w;function w(b){return p.parser.lazy[p.now().line]?f(b):xa(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),w):il(i,m,"linePrefix",4+1)(b)}function m(b){const E=p.events[p.events.length-1];return E&&E[1].type==="linePrefix"&&E[2].sliceSerialize(E[1],!0).length>=4?a(b):xa(b)?w(b):f(b)}}const XRe={name:"codeText",tokenize:JRe,resolve:QRe,previous:ZRe};function QRe(i){let a=i.length-4,f=3,p,w;if((i[f][1].type==="lineEnding"||i[f][1].type==="space")&&(i[a][1].type==="lineEnding"||i[a][1].type==="space")){for(p=f;++p=4?a(b):i.interrupt(p.parser.constructs.flow,f,a)(b)}}function YNt(i,a,f,p,w,m,b,E,_){const A=_||Number.POSITIVE_INFINITY;let I=0;return B;function B(st){return st===60?(i.enter(p),i.enter(w),i.enter(m),i.consume(st),i.exit(m),N):st===null||st===32||st===41||T0t(st)?f(st):(i.enter(p),i.enter(b),i.enter(E),i.enter("chunkString",{contentType:"string"}),W(st))}function N(st){return st===62?(i.enter(m),i.consume(st),i.exit(m),i.exit(w),i.exit(p),a):(i.enter(E),i.enter("chunkString",{contentType:"string"}),R(st))}function R(st){return st===62?(i.exit("chunkString"),i.exit(E),N(st)):st===null||st===60||xa(st)?f(st):(i.consume(st),st===92?z:R)}function z(st){return st===60||st===62||st===92?(i.consume(st),R):R(st)}function W(st){return!I&&(st===null||st===41||pp(st))?(i.exit("chunkString"),i.exit(E),i.exit(b),i.exit(p),a(st)):I999||R===null||R===91||R===93&&!_||R===94&&!E&&"_hiddenFootnoteSupport"in b.parser.constructs?f(R):R===93?(i.exit(m),i.enter(w),i.consume(R),i.exit(w),i.exit(p),a):xa(R)?(i.enter("lineEnding"),i.consume(R),i.exit("lineEnding"),I):(i.enter("chunkString",{contentType:"string"}),B(R))}function B(R){return R===null||R===91||R===93||xa(R)||E++>999?(i.exit("chunkString"),I(R)):(i.consume(R),_||(_=!Wc(R)),R===92?N:B)}function N(R){return R===91||R===92||R===93?(i.consume(R),E++,B):B(R)}}function XNt(i,a,f,p,w,m){let b;return E;function E(N){return N===34||N===39||N===40?(i.enter(p),i.enter(w),i.consume(N),i.exit(w),b=N===40?41:N,_):f(N)}function _(N){return N===b?(i.enter(w),i.consume(N),i.exit(w),i.exit(p),a):(i.enter(m),A(N))}function A(N){return N===b?(i.exit(m),_(b)):N===null?f(N):xa(N)?(i.enter("lineEnding"),i.consume(N),i.exit("lineEnding"),il(i,A,"linePrefix")):(i.enter("chunkString",{contentType:"string"}),I(N))}function I(N){return N===b||N===null||xa(N)?(i.exit("chunkString"),A(N)):(i.consume(N),N===92?B:I)}function B(N){return N===b||N===92?(i.consume(N),I):I(N)}}function TF(i,a){let f;return p;function p(w){return xa(w)?(i.enter("lineEnding"),i.consume(w),i.exit("lineEnding"),f=!0,p):Wc(w)?il(i,p,f?"linePrefix":"lineSuffix")(w):a(w)}}function oL(i){return i.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const aje={name:"definition",tokenize:cje},oje={tokenize:uje,partial:!0};function cje(i,a,f){const p=this;let w;return m;function m(R){return i.enter("definition"),b(R)}function b(R){return KNt.call(p,i,E,f,"definitionLabel","definitionLabelMarker","definitionLabelString")(R)}function E(R){return w=oL(p.sliceSerialize(p.events[p.events.length-1][1]).slice(1,-1)),R===58?(i.enter("definitionMarker"),i.consume(R),i.exit("definitionMarker"),_):f(R)}function _(R){return pp(R)?TF(i,A)(R):A(R)}function A(R){return YNt(i,I,f,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(R)}function I(R){return i.attempt(oje,B,B)(R)}function B(R){return Wc(R)?il(i,N,"whitespace")(R):N(R)}function N(R){return R===null||xa(R)?(i.exit("definition"),p.parser.defined.push(w),a(R)):f(R)}}function uje(i,a,f){return p;function p(E){return pp(E)?TF(i,w)(E):f(E)}function w(E){return XNt(i,m,f,"definitionTitle","definitionTitleMarker","definitionTitleString")(E)}function m(E){return Wc(E)?il(i,b,"whitespace")(E):b(E)}function b(E){return E===null||xa(E)?a(E):f(E)}}const lje={name:"hardBreakEscape",tokenize:hje};function hje(i,a,f){return p;function p(m){return i.enter("hardBreakEscape"),i.consume(m),w}function w(m){return xa(m)?(i.exit("hardBreakEscape"),a(m)):f(m)}}const fje={name:"headingAtx",tokenize:gje,resolve:dje};function dje(i,a){let f=i.length-2,p=3,w,m;return i[p][1].type==="whitespace"&&(p+=2),f-2>p&&i[f][1].type==="whitespace"&&(f-=2),i[f][1].type==="atxHeadingSequence"&&(p===f-1||f-4>p&&i[f-2][1].type==="whitespace")&&(f-=p+1===f?2:4),f>p&&(w={type:"atxHeadingText",start:i[p][1].start,end:i[f][1].end},m={type:"chunkText",start:i[p][1].start,end:i[f][1].end,contentType:"text"},m3(i,p,f-p+1,[["enter",w,a],["enter",m,a],["exit",m,a],["exit",w,a]])),i}function gje(i,a,f){let p=0;return w;function w(I){return i.enter("atxHeading"),m(I)}function m(I){return i.enter("atxHeadingSequence"),b(I)}function b(I){return I===35&&p++<6?(i.consume(I),b):I===null||pp(I)?(i.exit("atxHeadingSequence"),E(I)):f(I)}function E(I){return I===35?(i.enter("atxHeadingSequence"),_(I)):I===null||xa(I)?(i.exit("atxHeading"),a(I)):Wc(I)?il(i,E,"whitespace")(I):(i.enter("atxHeadingText"),A(I))}function _(I){return I===35?(i.consume(I),_):(i.exit("atxHeadingSequence"),E(I))}function A(I){return I===null||I===35||pp(I)?(i.exit("atxHeadingText"),E(I)):(i.consume(I),A)}}const pje=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],QNt=["pre","script","style","textarea"],bje={name:"htmlFlow",tokenize:yje,resolveTo:mje,concrete:!0},wje={tokenize:kje,partial:!0},vje={tokenize:xje,partial:!0};function mje(i){let a=i.length;for(;a--&&!(i[a][0]==="enter"&&i[a][1].type==="htmlFlow"););return a>1&&i[a-2][1].type==="linePrefix"&&(i[a][1].start=i[a-2][1].start,i[a+1][1].start=i[a-2][1].start,i.splice(a-2,2)),i}function yje(i,a,f){const p=this;let w,m,b,E,_;return A;function A(Ft){return I(Ft)}function I(Ft){return i.enter("htmlFlow"),i.enter("htmlFlowData"),i.consume(Ft),B}function B(Ft){return Ft===33?(i.consume(Ft),N):Ft===47?(i.consume(Ft),m=!0,W):Ft===63?(i.consume(Ft),w=3,p.interrupt?a:xt):y3(Ft)?(i.consume(Ft),b=String.fromCharCode(Ft),et):f(Ft)}function N(Ft){return Ft===45?(i.consume(Ft),w=2,R):Ft===91?(i.consume(Ft),w=5,E=0,z):y3(Ft)?(i.consume(Ft),w=4,p.interrupt?a:xt):f(Ft)}function R(Ft){return Ft===45?(i.consume(Ft),p.interrupt?a:xt):f(Ft)}function z(Ft){const gn="CDATA[";return Ft===gn.charCodeAt(E++)?(i.consume(Ft),E===gn.length?p.interrupt?a:Tt:z):f(Ft)}function W(Ft){return y3(Ft)?(i.consume(Ft),b=String.fromCharCode(Ft),et):f(Ft)}function et(Ft){if(Ft===null||Ft===47||Ft===62||pp(Ft)){const gn=Ft===47,Se=b.toLowerCase();return!gn&&!m&&QNt.includes(Se)?(w=1,p.interrupt?a(Ft):Tt(Ft)):pje.includes(b.toLowerCase())?(w=6,gn?(i.consume(Ft),st):p.interrupt?a(Ft):Tt(Ft)):(w=7,p.interrupt&&!p.parser.lazy[p.now().line]?f(Ft):m?at(Ft):bt(Ft))}return Ft===45||lm(Ft)?(i.consume(Ft),b+=String.fromCharCode(Ft),et):f(Ft)}function st(Ft){return Ft===62?(i.consume(Ft),p.interrupt?a:Tt):f(Ft)}function at(Ft){return Wc(Ft)?(i.consume(Ft),at):pt(Ft)}function bt(Ft){return Ft===47?(i.consume(Ft),pt):Ft===58||Ft===95||y3(Ft)?(i.consume(Ft),mt):Wc(Ft)?(i.consume(Ft),bt):pt(Ft)}function mt(Ft){return Ft===45||Ft===46||Ft===58||Ft===95||lm(Ft)?(i.consume(Ft),mt):yt(Ft)}function yt(Ft){return Ft===61?(i.consume(Ft),ft):Wc(Ft)?(i.consume(Ft),yt):bt(Ft)}function ft(Ft){return Ft===null||Ft===60||Ft===61||Ft===62||Ft===96?f(Ft):Ft===34||Ft===39?(i.consume(Ft),_=Ft,ut):Wc(Ft)?(i.consume(Ft),ft):vt(Ft)}function ut(Ft){return Ft===_?(i.consume(Ft),_=null,X):Ft===null||xa(Ft)?f(Ft):(i.consume(Ft),ut)}function vt(Ft){return Ft===null||Ft===34||Ft===39||Ft===47||Ft===60||Ft===61||Ft===62||Ft===96||pp(Ft)?yt(Ft):(i.consume(Ft),vt)}function X(Ft){return Ft===47||Ft===62||Wc(Ft)?bt(Ft):f(Ft)}function pt(Ft){return Ft===62?(i.consume(Ft),U):f(Ft)}function U(Ft){return Ft===null||xa(Ft)?Tt(Ft):Wc(Ft)?(i.consume(Ft),U):f(Ft)}function Tt(Ft){return Ft===45&&w===2?(i.consume(Ft),Bt):Ft===60&&w===1?(i.consume(Ft),Et):Ft===62&&w===4?(i.consume(Ft),Ht):Ft===63&&w===3?(i.consume(Ft),xt):Ft===93&&w===5?(i.consume(Ft),Ct):xa(Ft)&&(w===6||w===7)?(i.exit("htmlFlowData"),i.check(wje,Le,nt)(Ft)):Ft===null||xa(Ft)?(i.exit("htmlFlowData"),nt(Ft)):(i.consume(Ft),Tt)}function nt(Ft){return i.check(vje,It,Le)(Ft)}function It(Ft){return i.enter("lineEnding"),i.consume(Ft),i.exit("lineEnding"),Ot}function Ot(Ft){return Ft===null||xa(Ft)?nt(Ft):(i.enter("htmlFlowData"),Tt(Ft))}function Bt(Ft){return Ft===45?(i.consume(Ft),xt):Tt(Ft)}function Et(Ft){return Ft===47?(i.consume(Ft),b="",Z):Tt(Ft)}function Z(Ft){if(Ft===62){const gn=b.toLowerCase();return QNt.includes(gn)?(i.consume(Ft),Ht):Tt(Ft)}return y3(Ft)&&b.length<8?(i.consume(Ft),b+=String.fromCharCode(Ft),Z):Tt(Ft)}function Ct(Ft){return Ft===93?(i.consume(Ft),xt):Tt(Ft)}function xt(Ft){return Ft===62?(i.consume(Ft),Ht):Ft===45&&w===2?(i.consume(Ft),xt):Tt(Ft)}function Ht(Ft){return Ft===null||xa(Ft)?(i.exit("htmlFlowData"),Le(Ft)):(i.consume(Ft),Ht)}function Le(Ft){return i.exit("htmlFlow"),a(Ft)}}function xje(i,a,f){const p=this;return w;function w(b){return xa(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),m):f(b)}function m(b){return p.parser.lazy[p.now().line]?f(b):a(b)}}function kje(i,a,f){return p;function p(w){return i.enter("lineEnding"),i.consume(w),i.exit("lineEnding"),i.attempt(yY,a,f)}}const Eje={name:"htmlText",tokenize:Tje};function Tje(i,a,f){const p=this;let w,m,b;return E;function E(xt){return i.enter("htmlText"),i.enter("htmlTextData"),i.consume(xt),_}function _(xt){return xt===33?(i.consume(xt),A):xt===47?(i.consume(xt),yt):xt===63?(i.consume(xt),bt):y3(xt)?(i.consume(xt),vt):f(xt)}function A(xt){return xt===45?(i.consume(xt),I):xt===91?(i.consume(xt),m=0,z):y3(xt)?(i.consume(xt),at):f(xt)}function I(xt){return xt===45?(i.consume(xt),R):f(xt)}function B(xt){return xt===null?f(xt):xt===45?(i.consume(xt),N):xa(xt)?(b=B,Et(xt)):(i.consume(xt),B)}function N(xt){return xt===45?(i.consume(xt),R):B(xt)}function R(xt){return xt===62?Bt(xt):xt===45?N(xt):B(xt)}function z(xt){const Ht="CDATA[";return xt===Ht.charCodeAt(m++)?(i.consume(xt),m===Ht.length?W:z):f(xt)}function W(xt){return xt===null?f(xt):xt===93?(i.consume(xt),et):xa(xt)?(b=W,Et(xt)):(i.consume(xt),W)}function et(xt){return xt===93?(i.consume(xt),st):W(xt)}function st(xt){return xt===62?Bt(xt):xt===93?(i.consume(xt),st):W(xt)}function at(xt){return xt===null||xt===62?Bt(xt):xa(xt)?(b=at,Et(xt)):(i.consume(xt),at)}function bt(xt){return xt===null?f(xt):xt===63?(i.consume(xt),mt):xa(xt)?(b=bt,Et(xt)):(i.consume(xt),bt)}function mt(xt){return xt===62?Bt(xt):bt(xt)}function yt(xt){return y3(xt)?(i.consume(xt),ft):f(xt)}function ft(xt){return xt===45||lm(xt)?(i.consume(xt),ft):ut(xt)}function ut(xt){return xa(xt)?(b=ut,Et(xt)):Wc(xt)?(i.consume(xt),ut):Bt(xt)}function vt(xt){return xt===45||lm(xt)?(i.consume(xt),vt):xt===47||xt===62||pp(xt)?X(xt):f(xt)}function X(xt){return xt===47?(i.consume(xt),Bt):xt===58||xt===95||y3(xt)?(i.consume(xt),pt):xa(xt)?(b=X,Et(xt)):Wc(xt)?(i.consume(xt),X):Bt(xt)}function pt(xt){return xt===45||xt===46||xt===58||xt===95||lm(xt)?(i.consume(xt),pt):U(xt)}function U(xt){return xt===61?(i.consume(xt),Tt):xa(xt)?(b=U,Et(xt)):Wc(xt)?(i.consume(xt),U):X(xt)}function Tt(xt){return xt===null||xt===60||xt===61||xt===62||xt===96?f(xt):xt===34||xt===39?(i.consume(xt),w=xt,nt):xa(xt)?(b=Tt,Et(xt)):Wc(xt)?(i.consume(xt),Tt):(i.consume(xt),It)}function nt(xt){return xt===w?(i.consume(xt),w=void 0,Ot):xt===null?f(xt):xa(xt)?(b=nt,Et(xt)):(i.consume(xt),nt)}function It(xt){return xt===null||xt===34||xt===39||xt===60||xt===61||xt===96?f(xt):xt===47||xt===62||pp(xt)?X(xt):(i.consume(xt),It)}function Ot(xt){return xt===47||xt===62||pp(xt)?X(xt):f(xt)}function Bt(xt){return xt===62?(i.consume(xt),i.exit("htmlTextData"),i.exit("htmlText"),a):f(xt)}function Et(xt){return i.exit("htmlTextData"),i.enter("lineEnding"),i.consume(xt),i.exit("lineEnding"),Z}function Z(xt){return Wc(xt)?il(i,Ct,"linePrefix",p.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(xt):Ct(xt)}function Ct(xt){return i.enter("htmlTextData"),b(xt)}}const M0t={name:"labelEnd",tokenize:Mje,resolveTo:Lje,resolveAll:Aje},Cje={tokenize:Dje},_je={tokenize:Ije},Sje={tokenize:Oje};function Aje(i){let a=-1;for(;++a=3&&(A===null||xa(A))?(i.exit("thematicBreak"),a(A)):f(A)}function _(A){return A===w?(i.consume(A),p++,_):(i.exit("thematicBreakSequence"),Wc(A)?il(i,E,"whitespace")(A):E(A))}}const bp={name:"list",tokenize:qje,continuation:{tokenize:Hje},exit:Gje},$je={tokenize:Uje,partial:!0},zje={tokenize:Vje,partial:!0};function qje(i,a,f){const p=this,w=p.events[p.events.length-1];let m=w&&w[1].type==="linePrefix"?w[2].sliceSerialize(w[1],!0).length:0,b=0;return E;function E(R){const z=p.containerState.type||(R===42||R===43||R===45?"listUnordered":"listOrdered");if(z==="listUnordered"?!p.containerState.marker||R===p.containerState.marker:C0t(R)){if(p.containerState.type||(p.containerState.type=z,i.enter(z,{_container:!0})),z==="listUnordered")return i.enter("listItemPrefix"),R===42||R===45?i.check(xY,f,A)(R):A(R);if(!p.interrupt||R===49)return i.enter("listItemPrefix"),i.enter("listItemValue"),_(R)}return f(R)}function _(R){return C0t(R)&&++b<10?(i.consume(R),_):(!p.interrupt||b<2)&&(p.containerState.marker?R===p.containerState.marker:R===41||R===46)?(i.exit("listItemValue"),A(R)):f(R)}function A(R){return i.enter("listItemMarker"),i.consume(R),i.exit("listItemMarker"),p.containerState.marker=p.containerState.marker||R,i.check(yY,p.interrupt?f:I,i.attempt($je,N,B))}function I(R){return p.containerState.initialBlankLine=!0,m++,N(R)}function B(R){return Wc(R)?(i.enter("listItemPrefixWhitespace"),i.consume(R),i.exit("listItemPrefixWhitespace"),N):f(R)}function N(R){return p.containerState.size=m+p.sliceSerialize(i.exit("listItemPrefix"),!0).length,a(R)}}function Hje(i,a,f){const p=this;return p.containerState._closeFlow=void 0,i.check(yY,w,m);function w(E){return p.containerState.furtherBlankLines=p.containerState.furtherBlankLines||p.containerState.initialBlankLine,il(i,a,"listItemIndent",p.containerState.size+1)(E)}function m(E){return p.containerState.furtherBlankLines||!Wc(E)?(p.containerState.furtherBlankLines=void 0,p.containerState.initialBlankLine=void 0,b(E)):(p.containerState.furtherBlankLines=void 0,p.containerState.initialBlankLine=void 0,i.attempt(zje,a,b)(E))}function b(E){return p.containerState._closeFlow=!0,p.interrupt=void 0,il(i,i.attempt(bp,a,f),"linePrefix",p.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(E)}}function Vje(i,a,f){const p=this;return il(i,w,"listItemIndent",p.containerState.size+1);function w(m){const b=p.events[p.events.length-1];return b&&b[1].type==="listItemIndent"&&b[2].sliceSerialize(b[1],!0).length===p.containerState.size?a(m):f(m)}}function Gje(i){i.exit(this.containerState.type)}function Uje(i,a,f){const p=this;return il(i,w,"listItemPrefixWhitespace",p.parser.constructs.disable.null.includes("codeIndented")?void 0:4+1);function w(m){const b=p.events[p.events.length-1];return!Wc(m)&&b&&b[1].type==="listItemPrefixWhitespace"?a(m):f(m)}}const ZNt={name:"setextUnderline",tokenize:Yje,resolveTo:Wje};function Wje(i,a){let f=i.length,p,w,m;for(;f--;)if(i[f][0]==="enter"){if(i[f][1].type==="content"){p=f;break}i[f][1].type==="paragraph"&&(w=f)}else i[f][1].type==="content"&&i.splice(f,1),!m&&i[f][1].type==="definition"&&(m=f);const b={type:"setextHeading",start:Object.assign({},i[w][1].start),end:Object.assign({},i[i.length-1][1].end)};return i[w][1].type="setextHeadingText",m?(i.splice(w,0,["enter",b,a]),i.splice(m+1,0,["exit",i[p][1],a]),i[p][1].end=Object.assign({},i[m][1].end)):i[p][1]=b,i.push(["exit",b,a]),i}function Yje(i,a,f){const p=this;let w;return m;function m(A){let I=p.events.length,B;for(;I--;)if(p.events[I][1].type!=="lineEnding"&&p.events[I][1].type!=="linePrefix"&&p.events[I][1].type!=="content"){B=p.events[I][1].type==="paragraph";break}return!p.parser.lazy[p.now().line]&&(p.interrupt||B)?(i.enter("setextHeadingLine"),w=A,b(A)):f(A)}function b(A){return i.enter("setextHeadingLineSequence"),E(A)}function E(A){return A===w?(i.consume(A),E):(i.exit("setextHeadingLineSequence"),Wc(A)?il(i,_,"lineSuffix")(A):_(A))}function _(A){return A===null||xa(A)?(i.exit("setextHeadingLine"),a(A)):f(A)}}const Kje={tokenize:Xje};function Xje(i){const a=this,f=i.attempt(yY,p,i.attempt(this.parser.constructs.flowInitial,w,il(i,i.attempt(this.parser.constructs.flow,w,i.attempt(eje,w)),"linePrefix")));return f;function p(m){if(m===null){i.consume(m);return}return i.enter("lineEndingBlank"),i.consume(m),i.exit("lineEndingBlank"),a.currentConstruct=void 0,f}function w(m){if(m===null){i.consume(m);return}return i.enter("lineEnding"),i.consume(m),i.exit("lineEnding"),a.currentConstruct=void 0,f}}const Qje={resolveAll:tBt()},Zje=JNt("string"),Jje=JNt("text");function JNt(i){return{tokenize:a,resolveAll:tBt(i==="text"?t$e:void 0)};function a(f){const p=this,w=this.parser.constructs[i],m=f.attempt(w,b,E);return b;function b(I){return A(I)?m(I):E(I)}function E(I){if(I===null){f.consume(I);return}return f.enter("data"),f.consume(I),_}function _(I){return A(I)?(f.exit("data"),m(I)):(f.consume(I),_)}function A(I){if(I===null)return!0;const B=w[I];let N=-1;if(B)for(;++N-1){const E=b[0];typeof E=="string"?b[0]=E.slice(p):b.shift()}m>0&&b.push(i[w].slice(0,m))}return b}function r$e(i,a){let f=-1;const p=[];let w;for(;++f13&&f<32||f>126&&f<160||f>55295&&f<57344||f>64975&&f<65008||(f&65535)===65535||(f&65535)===65534||f>1114111?"�":String.fromCharCode(f)}const c$e=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function u$e(i){return i.replace(c$e,l$e)}function l$e(i,a,f){if(a)return a;if(f.charCodeAt(0)===35){const w=f.charCodeAt(1),m=w===120||w===88;return nBt(f.slice(m?2:1),m?16:10)}return A0t(f)||i}function kY(i){return!i||typeof i!="object"?"":"position"in i||"type"in i?rBt(i.position):"start"in i||"end"in i?rBt(i):"line"in i||"column"in i?I0t(i):""}function I0t(i){return iBt(i&&i.line)+":"+iBt(i&&i.column)}function rBt(i){return I0t(i&&i.start)+"-"+I0t(i&&i.end)}function iBt(i){return i&&typeof i=="number"?i:1}const sBt={}.hasOwnProperty,aBt=function(i,a,f){return typeof a!="string"&&(f=a,a=void 0),h$e(f)(o$e(s$e(f).document().write(a$e()(i,a,!0))))};function h$e(i){const a={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:E(Ks),autolinkProtocol:U,autolinkEmail:U,atxHeading:E(Me),blockQuote:E(zt),characterEscape:U,characterReference:U,codeFenced:E(re),codeFencedFenceInfo:_,codeFencedFenceMeta:_,codeIndented:E(re,_),codeText:E(se,_),codeTextData:U,data:U,codeFlowValue:U,definition:E(Pe),definitionDestinationString:_,definitionLabelString:_,definitionTitleString:_,emphasis:E(te),hardBreakEscape:E(de),hardBreakTrailing:E(de),htmlFlow:E(on,_),htmlFlowData:U,htmlText:E(on,_),htmlTextData:U,image:E(ni),label:_,link:E(Ks),listItem:E(fo),listItemValue:z,listOrdered:E(ws,R),listUnordered:E(ws),paragraph:E(Xi),reference:Se,referenceString:_,resourceDestinationString:_,resourceTitleString:_,setextHeading:E(Me),strong:E(Er),thematicBreak:E(di)},exit:{atxHeading:I(),atxHeadingSequence:ut,autolink:I(),autolinkEmail:ke,autolinkProtocol:ce,blockQuote:I(),characterEscapeValue:Tt,characterReferenceMarkerHexadecimal:Ve,characterReferenceMarkerNumeric:Ve,characterReferenceValue:Ye,codeFenced:I(at),codeFencedFence:st,codeFencedFenceInfo:W,codeFencedFenceMeta:et,codeFlowValue:Tt,codeIndented:I(bt),codeText:I(Et),codeTextData:Tt,data:Tt,definition:I(),definitionDestinationString:ft,definitionLabelString:mt,definitionTitleString:yt,emphasis:I(),hardBreakEscape:I(It),hardBreakTrailing:I(It),htmlFlow:I(Ot),htmlFlowData:Tt,htmlText:I(Bt),htmlTextData:Tt,image:I(Ct),label:Ht,labelText:xt,lineEnding:nt,link:I(Z),listItem:I(),listOrdered:I(),listUnordered:I(),paragraph:I(),referenceString:me,resourceDestinationString:Le,resourceTitleString:Ft,resource:gn,setextHeading:I(pt),setextHeadingLineSequence:X,setextHeadingText:vt,strong:I(),thematicBreak:I()}};oBt(a,(i||{}).mdastExtensions||[]);const f={};return p;function p(Ee){let Kn={type:"root",children:[]};const He={stack:[Kn],tokenStack:[],config:a,enter:A,exit:B,buffer:_,resume:N,setData:m,getData:b},Ti=[];let pn=-1;for(;++pn0){const Es=He.tokenStack[He.tokenStack.length-1];(Es[1]||cBt).call(He,void 0,Es[0])}for(Kn.position={start:wk(Ee.length>0?Ee[0][1].start:{line:1,column:1,offset:0}),end:wk(Ee.length>0?Ee[Ee.length-2][1].end:{line:1,column:1,offset:0})},pn=-1;++pn{I!==0&&(w++,p.push([])),A.split(" ").forEach(B=>{B&&p[w].push({content:B,type:E})})}):(b.type==="strong"||b.type==="emphasis")&&b.children.forEach(_=>{m(_,b.type)})}return f.forEach(b=>{b.type==="paragraph"&&b.children.forEach(E=>{m(E)})}),p}function p$e(i){const{children:a}=aBt(i);function f(p){return p.type==="text"?p.value.replace(/\n/g,"
"):p.type==="strong"?`${p.children.map(f).join("")}`:p.type==="emphasis"?`${p.children.map(f).join("")}`:p.type==="paragraph"?`

${p.children.map(f).join("")}

`:`Unsupported markdown: ${p.type}`}return a.map(f).join("")}function b$e(i){return Intl.Segmenter?[...new Intl.Segmenter().segment(i)].map(a=>a.segment):[...i]}function w$e(i,a){const f=b$e(a.content);return uBt(i,[],f,a.type)}function uBt(i,a,f,p){if(f.length===0)return[{content:a.join(""),type:p},{content:"",type:p}];const[w,...m]=f,b=[...a,w];return i([{content:b.join(""),type:p}])?uBt(i,b,m,p):(a.length===0&&w&&(a.push(w),f.shift()),[{content:a.join(""),type:p},{content:f.join(""),type:p}])}function v$e(i,a){if(i.some(({content:f})=>f.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return O0t(i,a)}function O0t(i,a,f=[],p=[]){if(i.length===0)return p.length>0&&f.push(p),f.length>0?f:[];let w="";i[0].content===" "&&(w=" ",i.shift());const m=i.shift()??{content:" ",type:"normal"},b=[...p];if(w!==""&&b.push({content:w,type:"normal"}),b.push(m),a(b))return O0t(i,a,f,b);if(p.length>0)f.push(p),i.unshift(m);else if(m.content){const[E,_]=w$e(a,m);f.push([E]),_.content&&i.unshift(_)}return O0t(i,a,f)}function m$e(i,a){a&&i.attr("style",a)}function y$e(i,a,f,p,w=!1){const m=i.append("foreignObject"),b=m.append("xhtml:div"),E=a.label,_=a.isNode?"nodeLabel":"edgeLabel";b.html(` + "+E+""),m$e(b,a.labelStyle),b.style("display","table-cell"),b.style("white-space","nowrap"),b.style("max-width",f+"px"),b.attr("xmlns","http://www.w3.org/1999/xhtml"),w&&b.attr("class","labelBkg");let A=b.node().getBoundingClientRect();return A.width===f&&(b.style("display","table"),b.style("white-space","break-spaces"),b.style("width",f+"px"),A=b.node().getBoundingClientRect()),m.style("width",A.width),m.style("height",A.height),m.node()}function P0t(i,a,f){return i.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",a*f-.1+"em").attr("dy",f+"em")}function x$e(i,a,f){const p=i.append("text"),w=P0t(p,1,a);F0t(w,f);const m=w.node().getComputedTextLength();return p.remove(),m}function k$e(i,a,f){var b;const p=i.append("text"),w=P0t(p,1,a);F0t(w,[{content:f,type:"normal"}]);const m=(b=w.node())==null?void 0:b.getBoundingClientRect();return m&&p.remove(),m}function E$e(i,a,f,p=!1){const m=a.append("g"),b=m.insert("rect").attr("class","background"),E=m.append("text").attr("y","-10.1");let _=0;for(const A of f){const I=N=>x$e(m,1.1,N)<=i,B=I(A)?[A]:v$e(A,I);for(const N of B){const R=P0t(E,_,1.1);F0t(R,N),_++}}if(p){const A=E.node().getBBox(),I=2;return b.attr("x",-I).attr("y",-I).attr("width",A.width+2*I).attr("height",A.height+2*I),m.node()}else return E.node()}function F0t(i,a){i.text(""),a.forEach((f,p)=>{const w=i.append("tspan").attr("font-style",f.type==="emphasis"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",f.type==="strong"?"bold":"normal");p===0?w.text(f.content):w.text(" "+f.content)})}const EY=(i,a="",{style:f="",isTitle:p=!1,classes:w="",useHtmlLabels:m=!0,isNode:b=!0,width:E=200,addSvgBackground:_=!1}={})=>{if(Ut.info("createText",a,f,p,w,m,b,_),m){const A=p$e(a),I={isNode:b,label:uF(A).replace(/fa[blrs]?:fa-[\w-]+/g,N=>``),labelStyle:f.replace("fill:","color:")};return y$e(i,I,E,w,_)}else{const A=g$e(a);return E$e(E,i,A,_)}},Nd=async(i,a,f,p)=>{let w;const m=a.useHtmlLabels||o1(Oe().flowchart.htmlLabels);f?w=f:w="node default";const b=i.insert("g").attr("class",w).attr("id",a.domId||a.id),E=b.insert("g").attr("class","label").attr("style",a.labelStyle);let _;a.labelText===void 0?_="":_=typeof a.labelText=="string"?a.labelText:a.labelText[0];const A=E.node();let I;a.labelType==="markdown"?I=EY(E,Q1(uF(_),Oe()),{useHtmlLabels:m,width:a.width||Oe().flowchart.wrappingWidth,classes:"markdown-node-label"}):I=A.appendChild(gp(Q1(uF(_),Oe()),a.labelStyle,!1,p));let B=I.getBBox();const N=a.padding/2;if(o1(Oe().flowchart.htmlLabels)){const R=I.children[0],z=yr(I),W=R.getElementsByTagName("img");if(W){const et=_.replace(/]*>/g,"").trim()==="";await Promise.all([...W].map(st=>new Promise(at=>{function bt(){if(st.style.display="flex",st.style.flexDirection="column",et){const mt=Oe().fontSize?Oe().fontSize:window.getComputedStyle(document.body).fontSize,yt=5;st.style.width=parseInt(mt,10)*yt+"px"}else st.style.width="100%";at(st)}setTimeout(()=>{st.complete&&bt()}),st.addEventListener("error",bt),st.addEventListener("load",bt)})))}B=R.getBoundingClientRect(),z.attr("width",B.width),z.attr("height",B.height)}return m?E.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"):E.attr("transform","translate(0, "+-B.height/2+")"),a.centerLabel&&E.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"),E.insert("rect",":first-child"),{shapeSvg:b,bbox:B,halfPadding:N,label:E}},tf=(i,a)=>{const f=a.node().getBBox();i.width=f.width,i.height=f.height};function F5(i,a,f,p){return i.insert("polygon",":first-child").attr("points",p.map(function(w){return w.x+","+w.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-a/2+","+f/2+")")}let Ho={},hm={},lBt={};const T$e=()=>{hm={},lBt={},Ho={}},TY=(i,a)=>(Ut.trace("In isDecendant",a," ",i," = ",hm[a].includes(i)),!!hm[a].includes(i)),C$e=(i,a)=>(Ut.info("Decendants of ",a," is ",hm[a]),Ut.info("Edge is ",i),i.v===a||i.w===a?!1:hm[a]?hm[a].includes(i.v)||TY(i.v,a)||TY(i.w,a)||hm[a].includes(i.w):(Ut.debug("Tilt, ",a,",not in decendants"),!1)),hBt=(i,a,f,p)=>{Ut.warn("Copying children of ",i,"root",p,"data",a.node(i),p);const w=a.children(i)||[];i!==p&&w.push(i),Ut.warn("Copying (nodes) clusterId",i,"nodes",w),w.forEach(m=>{if(a.children(m).length>0)hBt(m,a,f,p);else{const b=a.node(m);Ut.info("cp ",m," to ",p," with parent ",i),f.setNode(m,b),p!==a.parent(m)&&(Ut.warn("Setting parent",m,a.parent(m)),f.setParent(m,a.parent(m))),i!==p&&m!==i?(Ut.debug("Setting parent",m,i),f.setParent(m,i)):(Ut.info("In copy ",i,"root",p,"data",a.node(i),p),Ut.debug("Not Setting parent for node=",m,"cluster!==rootId",i!==p,"node!==clusterId",m!==i));const E=a.edges(m);Ut.debug("Copying Edges",E),E.forEach(_=>{Ut.info("Edge",_);const A=a.edge(_.v,_.w,_.name);Ut.info("Edge data",A,p);try{C$e(_,p)?(Ut.info("Copying as ",_.v,_.w,A,_.name),f.setEdge(_.v,_.w,A,_.name),Ut.info("newGraph edges ",f.edges(),f.edge(f.edges()[0]))):Ut.info("Skipping copy of edge ",_.v,"-->",_.w," rootId: ",p," clusterId:",i)}catch(I){Ut.error(I)}})}Ut.debug("Removing node",m),a.removeNode(m)})},fBt=(i,a)=>{const f=a.children(i);let p=[...f];for(const w of f)lBt[w]=i,p=[...p,...fBt(w,a)];return p},CF=(i,a)=>{Ut.trace("Searching",i);const f=a.children(i);if(Ut.trace("Searching children of id ",i,f),f.length<1)return Ut.trace("This is a valid node",i),i;for(const p of f){const w=CF(p,a);if(w)return Ut.trace("Found replacement for",i," => ",w),w}},CY=i=>!Ho[i]||!Ho[i].externalConnections?i:Ho[i]?Ho[i].id:i,_$e=(i,a)=>{if(!i||a>10){Ut.debug("Opting out, no graph ");return}else Ut.debug("Opting in, graph ");i.nodes().forEach(function(f){i.children(f).length>0&&(Ut.warn("Cluster identified",f," Replacement id in edges: ",CF(f,i)),hm[f]=fBt(f,i),Ho[f]={id:CF(f,i),clusterData:i.node(f)})}),i.nodes().forEach(function(f){const p=i.children(f),w=i.edges();p.length>0?(Ut.debug("Cluster identified",f,hm),w.forEach(m=>{if(m.v!==f&&m.w!==f){const b=TY(m.v,f),E=TY(m.w,f);b^E&&(Ut.warn("Edge: ",m," leaves cluster ",f),Ut.warn("Decendants of XXX ",f,": ",hm[f]),Ho[f].externalConnections=!0)}})):Ut.debug("Not a cluster ",f,hm)}),i.edges().forEach(function(f){const p=i.edge(f);Ut.warn("Edge "+f.v+" -> "+f.w+": "+JSON.stringify(f)),Ut.warn("Edge "+f.v+" -> "+f.w+": "+JSON.stringify(i.edge(f)));let w=f.v,m=f.w;if(Ut.warn("Fix XXX",Ho,"ids:",f.v,f.w,"Translating: ",Ho[f.v]," --- ",Ho[f.w]),Ho[f.v]&&Ho[f.w]&&Ho[f.v]===Ho[f.w]){Ut.warn("Fixing and trixing link to self - removing XXX",f.v,f.w,f.name),Ut.warn("Fixing and trixing - removing XXX",f.v,f.w,f.name),w=CY(f.v),m=CY(f.w),i.removeEdge(f.v,f.w,f.name);const b=f.w+"---"+f.v;i.setNode(b,{domId:b,id:b,labelStyle:"",labelText:p.label,padding:0,shape:"labelRect",style:""});const E=structuredClone(p),_=structuredClone(p);E.label="",E.arrowTypeEnd="none",_.label="",E.fromCluster=f.v,_.toCluster=f.v,i.setEdge(w,b,E,f.name+"-cyclic-special"),i.setEdge(b,m,_,f.name+"-cyclic-special")}else(Ho[f.v]||Ho[f.w])&&(Ut.warn("Fixing and trixing - removing XXX",f.v,f.w,f.name),w=CY(f.v),m=CY(f.w),i.removeEdge(f.v,f.w,f.name),w!==f.v&&(p.fromCluster=f.v),m!==f.w&&(p.toCluster=f.w),Ut.warn("Fix Replacing with XXX",w,m,f.name),i.setEdge(w,m,p,f.name))}),Ut.warn("Adjusted Graph",P5(i)),dBt(i,0),Ut.trace(Ho)},dBt=(i,a)=>{if(Ut.warn("extractor - ",a,P5(i),i.children("D")),a>10){Ut.error("Bailing out");return}let f=i.nodes(),p=!1;for(const w of f){const m=i.children(w);p=p||m.length>0}if(!p){Ut.debug("Done, no node has children",i.nodes());return}Ut.debug("Nodes = ",f,a);for(const w of f)if(Ut.debug("Extracting node",w,Ho,Ho[w]&&!Ho[w].externalConnections,!i.parent(w),i.node(w),i.children("D")," Depth ",a),!Ho[w])Ut.debug("Not a cluster",w,a);else if(!Ho[w].externalConnections&&i.children(w)&&i.children(w).length>0){Ut.warn("Cluster without external connections, without a parent and with children",w,a);let b=i.graph().rankdir==="TB"?"LR":"TB";Ho[w]&&Ho[w].clusterData&&Ho[w].clusterData.dir&&(b=Ho[w].clusterData.dir,Ut.warn("Fixing dir",Ho[w].clusterData.dir,b));const E=new c1({multigraph:!0,compound:!0}).setGraph({rankdir:b,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Ut.warn("Old graph before copy",P5(i)),hBt(w,i,E,w),i.setNode(w,{clusterNode:!0,id:w,clusterData:Ho[w].clusterData,labelText:Ho[w].labelText,graph:E}),Ut.warn("New graph after copy node: (",w,")",P5(E)),Ut.debug("Old graph after copy",P5(i))}else Ut.warn("Cluster ** ",w," **not meeting the criteria !externalConnections:",!Ho[w].externalConnections," no parent: ",!i.parent(w)," children ",i.children(w)&&i.children(w).length>0,i.children("D"),a),Ut.debug(Ho);f=i.nodes(),Ut.warn("New list of nodes",f);for(const w of f){const m=i.node(w);Ut.warn(" Now next level",w,m),m.clusterNode&&dBt(m.graph,a+1)}},gBt=(i,a)=>{if(a.length===0)return[];let f=Object.assign(a);return a.forEach(p=>{const w=i.children(p),m=gBt(i,w);f=[...f,...m]}),f},S$e=i=>gBt(i,i.children());function A$e(i,a){return i.intersect(a)}function pBt(i,a,f,p){var w=i.x,m=i.y,b=w-p.x,E=m-p.y,_=Math.sqrt(a*a*E*E+f*f*b*b),A=Math.abs(a*f*b/_);p.x0}function D$e(i,a,f){var p=i.x,w=i.y,m=[],b=Number.POSITIVE_INFINITY,E=Number.POSITIVE_INFINITY;typeof a.forEach=="function"?a.forEach(function(z){b=Math.min(b,z.x),E=Math.min(E,z.y)}):(b=Math.min(b,a.x),E=Math.min(E,a.y));for(var _=p-i.width/2-b,A=w-i.height/2-E,I=0;I1&&m.sort(function(z,W){var et=z.x-f.x,st=z.y-f.y,at=Math.sqrt(et*et+st*st),bt=W.x-f.x,mt=W.y-f.y,yt=Math.sqrt(bt*bt+mt*mt);return at{var f=i.x,p=i.y,w=a.x-f,m=a.y-p,b=i.width/2,E=i.height/2,_,A;return Math.abs(m)*b>Math.abs(w)*E?(m<0&&(E=-E),_=m===0?0:E*w/m,A=E):(w<0&&(b=-b),_=b,A=w===0?0:b*m/w),{x:f+_,y:p+A}},kh={node:A$e,circle:L$e,ellipse:pBt,polygon:D$e,rect:_F},I$e=async(i,a)=>{a.useHtmlLabels||Oe().flowchart.htmlLabels||(a.centerLabel=!0);const{shapeSvg:p,bbox:w,halfPadding:m}=await Nd(i,a,"node "+a.classes,!0);Ut.info("Classes = ",a.classes);const b=p.insert("rect",":first-child");return b.attr("rx",a.rx).attr("ry",a.ry).attr("x",-w.width/2-m).attr("y",-w.height/2-m).attr("width",w.width+a.padding).attr("height",w.height+a.padding),tf(a,b),a.intersect=function(E){return kh.rect(a,E)},p},wBt=i=>i?" "+i:"",jb=(i,a)=>`${a||"node default"}${wBt(i.classes)} ${wBt(i.class)}`,vBt=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=p.height+a.padding,b=w+m,E=[{x:b/2,y:0},{x:b,y:-b/2},{x:b/2,y:-b},{x:0,y:-b/2}];Ut.info("Question main (Circle)");const _=F5(f,b,b,E);return _.attr("style",a.style),tf(a,_),a.intersect=function(A){return Ut.warn("Intersect called"),kh.polygon(a,E,A)},f},O$e=(i,a)=>{const f=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),p=28,w=[{x:0,y:p/2},{x:p/2,y:0},{x:0,y:-p/2},{x:-p/2,y:0}];return f.insert("polygon",":first-child").attr("points",w.map(function(b){return b.x+","+b.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),a.width=28,a.height=28,a.intersect=function(b){return kh.circle(a,14,b)},f},P$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=4,m=p.height+a.padding,b=m/w,E=p.width+2*b+a.padding,_=[{x:b,y:0},{x:E-b,y:0},{x:E,y:-m/2},{x:E-b,y:-m},{x:b,y:-m},{x:0,y:-m/2}],A=F5(f,E,m,_);return A.attr("style",a.style),tf(a,A),a.intersect=function(I){return kh.polygon(a,_,I)},f},F$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=p.height+a.padding,b=[{x:-m/2,y:0},{x:w,y:0},{x:w,y:-m},{x:-m/2,y:-m},{x:0,y:-m/2}];return F5(f,w,m,b).attr("style",a.style),a.width=w+m,a.height=m,a.intersect=function(_){return kh.polygon(a,b,_)},f},N$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a),!0),w=p.width+a.padding,m=p.height+a.padding,b=[{x:-2*m/6,y:0},{x:w-m/6,y:0},{x:w+2*m/6,y:-m},{x:m/6,y:-m}],E=F5(f,w,m,b);return E.attr("style",a.style),tf(a,E),a.intersect=function(_){return kh.polygon(a,b,_)},f},B$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=p.height+a.padding,b=[{x:2*m/6,y:0},{x:w+m/6,y:0},{x:w-2*m/6,y:-m},{x:-m/6,y:-m}],E=F5(f,w,m,b);return E.attr("style",a.style),tf(a,E),a.intersect=function(_){return kh.polygon(a,b,_)},f},R$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=p.height+a.padding,b=[{x:-2*m/6,y:0},{x:w+2*m/6,y:0},{x:w-m/6,y:-m},{x:m/6,y:-m}],E=F5(f,w,m,b);return E.attr("style",a.style),tf(a,E),a.intersect=function(_){return kh.polygon(a,b,_)},f},j$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=p.height+a.padding,b=[{x:m/6,y:0},{x:w-m/6,y:0},{x:w+2*m/6,y:-m},{x:-2*m/6,y:-m}],E=F5(f,w,m,b);return E.attr("style",a.style),tf(a,E),a.intersect=function(_){return kh.polygon(a,b,_)},f},$$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=p.height+a.padding,b=[{x:0,y:0},{x:w+m/2,y:0},{x:w,y:-m/2},{x:w+m/2,y:-m},{x:0,y:-m}],E=F5(f,w,m,b);return E.attr("style",a.style),tf(a,E),a.intersect=function(_){return kh.polygon(a,b,_)},f},z$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=w/2,b=m/(2.5+w/50),E=p.height+b+a.padding,_="M 0,"+b+" a "+m+","+b+" 0,0,0 "+w+" 0 a "+m+","+b+" 0,0,0 "+-w+" 0 l 0,"+E+" a "+m+","+b+" 0,0,0 "+w+" 0 l 0,"+-E,A=f.attr("label-offset-y",b).insert("path",":first-child").attr("style",a.style).attr("d",_).attr("transform","translate("+-w/2+","+-(E/2+b)+")");return tf(a,A),a.intersect=function(I){const B=kh.rect(a,I),N=B.x-a.x;if(m!=0&&(Math.abs(N)a.height/2-b)){let R=b*b*(1-N*N/(m*m));R!=0&&(R=Math.sqrt(R)),R=b-R,I.y-a.y>0&&(R=-R),B.y+=R}return B},f},q$e=async(i,a)=>{const{shapeSvg:f,bbox:p,halfPadding:w}=await Nd(i,a,"node "+a.classes+" "+a.class,!0),m=f.insert("rect",":first-child"),b=p.width+a.padding,E=p.height+a.padding;if(m.attr("class","basic label-container").attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",-p.width/2-w).attr("y",-p.height/2-w).attr("width",b).attr("height",E),a.props){const _=new Set(Object.keys(a.props));a.props.borders&&(mBt(m,a.props.borders,b,E),_.delete("borders")),_.forEach(A=>{Ut.warn(`Unknown node property ${A}`)})}return tf(a,m),a.intersect=function(_){return kh.rect(a,_)},f},H$e=async(i,a)=>{const{shapeSvg:f}=await Nd(i,a,"label",!0);Ut.trace("Classes = ",a.class);const p=f.insert("rect",":first-child"),w=0,m=0;if(p.attr("width",w).attr("height",m),f.attr("class","label edgeLabel"),a.props){const b=new Set(Object.keys(a.props));a.props.borders&&(mBt(p,a.props.borders,w,m),b.delete("borders")),b.forEach(E=>{Ut.warn(`Unknown node property ${E}`)})}return tf(a,p),a.intersect=function(b){return kh.rect(a,b)},f};function mBt(i,a,f,p){const w=[],m=E=>{w.push(E,0)},b=E=>{w.push(0,E)};a.includes("t")?(Ut.debug("add top border"),m(f)):b(f),a.includes("r")?(Ut.debug("add right border"),m(p)):b(p),a.includes("b")?(Ut.debug("add bottom border"),m(f)):b(f),a.includes("l")?(Ut.debug("add left border"),m(p)):b(p),i.attr("stroke-dasharray",w.join(" "))}const V$e=(i,a)=>{let f;a.classes?f="node "+a.classes:f="node default";const p=i.insert("g").attr("class",f).attr("id",a.domId||a.id),w=p.insert("rect",":first-child"),m=p.insert("line"),b=p.insert("g").attr("class","label"),E=a.labelText.flat?a.labelText.flat():a.labelText;let _="";typeof E=="object"?_=E[0]:_=E,Ut.info("Label text abc79",_,E,typeof E=="object");const A=b.node().appendChild(gp(_,a.labelStyle,!0,!0));let I={width:0,height:0};if(o1(Oe().flowchart.htmlLabels)){const W=A.children[0],et=yr(A);I=W.getBoundingClientRect(),et.attr("width",I.width),et.attr("height",I.height)}Ut.info("Text 2",E);const B=E.slice(1,E.length);let N=A.getBBox();const R=b.node().appendChild(gp(B.join?B.join("
"):B,a.labelStyle,!0,!0));if(o1(Oe().flowchart.htmlLabels)){const W=R.children[0],et=yr(R);I=W.getBoundingClientRect(),et.attr("width",I.width),et.attr("height",I.height)}const z=a.padding/2;return yr(R).attr("transform","translate( "+(I.width>N.width?0:(N.width-I.width)/2)+", "+(N.height+z+5)+")"),yr(A).attr("transform","translate( "+(I.width{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.height+a.padding,m=p.width+w/4+a.padding,b=f.insert("rect",":first-child").attr("style",a.style).attr("rx",w/2).attr("ry",w/2).attr("x",-m/2).attr("y",-w/2).attr("width",m).attr("height",w);return tf(a,b),a.intersect=function(E){return kh.rect(a,E)},f},U$e=async(i,a)=>{const{shapeSvg:f,bbox:p,halfPadding:w}=await Nd(i,a,jb(a,void 0),!0),m=f.insert("circle",":first-child");return m.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",p.width/2+w).attr("width",p.width+a.padding).attr("height",p.height+a.padding),Ut.info("Circle main"),tf(a,m),a.intersect=function(b){return Ut.info("Circle intersect",a,p.width/2+w,b),kh.circle(a,p.width/2+w,b)},f},W$e=async(i,a)=>{const{shapeSvg:f,bbox:p,halfPadding:w}=await Nd(i,a,jb(a,void 0),!0),m=5,b=f.insert("g",":first-child"),E=b.insert("circle"),_=b.insert("circle");return b.attr("class",a.class),E.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",p.width/2+w+m).attr("width",p.width+a.padding+m*2).attr("height",p.height+a.padding+m*2),_.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",p.width/2+w).attr("width",p.width+a.padding).attr("height",p.height+a.padding),Ut.info("DoubleCircle main"),tf(a,E),a.intersect=function(A){return Ut.info("DoubleCircle intersect",a,p.width/2+w+m,A),kh.circle(a,p.width/2+w+m,A)},f},Y$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=p.height+a.padding,b=[{x:0,y:0},{x:w,y:0},{x:w,y:-m},{x:0,y:-m},{x:0,y:0},{x:-8,y:0},{x:w+8,y:0},{x:w+8,y:-m},{x:-8,y:-m},{x:-8,y:0}],E=F5(f,w,m,b);return E.attr("style",a.style),tf(a,E),a.intersect=function(_){return kh.polygon(a,b,_)},f},K$e=(i,a)=>{const f=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),p=f.insert("circle",":first-child");return p.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),tf(a,p),a.intersect=function(w){return kh.circle(a,7,w)},f},yBt=(i,a,f)=>{const p=i.insert("g").attr("class","node default").attr("id",a.domId||a.id);let w=70,m=10;f==="LR"&&(w=10,m=70);const b=p.append("rect").attr("x",-1*w/2).attr("y",-1*m/2).attr("width",w).attr("height",m).attr("class","fork-join");return tf(a,b),a.height=a.height+a.padding/2,a.width=a.width+a.padding/2,a.intersect=function(E){return kh.rect(a,E)},p},xBt={rhombus:vBt,question:vBt,rect:q$e,labelRect:H$e,rectWithTitle:V$e,choice:O$e,circle:U$e,doublecircle:W$e,stadium:G$e,hexagon:P$e,rect_left_inv_arrow:F$e,lean_right:N$e,lean_left:B$e,trapezoid:R$e,inv_trapezoid:j$e,rect_right_inv_arrow:$$e,cylinder:z$e,start:K$e,end:(i,a)=>{const f=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),p=f.insert("circle",":first-child"),w=f.insert("circle",":first-child");return w.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),p.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),tf(a,w),a.intersect=function(m){return kh.circle(a,7,m)},f},note:I$e,subroutine:Y$e,fork:yBt,join:yBt,class_box:(i,a)=>{const f=a.padding/2,p=4,w=8;let m;a.classes?m="node "+a.classes:m="node default";const b=i.insert("g").attr("class",m).attr("id",a.domId||a.id),E=b.insert("rect",":first-child"),_=b.insert("line"),A=b.insert("line");let I=0,B=p;const N=b.insert("g").attr("class","label");let R=0;const z=a.classData.annotations&&a.classData.annotations[0],W=a.classData.annotations[0]?"«"+a.classData.annotations[0]+"»":"",et=N.node().appendChild(gp(W,a.labelStyle,!0,!0));let st=et.getBBox();if(o1(Oe().flowchart.htmlLabels)){const vt=et.children[0],X=yr(et);st=vt.getBoundingClientRect(),X.attr("width",st.width),X.attr("height",st.height)}a.classData.annotations[0]&&(B+=st.height+p,I+=st.width);let at=a.classData.label;a.classData.type!==void 0&&a.classData.type!==""&&(Oe().flowchart.htmlLabels?at+="<"+a.classData.type+">":at+="<"+a.classData.type+">");const bt=N.node().appendChild(gp(at,a.labelStyle,!0,!0));yr(bt).attr("class","classTitle");let mt=bt.getBBox();if(o1(Oe().flowchart.htmlLabels)){const vt=bt.children[0],X=yr(bt);mt=vt.getBoundingClientRect(),X.attr("width",mt.width),X.attr("height",mt.height)}B+=mt.height+p,mt.width>I&&(I=mt.width);const yt=[];a.classData.members.forEach(vt=>{const X=vt.getDisplayDetails();let pt=X.displayText;Oe().flowchart.htmlLabels&&(pt=pt.replace(//g,">"));const U=N.node().appendChild(gp(pt,X.cssStyle?X.cssStyle:a.labelStyle,!0,!0));let Tt=U.getBBox();if(o1(Oe().flowchart.htmlLabels)){const nt=U.children[0],It=yr(U);Tt=nt.getBoundingClientRect(),It.attr("width",Tt.width),It.attr("height",Tt.height)}Tt.width>I&&(I=Tt.width),B+=Tt.height+p,yt.push(U)}),B+=w;const ft=[];if(a.classData.methods.forEach(vt=>{const X=vt.getDisplayDetails();let pt=X.displayText;Oe().flowchart.htmlLabels&&(pt=pt.replace(//g,">"));const U=N.node().appendChild(gp(pt,X.cssStyle?X.cssStyle:a.labelStyle,!0,!0));let Tt=U.getBBox();if(o1(Oe().flowchart.htmlLabels)){const nt=U.children[0],It=yr(U);Tt=nt.getBoundingClientRect(),It.attr("width",Tt.width),It.attr("height",Tt.height)}Tt.width>I&&(I=Tt.width),B+=Tt.height+p,ft.push(U)}),B+=w,z){let vt=(I-st.width)/2;yr(et).attr("transform","translate( "+(-1*I/2+vt)+", "+-1*B/2+")"),R=st.height+p}let ut=(I-mt.width)/2;return yr(bt).attr("transform","translate( "+(-1*I/2+ut)+", "+(-1*B/2+R)+")"),R+=mt.height+p,_.attr("class","divider").attr("x1",-I/2-f).attr("x2",I/2+f).attr("y1",-B/2-f+w+R).attr("y2",-B/2-f+w+R),R+=w,yt.forEach(vt=>{yr(vt).attr("transform","translate( "+-I/2+", "+(-1*B/2+R+w/2)+")");const X=vt==null?void 0:vt.getBBox();R+=((X==null?void 0:X.height)??0)+p}),R+=w,A.attr("class","divider").attr("x1",-I/2-f).attr("x2",I/2+f).attr("y1",-B/2-f+w+R).attr("y2",-B/2-f+w+R),R+=w,ft.forEach(vt=>{yr(vt).attr("transform","translate( "+-I/2+", "+(-1*B/2+R)+")");const X=vt==null?void 0:vt.getBBox();R+=((X==null?void 0:X.height)??0)+p}),E.attr("class","outer title-state").attr("x",-I/2-f).attr("y",-(B/2)-f).attr("width",I+a.padding).attr("height",B+a.padding),tf(a,E),a.intersect=function(vt){return kh.rect(a,vt)},b}};let cL={};const kBt=async(i,a,f)=>{let p,w;if(a.link){let m;Oe().securityLevel==="sandbox"?m="_top":a.linkTarget&&(m=a.linkTarget||"_blank"),p=i.insert("svg:a").attr("xlink:href",a.link).attr("target",m),w=await xBt[a.shape](p,a,f)}else w=await xBt[a.shape](i,a,f),p=w;return a.tooltip&&w.attr("title",a.tooltip),a.class&&w.attr("class","node default "+a.class),cL[a.id]=p,a.haveCallback&&cL[a.id].attr("class",cL[a.id].attr("class")+" clickable"),p},X$e=(i,a)=>{cL[a.id]=i},Q$e=()=>{cL={}},EBt=i=>{const a=cL[i.id];Ut.trace("Transforming node",i.diff,i,"translate("+(i.x-i.width/2-5)+", "+i.width/2+")");const f=8,p=i.diff||0;return i.clusterNode?a.attr("transform","translate("+(i.x+p-i.width/2)+", "+(i.y-i.height/2-f)+")"):a.attr("transform","translate("+i.x+", "+i.y+")"),p},Z$e={rect:(i,a)=>{Ut.info("Creating subgraph rect for ",a.id,a);const f=i.insert("g").attr("class","cluster"+(a.class?" "+a.class:"")).attr("id",a.id),p=f.insert("rect",":first-child"),w=o1(Oe().flowchart.htmlLabels),m=f.insert("g").attr("class","cluster-label"),b=a.labelType==="markdown"?EY(m,a.labelText,{style:a.labelStyle,useHtmlLabels:w}):m.node().appendChild(gp(a.labelText,a.labelStyle,void 0,!0));let E=b.getBBox();if(o1(Oe().flowchart.htmlLabels)){const N=b.children[0],R=yr(b);E=N.getBoundingClientRect(),R.attr("width",E.width),R.attr("height",E.height)}const _=0*a.padding,A=_/2,I=a.width<=E.width+_?E.width+_:a.width;a.width<=E.width+_?a.diff=(E.width-a.width)/2-a.padding/2:a.diff=-a.padding/2,Ut.trace("Data ",a,JSON.stringify(a)),p.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",a.x-I/2).attr("y",a.y-a.height/2-A).attr("width",I).attr("height",a.height+_),w?m.attr("transform","translate("+(a.x-E.width/2)+", "+(a.y-a.height/2)+")"):m.attr("transform","translate("+a.x+", "+(a.y-a.height/2)+")");const B=p.node().getBBox();return a.width=B.width,a.height=B.height,a.intersect=function(N){return _F(a,N)},f},roundedWithTitle:(i,a)=>{const f=i.insert("g").attr("class",a.classes).attr("id",a.id),p=f.insert("rect",":first-child"),w=f.insert("g").attr("class","cluster-label"),m=f.append("rect"),b=w.node().appendChild(gp(a.labelText,a.labelStyle,void 0,!0));let E=b.getBBox();if(o1(Oe().flowchart.htmlLabels)){const N=b.children[0],R=yr(b);E=N.getBoundingClientRect(),R.attr("width",E.width),R.attr("height",E.height)}E=b.getBBox();const _=0*a.padding,A=_/2,I=a.width<=E.width+a.padding?E.width+a.padding:a.width;a.width<=E.width+a.padding?a.diff=(E.width+a.padding*0-a.width)/2:a.diff=-a.padding/2,p.attr("class","outer").attr("x",a.x-I/2-A).attr("y",a.y-a.height/2-A).attr("width",I+_).attr("height",a.height+_),m.attr("class","inner").attr("x",a.x-I/2-A).attr("y",a.y-a.height/2-A+E.height-1).attr("width",I+_).attr("height",a.height+_-E.height-3),w.attr("transform","translate("+(a.x-E.width/2)+", "+(a.y-a.height/2-a.padding/3+(o1(Oe().flowchart.htmlLabels)?5:3))+")");const B=p.node().getBBox();return a.height=B.height,a.intersect=function(N){return _F(a,N)},f},noteGroup:(i,a)=>{const f=i.insert("g").attr("class","note-cluster").attr("id",a.id),p=f.insert("rect",":first-child"),w=0*a.padding,m=w/2;p.attr("rx",a.rx).attr("ry",a.ry).attr("x",a.x-a.width/2-m).attr("y",a.y-a.height/2-m).attr("width",a.width+w).attr("height",a.height+w).attr("fill","none");const b=p.node().getBBox();return a.width=b.width,a.height=b.height,a.intersect=function(E){return _F(a,E)},f},divider:(i,a)=>{const f=i.insert("g").attr("class",a.classes).attr("id",a.id),p=f.insert("rect",":first-child"),w=0*a.padding,m=w/2;p.attr("class","divider").attr("x",a.x-a.width/2-m).attr("y",a.y-a.height/2).attr("width",a.width+w).attr("height",a.height+w);const b=p.node().getBBox();return a.width=b.width,a.height=b.height,a.diff=-a.padding/2,a.intersect=function(E){return _F(a,E)},f}};let TBt={};const J$e=(i,a)=>{Ut.trace("Inserting cluster");const f=a.shape||"rect";TBt[a.id]=Z$e[f](i,a)},tze=()=>{TBt={}},vk={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function _Y(i,a){i=SY(i),a=SY(a);const[f,p]=[i.x,i.y],[w,m]=[a.x,a.y],b=w-f,E=m-p;return{angle:Math.atan(E/b),deltaX:b,deltaY:E}}const SY=i=>Array.isArray(i)?{x:i[0],y:i[1]}:i,CBt=i=>({x:function(a,f,p){let w=0;if(f===0&&Object.hasOwn(vk,i.arrowTypeStart)){const{angle:m,deltaX:b}=_Y(p[0],p[1]);w=vk[i.arrowTypeStart]*Math.cos(m)*(b>=0?1:-1)}else if(f===p.length-1&&Object.hasOwn(vk,i.arrowTypeEnd)){const{angle:m,deltaX:b}=_Y(p[p.length-1],p[p.length-2]);w=vk[i.arrowTypeEnd]*Math.cos(m)*(b>=0?1:-1)}return SY(a).x+w},y:function(a,f,p){let w=0;if(f===0&&Object.hasOwn(vk,i.arrowTypeStart)){const{angle:m,deltaY:b}=_Y(p[0],p[1]);w=vk[i.arrowTypeStart]*Math.abs(Math.sin(m))*(b>=0?1:-1)}else if(f===p.length-1&&Object.hasOwn(vk,i.arrowTypeEnd)){const{angle:m,deltaY:b}=_Y(p[p.length-1],p[p.length-2]);w=vk[i.arrowTypeEnd]*Math.abs(Math.sin(m))*(b>=0?1:-1)}return SY(a).y+w}});let AY={},Bd={};const eze=()=>{AY={},Bd={}},_Bt=(i,a)=>{const f=o1(Oe().flowchart.htmlLabels),p=a.labelType==="markdown"?EY(i,a.label,{style:a.labelStyle,useHtmlLabels:f,addSvgBackground:!0}):gp(a.label,a.labelStyle);Ut.info("abc82",a,a.labelType);const w=i.insert("g").attr("class","edgeLabel"),m=w.insert("g").attr("class","label");m.node().appendChild(p);let b=p.getBBox();if(f){const _=p.children[0],A=yr(p);b=_.getBoundingClientRect(),A.attr("width",b.width),A.attr("height",b.height)}m.attr("transform","translate("+-b.width/2+", "+-b.height/2+")"),AY[a.id]=w,a.width=b.width,a.height=b.height;let E;if(a.startLabelLeft){const _=gp(a.startLabelLeft,a.labelStyle),A=i.insert("g").attr("class","edgeTerminals"),I=A.insert("g").attr("class","inner");E=I.node().appendChild(_);const B=_.getBBox();I.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"),Bd[a.id]||(Bd[a.id]={}),Bd[a.id].startLeft=A,LY(E,a.startLabelLeft)}if(a.startLabelRight){const _=gp(a.startLabelRight,a.labelStyle),A=i.insert("g").attr("class","edgeTerminals"),I=A.insert("g").attr("class","inner");E=A.node().appendChild(_),I.node().appendChild(_);const B=_.getBBox();I.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"),Bd[a.id]||(Bd[a.id]={}),Bd[a.id].startRight=A,LY(E,a.startLabelRight)}if(a.endLabelLeft){const _=gp(a.endLabelLeft,a.labelStyle),A=i.insert("g").attr("class","edgeTerminals"),I=A.insert("g").attr("class","inner");E=I.node().appendChild(_);const B=_.getBBox();I.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"),A.node().appendChild(_),Bd[a.id]||(Bd[a.id]={}),Bd[a.id].endLeft=A,LY(E,a.endLabelLeft)}if(a.endLabelRight){const _=gp(a.endLabelRight,a.labelStyle),A=i.insert("g").attr("class","edgeTerminals"),I=A.insert("g").attr("class","inner");E=I.node().appendChild(_);const B=_.getBBox();I.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"),A.node().appendChild(_),Bd[a.id]||(Bd[a.id]={}),Bd[a.id].endRight=A,LY(E,a.endLabelRight)}return p};function LY(i,a){Oe().flowchart.htmlLabels&&i&&(i.style.width=a.length*9+"px",i.style.height="12px")}const nze=(i,a)=>{Ut.info("Moving label abc78 ",i.id,i.label,AY[i.id]);let f=a.updatedPath?a.updatedPath:a.originalPath;if(i.label){const p=AY[i.id];let w=i.x,m=i.y;if(f){const b=$a.calcLabelPosition(f);Ut.info("Moving label "+i.label+" from (",w,",",m,") to (",b.x,",",b.y,") abc78"),a.updatedPath&&(w=b.x,m=b.y)}p.attr("transform","translate("+w+", "+m+")")}if(i.startLabelLeft){const p=Bd[i.id].startLeft;let w=i.x,m=i.y;if(f){const b=$a.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_left",f);w=b.x,m=b.y}p.attr("transform","translate("+w+", "+m+")")}if(i.startLabelRight){const p=Bd[i.id].startRight;let w=i.x,m=i.y;if(f){const b=$a.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_right",f);w=b.x,m=b.y}p.attr("transform","translate("+w+", "+m+")")}if(i.endLabelLeft){const p=Bd[i.id].endLeft;let w=i.x,m=i.y;if(f){const b=$a.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_left",f);w=b.x,m=b.y}p.attr("transform","translate("+w+", "+m+")")}if(i.endLabelRight){const p=Bd[i.id].endRight;let w=i.x,m=i.y;if(f){const b=$a.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_right",f);w=b.x,m=b.y}p.attr("transform","translate("+w+", "+m+")")}},rze=(i,a)=>{const f=i.x,p=i.y,w=Math.abs(a.x-f),m=Math.abs(a.y-p),b=i.width/2,E=i.height/2;return w>=b||m>=E},ize=(i,a,f)=>{Ut.warn(`intersection calc abc89: + outsidePoint: ${JSON.stringify(a)} + insidePoint : ${JSON.stringify(f)} + node : x:${i.x} y:${i.y} w:${i.width} h:${i.height}`);const p=i.x,w=i.y,m=Math.abs(p-f.x),b=i.width/2;let E=f.xMath.abs(p-a.x)*_){let B=f.y{Ut.warn("abc88 cutPathAtIntersect",i,a);let f=[],p=i[0],w=!1;return i.forEach(m=>{if(Ut.info("abc88 checking point",m,a),!rze(a,m)&&!w){const b=ize(a,p,m);Ut.warn("abc88 inside",m,p,b),Ut.warn("abc88 intersection",b);let E=!1;f.forEach(_=>{E=E||_.x===b.x&&_.y===b.y}),f.some(_=>_.x===b.x&&_.y===b.y)?Ut.warn("abc88 no intersect",b,f):f.push(b),w=!0}else Ut.warn("abc88 outside",m,p),p=m,w||f.push(m)}),Ut.warn("abc88 returning points",f),f},sze=function(i,a,f,p,w,m,b){let E=f.points,_=!1;const A=m.node(a.v);var I=m.node(a.w);Ut.info("abc88 InsertEdge: ",f),I.intersect&&A.intersect&&(E=E.slice(1,f.points.length-1),E.unshift(A.intersect(E[0])),Ut.info("Last point",E[E.length-1],I,I.intersect(E[E.length-1])),E.push(I.intersect(E[E.length-1]))),f.toCluster&&(Ut.info("to cluster abc88",p[f.toCluster]),E=SBt(f.points,p[f.toCluster].node),_=!0),f.fromCluster&&(Ut.info("from cluster abc88",p[f.fromCluster]),E=SBt(E.reverse(),p[f.fromCluster].node).reverse(),_=!0);const B=E.filter(mt=>!Number.isNaN(mt.y));let N=HP;f.curve&&(w==="graph"||w==="flowchart")&&(N=f.curve);const{x:R,y:z}=CBt(f),W=E5().x(R).y(z).curve(N);let et;switch(f.thickness){case"normal":et="edge-thickness-normal";break;case"thick":et="edge-thickness-thick";break;case"invisible":et="edge-thickness-thick";break;default:et=""}switch(f.pattern){case"solid":et+=" edge-pattern-solid";break;case"dotted":et+=" edge-pattern-dotted";break;case"dashed":et+=" edge-pattern-dashed";break}const st=i.append("path").attr("d",W(B)).attr("id",f.id).attr("class"," "+et+(f.classes?" "+f.classes:"")).attr("style",f.style);let at="";switch((Oe().flowchart.arrowMarkerAbsolute||Oe().state.arrowMarkerAbsolute)&&(at=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,at=at.replace(/\(/g,"\\("),at=at.replace(/\)/g,"\\)")),Ut.info("arrowTypeStart",f.arrowTypeStart),Ut.info("arrowTypeEnd",f.arrowTypeEnd),f.arrowTypeStart){case"arrow_cross":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-crossStart)");break;case"arrow_point":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-pointStart)");break;case"arrow_barb":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-barbStart)");break;case"arrow_circle":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-circleStart)");break;case"aggregation":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-aggregationStart)");break;case"extension":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-extensionStart)");break;case"composition":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-compositionStart)");break;case"dependency":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-dependencyStart)");break;case"lollipop":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-lollipopStart)");break}switch(f.arrowTypeEnd){case"arrow_cross":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-crossEnd)");break;case"arrow_point":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-pointEnd)");break;case"arrow_barb":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-barbEnd)");break;case"arrow_circle":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-circleEnd)");break;case"aggregation":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-aggregationEnd)");break;case"extension":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-extensionEnd)");break;case"composition":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-compositionEnd)");break;case"dependency":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-dependencyEnd)");break;case"lollipop":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-lollipopEnd)");break}let bt={};return _&&(bt.updatedPath=E),bt.originalPath=f.points,bt},ABt=async(i,a,f,p,w)=>{Ut.info("Graph in recursive render: XXX",P5(a),w);const m=a.graph().rankdir;Ut.trace("Dir in recursive render - dir:",m);const b=i.insert("g").attr("class","root");a.nodes()?Ut.info("Recursive render XXX",a.nodes()):Ut.info("No nodes found for",a),a.edges().length>0&&Ut.trace("Recursive edges",a.edge(a.edges()[0]));const E=b.insert("g").attr("class","clusters"),_=b.insert("g").attr("class","edgePaths"),A=b.insert("g").attr("class","edgeLabels"),I=b.insert("g").attr("class","nodes");await Promise.all(a.nodes().map(async function(N){const R=a.node(N);if(w!==void 0){const z=JSON.parse(JSON.stringify(w.clusterData));Ut.info("Setting data for cluster XXX (",N,") ",z,w),a.setNode(w.id,z),a.parent(N)||(Ut.trace("Setting parent",N,w.id),a.setParent(N,w.id,z))}if(Ut.info("(Insert) Node XXX"+N+": "+JSON.stringify(a.node(N))),R&&R.clusterNode){Ut.info("Cluster identified",N,R.width,a.node(N));const z=await ABt(I,R.graph,f,p,a.node(N)),W=z.elem;tf(R,W),R.diff=z.diff||0,Ut.info("Node bounds (abc123)",N,R,R.width,R.x,R.y),X$e(W,R),Ut.warn("Recursive render complete ",W,R)}else a.children(N).length>0?(Ut.info("Cluster - the non recursive path XXX",N,R.id,R,a),Ut.info(CF(R.id,a)),Ho[R.id]={id:CF(R.id,a),node:R}):(Ut.info("Node - the non recursive path",N,R.id,R),await kBt(I,a.node(N),m))})),a.edges().forEach(function(N){const R=a.edge(N.v,N.w,N.name);Ut.info("Edge "+N.v+" -> "+N.w+": "+JSON.stringify(N)),Ut.info("Edge "+N.v+" -> "+N.w+": ",N," ",JSON.stringify(a.edge(N))),Ut.info("Fix",Ho,"ids:",N.v,N.w,"Translateing: ",Ho[N.v],Ho[N.w]),_Bt(A,R)}),a.edges().forEach(function(N){Ut.info("Edge "+N.v+" -> "+N.w+": "+JSON.stringify(N))}),Ut.info("#############################################"),Ut.info("### Layout ###"),Ut.info("#############################################"),Ut.info(a),aL(a),Ut.info("Graph after layout:",P5(a));let B=0;return S$e(a).forEach(function(N){const R=a.node(N);Ut.info("Position "+N+": "+JSON.stringify(a.node(N))),Ut.info("Position "+N+": ("+R.x,","+R.y,") width: ",R.width," height: ",R.height),R&&R.clusterNode?EBt(R):a.children(N).length>0?(J$e(E,R),Ho[R.id].node=R):EBt(R)}),a.edges().forEach(function(N){const R=a.edge(N);Ut.info("Edge "+N.v+" -> "+N.w+": "+JSON.stringify(R),R);const z=sze(_,N,R,Ho,f,a,p);nze(R,z)}),a.nodes().forEach(function(N){const R=a.node(N);Ut.info(N,R.type,R.diff),R.type==="group"&&(B=R.diff)}),{elem:b,diff:B}},N0t=async(i,a,f,p,w)=>{PNt(i,f,p,w),Q$e(),eze(),tze(),T$e(),Ut.warn("Graph at first:",JSON.stringify(P5(a))),_$e(a),Ut.warn("Graph after:",JSON.stringify(P5(a))),await ABt(i,a,p,w)},LBt={},aze=function(i){const a=Object.keys(i);for(const f of a)LBt[f]=i[f]},MBt=function(i,a,f,p,w,m){const b=p.select(`[id="${f}"]`);Object.keys(i).forEach(function(_){const A=i[_];let I="default";A.classes.length>0&&(I=A.classes.join(" ")),I=I+" flowchart-label";const B=im(A.styles);let N=A.text!==void 0?A.text:A.id,R;if(Ut.info("vertex",A,A.labelType),A.labelType==="markdown")Ut.info("vertex",A,A.labelType);else if(o1(Oe().flowchart.htmlLabels)){const et={label:N.replace(/fa[blrs]?:fa-[\w-]+/g,st=>``)};R=b0t(b,et).node(),R.parentNode.removeChild(R)}else{const et=w.createElementNS("http://www.w3.org/2000/svg","text");et.setAttribute("style",B.labelStyle.replace("color:","fill:"));const st=N.split(Kr.lineBreakRegex);for(const at of st){const bt=w.createElementNS("http://www.w3.org/2000/svg","tspan");bt.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),bt.setAttribute("dy","1em"),bt.setAttribute("x","1"),bt.textContent=at,et.appendChild(bt)}R=et}let z=0,W="";switch(A.type){case"round":z=5,W="rect";break;case"square":W="rect";break;case"diamond":W="question";break;case"hexagon":W="hexagon";break;case"odd":W="rect_left_inv_arrow";break;case"lean_right":W="lean_right";break;case"lean_left":W="lean_left";break;case"trapezoid":W="trapezoid";break;case"inv_trapezoid":W="inv_trapezoid";break;case"odd_right":W="rect_left_inv_arrow";break;case"circle":W="circle";break;case"ellipse":W="ellipse";break;case"stadium":W="stadium";break;case"subroutine":W="subroutine";break;case"cylinder":W="cylinder";break;case"group":W="rect";break;case"doublecircle":W="doublecircle";break;default:W="rect"}a.setNode(A.id,{labelStyle:B.labelStyle,shape:W,labelText:N,labelType:A.labelType,rx:z,ry:z,class:I,style:B.style,id:A.id,link:A.link,linkTarget:A.linkTarget,tooltip:m.db.getTooltip(A.id)||"",domId:m.db.lookUpDomId(A.id),haveCallback:A.haveCallback,width:A.type==="group"?500:void 0,dir:A.dir,type:A.type,props:A.props,padding:Oe().flowchart.padding}),Ut.info("setNode",{labelStyle:B.labelStyle,labelType:A.labelType,shape:W,labelText:N,rx:z,ry:z,class:I,style:B.style,id:A.id,domId:m.db.lookUpDomId(A.id),width:A.type==="group"?500:void 0,type:A.type,dir:A.dir,props:A.props,padding:Oe().flowchart.padding})})},DBt=function(i,a,f){Ut.info("abc78 edges = ",i);let p=0,w={},m,b;if(i.defaultStyle!==void 0){const E=im(i.defaultStyle);m=E.style,b=E.labelStyle}i.forEach(function(E){p++;const _="L-"+E.start+"-"+E.end;w[_]===void 0?(w[_]=0,Ut.info("abc78 new entry",_,w[_])):(w[_]++,Ut.info("abc78 new entry",_,w[_]));let A=_+"-"+w[_];Ut.info("abc78 new link id to be used is",_,A,w[_]);const I="LS-"+E.start,B="LE-"+E.end,N={style:"",labelStyle:""};switch(N.minlen=E.length||1,E.type==="arrow_open"?N.arrowhead="none":N.arrowhead="normal",N.arrowTypeStart="arrow_open",N.arrowTypeEnd="arrow_open",E.type){case"double_arrow_cross":N.arrowTypeStart="arrow_cross";case"arrow_cross":N.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":N.arrowTypeStart="arrow_point";case"arrow_point":N.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":N.arrowTypeStart="arrow_circle";case"arrow_circle":N.arrowTypeEnd="arrow_circle";break}let R="",z="";switch(E.stroke){case"normal":R="fill:none;",m!==void 0&&(R=m),b!==void 0&&(z=b),N.thickness="normal",N.pattern="solid";break;case"dotted":N.thickness="normal",N.pattern="dotted",N.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":N.thickness="thick",N.pattern="solid",N.style="stroke-width: 3.5px;fill:none;";break;case"invisible":N.thickness="invisible",N.pattern="solid",N.style="stroke-width: 0;fill:none;";break}if(E.style!==void 0){const W=im(E.style);R=W.style,z=W.labelStyle}N.style=N.style+=R,N.labelStyle=N.labelStyle+=z,E.interpolate!==void 0?N.curve=ew(E.interpolate,cg):i.defaultInterpolate!==void 0?N.curve=ew(i.defaultInterpolate,cg):N.curve=ew(LBt.curve,cg),E.text===void 0?E.style!==void 0&&(N.arrowheadStyle="fill: #333"):(N.arrowheadStyle="fill: #333",N.labelpos="c"),N.labelType=E.labelType,N.label=E.text.replace(Kr.lineBreakRegex,` +`),E.style===void 0&&(N.style=N.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),N.labelStyle=N.labelStyle.replace("color:","fill:"),N.id=A,N.classes="flowchart-link "+I+" "+B,a.setEdge(E.start,E.end,N,p)})},B0t={setConf:aze,addVertices:MBt,addEdges:DBt,getClasses:function(i,a){return a.db.getClasses()},draw:async function(i,a,f,p){Ut.info("Drawing flowchart");let w=p.db.getDirection();w===void 0&&(w="TD");const{securityLevel:m,flowchart:b}=Oe(),E=b.nodeSpacing||50,_=b.rankSpacing||50;let A;m==="sandbox"&&(A=yr("#i"+a));const I=yr(m==="sandbox"?A.nodes()[0].contentDocument.body:"body"),B=m==="sandbox"?A.nodes()[0].contentDocument:document,N=new c1({multigraph:!0,compound:!0}).setGraph({rankdir:w,nodesep:E,ranksep:_,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let R;const z=p.db.getSubGraphs();Ut.info("Subgraphs - ",z);for(let yt=z.length-1;yt>=0;yt--)R=z[yt],Ut.info("Subgraph - ",R),p.db.addVertex(R.id,{text:R.title,type:R.labelType},"group",void 0,R.classes,R.dir);const W=p.db.getVertices(),et=p.db.getEdges();Ut.info("Edges",et);let st=0;for(st=z.length-1;st>=0;st--){R=z[st],sMt("cluster").append("text");for(let yt=0;yt{const f=cCe,p=f(i,"r"),w=f(i,"g"),m=f(i,"b");return FA(p,w,m,a)},IBt=i=>`.label { + font-family: ${i.fontFamily}; + color: ${i.nodeTextColor||i.textColor}; + } + .cluster-label text { + fill: ${i.titleColor}; + } + .cluster-label span,p { + color: ${i.titleColor}; + } + + .label text,span,p { + fill: ${i.nodeTextColor||i.textColor}; + color: ${i.nodeTextColor||i.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${i.edgeLabelBackground}; + fill: ${i.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${oze(i.edgeLabelBackground,.5)}; + // background-color: + } + + .cluster rect { + fill: ${i.clusterBkg}; + stroke: ${i.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${i.titleColor}; + } + + .cluster span,p { + color: ${i.titleColor}; + } + /* .cluster div { + color: ${i.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${i.fontFamily}; + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } +`,cze=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Hdt,db:wT,renderer:B0t,styles:IBt,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,hRe.setConf(i.flowchart),wT.clear(),wT.setGen("gen-1")}}},Symbol.toStringTag,{value:"Module"})),uze=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Hdt,db:wT,renderer:B0t,styles:IBt,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,cAe({flowchart:{arrowMarkerAbsolute:i.arrowMarkerAbsolute}}),B0t.setConf(i.flowchart),wT.clear(),wT.setGen("gen-2")}}},Symbol.toStringTag,{value:"Module"}));var R0t=function(){var i=function(vt,X,pt,U){for(pt=pt||{},U=vt.length;U--;pt[vt[U]]=X);return pt},a=[6,8,10,20,22,24,26,27,28],f=[1,10],p=[1,11],w=[1,12],m=[1,13],b=[1,14],E=[1,15],_=[1,21],A=[1,22],I=[1,23],B=[1,24],N=[1,25],R=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],z=[1,34],W=[27,28,46,47],et=[41,42,43,44,45],st=[17,34],at=[1,54],bt=[1,53],mt=[17,34,36,38],yt={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:function(X,pt,U,Tt,nt,It,Ot){var Bt=It.length-1;switch(nt){case 1:break;case 2:this.$=[];break;case 3:It[Bt-1].push(It[Bt]),this.$=It[Bt-1];break;case 4:case 5:this.$=It[Bt];break;case 6:case 7:this.$=[];break;case 8:Tt.addEntity(It[Bt-4]),Tt.addEntity(It[Bt-2]),Tt.addRelationship(It[Bt-4],It[Bt],It[Bt-2],It[Bt-3]);break;case 9:Tt.addEntity(It[Bt-3]),Tt.addAttributes(It[Bt-3],It[Bt-1]);break;case 10:Tt.addEntity(It[Bt-2]);break;case 11:Tt.addEntity(It[Bt]);break;case 12:Tt.addEntity(It[Bt-6],It[Bt-4]),Tt.addAttributes(It[Bt-6],It[Bt-1]);break;case 13:Tt.addEntity(It[Bt-5],It[Bt-3]);break;case 14:Tt.addEntity(It[Bt-3],It[Bt-1]);break;case 15:case 16:this.$=It[Bt].trim(),Tt.setAccTitle(this.$);break;case 17:case 18:this.$=It[Bt].trim(),Tt.setAccDescription(this.$);break;case 19:case 43:this.$=It[Bt];break;case 20:case 41:case 42:this.$=It[Bt].replace(/"/g,"");break;case 21:case 29:this.$=[It[Bt]];break;case 22:It[Bt].push(It[Bt-1]),this.$=It[Bt];break;case 23:this.$={attributeType:It[Bt-1],attributeName:It[Bt]};break;case 24:this.$={attributeType:It[Bt-2],attributeName:It[Bt-1],attributeKeyTypeList:It[Bt]};break;case 25:this.$={attributeType:It[Bt-2],attributeName:It[Bt-1],attributeComment:It[Bt]};break;case 26:this.$={attributeType:It[Bt-3],attributeName:It[Bt-2],attributeKeyTypeList:It[Bt-1],attributeComment:It[Bt]};break;case 27:case 28:case 31:this.$=It[Bt];break;case 30:It[Bt-2].push(It[Bt]),this.$=It[Bt-2];break;case 32:this.$=It[Bt].replace(/"/g,"");break;case 33:this.$={cardA:It[Bt],relType:It[Bt-1],cardB:It[Bt-2]};break;case 34:this.$=Tt.Cardinality.ZERO_OR_ONE;break;case 35:this.$=Tt.Cardinality.ZERO_OR_MORE;break;case 36:this.$=Tt.Cardinality.ONE_OR_MORE;break;case 37:this.$=Tt.Cardinality.ONLY_ONE;break;case 38:this.$=Tt.Cardinality.MD_PARENT;break;case 39:this.$=Tt.Identification.NON_IDENTIFYING;break;case 40:this.$=Tt.Identification.IDENTIFYING;break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:f,22:p,24:w,26:m,27:b,28:E},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:16,11:9,20:f,22:p,24:w,26:m,27:b,28:E},i(a,[2,5]),i(a,[2,6]),i(a,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:_,42:A,43:I,44:B,45:N}),{21:[1,26]},{23:[1,27]},{25:[1,28]},i(a,[2,18]),i(R,[2,19]),i(R,[2,20]),i(a,[2,4]),{11:29,27:b,28:E},{16:30,17:[1,31],29:32,30:33,34:z},{11:35,27:b,28:E},{40:36,46:[1,37],47:[1,38]},i(W,[2,34]),i(W,[2,35]),i(W,[2,36]),i(W,[2,37]),i(W,[2,38]),i(a,[2,15]),i(a,[2,16]),i(a,[2,17]),{13:[1,39]},{17:[1,40]},i(a,[2,10]),{16:41,17:[2,21],29:32,30:33,34:z},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:_,42:A,43:I,44:B,45:N},i(et,[2,39]),i(et,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},i(a,[2,9]),{17:[2,22]},i(st,[2,23],{32:50,33:51,35:52,37:at,38:bt}),i([17,34,37,38],[2,28]),i(a,[2,14],{15:[1,55]}),i([27,28],[2,33]),i(a,[2,8]),i(a,[2,41]),i(a,[2,42]),i(a,[2,43]),i(st,[2,24],{33:56,36:[1,57],38:bt}),i(st,[2,25]),i(mt,[2,29]),i(st,[2,32]),i(mt,[2,31]),{16:58,17:[1,59],29:32,30:33,34:z},i(st,[2,26]),{35:60,37:at},{17:[1,61]},i(a,[2,13]),i(mt,[2,30]),i(a,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(X,pt){if(pt.recoverable)this.trace(X);else{var U=new Error(X);throw U.hash=pt,U}},parse:function(X){var pt=this,U=[0],Tt=[],nt=[null],It=[],Ot=this.table,Bt="",Et=0,Z=0,Ct=2,xt=1,Ht=It.slice.call(arguments,1),Le=Object.create(this.lexer),Ft={yy:{}};for(var gn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,gn)&&(Ft.yy[gn]=this.yy[gn]);Le.setInput(X,Ft.yy),Ft.yy.lexer=Le,Ft.yy.parser=this,typeof Le.yylloc>"u"&&(Le.yylloc={});var Se=Le.yylloc;It.push(Se);var me=Le.options&&Le.options.ranges;typeof Ft.yy.parseError=="function"?this.parseError=Ft.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ve(){var on;return on=Tt.pop()||Le.lex()||xt,typeof on!="number"&&(on instanceof Array&&(Tt=on,on=Tt.pop()),on=pt.symbols_[on]||on),on}for(var Ye,ce,ke,zt,re={},se,Pe,te,Me;;){if(ce=U[U.length-1],this.defaultActions[ce]?ke=this.defaultActions[ce]:((Ye===null||typeof Ye>"u")&&(Ye=Ve()),ke=Ot[ce]&&Ot[ce][Ye]),typeof ke>"u"||!ke.length||!ke[0]){var de="";Me=[];for(se in Ot[ce])this.terminals_[se]&&se>Ct&&Me.push("'"+this.terminals_[se]+"'");Le.showPosition?de="Parse error on line "+(Et+1)+`: +`+Le.showPosition()+` +Expecting `+Me.join(", ")+", got '"+(this.terminals_[Ye]||Ye)+"'":de="Parse error on line "+(Et+1)+": Unexpected "+(Ye==xt?"end of input":"'"+(this.terminals_[Ye]||Ye)+"'"),this.parseError(de,{text:Le.match,token:this.terminals_[Ye]||Ye,line:Le.yylineno,loc:Se,expected:Me})}if(ke[0]instanceof Array&&ke.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ce+", token: "+Ye);switch(ke[0]){case 1:U.push(Ye),nt.push(Le.yytext),It.push(Le.yylloc),U.push(ke[1]),Ye=null,Z=Le.yyleng,Bt=Le.yytext,Et=Le.yylineno,Se=Le.yylloc;break;case 2:if(Pe=this.productions_[ke[1]][1],re.$=nt[nt.length-Pe],re._$={first_line:It[It.length-(Pe||1)].first_line,last_line:It[It.length-1].last_line,first_column:It[It.length-(Pe||1)].first_column,last_column:It[It.length-1].last_column},me&&(re._$.range=[It[It.length-(Pe||1)].range[0],It[It.length-1].range[1]]),zt=this.performAction.apply(re,[Bt,Z,Et,Ft.yy,ke[1],nt,It].concat(Ht)),typeof zt<"u")return zt;Pe&&(U=U.slice(0,-1*Pe*2),nt=nt.slice(0,-1*Pe),It=It.slice(0,-1*Pe)),U.push(this.productions_[ke[1]][0]),nt.push(re.$),It.push(re._$),te=Ot[U[U.length-2]][U[U.length-1]],U.push(te);break;case 3:return!0}}return!0}},ft=function(){var vt={EOF:1,parseError:function(pt,U){if(this.yy.parser)this.yy.parser.parseError(pt,U);else throw new Error(pt)},setInput:function(X,pt){return this.yy=pt||this.yy||{},this._input=X,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var X=this._input[0];this.yytext+=X,this.yyleng++,this.offset++,this.match+=X,this.matched+=X;var pt=X.match(/(?:\r\n?|\n).*/g);return pt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),X},unput:function(X){var pt=X.length,U=X.split(/(?:\r\n?|\n)/g);this._input=X+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-pt),this.offset-=pt;var Tt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),U.length-1&&(this.yylineno-=U.length-1);var nt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:U?(U.length===Tt.length?this.yylloc.first_column:0)+Tt[Tt.length-U.length].length-U[0].length:this.yylloc.first_column-pt},this.options.ranges&&(this.yylloc.range=[nt[0],nt[0]+this.yyleng-pt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(X){this.unput(this.match.slice(X))},pastInput:function(){var X=this.matched.substr(0,this.matched.length-this.match.length);return(X.length>20?"...":"")+X.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var X=this.match;return X.length<20&&(X+=this._input.substr(0,20-X.length)),(X.substr(0,20)+(X.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var X=this.pastInput(),pt=new Array(X.length+1).join("-");return X+this.upcomingInput()+` +`+pt+"^"},test_match:function(X,pt){var U,Tt,nt;if(this.options.backtrack_lexer&&(nt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(nt.yylloc.range=this.yylloc.range.slice(0))),Tt=X[0].match(/(?:\r\n?|\n).*/g),Tt&&(this.yylineno+=Tt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Tt?Tt[Tt.length-1].length-Tt[Tt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+X[0].length},this.yytext+=X[0],this.match+=X[0],this.matches=X,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(X[0].length),this.matched+=X[0],U=this.performAction.call(this,this.yy,this,pt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),U)return U;if(this._backtrack){for(var It in nt)this[It]=nt[It];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var X,pt,U,Tt;this._more||(this.yytext="",this.match="");for(var nt=this._currentRules(),It=0;Itpt[0].length)){if(pt=U,Tt=It,this.options.backtrack_lexer){if(X=this.test_match(U,nt[It]),X!==!1)return X;if(this._backtrack){pt=!1;continue}else return!1}else if(!this.options.flex)break}return pt?(X=this.test_match(pt,nt[Tt]),X!==!1?X:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var pt=this.next();return pt||this.lex()},begin:function(pt){this.conditionStack.push(pt)},popState:function(){var pt=this.conditionStack.length-1;return pt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(pt){return pt=this.conditionStack.length-1-Math.abs(pt||0),pt>=0?this.conditionStack[pt]:"INITIAL"},pushState:function(pt){this.begin(pt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(pt,U,Tt,nt){switch(Tt){case 0:return this.begin("acc_title"),22;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),24;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;case 14:return 36;case 15:break;case 16:return 37;case 17:return 34;case 18:return 34;case 19:return 38;case 20:break;case 21:return this.popState(),17;case 22:return U.yytext[0];case 23:return 18;case 24:return 19;case 25:return 41;case 26:return 43;case 27:return 43;case 28:return 43;case 29:return 41;case 30:return 41;case 31:return 42;case 32:return 42;case 33:return 42;case 34:return 42;case 35:return 42;case 36:return 43;case 37:return 42;case 38:return 43;case 39:return 44;case 40:return 44;case 41:return 44;case 42:return 44;case 43:return 41;case 44:return 42;case 45:return 43;case 46:return 45;case 47:return 46;case 48:return 47;case 49:return 47;case 50:return 46;case 51:return 46;case 52:return 46;case 53:return 27;case 54:return U.yytext[0];case 55:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],inclusive:!0}}};return vt}();yt.lexer=ft;function ut(){this.yy={}}return ut.prototype=yt,yt.Parser=ut,new ut}();R0t.parser=R0t;const lze=R0t;let mk={},j0t=[];const hze={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},fze={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},OBt=function(i,a=void 0){return mk[i]===void 0?(mk[i]={attributes:[],alias:a},Ut.info("Added new entity :",i)):mk[i]&&!mk[i].alias&&a&&(mk[i].alias=a,Ut.info(`Add alias '${a}' to entity '${i}'`)),mk[i]},dze={Cardinality:hze,Identification:fze,getConfig:()=>Oe().er,addEntity:OBt,addAttributes:function(i,a){let f=OBt(i),p;for(p=a.length-1;p>=0;p--)f.attributes.push(a[p]),Ut.debug("Added attribute ",a[p].attributeName)},getEntities:()=>mk,addRelationship:function(i,a,f,p){let w={entityA:i,roleA:a,entityB:f,relSpec:p};j0t.push(w),Ut.debug("Added new relationship :",w)},getRelationships:()=>j0t,clear:function(){mk={},j0t=[],hg()},setAccTitle:E0,getAccTitle:fg,setAccDescription:dg,getAccDescription:gg,setDiagramTitle:Nb,getDiagramTitle:pg},fm={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},dm={ERMarkers:fm,insertMarkers:function(i,a){let f;i.append("defs").append("marker").attr("id",fm.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",fm.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",fm.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),i.append("defs").append("marker").attr("id",fm.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),f=i.append("defs").append("marker").attr("id",fm.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M9,0 L9,18"),f=i.append("defs").append("marker").attr("id",fm.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M21,0 L21,18"),i.append("defs").append("marker").attr("id",fm.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),i.append("defs").append("marker").attr("id",fm.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),f=i.append("defs").append("marker").attr("id",fm.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),f=i.append("defs").append("marker").attr("id",fm.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")}},gze=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function pze(i){return typeof i=="string"&&gze.test(i)}const Rd=[];for(let i=0;i<256;++i)Rd.push((i+256).toString(16).slice(1));function bze(i,a=0){return(Rd[i[a+0]]+Rd[i[a+1]]+Rd[i[a+2]]+Rd[i[a+3]]+"-"+Rd[i[a+4]]+Rd[i[a+5]]+"-"+Rd[i[a+6]]+Rd[i[a+7]]+"-"+Rd[i[a+8]]+Rd[i[a+9]]+"-"+Rd[i[a+10]]+Rd[i[a+11]]+Rd[i[a+12]]+Rd[i[a+13]]+Rd[i[a+14]]+Rd[i[a+15]]).toLowerCase()}function wze(i){if(!pze(i))throw TypeError("Invalid UUID");let a;const f=new Uint8Array(16);return f[0]=(a=parseInt(i.slice(0,8),16))>>>24,f[1]=a>>>16&255,f[2]=a>>>8&255,f[3]=a&255,f[4]=(a=parseInt(i.slice(9,13),16))>>>8,f[5]=a&255,f[6]=(a=parseInt(i.slice(14,18),16))>>>8,f[7]=a&255,f[8]=(a=parseInt(i.slice(19,23),16))>>>8,f[9]=a&255,f[10]=(a=parseInt(i.slice(24,36),16))/1099511627776&255,f[11]=a/4294967296&255,f[12]=a>>>24&255,f[13]=a>>>16&255,f[14]=a>>>8&255,f[15]=a&255,f}function vze(i){i=unescape(encodeURIComponent(i));const a=[];for(let f=0;f>>32-a}function Eze(i){const a=[1518500249,1859775393,2400959708,3395469782],f=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof i=="string"){const b=unescape(encodeURIComponent(i));i=[];for(let E=0;E>>0;N=B,B=I,I=$0t(A,30)>>>0,A=_,_=W}f[0]=f[0]+_>>>0,f[1]=f[1]+A>>>0,f[2]=f[2]+I>>>0,f[3]=f[3]+B>>>0,f[4]=f[4]+N>>>0}return[f[0]>>24&255,f[0]>>16&255,f[0]>>8&255,f[0]&255,f[1]>>24&255,f[1]>>16&255,f[1]>>8&255,f[1]&255,f[2]>>24&255,f[2]>>16&255,f[2]>>8&255,f[2]&255,f[3]>>24&255,f[3]>>16&255,f[3]>>8&255,f[3]&255,f[4]>>24&255,f[4]>>16&255,f[4]>>8&255,f[4]&255]}const Tze=xze("v5",80,Eze),Cze=/[^\dA-Za-z](\W)*/g;let u1={},SF=new Map;const _ze=function(i){const a=Object.keys(i);for(const f of a)u1[f]=i[f]},Sze=(i,a,f)=>{const p=u1.entityPadding/3,w=u1.entityPadding/3,m=u1.fontSize*.85,b=a.node().getBBox(),E=[];let _=!1,A=!1,I=0,B=0,N=0,R=0,z=b.height+p*2,W=1;f.forEach(bt=>{bt.attributeKeyTypeList!==void 0&&bt.attributeKeyTypeList.length>0&&(_=!0),bt.attributeComment!==void 0&&(A=!0)}),f.forEach(bt=>{const mt=`${a.node().id}-attr-${W}`;let yt=0;const ft=YP(bt.attributeType),ut=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Oe().fontFamily).style("font-size",m+"px").text(ft),vt=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Oe().fontFamily).style("font-size",m+"px").text(bt.attributeName),X={};X.tn=ut,X.nn=vt;const pt=ut.node().getBBox(),U=vt.node().getBBox();if(I=Math.max(I,pt.width),B=Math.max(B,U.width),yt=Math.max(pt.height,U.height),_){const Tt=bt.attributeKeyTypeList!==void 0?bt.attributeKeyTypeList.join(","):"",nt=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Oe().fontFamily).style("font-size",m+"px").text(Tt);X.kn=nt;const It=nt.node().getBBox();N=Math.max(N,It.width),yt=Math.max(yt,It.height)}if(A){const Tt=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Oe().fontFamily).style("font-size",m+"px").text(bt.attributeComment||"");X.cn=Tt;const nt=Tt.node().getBBox();R=Math.max(R,nt.width),yt=Math.max(yt,nt.height)}X.height=yt,E.push(X),z+=yt+p*2,W+=1});let et=4;_&&(et+=2),A&&(et+=2);const st=I+B+N+R,at={width:Math.max(u1.minEntityWidth,Math.max(b.width+u1.entityPadding*2,st+w*et)),height:f.length>0?z:Math.max(u1.minEntityHeight,b.height+u1.entityPadding*2)};if(f.length>0){const bt=Math.max(0,(at.width-st-w*et)/(et/2));a.attr("transform","translate("+at.width/2+","+(p+b.height/2)+")");let mt=b.height+p*2,yt="attributeBoxOdd";E.forEach(ft=>{const ut=mt+p+ft.height/2;ft.tn.attr("transform","translate("+w+","+ut+")");const vt=i.insert("rect","#"+ft.tn.node().id).classed(`er ${yt}`,!0).attr("x",0).attr("y",mt).attr("width",I+w*2+bt).attr("height",ft.height+p*2),X=parseFloat(vt.attr("x"))+parseFloat(vt.attr("width"));ft.nn.attr("transform","translate("+(X+w)+","+ut+")");const pt=i.insert("rect","#"+ft.nn.node().id).classed(`er ${yt}`,!0).attr("x",X).attr("y",mt).attr("width",B+w*2+bt).attr("height",ft.height+p*2);let U=parseFloat(pt.attr("x"))+parseFloat(pt.attr("width"));if(_){ft.kn.attr("transform","translate("+(U+w)+","+ut+")");const Tt=i.insert("rect","#"+ft.kn.node().id).classed(`er ${yt}`,!0).attr("x",U).attr("y",mt).attr("width",N+w*2+bt).attr("height",ft.height+p*2);U=parseFloat(Tt.attr("x"))+parseFloat(Tt.attr("width"))}A&&(ft.cn.attr("transform","translate("+(U+w)+","+ut+")"),i.insert("rect","#"+ft.cn.node().id).classed(`er ${yt}`,"true").attr("x",U).attr("y",mt).attr("width",R+w*2+bt).attr("height",ft.height+p*2)),mt+=ft.height+p*2,yt=yt==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else at.height=Math.max(u1.minEntityHeight,z),a.attr("transform","translate("+at.width/2+","+at.height/2+")");return at},Aze=function(i,a,f){const p=Object.keys(a);let w;return p.forEach(function(m){const b=Pze(m,"entity");SF.set(m,b);const E=i.append("g").attr("id",b);w=w===void 0?b:w;const _="text-"+b,A=E.append("text").classed("er entityLabel",!0).attr("id",_).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",Oe().fontFamily).style("font-size",u1.fontSize+"px").text(a[m].alias??m),{width:I,height:B}=Sze(E,A,a[m].attributes),R=E.insert("rect","#"+_).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",I).attr("height",B).node().getBBox();f.setNode(b,{width:R.width,height:R.height,shape:"rect",id:b})}),w},Lze=function(i,a){a.nodes().forEach(function(f){f!==void 0&&a.node(f)!==void 0&&i.select("#"+f).attr("transform","translate("+(a.node(f).x-a.node(f).width/2)+","+(a.node(f).y-a.node(f).height/2)+" )")})},PBt=function(i){return(i.entityA+i.roleA+i.entityB).replace(/\s/g,"")},Mze=function(i,a){return i.forEach(function(f){a.setEdge(SF.get(f.entityA),SF.get(f.entityB),{relationship:f},PBt(f))}),i};let FBt=0;const Dze=function(i,a,f,p,w){FBt++;const m=f.edge(SF.get(a.entityA),SF.get(a.entityB),PBt(a)),b=E5().x(function(z){return z.x}).y(function(z){return z.y}).curve(HP),E=i.insert("path","#"+p).classed("er relationshipLine",!0).attr("d",b(m.points)).style("stroke",u1.stroke).style("fill","none");a.relSpec.relType===w.db.Identification.NON_IDENTIFYING&&E.attr("stroke-dasharray","8,8");let _="";switch(u1.arrowMarkerAbsolute&&(_=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,_=_.replace(/\(/g,"\\("),_=_.replace(/\)/g,"\\)")),a.relSpec.cardA){case w.db.Cardinality.ZERO_OR_ONE:E.attr("marker-end","url("+_+"#"+dm.ERMarkers.ZERO_OR_ONE_END+")");break;case w.db.Cardinality.ZERO_OR_MORE:E.attr("marker-end","url("+_+"#"+dm.ERMarkers.ZERO_OR_MORE_END+")");break;case w.db.Cardinality.ONE_OR_MORE:E.attr("marker-end","url("+_+"#"+dm.ERMarkers.ONE_OR_MORE_END+")");break;case w.db.Cardinality.ONLY_ONE:E.attr("marker-end","url("+_+"#"+dm.ERMarkers.ONLY_ONE_END+")");break;case w.db.Cardinality.MD_PARENT:E.attr("marker-end","url("+_+"#"+dm.ERMarkers.MD_PARENT_END+")");break}switch(a.relSpec.cardB){case w.db.Cardinality.ZERO_OR_ONE:E.attr("marker-start","url("+_+"#"+dm.ERMarkers.ZERO_OR_ONE_START+")");break;case w.db.Cardinality.ZERO_OR_MORE:E.attr("marker-start","url("+_+"#"+dm.ERMarkers.ZERO_OR_MORE_START+")");break;case w.db.Cardinality.ONE_OR_MORE:E.attr("marker-start","url("+_+"#"+dm.ERMarkers.ONE_OR_MORE_START+")");break;case w.db.Cardinality.ONLY_ONE:E.attr("marker-start","url("+_+"#"+dm.ERMarkers.ONLY_ONE_START+")");break;case w.db.Cardinality.MD_PARENT:E.attr("marker-start","url("+_+"#"+dm.ERMarkers.MD_PARENT_START+")");break}const A=E.node().getTotalLength(),I=E.node().getPointAtLength(A*.5),B="rel"+FBt,R=i.append("text").classed("er relationshipLabel",!0).attr("id",B).attr("x",I.x).attr("y",I.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",Oe().fontFamily).style("font-size",u1.fontSize+"px").text(a.roleA).node().getBBox();i.insert("rect","#"+B).classed("er relationshipLabelBox",!0).attr("x",I.x-R.width/2).attr("y",I.y-R.height/2).attr("width",R.width).attr("height",R.height)},Ize=function(i,a,f,p){u1=Oe().er,Ut.info("Drawing ER diagram");const w=Oe().securityLevel;let m;w==="sandbox"&&(m=yr("#i"+a));const E=yr(w==="sandbox"?m.nodes()[0].contentDocument.body:"body").select(`[id='${a}']`);dm.insertMarkers(E,u1);let _;_=new c1({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:u1.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});const A=Aze(E,p.db.getEntities(),_),I=Mze(p.db.getRelationships(),_);aL(_),Lze(E,_),I.forEach(function(W){Dze(E,W,_,A,p)});const B=u1.diagramPadding;$a.insertTitle(E,"entityTitleText",u1.titleTopMargin,p.db.getDiagramTitle());const N=E.node().getBBox(),R=N.width+B*2,z=N.height+B*2;k0(E,z,R,u1.useMaxWidth),E.attr("viewBox",`${N.x-B} ${N.y-B} ${R} ${z}`)},Oze="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function Pze(i="",a=""){const f=i.replace(Cze,"");return`${NBt(a)}${NBt(f)}${Tze(i,Oze)}`}function NBt(i=""){return i.length>0?`${i}-`:""}const Fze=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:lze,db:dze,renderer:{setConf:_ze,draw:Ize},styles:i=>` + .entityBox { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + } + + .attributeBoxOdd { + fill: ${i.attributeBackgroundColorOdd}; + stroke: ${i.nodeBorder}; + } + + .attributeBoxEven { + fill: ${i.attributeBackgroundColorEven}; + stroke: ${i.nodeBorder}; + } + + .relationshipLabelBox { + fill: ${i.tertiaryColor}; + opacity: 0.7; + background-color: ${i.tertiaryColor}; + rect { + opacity: 0.5; + } + } + + .relationshipLine { + stroke: ${i.lineColor}; + } + + .entityTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } + #MD_PARENT_START { + fill: #f5f5f5 !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; + } + #MD_PARENT_END { + fill: #f5f5f5 !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; + } + +`}},Symbol.toStringTag,{value:"Module"}));var z0t=function(){var i=function(yt,ft,ut,vt){for(ut=ut||{},vt=yt.length;vt--;ut[yt[vt]]=ft);return ut},a=[1,3],f=[1,6],p=[1,4],w=[1,5],m=[2,5],b=[1,12],E=[5,7,13,19,21,23,24,26,28,31,36,39,46],_=[7,13,19,21,23,24,26,28,31,36,39],A=[7,12,13,19,21,23,24,26,28,31,36,39],I=[7,13,46],B=[1,42],N=[1,41],R=[7,13,29,32,34,37,46],z=[1,55],W=[1,56],et=[1,57],st=[7,13,32,34,41,46],at={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,GG:5,document:6,EOF:7,":":8,DIR:9,options:10,body:11,OPT:12,NL:13,line:14,statement:15,commitStatement:16,mergeStatement:17,cherryPickStatement:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,section:24,branchStatement:25,CHECKOUT:26,ref:27,BRANCH:28,ORDER:29,NUM:30,CHERRY_PICK:31,COMMIT_ID:32,STR:33,COMMIT_TAG:34,EMPTYSTR:35,MERGE:36,COMMIT_TYPE:37,commitType:38,COMMIT:39,commit_arg:40,COMMIT_MSG:41,NORMAL:42,REVERSE:43,HIGHLIGHT:44,ID:45,";":46,$accept:0,$end:1},terminals_:{2:"error",5:"GG",7:"EOF",8:":",9:"DIR",12:"OPT",13:"NL",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"section",26:"CHECKOUT",28:"BRANCH",29:"ORDER",30:"NUM",31:"CHERRY_PICK",32:"COMMIT_ID",33:"STR",34:"COMMIT_TAG",35:"EMPTYSTR",36:"MERGE",37:"COMMIT_TYPE",39:"COMMIT",41:"COMMIT_MSG",42:"NORMAL",43:"REVERSE",44:"HIGHLIGHT",45:"ID",46:";"},productions_:[0,[3,2],[3,3],[3,4],[3,5],[6,0],[6,2],[10,2],[10,1],[11,0],[11,2],[14,2],[14,1],[15,1],[15,1],[15,1],[15,2],[15,2],[15,1],[15,1],[15,1],[15,2],[25,2],[25,4],[18,3],[18,5],[18,5],[18,5],[18,5],[17,2],[17,4],[17,4],[17,4],[17,6],[17,6],[17,6],[17,6],[17,6],[17,6],[17,8],[17,8],[17,8],[17,8],[17,8],[17,8],[16,2],[16,3],[16,3],[16,5],[16,5],[16,3],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,3],[16,5],[16,5],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[40,0],[40,1],[38,1],[38,1],[38,1],[27,1],[27,1],[4,1],[4,1],[4,1]],performAction:function(ft,ut,vt,X,pt,U,Tt){var nt=U.length-1;switch(pt){case 2:return U[nt];case 3:return U[nt-1];case 4:return X.setDirection(U[nt-3]),U[nt-1];case 6:X.setOptions(U[nt-1]),this.$=U[nt];break;case 7:U[nt-1]+=U[nt],this.$=U[nt-1];break;case 9:this.$=[];break;case 10:U[nt-1].push(U[nt]),this.$=U[nt-1];break;case 11:this.$=U[nt-1];break;case 16:this.$=U[nt].trim(),X.setAccTitle(this.$);break;case 17:case 18:this.$=U[nt].trim(),X.setAccDescription(this.$);break;case 19:X.addSection(U[nt].substr(8)),this.$=U[nt].substr(8);break;case 21:X.checkout(U[nt]);break;case 22:X.branch(U[nt]);break;case 23:X.branch(U[nt-2],U[nt]);break;case 24:X.cherryPick(U[nt],"",void 0);break;case 25:X.cherryPick(U[nt-2],"",U[nt]);break;case 26:case 28:X.cherryPick(U[nt-2],"","");break;case 27:X.cherryPick(U[nt],"",U[nt-2]);break;case 29:X.merge(U[nt],"","","");break;case 30:X.merge(U[nt-2],U[nt],"","");break;case 31:X.merge(U[nt-2],"",U[nt],"");break;case 32:X.merge(U[nt-2],"","",U[nt]);break;case 33:X.merge(U[nt-4],U[nt],"",U[nt-2]);break;case 34:X.merge(U[nt-4],"",U[nt],U[nt-2]);break;case 35:X.merge(U[nt-4],"",U[nt-2],U[nt]);break;case 36:X.merge(U[nt-4],U[nt-2],U[nt],"");break;case 37:X.merge(U[nt-4],U[nt-2],"",U[nt]);break;case 38:X.merge(U[nt-4],U[nt],U[nt-2],"");break;case 39:X.merge(U[nt-6],U[nt-4],U[nt-2],U[nt]);break;case 40:X.merge(U[nt-6],U[nt],U[nt-4],U[nt-2]);break;case 41:X.merge(U[nt-6],U[nt-4],U[nt],U[nt-2]);break;case 42:X.merge(U[nt-6],U[nt-2],U[nt-4],U[nt]);break;case 43:X.merge(U[nt-6],U[nt],U[nt-2],U[nt-4]);break;case 44:X.merge(U[nt-6],U[nt-2],U[nt],U[nt-4]);break;case 45:X.commit(U[nt]);break;case 46:X.commit("","",X.commitType.NORMAL,U[nt]);break;case 47:X.commit("","",U[nt],"");break;case 48:X.commit("","",U[nt],U[nt-2]);break;case 49:X.commit("","",U[nt-2],U[nt]);break;case 50:X.commit("",U[nt],X.commitType.NORMAL,"");break;case 51:X.commit("",U[nt-2],X.commitType.NORMAL,U[nt]);break;case 52:X.commit("",U[nt],X.commitType.NORMAL,U[nt-2]);break;case 53:X.commit("",U[nt-2],U[nt],"");break;case 54:X.commit("",U[nt],U[nt-2],"");break;case 55:X.commit("",U[nt-4],U[nt-2],U[nt]);break;case 56:X.commit("",U[nt-4],U[nt],U[nt-2]);break;case 57:X.commit("",U[nt-2],U[nt-4],U[nt]);break;case 58:X.commit("",U[nt],U[nt-4],U[nt-2]);break;case 59:X.commit("",U[nt],U[nt-2],U[nt-4]);break;case 60:X.commit("",U[nt-2],U[nt],U[nt-4]);break;case 61:X.commit(U[nt],"",X.commitType.NORMAL,"");break;case 62:X.commit(U[nt],"",X.commitType.NORMAL,U[nt-2]);break;case 63:X.commit(U[nt-2],"",X.commitType.NORMAL,U[nt]);break;case 64:X.commit(U[nt-2],"",U[nt],"");break;case 65:X.commit(U[nt],"",U[nt-2],"");break;case 66:X.commit(U[nt],U[nt-2],X.commitType.NORMAL,"");break;case 67:X.commit(U[nt-2],U[nt],X.commitType.NORMAL,"");break;case 68:X.commit(U[nt-4],"",U[nt-2],U[nt]);break;case 69:X.commit(U[nt-4],"",U[nt],U[nt-2]);break;case 70:X.commit(U[nt-2],"",U[nt-4],U[nt]);break;case 71:X.commit(U[nt],"",U[nt-4],U[nt-2]);break;case 72:X.commit(U[nt],"",U[nt-2],U[nt-4]);break;case 73:X.commit(U[nt-2],"",U[nt],U[nt-4]);break;case 74:X.commit(U[nt-4],U[nt],U[nt-2],"");break;case 75:X.commit(U[nt-4],U[nt-2],U[nt],"");break;case 76:X.commit(U[nt-2],U[nt],U[nt-4],"");break;case 77:X.commit(U[nt],U[nt-2],U[nt-4],"");break;case 78:X.commit(U[nt],U[nt-4],U[nt-2],"");break;case 79:X.commit(U[nt-2],U[nt-4],U[nt],"");break;case 80:X.commit(U[nt-4],U[nt],X.commitType.NORMAL,U[nt-2]);break;case 81:X.commit(U[nt-4],U[nt-2],X.commitType.NORMAL,U[nt]);break;case 82:X.commit(U[nt-2],U[nt],X.commitType.NORMAL,U[nt-4]);break;case 83:X.commit(U[nt],U[nt-2],X.commitType.NORMAL,U[nt-4]);break;case 84:X.commit(U[nt],U[nt-4],X.commitType.NORMAL,U[nt-2]);break;case 85:X.commit(U[nt-2],U[nt-4],X.commitType.NORMAL,U[nt]);break;case 86:X.commit(U[nt-6],U[nt-4],U[nt-2],U[nt]);break;case 87:X.commit(U[nt-6],U[nt-4],U[nt],U[nt-2]);break;case 88:X.commit(U[nt-6],U[nt-2],U[nt-4],U[nt]);break;case 89:X.commit(U[nt-6],U[nt],U[nt-4],U[nt-2]);break;case 90:X.commit(U[nt-6],U[nt-2],U[nt],U[nt-4]);break;case 91:X.commit(U[nt-6],U[nt],U[nt-2],U[nt-4]);break;case 92:X.commit(U[nt-4],U[nt-6],U[nt-2],U[nt]);break;case 93:X.commit(U[nt-4],U[nt-6],U[nt],U[nt-2]);break;case 94:X.commit(U[nt-2],U[nt-6],U[nt-4],U[nt]);break;case 95:X.commit(U[nt],U[nt-6],U[nt-4],U[nt-2]);break;case 96:X.commit(U[nt-2],U[nt-6],U[nt],U[nt-4]);break;case 97:X.commit(U[nt],U[nt-6],U[nt-2],U[nt-4]);break;case 98:X.commit(U[nt],U[nt-4],U[nt-2],U[nt-6]);break;case 99:X.commit(U[nt-2],U[nt-4],U[nt],U[nt-6]);break;case 100:X.commit(U[nt],U[nt-2],U[nt-4],U[nt-6]);break;case 101:X.commit(U[nt-2],U[nt],U[nt-4],U[nt-6]);break;case 102:X.commit(U[nt-4],U[nt-2],U[nt],U[nt-6]);break;case 103:X.commit(U[nt-4],U[nt],U[nt-2],U[nt-6]);break;case 104:X.commit(U[nt-2],U[nt-4],U[nt-6],U[nt]);break;case 105:X.commit(U[nt],U[nt-4],U[nt-6],U[nt-2]);break;case 106:X.commit(U[nt-2],U[nt],U[nt-6],U[nt-4]);break;case 107:X.commit(U[nt],U[nt-2],U[nt-6],U[nt-4]);break;case 108:X.commit(U[nt-4],U[nt-2],U[nt-6],U[nt]);break;case 109:X.commit(U[nt-4],U[nt],U[nt-6],U[nt-2]);break;case 110:this.$="";break;case 111:this.$=U[nt];break;case 112:this.$=X.commitType.NORMAL;break;case 113:this.$=X.commitType.REVERSE;break;case 114:this.$=X.commitType.HIGHLIGHT;break}},table:[{3:1,4:2,5:a,7:f,13:p,46:w},{1:[3]},{3:7,4:2,5:a,7:f,13:p,46:w},{6:8,7:m,8:[1,9],9:[1,10],10:11,13:b},i(E,[2,117]),i(E,[2,118]),i(E,[2,119]),{1:[2,1]},{7:[1,13]},{6:14,7:m,10:11,13:b},{8:[1,15]},i(_,[2,9],{11:16,12:[1,17]}),i(A,[2,8]),{1:[2,2]},{7:[1,18]},{6:19,7:m,10:11,13:b},{7:[2,6],13:[1,22],14:20,15:21,16:23,17:24,18:25,19:[1,26],21:[1,27],23:[1,28],24:[1,29],25:30,26:[1,31],28:[1,35],31:[1,34],36:[1,33],39:[1,32]},i(A,[2,7]),{1:[2,3]},{7:[1,36]},i(_,[2,10]),{4:37,7:f,13:p,46:w},i(_,[2,12]),i(I,[2,13]),i(I,[2,14]),i(I,[2,15]),{20:[1,38]},{22:[1,39]},i(I,[2,18]),i(I,[2,19]),i(I,[2,20]),{27:40,33:B,45:N},i(I,[2,110],{40:43,32:[1,46],33:[1,48],34:[1,44],37:[1,45],41:[1,47]}),{27:49,33:B,45:N},{32:[1,50],34:[1,51]},{27:52,33:B,45:N},{1:[2,4]},i(_,[2,11]),i(I,[2,16]),i(I,[2,17]),i(I,[2,21]),i(R,[2,115]),i(R,[2,116]),i(I,[2,45]),{33:[1,53]},{38:54,42:z,43:W,44:et},{33:[1,58]},{33:[1,59]},i(I,[2,111]),i(I,[2,29],{32:[1,60],34:[1,62],37:[1,61]}),{33:[1,63]},{33:[1,64],35:[1,65]},i(I,[2,22],{29:[1,66]}),i(I,[2,46],{32:[1,68],37:[1,67],41:[1,69]}),i(I,[2,47],{32:[1,71],34:[1,70],41:[1,72]}),i(st,[2,112]),i(st,[2,113]),i(st,[2,114]),i(I,[2,50],{34:[1,73],37:[1,74],41:[1,75]}),i(I,[2,61],{32:[1,78],34:[1,76],37:[1,77]}),{33:[1,79]},{38:80,42:z,43:W,44:et},{33:[1,81]},i(I,[2,24],{34:[1,82]}),{32:[1,83]},{32:[1,84]},{30:[1,85]},{38:86,42:z,43:W,44:et},{33:[1,87]},{33:[1,88]},{33:[1,89]},{33:[1,90]},{33:[1,91]},{33:[1,92]},{38:93,42:z,43:W,44:et},{33:[1,94]},{33:[1,95]},{38:96,42:z,43:W,44:et},{33:[1,97]},i(I,[2,30],{34:[1,99],37:[1,98]}),i(I,[2,31],{32:[1,101],34:[1,100]}),i(I,[2,32],{32:[1,102],37:[1,103]}),{33:[1,104],35:[1,105]},{33:[1,106]},{33:[1,107]},i(I,[2,23]),i(I,[2,48],{32:[1,108],41:[1,109]}),i(I,[2,52],{37:[1,110],41:[1,111]}),i(I,[2,62],{32:[1,113],37:[1,112]}),i(I,[2,49],{32:[1,114],41:[1,115]}),i(I,[2,54],{34:[1,116],41:[1,117]}),i(I,[2,65],{32:[1,119],34:[1,118]}),i(I,[2,51],{37:[1,120],41:[1,121]}),i(I,[2,53],{34:[1,122],41:[1,123]}),i(I,[2,66],{34:[1,125],37:[1,124]}),i(I,[2,63],{32:[1,127],37:[1,126]}),i(I,[2,64],{32:[1,129],34:[1,128]}),i(I,[2,67],{34:[1,131],37:[1,130]}),{38:132,42:z,43:W,44:et},{33:[1,133]},{33:[1,134]},{33:[1,135]},{33:[1,136]},{38:137,42:z,43:W,44:et},i(I,[2,25]),i(I,[2,26]),i(I,[2,27]),i(I,[2,28]),{33:[1,138]},{33:[1,139]},{38:140,42:z,43:W,44:et},{33:[1,141]},{38:142,42:z,43:W,44:et},{33:[1,143]},{33:[1,144]},{33:[1,145]},{33:[1,146]},{33:[1,147]},{33:[1,148]},{33:[1,149]},{38:150,42:z,43:W,44:et},{33:[1,151]},{33:[1,152]},{33:[1,153]},{38:154,42:z,43:W,44:et},{33:[1,155]},{38:156,42:z,43:W,44:et},{33:[1,157]},{33:[1,158]},{33:[1,159]},{38:160,42:z,43:W,44:et},{33:[1,161]},i(I,[2,36],{34:[1,162]}),i(I,[2,37],{37:[1,163]}),i(I,[2,35],{32:[1,164]}),i(I,[2,38],{34:[1,165]}),i(I,[2,33],{37:[1,166]}),i(I,[2,34],{32:[1,167]}),i(I,[2,59],{41:[1,168]}),i(I,[2,72],{32:[1,169]}),i(I,[2,60],{41:[1,170]}),i(I,[2,83],{37:[1,171]}),i(I,[2,73],{32:[1,172]}),i(I,[2,82],{37:[1,173]}),i(I,[2,58],{41:[1,174]}),i(I,[2,71],{32:[1,175]}),i(I,[2,57],{41:[1,176]}),i(I,[2,77],{34:[1,177]}),i(I,[2,70],{32:[1,178]}),i(I,[2,76],{34:[1,179]}),i(I,[2,56],{41:[1,180]}),i(I,[2,84],{37:[1,181]}),i(I,[2,55],{41:[1,182]}),i(I,[2,78],{34:[1,183]}),i(I,[2,79],{34:[1,184]}),i(I,[2,85],{37:[1,185]}),i(I,[2,69],{32:[1,186]}),i(I,[2,80],{37:[1,187]}),i(I,[2,68],{32:[1,188]}),i(I,[2,74],{34:[1,189]}),i(I,[2,75],{34:[1,190]}),i(I,[2,81],{37:[1,191]}),{33:[1,192]},{38:193,42:z,43:W,44:et},{33:[1,194]},{33:[1,195]},{38:196,42:z,43:W,44:et},{33:[1,197]},{33:[1,198]},{33:[1,199]},{33:[1,200]},{38:201,42:z,43:W,44:et},{33:[1,202]},{38:203,42:z,43:W,44:et},{33:[1,204]},{33:[1,205]},{33:[1,206]},{33:[1,207]},{33:[1,208]},{33:[1,209]},{33:[1,210]},{38:211,42:z,43:W,44:et},{33:[1,212]},{33:[1,213]},{33:[1,214]},{38:215,42:z,43:W,44:et},{33:[1,216]},{38:217,42:z,43:W,44:et},{33:[1,218]},{33:[1,219]},{33:[1,220]},{38:221,42:z,43:W,44:et},i(I,[2,39]),i(I,[2,41]),i(I,[2,40]),i(I,[2,42]),i(I,[2,44]),i(I,[2,43]),i(I,[2,100]),i(I,[2,101]),i(I,[2,98]),i(I,[2,99]),i(I,[2,103]),i(I,[2,102]),i(I,[2,107]),i(I,[2,106]),i(I,[2,105]),i(I,[2,104]),i(I,[2,109]),i(I,[2,108]),i(I,[2,97]),i(I,[2,96]),i(I,[2,95]),i(I,[2,94]),i(I,[2,92]),i(I,[2,93]),i(I,[2,91]),i(I,[2,90]),i(I,[2,89]),i(I,[2,88]),i(I,[2,86]),i(I,[2,87])],defaultActions:{7:[2,1],13:[2,2],18:[2,3],36:[2,4]},parseError:function(ft,ut){if(ut.recoverable)this.trace(ft);else{var vt=new Error(ft);throw vt.hash=ut,vt}},parse:function(ft){var ut=this,vt=[0],X=[],pt=[null],U=[],Tt=this.table,nt="",It=0,Ot=0,Bt=2,Et=1,Z=U.slice.call(arguments,1),Ct=Object.create(this.lexer),xt={yy:{}};for(var Ht in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ht)&&(xt.yy[Ht]=this.yy[Ht]);Ct.setInput(ft,xt.yy),xt.yy.lexer=Ct,xt.yy.parser=this,typeof Ct.yylloc>"u"&&(Ct.yylloc={});var Le=Ct.yylloc;U.push(Le);var Ft=Ct.options&&Ct.options.ranges;typeof xt.yy.parseError=="function"?this.parseError=xt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function gn(){var te;return te=X.pop()||Ct.lex()||Et,typeof te!="number"&&(te instanceof Array&&(X=te,te=X.pop()),te=ut.symbols_[te]||te),te}for(var Se,me,Ve,Ye,ce={},ke,zt,re,se;;){if(me=vt[vt.length-1],this.defaultActions[me]?Ve=this.defaultActions[me]:((Se===null||typeof Se>"u")&&(Se=gn()),Ve=Tt[me]&&Tt[me][Se]),typeof Ve>"u"||!Ve.length||!Ve[0]){var Pe="";se=[];for(ke in Tt[me])this.terminals_[ke]&&ke>Bt&&se.push("'"+this.terminals_[ke]+"'");Ct.showPosition?Pe="Parse error on line "+(It+1)+`: +`+Ct.showPosition()+` +Expecting `+se.join(", ")+", got '"+(this.terminals_[Se]||Se)+"'":Pe="Parse error on line "+(It+1)+": Unexpected "+(Se==Et?"end of input":"'"+(this.terminals_[Se]||Se)+"'"),this.parseError(Pe,{text:Ct.match,token:this.terminals_[Se]||Se,line:Ct.yylineno,loc:Le,expected:se})}if(Ve[0]instanceof Array&&Ve.length>1)throw new Error("Parse Error: multiple actions possible at state: "+me+", token: "+Se);switch(Ve[0]){case 1:vt.push(Se),pt.push(Ct.yytext),U.push(Ct.yylloc),vt.push(Ve[1]),Se=null,Ot=Ct.yyleng,nt=Ct.yytext,It=Ct.yylineno,Le=Ct.yylloc;break;case 2:if(zt=this.productions_[Ve[1]][1],ce.$=pt[pt.length-zt],ce._$={first_line:U[U.length-(zt||1)].first_line,last_line:U[U.length-1].last_line,first_column:U[U.length-(zt||1)].first_column,last_column:U[U.length-1].last_column},Ft&&(ce._$.range=[U[U.length-(zt||1)].range[0],U[U.length-1].range[1]]),Ye=this.performAction.apply(ce,[nt,Ot,It,xt.yy,Ve[1],pt,U].concat(Z)),typeof Ye<"u")return Ye;zt&&(vt=vt.slice(0,-1*zt*2),pt=pt.slice(0,-1*zt),U=U.slice(0,-1*zt)),vt.push(this.productions_[Ve[1]][0]),pt.push(ce.$),U.push(ce._$),re=Tt[vt[vt.length-2]][vt[vt.length-1]],vt.push(re);break;case 3:return!0}}return!0}},bt=function(){var yt={EOF:1,parseError:function(ut,vt){if(this.yy.parser)this.yy.parser.parseError(ut,vt);else throw new Error(ut)},setInput:function(ft,ut){return this.yy=ut||this.yy||{},this._input=ft,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var ft=this._input[0];this.yytext+=ft,this.yyleng++,this.offset++,this.match+=ft,this.matched+=ft;var ut=ft.match(/(?:\r\n?|\n).*/g);return ut?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ft},unput:function(ft){var ut=ft.length,vt=ft.split(/(?:\r\n?|\n)/g);this._input=ft+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ut),this.offset-=ut;var X=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),vt.length-1&&(this.yylineno-=vt.length-1);var pt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:vt?(vt.length===X.length?this.yylloc.first_column:0)+X[X.length-vt.length].length-vt[0].length:this.yylloc.first_column-ut},this.options.ranges&&(this.yylloc.range=[pt[0],pt[0]+this.yyleng-ut]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ft){this.unput(this.match.slice(ft))},pastInput:function(){var ft=this.matched.substr(0,this.matched.length-this.match.length);return(ft.length>20?"...":"")+ft.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ft=this.match;return ft.length<20&&(ft+=this._input.substr(0,20-ft.length)),(ft.substr(0,20)+(ft.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ft=this.pastInput(),ut=new Array(ft.length+1).join("-");return ft+this.upcomingInput()+` +`+ut+"^"},test_match:function(ft,ut){var vt,X,pt;if(this.options.backtrack_lexer&&(pt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(pt.yylloc.range=this.yylloc.range.slice(0))),X=ft[0].match(/(?:\r\n?|\n).*/g),X&&(this.yylineno+=X.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:X?X[X.length-1].length-X[X.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ft[0].length},this.yytext+=ft[0],this.match+=ft[0],this.matches=ft,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(ft[0].length),this.matched+=ft[0],vt=this.performAction.call(this,this.yy,this,ut,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),vt)return vt;if(this._backtrack){for(var U in pt)this[U]=pt[U];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ft,ut,vt,X;this._more||(this.yytext="",this.match="");for(var pt=this._currentRules(),U=0;Uut[0].length)){if(ut=vt,X=U,this.options.backtrack_lexer){if(ft=this.test_match(vt,pt[U]),ft!==!1)return ft;if(this._backtrack){ut=!1;continue}else return!1}else if(!this.options.flex)break}return ut?(ft=this.test_match(ut,pt[X]),ft!==!1?ft:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ut=this.next();return ut||this.lex()},begin:function(ut){this.conditionStack.push(ut)},popState:function(){var ut=this.conditionStack.length-1;return ut>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ut){return ut=this.conditionStack.length-1-Math.abs(ut||0),ut>=0?this.conditionStack[ut]:"INITIAL"},pushState:function(ut){this.begin(ut)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ut,vt,X,pt){switch(X){case 0:return this.begin("acc_title"),19;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),21;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 13;case 8:break;case 9:break;case 10:return 5;case 11:return 39;case 12:return 32;case 13:return 37;case 14:return 41;case 15:return 42;case 16:return 43;case 17:return 44;case 18:return 34;case 19:return 28;case 20:return 29;case 21:return 36;case 22:return 31;case 23:return 26;case 24:return 9;case 25:return 9;case 26:return 8;case 27:return"CARET";case 28:this.begin("options");break;case 29:this.popState();break;case 30:return 12;case 31:return 35;case 32:this.begin("string");break;case 33:this.popState();break;case 34:return 33;case 35:return 30;case 36:return 45;case 37:return 7}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit(?=\s|$))/i,/^(?:id:)/i,/^(?:type:)/i,/^(?:msg:)/i,/^(?:NORMAL\b)/i,/^(?:REVERSE\b)/i,/^(?:HIGHLIGHT\b)/i,/^(?:tag:)/i,/^(?:branch(?=\s|$))/i,/^(?:order:)/i,/^(?:merge(?=\s|$))/i,/^(?:cherry-pick(?=\s|$))/i,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:TB\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:[ \r\n\t]+end\b)/i,/^(?:[\s\S]+(?=[ \r\n\t]+end))/i,/^(?:["]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[0-9]+(?=\s|$))/i,/^(?:\w([-\./\w]*[-\w])?)/i,/^(?:$)/i,/^(?:\s+)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},options:{rules:[29,30],inclusive:!1},string:{rules:[33,34],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,31,32,35,36,37,38],inclusive:!0}}};return yt}();at.lexer=bt;function mt(){this.yy={}}return mt.prototype=at,at.Parser=mt,new mt}();z0t.parser=z0t;const Nze=z0t;let MY=Oe().gitGraph.mainBranchName,Bze=Oe().gitGraph.mainBranchOrder,l1={},vg=null,AF={};AF[MY]={name:MY,order:Bze};let Nf={};Nf[MY]=vg;let J1=MY,BBt="LR",ET=0;function q0t(){return GIt({length:7})}function Rze(i,a){const f=Object.create(null);return i.reduce((p,w)=>{const m=a(w);return f[m]||(f[m]=!0,p.push(w)),p},[])}const jze=function(i){BBt=i};let RBt={};const $ze=function(i){Ut.debug("options str",i),i=i&&i.trim(),i=i||"{}";try{RBt=JSON.parse(i)}catch(a){Ut.error("error while parsing gitGraph options",a.message)}},zze=function(){return RBt},qze=function(i,a,f,p){Ut.debug("Entering commit:",i,a,f,p),a=Kr.sanitizeText(a,Oe()),i=Kr.sanitizeText(i,Oe()),p=Kr.sanitizeText(p,Oe());const w={id:a||ET+"-"+q0t(),message:i,seq:ET++,type:f||LF.NORMAL,tag:p||"",parents:vg==null?[]:[vg.id],branch:J1};vg=w,l1[w.id]=w,Nf[J1]=w.id,Ut.debug("in pushCommit "+w.id)},Hze=function(i,a){if(i=Kr.sanitizeText(i,Oe()),Nf[i]===void 0)Nf[i]=vg!=null?vg.id:null,AF[i]={name:i,order:a?parseInt(a,10):null},jBt(i),Ut.debug("in createBranch");else{let f=new Error('Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout '+i+'")');throw f.hash={text:"branch "+i,token:"branch "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+i+'"']},f}},Vze=function(i,a,f,p){i=Kr.sanitizeText(i,Oe()),a=Kr.sanitizeText(a,Oe());const w=l1[Nf[J1]],m=l1[Nf[i]];if(J1===i){let E=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},E}else if(w===void 0||!w){let E=new Error('Incorrect usage of "merge". Current branch ('+J1+")has no commits");throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["commit"]},E}else if(Nf[i]===void 0){let E=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") does not exist");throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch "+i]},E}else if(m===void 0||!m){let E=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") has no commits");throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"commit"']},E}else if(w===m){let E=new Error('Incorrect usage of "merge". Both branches have same head');throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},E}else if(a&&l1[a]!==void 0){let E=new Error('Incorrect usage of "merge". Commit with id:'+a+" already exists, use different custom Id");throw E.hash={text:"merge "+i+a+f+p,token:"merge "+i+a+f+p,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+i+" "+a+"_UNIQUE "+f+" "+p]},E}const b={id:a||ET+"-"+q0t(),message:"merged branch "+i+" into "+J1,seq:ET++,parents:[vg==null?null:vg.id,Nf[i]],branch:J1,type:LF.MERGE,customType:f,customId:!!a,tag:p||""};vg=b,l1[b.id]=b,Nf[J1]=b.id,Ut.debug(Nf),Ut.debug("in mergeBranch")},Gze=function(i,a,f){if(Ut.debug("Entering cherryPick:",i,a,f),i=Kr.sanitizeText(i,Oe()),a=Kr.sanitizeText(a,Oe()),f=Kr.sanitizeText(f,Oe()),!i||l1[i]===void 0){let m=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw m.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},m}let p=l1[i],w=p.branch;if(p.type===LF.MERGE){let m=new Error('Incorrect usage of "cherryPick". Source commit should not be a merge commit');throw m.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},m}if(!a||l1[a]===void 0){if(w===J1){let E=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw E.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},E}const m=l1[Nf[J1]];if(m===void 0||!m){let E=new Error('Incorrect usage of "cherry-pick". Current branch ('+J1+")has no commits");throw E.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},E}const b={id:ET+"-"+q0t(),message:"cherry-picked "+p+" into "+J1,seq:ET++,parents:[vg==null?null:vg.id,p.id],branch:J1,type:LF.CHERRY_PICK,tag:f??"cherry-pick:"+p.id};vg=b,l1[b.id]=b,Nf[J1]=b.id,Ut.debug(Nf),Ut.debug("in cherryPick")}},jBt=function(i){if(i=Kr.sanitizeText(i,Oe()),Nf[i]===void 0){let a=new Error('Trying to checkout branch which is not yet created. (Help try using "branch '+i+'")');throw a.hash={text:"checkout "+i,token:"checkout "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"branch '+i+'"']},a}else{J1=i;const a=Nf[J1];vg=l1[a]}};function $Bt(i,a,f){const p=i.indexOf(a);p===-1?i.push(f):i.splice(p,1,f)}function zBt(i){const a=i.reduce((w,m)=>w.seq>m.seq?w:m,i[0]);let f="";i.forEach(function(w){w===a?f+=" *":f+=" |"});const p=[f,a.id,a.seq];for(let w in Nf)Nf[w]===a.id&&p.push(w);if(Ut.debug(p.join(" ")),a.parents&&a.parents.length==2){const w=l1[a.parents[0]];$Bt(i,a,w),i.push(l1[a.parents[1]])}else{if(a.parents.length==0)return;{const w=l1[a.parents];$Bt(i,a,w)}}i=Rze(i,w=>w.id),zBt(i)}const Uze=function(){Ut.debug(l1);const i=qBt()[0];zBt([i])},Wze=function(){l1={},vg=null;let i=Oe().gitGraph.mainBranchName,a=Oe().gitGraph.mainBranchOrder;Nf={},Nf[i]=null,AF={},AF[i]={name:i,order:a},J1=i,ET=0,hg()},Yze=function(){return Object.values(AF).map((a,f)=>a.order!==null?a:{...a,order:parseFloat(`0.${f}`,10)}).sort((a,f)=>a.order-f.order).map(({name:a})=>({name:a}))},Kze=function(){return Nf},Xze=function(){return l1},qBt=function(){const i=Object.keys(l1).map(function(a){return l1[a]});return i.forEach(function(a){Ut.debug(a.id)}),i.sort((a,f)=>a.seq-f.seq),i},Qze=function(){return J1},Zze=function(){return BBt},Jze=function(){return vg},LF={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},tqe={getConfig:()=>Oe().gitGraph,setDirection:jze,setOptions:$ze,getOptions:zze,commit:qze,branch:Hze,merge:Vze,cherryPick:Gze,checkout:jBt,prettyPrint:Uze,clear:Wze,getBranchesAsObjArray:Yze,getBranches:Kze,getCommits:Xze,getCommitsArray:qBt,getCurrentBranch:Qze,getDirection:Zze,getHead:Jze,setAccTitle:E0,getAccTitle:fg,getAccDescription:gg,setAccDescription:dg,setDiagramTitle:Nb,getDiagramTitle:pg,commitType:LF};let MF={};const $b={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},TT=8;let td={},DF={},DY=[],IF=0,C0="LR";const eqe=()=>{td={},DF={},MF={},IF=0,DY=[],C0="LR"},HBt=i=>{const a=document.createElementNS("http://www.w3.org/2000/svg","text");let f=[];typeof i=="string"?f=i.split(/\\n|\n|/gi):Array.isArray(i)?f=i:f=[];for(const p of f){const w=document.createElementNS("http://www.w3.org/2000/svg","tspan");w.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),w.setAttribute("dy","1em"),w.setAttribute("x","0"),w.setAttribute("class","row"),w.textContent=p.trim(),a.appendChild(w)}return a},VBt=(i,a,f)=>{const p=Oe().gitGraph,w=i.append("g").attr("class","commit-bullets"),m=i.append("g").attr("class","commit-labels");let b=0;C0==="TB"&&(b=30),Object.keys(a).sort((A,I)=>a[A].seq-a[I].seq).forEach(A=>{const I=a[A],B=C0==="TB"?b+10:td[I.branch].pos,N=C0==="TB"?td[I.branch].pos:b+10;if(f){let R,z=I.customType!==void 0&&I.customType!==""?I.customType:I.type;switch(z){case $b.NORMAL:R="commit-normal";break;case $b.REVERSE:R="commit-reverse";break;case $b.HIGHLIGHT:R="commit-highlight";break;case $b.MERGE:R="commit-merge";break;case $b.CHERRY_PICK:R="commit-cherry-pick";break;default:R="commit-normal"}if(z===$b.HIGHLIGHT){const W=w.append("rect");W.attr("x",N-10),W.attr("y",B-10),W.attr("height",20),W.attr("width",20),W.attr("class",`commit ${I.id} commit-highlight${td[I.branch].index%TT} ${R}-outer`),w.append("rect").attr("x",N-6).attr("y",B-6).attr("height",12).attr("width",12).attr("class",`commit ${I.id} commit${td[I.branch].index%TT} ${R}-inner`)}else if(z===$b.CHERRY_PICK)w.append("circle").attr("cx",N).attr("cy",B).attr("r",10).attr("class",`commit ${I.id} ${R}`),w.append("circle").attr("cx",N-3).attr("cy",B+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${I.id} ${R}`),w.append("circle").attr("cx",N+3).attr("cy",B+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${I.id} ${R}`),w.append("line").attr("x1",N+3).attr("y1",B+1).attr("x2",N).attr("y2",B-5).attr("stroke","#fff").attr("class",`commit ${I.id} ${R}`),w.append("line").attr("x1",N-3).attr("y1",B+1).attr("x2",N).attr("y2",B-5).attr("stroke","#fff").attr("class",`commit ${I.id} ${R}`);else{const W=w.append("circle");if(W.attr("cx",N),W.attr("cy",B),W.attr("r",I.type===$b.MERGE?9:10),W.attr("class",`commit ${I.id} commit${td[I.branch].index%TT}`),z===$b.MERGE){const et=w.append("circle");et.attr("cx",N),et.attr("cy",B),et.attr("r",6),et.attr("class",`commit ${R} ${I.id} commit${td[I.branch].index%TT}`)}z===$b.REVERSE&&w.append("path").attr("d",`M ${N-5},${B-5}L${N+5},${B+5}M${N-5},${B+5}L${N+5},${B-5}`).attr("class",`commit ${R} ${I.id} commit${td[I.branch].index%TT}`)}}if(C0==="TB"?DF[I.id]={x:N,y:b+10}:DF[I.id]={x:b+10,y:B},f){if(I.type!==$b.CHERRY_PICK&&(I.customId&&I.type===$b.MERGE||I.type!==$b.MERGE)&&p.showCommitLabel){const W=m.append("g"),et=W.insert("rect").attr("class","commit-label-bkg"),st=W.append("text").attr("x",b).attr("y",B+25).attr("class","commit-label").text(I.id);let at=st.node().getBBox();if(et.attr("x",b+10-at.width/2-2).attr("y",B+13.5).attr("width",at.width+2*2).attr("height",at.height+2*2),C0==="TB"&&(et.attr("x",N-(at.width+4*4+5)).attr("y",B-12),st.attr("x",N-(at.width+4*4)).attr("y",B+at.height-12)),C0!=="TB"&&st.attr("x",b+10-at.width/2),p.rotateCommitLabel)if(C0==="TB")st.attr("transform","rotate(-45, "+N+", "+B+")"),et.attr("transform","rotate(-45, "+N+", "+B+")");else{let bt=-7.5-(at.width+10)/25*9.5,mt=10+at.width/25*8.5;W.attr("transform","translate("+bt+", "+mt+") rotate(-45, "+b+", "+B+")")}}if(I.tag){const W=m.insert("polygon"),et=m.append("circle"),st=m.append("text").attr("y",B-16).attr("class","tag-label").text(I.tag);let at=st.node().getBBox();st.attr("x",b+10-at.width/2);const bt=at.height/2,mt=B-19.2;W.attr("class","tag-label-bkg").attr("points",` + ${b-at.width/2-4/2},${mt+2} + ${b-at.width/2-4/2},${mt-2} + ${b+10-at.width/2-4},${mt-bt-2} + ${b+10+at.width/2+4},${mt-bt-2} + ${b+10+at.width/2+4},${mt+bt+2} + ${b+10-at.width/2-4},${mt+bt+2}`),et.attr("cx",b-at.width/2+4/2).attr("cy",mt).attr("r",1.5).attr("class","tag-hole"),C0==="TB"&&(W.attr("class","tag-label-bkg").attr("points",` + ${N},${b+2} + ${N},${b-2} + ${N+10},${b-bt-2} + ${N+10+at.width+4},${b-bt-2} + ${N+10+at.width+4},${b+bt+2} + ${N+10},${b+bt+2}`).attr("transform","translate(12,12) rotate(45, "+N+","+b+")"),et.attr("cx",N+4/2).attr("cy",b).attr("transform","translate(12,12) rotate(45, "+N+","+b+")"),st.attr("x",N+5).attr("y",b+3).attr("transform","translate(14,14) rotate(45, "+N+","+b+")"))}}b+=50,b>IF&&(IF=b)})},nqe=(i,a,f)=>Object.keys(f).filter(m=>f[m].branch===a.branch&&f[m].seq>i.seq&&f[m].seq0,OF=(i,a,f=0)=>{const p=i+Math.abs(i-a)/2;if(f>5)return p;if(DY.every(b=>Math.abs(b-p)>=10))return DY.push(p),p;const m=Math.abs(i-a);return OF(i,a-m/5,f+1)},rqe=(i,a,f,p)=>{const w=DF[a.id],m=DF[f.id],b=nqe(a,f,p);let E="",_="",A=0,I=0,B=td[f.branch].index,N;if(b){E="A 10 10, 0, 0, 0,",_="A 10 10, 0, 0, 1,",A=10,I=10,B=td[f.branch].index;const R=w.ym.x&&(E="A 20 20, 0, 0, 0,",_="A 20 20, 0, 0, 1,",A=20,I=20,B=td[a.branch].index,N=`M ${w.x} ${w.y} L ${w.x} ${m.y-A} ${_} ${w.x-I} ${m.y} L ${m.x} ${m.y}`),w.x===m.x&&(B=td[a.branch].index,N=`M ${w.x} ${w.y} L ${w.x+A} ${w.y} ${E} ${w.x+I} ${m.y+A} L ${m.x} ${m.y}`)):(w.ym.y&&(E="A 20 20, 0, 0, 0,",A=20,I=20,B=td[a.branch].index,N=`M ${w.x} ${w.y} L ${m.x-A} ${w.y} ${E} ${m.x} ${w.y-I} L ${m.x} ${m.y}`),w.y===m.y&&(B=td[a.branch].index,N=`M ${w.x} ${w.y} L ${w.x} ${m.y-A} ${E} ${w.x+I} ${m.y} L ${m.x} ${m.y}`));i.append("path").attr("d",N).attr("class","arrow arrow"+B%TT)},iqe=(i,a)=>{const f=i.append("g").attr("class","commit-arrows");Object.keys(a).forEach(p=>{const w=a[p];w.parents&&w.parents.length>0&&w.parents.forEach(m=>{rqe(f,a[m],w,a)})})},sqe=(i,a)=>{const f=Oe().gitGraph,p=i.append("g");a.forEach((w,m)=>{const b=m%TT,E=td[w.name].pos,_=p.append("line");_.attr("x1",0),_.attr("y1",E),_.attr("x2",IF),_.attr("y2",E),_.attr("class","branch branch"+b),C0==="TB"&&(_.attr("y1",30),_.attr("x1",E),_.attr("y2",IF),_.attr("x2",E)),DY.push(E);let A=w.name;const I=HBt(A),B=p.insert("rect"),R=p.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+b);R.node().appendChild(I);let z=I.getBBox();B.attr("class","branchLabelBkg label"+b).attr("rx",4).attr("ry",4).attr("x",-z.width-4-(f.rotateCommitLabel===!0?30:0)).attr("y",-z.height/2+8).attr("width",z.width+18).attr("height",z.height+4),R.attr("transform","translate("+(-z.width-14-(f.rotateCommitLabel===!0?30:0))+", "+(E-z.height/2-1)+")"),C0==="TB"&&(B.attr("x",E-z.width/2-10).attr("y",0),R.attr("transform","translate("+(E-z.width/2-5)+", 0)")),C0!=="TB"&&B.attr("transform","translate(-19, "+(E-z.height/2)+")")})},aqe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Nze,db:tqe,renderer:{draw:function(i,a,f,p){eqe();const w=Oe(),m=w.gitGraph;Ut.debug("in gitgraph renderer",i+` +`,"id:",a,f),MF=p.db.getCommits();const b=p.db.getBranchesAsObjArray();C0=p.db.getDirection();const E=yr(`[id="${a}"]`);let _=0;b.forEach((A,I)=>{const B=HBt(A.name),N=E.append("g"),R=N.insert("g").attr("class","branchLabel"),z=R.insert("g").attr("class","label branch-label");z.node().appendChild(B);let W=B.getBBox();td[A.name]={pos:_,index:I},_+=50+(m.rotateCommitLabel?40:0)+(C0==="TB"?W.width/2:0),z.remove(),R.remove(),N.remove()}),VBt(E,MF,!1),m.showBranches&&sqe(E,b),iqe(E,MF),VBt(E,MF,!0),$a.insertTitle(E,"gitTitleText",m.titleTopMargin,p.db.getDiagramTitle()),AOt(void 0,E,m.diagramPadding,m.useMaxWidth??w.useMaxWidth)}},styles:i=>` + .commit-id, + .commit-msg, + .branch-label { + fill: lightgrey; + color: lightgrey; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + ${[0,1,2,3,4,5,6,7].map(a=>` + .branch-label${a} { fill: ${i["gitBranchLabel"+a]}; } + .commit${a} { stroke: ${i["git"+a]}; fill: ${i["git"+a]}; } + .commit-highlight${a} { stroke: ${i["gitInv"+a]}; fill: ${i["gitInv"+a]}; } + .label${a} { fill: ${i["git"+a]}; } + .arrow${a} { stroke: ${i["git"+a]}; } + `).join(` +`)} + + .branch { + stroke-width: 1; + stroke: ${i.lineColor}; + stroke-dasharray: 2; + } + .commit-label { font-size: ${i.commitLabelFontSize}; fill: ${i.commitLabelColor};} + .commit-label-bkg { font-size: ${i.commitLabelFontSize}; fill: ${i.commitLabelBackground}; opacity: 0.5; } + .tag-label { font-size: ${i.tagLabelFontSize}; fill: ${i.tagLabelColor};} + .tag-label-bkg { fill: ${i.tagLabelBackground}; stroke: ${i.tagLabelBorder}; } + .tag-hole { fill: ${i.textColor}; } + + .commit-merge { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + } + .commit-reverse { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + stroke-width: 3; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + } + + .arrow { stroke-width: 8; stroke-linecap: round; fill: none} + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } +`}},Symbol.toStringTag,{value:"Module"}));var H0t=function(){var i=function(U,Tt,nt,It){for(nt=nt||{},It=U.length;It--;nt[U[It]]=Tt);return nt},a=[6,8,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,35,37],f=[1,25],p=[1,26],w=[1,27],m=[1,28],b=[1,29],E=[1,30],_=[1,31],A=[1,9],I=[1,10],B=[1,11],N=[1,12],R=[1,13],z=[1,14],W=[1,15],et=[1,16],st=[1,18],at=[1,19],bt=[1,20],mt=[1,21],yt=[1,22],ft=[1,24],ut=[1,32],vt={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,dateFormat:19,inclusiveEndDates:20,topAxis:21,axisFormat:22,tickInterval:23,excludes:24,includes:25,todayMarker:26,title:27,acc_title:28,acc_title_value:29,acc_descr:30,acc_descr_value:31,acc_descr_multiline_value:32,section:33,clickStatement:34,taskTxt:35,taskData:36,click:37,callbackname:38,callbackargs:39,href:40,clickStatementDebug:41,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",19:"dateFormat",20:"inclusiveEndDates",21:"topAxis",22:"axisFormat",23:"tickInterval",24:"excludes",25:"includes",26:"todayMarker",27:"title",28:"acc_title",29:"acc_title_value",30:"acc_descr",31:"acc_descr_value",32:"acc_descr_multiline_value",33:"section",35:"taskTxt",36:"taskData",37:"click",38:"callbackname",39:"callbackargs",40:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[34,2],[34,3],[34,3],[34,4],[34,3],[34,4],[34,2],[41,2],[41,3],[41,3],[41,4],[41,3],[41,4],[41,2]],performAction:function(Tt,nt,It,Ot,Bt,Et,Z){var Ct=Et.length-1;switch(Bt){case 1:return Et[Ct-1];case 2:this.$=[];break;case 3:Et[Ct-1].push(Et[Ct]),this.$=Et[Ct-1];break;case 4:case 5:this.$=Et[Ct];break;case 6:case 7:this.$=[];break;case 8:Ot.setWeekday("monday");break;case 9:Ot.setWeekday("tuesday");break;case 10:Ot.setWeekday("wednesday");break;case 11:Ot.setWeekday("thursday");break;case 12:Ot.setWeekday("friday");break;case 13:Ot.setWeekday("saturday");break;case 14:Ot.setWeekday("sunday");break;case 15:Ot.setDateFormat(Et[Ct].substr(11)),this.$=Et[Ct].substr(11);break;case 16:Ot.enableInclusiveEndDates(),this.$=Et[Ct].substr(18);break;case 17:Ot.TopAxis(),this.$=Et[Ct].substr(8);break;case 18:Ot.setAxisFormat(Et[Ct].substr(11)),this.$=Et[Ct].substr(11);break;case 19:Ot.setTickInterval(Et[Ct].substr(13)),this.$=Et[Ct].substr(13);break;case 20:Ot.setExcludes(Et[Ct].substr(9)),this.$=Et[Ct].substr(9);break;case 21:Ot.setIncludes(Et[Ct].substr(9)),this.$=Et[Ct].substr(9);break;case 22:Ot.setTodayMarker(Et[Ct].substr(12)),this.$=Et[Ct].substr(12);break;case 24:Ot.setDiagramTitle(Et[Ct].substr(6)),this.$=Et[Ct].substr(6);break;case 25:this.$=Et[Ct].trim(),Ot.setAccTitle(this.$);break;case 26:case 27:this.$=Et[Ct].trim(),Ot.setAccDescription(this.$);break;case 28:Ot.addSection(Et[Ct].substr(8)),this.$=Et[Ct].substr(8);break;case 30:Ot.addTask(Et[Ct-1],Et[Ct]),this.$="task";break;case 31:this.$=Et[Ct-1],Ot.setClickEvent(Et[Ct-1],Et[Ct],null);break;case 32:this.$=Et[Ct-2],Ot.setClickEvent(Et[Ct-2],Et[Ct-1],Et[Ct]);break;case 33:this.$=Et[Ct-2],Ot.setClickEvent(Et[Ct-2],Et[Ct-1],null),Ot.setLink(Et[Ct-2],Et[Ct]);break;case 34:this.$=Et[Ct-3],Ot.setClickEvent(Et[Ct-3],Et[Ct-2],Et[Ct-1]),Ot.setLink(Et[Ct-3],Et[Ct]);break;case 35:this.$=Et[Ct-2],Ot.setClickEvent(Et[Ct-2],Et[Ct],null),Ot.setLink(Et[Ct-2],Et[Ct-1]);break;case 36:this.$=Et[Ct-3],Ot.setClickEvent(Et[Ct-3],Et[Ct-1],Et[Ct]),Ot.setLink(Et[Ct-3],Et[Ct-2]);break;case 37:this.$=Et[Ct-1],Ot.setLink(Et[Ct-1],Et[Ct]);break;case 38:case 44:this.$=Et[Ct-1]+" "+Et[Ct];break;case 39:case 40:case 42:this.$=Et[Ct-2]+" "+Et[Ct-1]+" "+Et[Ct];break;case 41:case 43:this.$=Et[Ct-3]+" "+Et[Ct-2]+" "+Et[Ct-1]+" "+Et[Ct];break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:f,13:p,14:w,15:m,16:b,17:E,18:_,19:A,20:I,21:B,22:N,23:R,24:z,25:W,26:et,27:st,28:at,30:bt,32:mt,33:yt,34:23,35:ft,37:ut},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:33,11:17,12:f,13:p,14:w,15:m,16:b,17:E,18:_,19:A,20:I,21:B,22:N,23:R,24:z,25:W,26:et,27:st,28:at,30:bt,32:mt,33:yt,34:23,35:ft,37:ut},i(a,[2,5]),i(a,[2,6]),i(a,[2,15]),i(a,[2,16]),i(a,[2,17]),i(a,[2,18]),i(a,[2,19]),i(a,[2,20]),i(a,[2,21]),i(a,[2,22]),i(a,[2,23]),i(a,[2,24]),{29:[1,34]},{31:[1,35]},i(a,[2,27]),i(a,[2,28]),i(a,[2,29]),{36:[1,36]},i(a,[2,8]),i(a,[2,9]),i(a,[2,10]),i(a,[2,11]),i(a,[2,12]),i(a,[2,13]),i(a,[2,14]),{38:[1,37],40:[1,38]},i(a,[2,4]),i(a,[2,25]),i(a,[2,26]),i(a,[2,30]),i(a,[2,31],{39:[1,39],40:[1,40]}),i(a,[2,37],{38:[1,41]}),i(a,[2,32],{40:[1,42]}),i(a,[2,33]),i(a,[2,35],{39:[1,43]}),i(a,[2,34]),i(a,[2,36])],defaultActions:{},parseError:function(Tt,nt){if(nt.recoverable)this.trace(Tt);else{var It=new Error(Tt);throw It.hash=nt,It}},parse:function(Tt){var nt=this,It=[0],Ot=[],Bt=[null],Et=[],Z=this.table,Ct="",xt=0,Ht=0,Le=2,Ft=1,gn=Et.slice.call(arguments,1),Se=Object.create(this.lexer),me={yy:{}};for(var Ve in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ve)&&(me.yy[Ve]=this.yy[Ve]);Se.setInput(Tt,me.yy),me.yy.lexer=Se,me.yy.parser=this,typeof Se.yylloc>"u"&&(Se.yylloc={});var Ye=Se.yylloc;Et.push(Ye);var ce=Se.options&&Se.options.ranges;typeof me.yy.parseError=="function"?this.parseError=me.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ke(){var ws;return ws=Ot.pop()||Se.lex()||Ft,typeof ws!="number"&&(ws instanceof Array&&(Ot=ws,ws=Ot.pop()),ws=nt.symbols_[ws]||ws),ws}for(var zt,re,se,Pe,te={},Me,de,on,ni;;){if(re=It[It.length-1],this.defaultActions[re]?se=this.defaultActions[re]:((zt===null||typeof zt>"u")&&(zt=ke()),se=Z[re]&&Z[re][zt]),typeof se>"u"||!se.length||!se[0]){var Ks="";ni=[];for(Me in Z[re])this.terminals_[Me]&&Me>Le&&ni.push("'"+this.terminals_[Me]+"'");Se.showPosition?Ks="Parse error on line "+(xt+1)+`: +`+Se.showPosition()+` +Expecting `+ni.join(", ")+", got '"+(this.terminals_[zt]||zt)+"'":Ks="Parse error on line "+(xt+1)+": Unexpected "+(zt==Ft?"end of input":"'"+(this.terminals_[zt]||zt)+"'"),this.parseError(Ks,{text:Se.match,token:this.terminals_[zt]||zt,line:Se.yylineno,loc:Ye,expected:ni})}if(se[0]instanceof Array&&se.length>1)throw new Error("Parse Error: multiple actions possible at state: "+re+", token: "+zt);switch(se[0]){case 1:It.push(zt),Bt.push(Se.yytext),Et.push(Se.yylloc),It.push(se[1]),zt=null,Ht=Se.yyleng,Ct=Se.yytext,xt=Se.yylineno,Ye=Se.yylloc;break;case 2:if(de=this.productions_[se[1]][1],te.$=Bt[Bt.length-de],te._$={first_line:Et[Et.length-(de||1)].first_line,last_line:Et[Et.length-1].last_line,first_column:Et[Et.length-(de||1)].first_column,last_column:Et[Et.length-1].last_column},ce&&(te._$.range=[Et[Et.length-(de||1)].range[0],Et[Et.length-1].range[1]]),Pe=this.performAction.apply(te,[Ct,Ht,xt,me.yy,se[1],Bt,Et].concat(gn)),typeof Pe<"u")return Pe;de&&(It=It.slice(0,-1*de*2),Bt=Bt.slice(0,-1*de),Et=Et.slice(0,-1*de)),It.push(this.productions_[se[1]][0]),Bt.push(te.$),Et.push(te._$),on=Z[It[It.length-2]][It[It.length-1]],It.push(on);break;case 3:return!0}}return!0}},X=function(){var U={EOF:1,parseError:function(nt,It){if(this.yy.parser)this.yy.parser.parseError(nt,It);else throw new Error(nt)},setInput:function(Tt,nt){return this.yy=nt||this.yy||{},this._input=Tt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Tt=this._input[0];this.yytext+=Tt,this.yyleng++,this.offset++,this.match+=Tt,this.matched+=Tt;var nt=Tt.match(/(?:\r\n?|\n).*/g);return nt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Tt},unput:function(Tt){var nt=Tt.length,It=Tt.split(/(?:\r\n?|\n)/g);this._input=Tt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-nt),this.offset-=nt;var Ot=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),It.length-1&&(this.yylineno-=It.length-1);var Bt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:It?(It.length===Ot.length?this.yylloc.first_column:0)+Ot[Ot.length-It.length].length-It[0].length:this.yylloc.first_column-nt},this.options.ranges&&(this.yylloc.range=[Bt[0],Bt[0]+this.yyleng-nt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Tt){this.unput(this.match.slice(Tt))},pastInput:function(){var Tt=this.matched.substr(0,this.matched.length-this.match.length);return(Tt.length>20?"...":"")+Tt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Tt=this.match;return Tt.length<20&&(Tt+=this._input.substr(0,20-Tt.length)),(Tt.substr(0,20)+(Tt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Tt=this.pastInput(),nt=new Array(Tt.length+1).join("-");return Tt+this.upcomingInput()+` +`+nt+"^"},test_match:function(Tt,nt){var It,Ot,Bt;if(this.options.backtrack_lexer&&(Bt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Bt.yylloc.range=this.yylloc.range.slice(0))),Ot=Tt[0].match(/(?:\r\n?|\n).*/g),Ot&&(this.yylineno+=Ot.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ot?Ot[Ot.length-1].length-Ot[Ot.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Tt[0].length},this.yytext+=Tt[0],this.match+=Tt[0],this.matches=Tt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Tt[0].length),this.matched+=Tt[0],It=this.performAction.call(this,this.yy,this,nt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),It)return It;if(this._backtrack){for(var Et in Bt)this[Et]=Bt[Et];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Tt,nt,It,Ot;this._more||(this.yytext="",this.match="");for(var Bt=this._currentRules(),Et=0;Etnt[0].length)){if(nt=It,Ot=Et,this.options.backtrack_lexer){if(Tt=this.test_match(It,Bt[Et]),Tt!==!1)return Tt;if(this._backtrack){nt=!1;continue}else return!1}else if(!this.options.flex)break}return nt?(Tt=this.test_match(nt,Bt[Ot]),Tt!==!1?Tt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var nt=this.next();return nt||this.lex()},begin:function(nt){this.conditionStack.push(nt)},popState:function(){var nt=this.conditionStack.length-1;return nt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(nt){return nt=this.conditionStack.length-1-Math.abs(nt||0),nt>=0?this.conditionStack[nt]:"INITIAL"},pushState:function(nt){this.begin(nt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(nt,It,Ot,Bt){switch(Ot){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),28;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),30;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:break;case 15:this.begin("href");break;case 16:this.popState();break;case 17:return 40;case 18:this.begin("callbackname");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callbackargs");break;case 21:return 38;case 22:this.popState();break;case 23:return 39;case 24:this.begin("click");break;case 25:this.popState();break;case 26:return 37;case 27:return 4;case 28:return 19;case 29:return 20;case 30:return 21;case 31:return 22;case 32:return 23;case 33:return 25;case 34:return 24;case 35:return 26;case 36:return 12;case 37:return 13;case 38:return 14;case 39:return 15;case 40:return 16;case 41:return 17;case 42:return 18;case 43:return"date";case 44:return 27;case 45:return"accDescription";case 46:return 33;case 47:return 35;case 48:return 36;case 49:return":";case 50:return 6;case 51:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[22,23],inclusive:!1},callbackname:{rules:[19,20,21],inclusive:!1},href:{rules:[16,17],inclusive:!1},click:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,18,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return U}();vt.lexer=X;function pt(){this.yy={}}return pt.prototype=vt,vt.Parser=pt,new pt}();H0t.parser=H0t;const oqe=H0t;var GBt={exports:{}};(function(i,a){(function(f,p){i.exports=p()})(b0,function(){var f="day";return function(p,w,m){var b=function(A){return A.add(4-A.isoWeekday(),f)},E=w.prototype;E.isoWeekYear=function(){return b(this).year()},E.isoWeek=function(A){if(!this.$utils().u(A))return this.add(7*(A-this.isoWeek()),f);var I,B,N,R,z=b(this),W=(I=this.isoWeekYear(),B=this.$u,N=(B?m.utc:m)().year(I).startOf("year"),R=4-N.isoWeekday(),N.isoWeekday()>4&&(R+=7),N.add(R,f));return z.diff(W,"week")+1},E.isoWeekday=function(A){return this.$utils().u(A)?this.day()||7:this.day(this.day()%7?A:A-7)};var _=E.startOf;E.startOf=function(A,I){var B=this.$utils(),N=!!B.u(I)||I;return B.p(A)==="isoweek"?N?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):_.bind(this)(A,I)}}})})(GBt);var cqe=GBt.exports;const uqe=G7(cqe);var UBt={exports:{}};(function(i,a){(function(f,p){i.exports=p()})(b0,function(){var f={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},p=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,w=/\d\d/,m=/\d\d?/,b=/\d*[^-_:/,()\s\d]+/,E={},_=function(W){return(W=+W)+(W>68?1900:2e3)},A=function(W){return function(et){this[W]=+et}},I=[/[+-]\d\d:?(\d\d)?|Z/,function(W){(this.zone||(this.zone={})).offset=function(et){if(!et||et==="Z")return 0;var st=et.match(/([+-]|\d\d)/g),at=60*st[1]+(+st[2]||0);return at===0?0:st[0]==="+"?-at:at}(W)}],B=function(W){var et=E[W];return et&&(et.indexOf?et:et.s.concat(et.f))},N=function(W,et){var st,at=E.meridiem;if(at){for(var bt=1;bt<=24;bt+=1)if(W.indexOf(at(bt,0,et))>-1){st=bt>12;break}}else st=W===(et?"pm":"PM");return st},R={A:[b,function(W){this.afternoon=N(W,!1)}],a:[b,function(W){this.afternoon=N(W,!0)}],S:[/\d/,function(W){this.milliseconds=100*+W}],SS:[w,function(W){this.milliseconds=10*+W}],SSS:[/\d{3}/,function(W){this.milliseconds=+W}],s:[m,A("seconds")],ss:[m,A("seconds")],m:[m,A("minutes")],mm:[m,A("minutes")],H:[m,A("hours")],h:[m,A("hours")],HH:[m,A("hours")],hh:[m,A("hours")],D:[m,A("day")],DD:[w,A("day")],Do:[b,function(W){var et=E.ordinal,st=W.match(/\d+/);if(this.day=st[0],et)for(var at=1;at<=31;at+=1)et(at).replace(/\[|\]/g,"")===W&&(this.day=at)}],M:[m,A("month")],MM:[w,A("month")],MMM:[b,function(W){var et=B("months"),st=(B("monthsShort")||et.map(function(at){return at.slice(0,3)})).indexOf(W)+1;if(st<1)throw new Error;this.month=st%12||st}],MMMM:[b,function(W){var et=B("months").indexOf(W)+1;if(et<1)throw new Error;this.month=et%12||et}],Y:[/[+-]?\d+/,A("year")],YY:[w,function(W){this.year=_(W)}],YYYY:[/\d{4}/,A("year")],Z:I,ZZ:I};function z(W){var et,st;et=W,st=E&&E.formats;for(var at=(W=et.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(X,pt,U){var Tt=U&&U.toUpperCase();return pt||st[U]||f[U]||st[Tt].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(nt,It,Ot){return It||Ot.slice(1)})})).match(p),bt=at.length,mt=0;mt-1)return new Date((Et==="X"?1e3:1)*Bt);var Ct=z(Et)(Bt),xt=Ct.year,Ht=Ct.month,Le=Ct.day,Ft=Ct.hours,gn=Ct.minutes,Se=Ct.seconds,me=Ct.milliseconds,Ve=Ct.zone,Ye=new Date,ce=Le||(xt||Ht?1:Ye.getDate()),ke=xt||Ye.getFullYear(),zt=0;xt&&!Ht||(zt=Ht>0?Ht-1:Ye.getMonth());var re=Ft||0,se=gn||0,Pe=Se||0,te=me||0;return Ve?new Date(Date.UTC(ke,zt,ce,re,se,Pe,te+60*Ve.offset*1e3)):Z?new Date(Date.UTC(ke,zt,ce,re,se,Pe,te)):new Date(ke,zt,ce,re,se,Pe,te)}catch{return new Date("")}}(yt,vt,ft),this.init(),Tt&&Tt!==!0&&(this.$L=this.locale(Tt).$L),U&&yt!=this.format(vt)&&(this.$d=new Date("")),E={}}else if(vt instanceof Array)for(var nt=vt.length,It=1;It<=nt;It+=1){ut[1]=vt[It-1];var Ot=st.apply(this,ut);if(Ot.isValid()){this.$d=Ot.$d,this.$L=Ot.$L,this.init();break}It===nt&&(this.$d=new Date(""))}else bt.call(this,mt)}}})})(UBt);var lqe=UBt.exports;const hqe=G7(lqe);var WBt={exports:{}};(function(i,a){(function(f,p){i.exports=p()})(b0,function(){return function(f,p){var w=p.prototype,m=w.format;w.format=function(b){var E=this,_=this.$locale();if(!this.isValid())return m.bind(this)(b);var A=this.$utils(),I=(b||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(B){switch(B){case"Q":return Math.ceil((E.$M+1)/3);case"Do":return _.ordinal(E.$D);case"gggg":return E.weekYear();case"GGGG":return E.isoWeekYear();case"wo":return _.ordinal(E.week(),"W");case"w":case"ww":return A.s(E.week(),B==="w"?1:2,"0");case"W":case"WW":return A.s(E.isoWeek(),B==="W"?1:2,"0");case"k":case"kk":return A.s(String(E.$H===0?24:E.$H),B==="k"?1:2,"0");case"X":return Math.floor(E.$d.getTime()/1e3);case"x":return E.$d.getTime();case"z":return"["+E.offsetName()+"]";case"zzz":return"["+E.offsetName("long")+"]";default:return B}});return m.bind(this)(I)}}})})(WBt);var fqe=WBt.exports;const dqe=G7(fqe);w0.extend(uqe),w0.extend(hqe),w0.extend(dqe);let x3="",V0t="",G0t,U0t="",PF=[],FF=[],W0t={},Y0t=[],IY=[],uL="",K0t="";const YBt=["active","done","crit","milestone"];let X0t=[],NF=!1,Q0t=!1,Z0t="sunday",J0t=0;const gqe=function(){Y0t=[],IY=[],uL="",X0t=[],OY=0,egt=void 0,PY=void 0,h1=[],x3="",V0t="",K0t="",G0t=void 0,U0t="",PF=[],FF=[],NF=!1,Q0t=!1,J0t=0,W0t={},hg(),Z0t="sunday"},pqe=function(i){V0t=i},bqe=function(){return V0t},wqe=function(i){G0t=i},vqe=function(){return G0t},mqe=function(i){U0t=i},yqe=function(){return U0t},xqe=function(i){x3=i},kqe=function(){NF=!0},Eqe=function(){return NF},Tqe=function(){Q0t=!0},Cqe=function(){return Q0t},_qe=function(i){K0t=i},Sqe=function(){return K0t},Aqe=function(){return x3},Lqe=function(i){PF=i.toLowerCase().split(/[\s,]+/)},Mqe=function(){return PF},Dqe=function(i){FF=i.toLowerCase().split(/[\s,]+/)},Iqe=function(){return FF},Oqe=function(){return W0t},Pqe=function(i){uL=i,Y0t.push(i)},Fqe=function(){return Y0t},Nqe=function(){let i=tRt();const a=10;let f=0;for(;!i&&f=6&&f.includes("weekends")||f.includes(i.format("dddd").toLowerCase())?!0:f.includes(i.format(a.trim()))},Bqe=function(i){Z0t=i},Rqe=function(){return Z0t},XBt=function(i,a,f,p){if(!f.length||i.manualEndTime)return;let w;i.startTime instanceof Date?w=w0(i.startTime):w=w0(i.startTime,a,!0),w=w.add(1,"d");let m;i.endTime instanceof Date?m=w0(i.endTime):m=w0(i.endTime,a,!0);const[b,E]=jqe(w,m,a,f,p);i.endTime=b.toDate(),i.renderEndTime=E},jqe=function(i,a,f,p,w){let m=!1,b=null;for(;i<=a;)m||(b=a.toDate()),m=KBt(i,f,p,w),m&&(a=a.add(1,"d")),i=i.add(1,"d");return[a,b]},tgt=function(i,a,f){f=f.trim();const w=/^after\s+([\d\w- ]+)/.exec(f.trim());if(w!==null){let b=null;if(w[1].split(" ").forEach(function(E){let _=hL(E);_!==void 0&&(b?_.endTime>b.endTime&&(b=_):b=_)}),b)return b.endTime;{const E=new Date;return E.setHours(0,0,0,0),E}}let m=w0(f,a.trim(),!0);if(m.isValid())return m.toDate();{Ut.debug("Invalid date:"+f),Ut.debug("With date format:"+a.trim());const b=new Date(f);if(b===void 0||isNaN(b.getTime())||b.getFullYear()<-1e4||b.getFullYear()>1e4)throw new Error("Invalid date:"+f);return b}},QBt=function(i){const a=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(i.trim());return a!==null?[Number.parseFloat(a[1]),a[2]]:[NaN,"ms"]},ZBt=function(i,a,f,p=!1){f=f.trim();let w=w0(f,a.trim(),!0);if(w.isValid())return p&&(w=w.add(1,"d")),w.toDate();let m=w0(i);const[b,E]=QBt(f);if(!Number.isNaN(b)){const _=m.add(b,E);_.isValid()&&(m=_)}return m.toDate()};let OY=0;const lL=function(i){return i===void 0?(OY=OY+1,"task"+OY):i},$qe=function(i,a){let f;a.substr(0,1)===":"?f=a.substr(1,a.length):f=a;const p=f.split(","),w={};rRt(p,w,YBt);for(let b=0;b{window.open(f,"_self")}),W0t[p]=f)}),eRt(i,"clickable")},eRt=function(i,a){i.split(",").forEach(function(f){let p=hL(f);p!==void 0&&p.classes.push(a)})},Gqe=function(i,a,f){if(Oe().securityLevel!=="loose"||a===void 0)return;let p=[];if(typeof f=="string"){p=f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let m=0;m{$a.runFunc(a,...p)})},nRt=function(i,a){X0t.push(function(){const f=document.querySelector(`[id="${i}"]`);f!==null&&f.addEventListener("click",function(){a()})},function(){const f=document.querySelector(`[id="${i}-text"]`);f!==null&&f.addEventListener("click",function(){a()})})},Uqe={getConfig:()=>Oe().gantt,clear:gqe,setDateFormat:xqe,getDateFormat:Aqe,enableInclusiveEndDates:kqe,endDatesAreInclusive:Eqe,enableTopAxis:Tqe,topAxisEnabled:Cqe,setAxisFormat:pqe,getAxisFormat:bqe,setTickInterval:wqe,getTickInterval:vqe,setTodayMarker:mqe,getTodayMarker:yqe,setAccTitle:E0,getAccTitle:fg,setDiagramTitle:Nb,getDiagramTitle:pg,setDisplayMode:_qe,getDisplayMode:Sqe,setAccDescription:dg,getAccDescription:gg,addSection:Pqe,getSections:Fqe,getTasks:Nqe,addTask:qqe,findTaskById:hL,addTaskOrg:Hqe,setIncludes:Lqe,getIncludes:Mqe,setExcludes:Dqe,getExcludes:Iqe,setClickEvent:function(i,a,f){i.split(",").forEach(function(p){Gqe(p,a,f)}),eRt(i,"clickable")},setLink:Vqe,getLinks:Oqe,bindFunctions:function(i){X0t.forEach(function(a){a(i)})},parseDuration:QBt,isInvalidDate:KBt,setWeekday:Bqe,getWeekday:Rqe};function rRt(i,a,f){let p=!0;for(;p;)p=!1,f.forEach(function(w){const m="^\\s*"+w+"\\s*$",b=new RegExp(m);i[0].match(b)&&(a[w]=!0,i.shift(1),p=!0)})}const Wqe=function(){Ut.debug("Something is calling, setConf, remove the call")},iRt={monday:BP,tuesday:JMt,wednesday:tDt,thursday:tT,friday:eDt,saturday:nDt,sunday:NP},Yqe=(i,a)=>{let f=[...i].map(()=>-1/0),p=[...i].sort((m,b)=>m.startTime-b.startTime||m.order-b.order),w=0;for(const m of p)for(let b=0;b=f[b]){f[b]=m.endTime,m.order=b+a,b>w&&(w=b);break}return w};let N5;const Kqe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:oqe,db:Uqe,renderer:{setConf:Wqe,draw:function(i,a,f,p){const w=Oe().gantt,m=Oe().securityLevel;let b;m==="sandbox"&&(b=yr("#i"+a));const E=yr(m==="sandbox"?b.nodes()[0].contentDocument.body:"body"),_=m==="sandbox"?b.nodes()[0].contentDocument:document,A=_.getElementById(a);N5=A.parentElement.offsetWidth,N5===void 0&&(N5=1200),w.useWidth!==void 0&&(N5=w.useWidth);const I=p.db.getTasks();let B=[];for(const vt of I)B.push(vt.type);B=ut(B);const N={};let R=2*w.topPadding;if(p.db.getDisplayMode()==="compact"||w.displayMode==="compact"){const vt={};for(const pt of I)vt[pt.section]===void 0?vt[pt.section]=[pt]:vt[pt.section].push(pt);let X=0;for(const pt of Object.keys(vt)){const U=Yqe(vt[pt],X)+1;X+=U,R+=U*(w.barHeight+w.barGap),N[pt]=U}}else{R+=I.length*(w.barHeight+w.barGap);for(const vt of B)N[vt]=I.filter(X=>X.type===vt).length}A.setAttribute("viewBox","0 0 "+N5+" "+R);const z=E.select(`[id="${a}"]`),W=Y7e().domain([Mxe(I,function(vt){return vt.startTime}),Lxe(I,function(vt){return vt.endTime})]).rangeRound([0,N5-w.leftPadding-w.rightPadding]);function et(vt,X){const pt=vt.startTime,U=X.startTime;let Tt=0;return pt>U?Tt=1:ptxt.order))].map(xt=>vt.find(Ht=>Ht.order===xt));z.append("g").selectAll("rect").data(Bt).enter().append("rect").attr("x",0).attr("y",function(xt,Ht){return Ht=xt.order,Ht*X+pt-2}).attr("width",function(){return It-w.rightPadding/2}).attr("height",X).attr("class",function(xt){for(const[Ht,Le]of B.entries())if(xt.type===Le)return"section section"+Ht%w.numberSectionStyles;return"section section0"});const Et=z.append("g").selectAll("rect").data(vt).enter(),Z=p.db.getLinks();if(Et.append("rect").attr("id",function(xt){return xt.id}).attr("rx",3).attr("ry",3).attr("x",function(xt){return xt.milestone?W(xt.startTime)+U+.5*(W(xt.endTime)-W(xt.startTime))-.5*Tt:W(xt.startTime)+U}).attr("y",function(xt,Ht){return Ht=xt.order,Ht*X+pt}).attr("width",function(xt){return xt.milestone?Tt:W(xt.renderEndTime||xt.endTime)-W(xt.startTime)}).attr("height",Tt).attr("transform-origin",function(xt,Ht){return Ht=xt.order,(W(xt.startTime)+U+.5*(W(xt.endTime)-W(xt.startTime))).toString()+"px "+(Ht*X+pt+.5*Tt).toString()+"px"}).attr("class",function(xt){const Ht="task";let Le="";xt.classes.length>0&&(Le=xt.classes.join(" "));let Ft=0;for(const[Se,me]of B.entries())xt.type===me&&(Ft=Se%w.numberSectionStyles);let gn="";return xt.active?xt.crit?gn+=" activeCrit":gn=" active":xt.done?xt.crit?gn=" doneCrit":gn=" done":xt.crit&&(gn+=" crit"),gn.length===0&&(gn=" task"),xt.milestone&&(gn=" milestone "+gn),gn+=Ft,gn+=" "+Le,Ht+gn}),Et.append("text").attr("id",function(xt){return xt.id+"-text"}).text(function(xt){return xt.task}).attr("font-size",w.fontSize).attr("x",function(xt){let Ht=W(xt.startTime),Le=W(xt.renderEndTime||xt.endTime);xt.milestone&&(Ht+=.5*(W(xt.endTime)-W(xt.startTime))-.5*Tt),xt.milestone&&(Le=Ht+Tt);const Ft=this.getBBox().width;return Ft>Le-Ht?Le+Ft+1.5*w.leftPadding>It?Ht+U-5:Le+U+5:(Le-Ht)/2+Ht+U}).attr("y",function(xt,Ht){return Ht=xt.order,Ht*X+w.barHeight/2+(w.fontSize/2-2)+pt}).attr("text-height",Tt).attr("class",function(xt){const Ht=W(xt.startTime);let Le=W(xt.endTime);xt.milestone&&(Le=Ht+Tt);const Ft=this.getBBox().width;let gn="";xt.classes.length>0&&(gn=xt.classes.join(" "));let Se=0;for(const[Ve,Ye]of B.entries())xt.type===Ye&&(Se=Ve%w.numberSectionStyles);let me="";return xt.active&&(xt.crit?me="activeCritText"+Se:me="activeText"+Se),xt.done?xt.crit?me=me+" doneCritText"+Se:me=me+" doneText"+Se:xt.crit&&(me=me+" critText"+Se),xt.milestone&&(me+=" milestoneText"),Ft>Le-Ht?Le+Ft+1.5*w.leftPadding>It?gn+" taskTextOutsideLeft taskTextOutside"+Se+" "+me:gn+" taskTextOutsideRight taskTextOutside"+Se+" "+me+" width-"+Ft:gn+" taskText taskText"+Se+" "+me+" width-"+Ft}),Oe().securityLevel==="sandbox"){let xt;xt=yr("#i"+a);const Ht=xt.nodes()[0].contentDocument;Et.filter(function(Le){return Z[Le.id]!==void 0}).each(function(Le){var Ft=Ht.querySelector("#"+Le.id),gn=Ht.querySelector("#"+Le.id+"-text");const Se=Ft.parentNode;var me=Ht.createElement("a");me.setAttribute("xlink:href",Z[Le.id]),me.setAttribute("target","_top"),Se.appendChild(me),me.appendChild(Ft),me.appendChild(gn)})}}function bt(vt,X,pt,U,Tt,nt,It,Ot){if(It.length===0&&Ot.length===0)return;let Bt,Et;for(const{startTime:Ft,endTime:gn}of nt)(Bt===void 0||FtEt)&&(Et=gn);if(!Bt||!Et)return;if(w0(Et).diff(w0(Bt),"year")>5){Ut.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const Z=p.db.getDateFormat(),Ct=[];let xt=null,Ht=w0(Bt);for(;Ht.valueOf()<=Et;)p.db.isInvalidDate(Ht,Z,It,Ot)?xt?xt.end=Ht:xt={start:Ht,end:Ht}:xt&&(Ct.push(xt),xt=null),Ht=Ht.add(1,"d");z.append("g").selectAll("rect").data(Ct).enter().append("rect").attr("id",function(Ft){return"exclude-"+Ft.start.format("YYYY-MM-DD")}).attr("x",function(Ft){return W(Ft.start)+pt}).attr("y",w.gridLineStartPadding).attr("width",function(Ft){const gn=Ft.end.add(1,"day");return W(gn)-W(Ft.start)}).attr("height",Tt-X-w.gridLineStartPadding).attr("transform-origin",function(Ft,gn){return(W(Ft.start)+pt+.5*(W(Ft.end)-W(Ft.start))).toString()+"px "+(gn*vt+.5*Tt).toString()+"px"}).attr("class","exclude-range")}function mt(vt,X,pt,U){let Tt=jxe(W).tickSize(-U+X+w.gridLineStartPadding).tickFormat(ZU(p.db.getAxisFormat()||w.axisFormat||"%Y-%m-%d"));const It=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(p.db.getTickInterval()||w.tickInterval);if(It!==null){const Ot=It[1],Bt=It[2],Et=p.db.getWeekday()||w.weekday;switch(Bt){case"millisecond":Tt.ticks(LA.every(Ot));break;case"second":Tt.ticks(sk.every(Ot));break;case"minute":Tt.ticks(PP.every(Ot));break;case"hour":Tt.ticks(FP.every(Ot));break;case"day":Tt.ticks(Z7.every(Ot));break;case"week":Tt.ticks(iRt[Et].every(Ot));break;case"month":Tt.ticks(RP.every(Ot));break}}if(z.append("g").attr("class","grid").attr("transform","translate("+vt+", "+(U-50)+")").call(Tt).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),p.db.topAxisEnabled()||w.topAxis){let Ot=Rxe(W).tickSize(-U+X+w.gridLineStartPadding).tickFormat(ZU(p.db.getAxisFormat()||w.axisFormat||"%Y-%m-%d"));if(It!==null){const Bt=It[1],Et=It[2],Z=p.db.getWeekday()||w.weekday;switch(Et){case"millisecond":Ot.ticks(LA.every(Bt));break;case"second":Ot.ticks(sk.every(Bt));break;case"minute":Ot.ticks(PP.every(Bt));break;case"hour":Ot.ticks(FP.every(Bt));break;case"day":Ot.ticks(Z7.every(Bt));break;case"week":Ot.ticks(iRt[Z].every(Bt));break;case"month":Ot.ticks(RP.every(Bt));break}}z.append("g").attr("class","grid").attr("transform","translate("+vt+", "+X+")").call(Ot).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function yt(vt,X){let pt=0;const U=Object.keys(N).map(Tt=>[Tt,N[Tt]]);z.append("g").selectAll("text").data(U).enter().append(function(Tt){const nt=Tt[0].split(Kr.lineBreakRegex),It=-(nt.length-1)/2,Ot=_.createElementNS("http://www.w3.org/2000/svg","text");Ot.setAttribute("dy",It+"em");for(const[Bt,Et]of nt.entries()){const Z=_.createElementNS("http://www.w3.org/2000/svg","tspan");Z.setAttribute("alignment-baseline","central"),Z.setAttribute("x","10"),Bt>0&&Z.setAttribute("dy","1em"),Z.textContent=Et,Ot.appendChild(Z)}return Ot}).attr("x",10).attr("y",function(Tt,nt){if(nt>0)for(let It=0;It` + .mermaid-main-font { + font-family: "trebuchet ms", verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + .exclude-range { + fill: ${i.excludeBkgColor}; + } + + .section { + stroke: none; + opacity: 0.2; + } + + .section0 { + fill: ${i.sectionBkgColor}; + } + + .section2 { + fill: ${i.sectionBkgColor2}; + } + + .section1, + .section3 { + fill: ${i.altSectionBkgColor}; + opacity: 0.2; + } + + .sectionTitle0 { + fill: ${i.titleColor}; + } + + .sectionTitle1 { + fill: ${i.titleColor}; + } + + .sectionTitle2 { + fill: ${i.titleColor}; + } + + .sectionTitle3 { + fill: ${i.titleColor}; + } + + .sectionTitle { + text-anchor: start; + // font-size: ${i.ganttFontSize}; + // text-height: 14px; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + + } + + + /* Grid and axis */ + + .grid .tick { + stroke: ${i.gridColor}; + opacity: 0.8; + shape-rendering: crispEdges; + text { + font-family: ${i.fontFamily}; + fill: ${i.textColor}; + } + } + + .grid path { + stroke-width: 0; + } + + + /* Today line */ + + .today { + fill: none; + stroke: ${i.todayLineColor}; + stroke-width: 2px; + } + + + /* Task styling */ + + /* Default task */ + + .task { + stroke-width: 2; + } + + .taskText { + text-anchor: middle; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + + // .taskText:not([font-size]) { + // font-size: ${i.ganttFontSize}; + // } + + .taskTextOutsideRight { + fill: ${i.taskTextDarkColor}; + text-anchor: start; + // font-size: ${i.ganttFontSize}; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + + } + + .taskTextOutsideLeft { + fill: ${i.taskTextDarkColor}; + text-anchor: end; + // font-size: ${i.ganttFontSize}; + } + + /* Special case clickable */ + .task.clickable { + cursor: pointer; + } + .taskText.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideLeft.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideRight.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + /* Specific task settings for the sections*/ + + .taskText0, + .taskText1, + .taskText2, + .taskText3 { + fill: ${i.taskTextColor}; + } + + .task0, + .task1, + .task2, + .task3 { + fill: ${i.taskBkgColor}; + stroke: ${i.taskBorderColor}; + } + + .taskTextOutside0, + .taskTextOutside2 + { + fill: ${i.taskTextOutsideColor}; + } + + .taskTextOutside1, + .taskTextOutside3 { + fill: ${i.taskTextOutsideColor}; + } + + + /* Active task */ + + .active0, + .active1, + .active2, + .active3 { + fill: ${i.activeTaskBkgColor}; + stroke: ${i.activeTaskBorderColor}; + } + + .activeText0, + .activeText1, + .activeText2, + .activeText3 { + fill: ${i.taskTextDarkColor} !important; + } + + + /* Completed task */ + + .done0, + .done1, + .done2, + .done3 { + stroke: ${i.doneTaskBorderColor}; + fill: ${i.doneTaskBkgColor}; + stroke-width: 2; + } + + .doneText0, + .doneText1, + .doneText2, + .doneText3 { + fill: ${i.taskTextDarkColor} !important; + } + + + /* Tasks on the critical line */ + + .crit0, + .crit1, + .crit2, + .crit3 { + stroke: ${i.critBorderColor}; + fill: ${i.critBkgColor}; + stroke-width: 2; + } + + .activeCrit0, + .activeCrit1, + .activeCrit2, + .activeCrit3 { + stroke: ${i.critBorderColor}; + fill: ${i.activeTaskBkgColor}; + stroke-width: 2; + } + + .doneCrit0, + .doneCrit1, + .doneCrit2, + .doneCrit3 { + stroke: ${i.critBorderColor}; + fill: ${i.doneTaskBkgColor}; + stroke-width: 2; + cursor: pointer; + shape-rendering: crispEdges; + } + + .milestone { + transform: rotate(45deg) scale(0.8,0.8); + } + + .milestoneText { + font-style: italic; + } + .doneCritText0, + .doneCritText1, + .doneCritText2, + .doneCritText3 { + fill: ${i.taskTextDarkColor} !important; + } + + .activeCritText0, + .activeCritText1, + .activeCritText2, + .activeCritText3 { + fill: ${i.taskTextDarkColor} !important; + } + + .titleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor} ; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } +`}},Symbol.toStringTag,{value:"Module"}));var ngt=function(){var i=function(m,b,E,_){for(E=E||{},_=m.length;_--;E[m[_]]=b);return E},a=[6,9,10],f={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(b,E,_,A,I,B,N){switch(B.length-1,I){case 1:return A;case 4:break;case 6:A.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},i(a,[2,3]),i(a,[2,4]),i(a,[2,5]),i(a,[2,6])],defaultActions:{4:[2,1]},parseError:function(b,E){if(E.recoverable)this.trace(b);else{var _=new Error(b);throw _.hash=E,_}},parse:function(b){var E=this,_=[0],A=[],I=[null],B=[],N=this.table,R="",z=0,W=0,et=2,st=1,at=B.slice.call(arguments,1),bt=Object.create(this.lexer),mt={yy:{}};for(var yt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,yt)&&(mt.yy[yt]=this.yy[yt]);bt.setInput(b,mt.yy),mt.yy.lexer=bt,mt.yy.parser=this,typeof bt.yylloc>"u"&&(bt.yylloc={});var ft=bt.yylloc;B.push(ft);var ut=bt.options&&bt.options.ranges;typeof mt.yy.parseError=="function"?this.parseError=mt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function vt(){var Ct;return Ct=A.pop()||bt.lex()||st,typeof Ct!="number"&&(Ct instanceof Array&&(A=Ct,Ct=A.pop()),Ct=E.symbols_[Ct]||Ct),Ct}for(var X,pt,U,Tt,nt={},It,Ot,Bt,Et;;){if(pt=_[_.length-1],this.defaultActions[pt]?U=this.defaultActions[pt]:((X===null||typeof X>"u")&&(X=vt()),U=N[pt]&&N[pt][X]),typeof U>"u"||!U.length||!U[0]){var Z="";Et=[];for(It in N[pt])this.terminals_[It]&&It>et&&Et.push("'"+this.terminals_[It]+"'");bt.showPosition?Z="Parse error on line "+(z+1)+`: +`+bt.showPosition()+` +Expecting `+Et.join(", ")+", got '"+(this.terminals_[X]||X)+"'":Z="Parse error on line "+(z+1)+": Unexpected "+(X==st?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(Z,{text:bt.match,token:this.terminals_[X]||X,line:bt.yylineno,loc:ft,expected:Et})}if(U[0]instanceof Array&&U.length>1)throw new Error("Parse Error: multiple actions possible at state: "+pt+", token: "+X);switch(U[0]){case 1:_.push(X),I.push(bt.yytext),B.push(bt.yylloc),_.push(U[1]),X=null,W=bt.yyleng,R=bt.yytext,z=bt.yylineno,ft=bt.yylloc;break;case 2:if(Ot=this.productions_[U[1]][1],nt.$=I[I.length-Ot],nt._$={first_line:B[B.length-(Ot||1)].first_line,last_line:B[B.length-1].last_line,first_column:B[B.length-(Ot||1)].first_column,last_column:B[B.length-1].last_column},ut&&(nt._$.range=[B[B.length-(Ot||1)].range[0],B[B.length-1].range[1]]),Tt=this.performAction.apply(nt,[R,W,z,mt.yy,U[1],I,B].concat(at)),typeof Tt<"u")return Tt;Ot&&(_=_.slice(0,-1*Ot*2),I=I.slice(0,-1*Ot),B=B.slice(0,-1*Ot)),_.push(this.productions_[U[1]][0]),I.push(nt.$),B.push(nt._$),Bt=N[_[_.length-2]][_[_.length-1]],_.push(Bt);break;case 3:return!0}}return!0}},p=function(){var m={EOF:1,parseError:function(E,_){if(this.yy.parser)this.yy.parser.parseError(E,_);else throw new Error(E)},setInput:function(b,E){return this.yy=E||this.yy||{},this._input=b,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var b=this._input[0];this.yytext+=b,this.yyleng++,this.offset++,this.match+=b,this.matched+=b;var E=b.match(/(?:\r\n?|\n).*/g);return E?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),b},unput:function(b){var E=b.length,_=b.split(/(?:\r\n?|\n)/g);this._input=b+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-E),this.offset-=E;var A=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),_.length-1&&(this.yylineno-=_.length-1);var I=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:_?(_.length===A.length?this.yylloc.first_column:0)+A[A.length-_.length].length-_[0].length:this.yylloc.first_column-E},this.options.ranges&&(this.yylloc.range=[I[0],I[0]+this.yyleng-E]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(b){this.unput(this.match.slice(b))},pastInput:function(){var b=this.matched.substr(0,this.matched.length-this.match.length);return(b.length>20?"...":"")+b.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var b=this.match;return b.length<20&&(b+=this._input.substr(0,20-b.length)),(b.substr(0,20)+(b.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var b=this.pastInput(),E=new Array(b.length+1).join("-");return b+this.upcomingInput()+` +`+E+"^"},test_match:function(b,E){var _,A,I;if(this.options.backtrack_lexer&&(I={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(I.yylloc.range=this.yylloc.range.slice(0))),A=b[0].match(/(?:\r\n?|\n).*/g),A&&(this.yylineno+=A.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:A?A[A.length-1].length-A[A.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],_=this.performAction.call(this,this.yy,this,E,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),_)return _;if(this._backtrack){for(var B in I)this[B]=I[B];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var b,E,_,A;this._more||(this.yytext="",this.match="");for(var I=this._currentRules(),B=0;BE[0].length)){if(E=_,A=B,this.options.backtrack_lexer){if(b=this.test_match(_,I[B]),b!==!1)return b;if(this._backtrack){E=!1;continue}else return!1}else if(!this.options.flex)break}return E?(b=this.test_match(E,I[A]),b!==!1?b:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var E=this.next();return E||this.lex()},begin:function(E){this.conditionStack.push(E)},popState:function(){var E=this.conditionStack.length-1;return E>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(E){return E=this.conditionStack.length-1-Math.abs(E||0),E>=0?this.conditionStack[E]:"INITIAL"},pushState:function(E){this.begin(E)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(E,_,A,I){switch(A){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};return m}();f.lexer=p;function w(){this.yy={}}return w.prototype=f,f.Parser=w,new w}();ngt.parser=ngt;const Xqe=ngt,sRt={info:!1};let rgt=sRt.info;const Qqe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Xqe,db:{clear:()=>{rgt=sRt.info},setInfo:i=>{rgt=i},getInfo:()=>rgt},renderer:{draw:(i,a,f)=>{Ut.debug(`rendering info diagram +`+i);const p=VW(a);k0(p,100,400,!0),p.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${f}`)}}}},Symbol.toStringTag,{value:"Module"}));var igt=function(){var i=function(bt,mt,yt,ft){for(yt=yt||{},ft=bt.length;ft--;yt[bt[ft]]=mt);return yt},a=[1,3],f=[1,4],p=[1,5],w=[1,6],m=[1,10,12,14,16,18,19,20,21,22],b=[2,4],E=[1,5,10,12,14,16,18,19,20,21,22],_=[20,21,22],A=[2,7],I=[1,12],B=[1,13],N=[1,14],R=[1,15],z=[1,16],W=[1,17],et={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,PIE:5,document:6,showData:7,line:8,statement:9,txt:10,value:11,title:12,title_value:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,section:19,NEWLINE:20,";":21,EOF:22,$accept:0,$end:1},terminals_:{2:"error",5:"PIE",7:"showData",10:"txt",11:"value",12:"title",13:"title_value",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"section",20:"NEWLINE",21:";",22:"EOF"},productions_:[0,[3,2],[3,2],[3,3],[6,0],[6,2],[8,2],[9,0],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[4,1],[4,1],[4,1]],performAction:function(mt,yt,ft,ut,vt,X,pt){var U=X.length-1;switch(vt){case 3:ut.setShowData(!0);break;case 6:this.$=X[U-1];break;case 8:ut.addSection(X[U-1],ut.cleanupValue(X[U]));break;case 9:this.$=X[U].trim(),ut.setDiagramTitle(this.$);break;case 10:this.$=X[U].trim(),ut.setAccTitle(this.$);break;case 11:case 12:this.$=X[U].trim(),ut.setAccDescription(this.$);break;case 13:ut.addSection(X[U].substr(8)),this.$=X[U].substr(8);break}},table:[{3:1,4:2,5:a,20:f,21:p,22:w},{1:[3]},{3:7,4:2,5:a,20:f,21:p,22:w},i(m,b,{6:8,7:[1,9]}),i(E,[2,14]),i(E,[2,15]),i(E,[2,16]),{1:[2,1]},i(_,A,{8:10,9:11,1:[2,2],10:I,12:B,14:N,16:R,18:z,19:W}),i(m,b,{6:18}),i(m,[2,5]),{4:19,20:f,21:p,22:w},{11:[1,20]},{13:[1,21]},{15:[1,22]},{17:[1,23]},i(_,[2,12]),i(_,[2,13]),i(_,A,{8:10,9:11,1:[2,3],10:I,12:B,14:N,16:R,18:z,19:W}),i(m,[2,6]),i(_,[2,8]),i(_,[2,9]),i(_,[2,10]),i(_,[2,11])],defaultActions:{7:[2,1]},parseError:function(mt,yt){if(yt.recoverable)this.trace(mt);else{var ft=new Error(mt);throw ft.hash=yt,ft}},parse:function(mt){var yt=this,ft=[0],ut=[],vt=[null],X=[],pt=this.table,U="",Tt=0,nt=0,It=2,Ot=1,Bt=X.slice.call(arguments,1),Et=Object.create(this.lexer),Z={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(Z.yy[Ct]=this.yy[Ct]);Et.setInput(mt,Z.yy),Z.yy.lexer=Et,Z.yy.parser=this,typeof Et.yylloc>"u"&&(Et.yylloc={});var xt=Et.yylloc;X.push(xt);var Ht=Et.options&&Et.options.ranges;typeof Z.yy.parseError=="function"?this.parseError=Z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Le(){var se;return se=ut.pop()||Et.lex()||Ot,typeof se!="number"&&(se instanceof Array&&(ut=se,se=ut.pop()),se=yt.symbols_[se]||se),se}for(var Ft,gn,Se,me,Ve={},Ye,ce,ke,zt;;){if(gn=ft[ft.length-1],this.defaultActions[gn]?Se=this.defaultActions[gn]:((Ft===null||typeof Ft>"u")&&(Ft=Le()),Se=pt[gn]&&pt[gn][Ft]),typeof Se>"u"||!Se.length||!Se[0]){var re="";zt=[];for(Ye in pt[gn])this.terminals_[Ye]&&Ye>It&&zt.push("'"+this.terminals_[Ye]+"'");Et.showPosition?re="Parse error on line "+(Tt+1)+`: +`+Et.showPosition()+` +Expecting `+zt.join(", ")+", got '"+(this.terminals_[Ft]||Ft)+"'":re="Parse error on line "+(Tt+1)+": Unexpected "+(Ft==Ot?"end of input":"'"+(this.terminals_[Ft]||Ft)+"'"),this.parseError(re,{text:Et.match,token:this.terminals_[Ft]||Ft,line:Et.yylineno,loc:xt,expected:zt})}if(Se[0]instanceof Array&&Se.length>1)throw new Error("Parse Error: multiple actions possible at state: "+gn+", token: "+Ft);switch(Se[0]){case 1:ft.push(Ft),vt.push(Et.yytext),X.push(Et.yylloc),ft.push(Se[1]),Ft=null,nt=Et.yyleng,U=Et.yytext,Tt=Et.yylineno,xt=Et.yylloc;break;case 2:if(ce=this.productions_[Se[1]][1],Ve.$=vt[vt.length-ce],Ve._$={first_line:X[X.length-(ce||1)].first_line,last_line:X[X.length-1].last_line,first_column:X[X.length-(ce||1)].first_column,last_column:X[X.length-1].last_column},Ht&&(Ve._$.range=[X[X.length-(ce||1)].range[0],X[X.length-1].range[1]]),me=this.performAction.apply(Ve,[U,nt,Tt,Z.yy,Se[1],vt,X].concat(Bt)),typeof me<"u")return me;ce&&(ft=ft.slice(0,-1*ce*2),vt=vt.slice(0,-1*ce),X=X.slice(0,-1*ce)),ft.push(this.productions_[Se[1]][0]),vt.push(Ve.$),X.push(Ve._$),ke=pt[ft[ft.length-2]][ft[ft.length-1]],ft.push(ke);break;case 3:return!0}}return!0}},st=function(){var bt={EOF:1,parseError:function(yt,ft){if(this.yy.parser)this.yy.parser.parseError(yt,ft);else throw new Error(yt)},setInput:function(mt,yt){return this.yy=yt||this.yy||{},this._input=mt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var mt=this._input[0];this.yytext+=mt,this.yyleng++,this.offset++,this.match+=mt,this.matched+=mt;var yt=mt.match(/(?:\r\n?|\n).*/g);return yt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),mt},unput:function(mt){var yt=mt.length,ft=mt.split(/(?:\r\n?|\n)/g);this._input=mt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-yt),this.offset-=yt;var ut=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ft.length-1&&(this.yylineno-=ft.length-1);var vt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ft?(ft.length===ut.length?this.yylloc.first_column:0)+ut[ut.length-ft.length].length-ft[0].length:this.yylloc.first_column-yt},this.options.ranges&&(this.yylloc.range=[vt[0],vt[0]+this.yyleng-yt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(mt){this.unput(this.match.slice(mt))},pastInput:function(){var mt=this.matched.substr(0,this.matched.length-this.match.length);return(mt.length>20?"...":"")+mt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var mt=this.match;return mt.length<20&&(mt+=this._input.substr(0,20-mt.length)),(mt.substr(0,20)+(mt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var mt=this.pastInput(),yt=new Array(mt.length+1).join("-");return mt+this.upcomingInput()+` +`+yt+"^"},test_match:function(mt,yt){var ft,ut,vt;if(this.options.backtrack_lexer&&(vt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(vt.yylloc.range=this.yylloc.range.slice(0))),ut=mt[0].match(/(?:\r\n?|\n).*/g),ut&&(this.yylineno+=ut.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ut?ut[ut.length-1].length-ut[ut.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+mt[0].length},this.yytext+=mt[0],this.match+=mt[0],this.matches=mt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(mt[0].length),this.matched+=mt[0],ft=this.performAction.call(this,this.yy,this,yt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ft)return ft;if(this._backtrack){for(var X in vt)this[X]=vt[X];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var mt,yt,ft,ut;this._more||(this.yytext="",this.match="");for(var vt=this._currentRules(),X=0;Xyt[0].length)){if(yt=ft,ut=X,this.options.backtrack_lexer){if(mt=this.test_match(ft,vt[X]),mt!==!1)return mt;if(this._backtrack){yt=!1;continue}else return!1}else if(!this.options.flex)break}return yt?(mt=this.test_match(yt,vt[ut]),mt!==!1?mt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var yt=this.next();return yt||this.lex()},begin:function(yt){this.conditionStack.push(yt)},popState:function(){var yt=this.conditionStack.length-1;return yt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(yt){return yt=this.conditionStack.length-1-Math.abs(yt||0),yt>=0?this.conditionStack[yt]:"INITIAL"},pushState:function(yt){this.begin(yt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(yt,ft,ut,vt){switch(ut){case 0:break;case 1:break;case 2:return 20;case 3:break;case 4:break;case 5:return this.begin("title"),12;case 6:return this.popState(),"title_value";case 7:return this.begin("acc_title"),14;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),16;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:this.begin("string");break;case 15:this.popState();break;case 16:return"txt";case 17:return 5;case 18:return 7;case 19:return"value";case 20:return 22}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[6],inclusive:!1},string:{rules:[15,16],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,7,9,11,14,17,18,19,20],inclusive:!0}}};return bt}();et.lexer=st;function at(){this.yy={}}return at.prototype=et,et.Parser=at,new at}();igt.parser=igt;const Zqe=igt,aRt=Zh.pie,FY={sections:{},showData:!1,config:aRt};let NY=FY.sections,sgt=FY.showData;const Jqe=structuredClone(aRt),tHe={getConfig:()=>structuredClone(Jqe),clear:()=>{NY=structuredClone(FY.sections),sgt=FY.showData,hg()},setDiagramTitle:Nb,getDiagramTitle:pg,setAccTitle:E0,getAccTitle:fg,setAccDescription:dg,getAccDescription:gg,addSection:(i,a)=>{i=Q1(i,Oe()),NY[i]===void 0&&(NY[i]=a,Ut.debug(`added new section: ${i}, with value: ${a}`))},getSections:()=>NY,cleanupValue:i=>(i.substring(0,1)===":"&&(i=i.substring(1).trim()),Number(i.trim())),setShowData:i=>{sgt=i},getShowData:()=>sgt},eHe=i=>` + .pieCircle{ + stroke: ${i.pieStrokeColor}; + stroke-width : ${i.pieStrokeWidth}; + opacity : ${i.pieOpacity}; + } + .pieOuterCircle{ + stroke: ${i.pieOuterStrokeColor}; + stroke-width: ${i.pieOuterStrokeWidth}; + fill: none; + } + .pieTitleText { + text-anchor: middle; + font-size: ${i.pieTitleTextSize}; + fill: ${i.pieTitleTextColor}; + font-family: ${i.fontFamily}; + } + .slice { + font-family: ${i.fontFamily}; + fill: ${i.pieSectionTextColor}; + font-size:${i.pieSectionTextSize}; + // fill: white; + } + .legend text { + fill: ${i.pieLegendTextColor}; + font-family: ${i.fontFamily}; + font-size: ${i.pieLegendTextSize}; + } +`,nHe=i=>{const a=Object.entries(i).map(p=>({label:p[0],value:p[1]})).sort((p,w)=>w.value-p.value);return uTe().value(p=>p.value)(a)},rHe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Zqe,db:tHe,renderer:{draw:(i,a,f,p)=>{var pt,U;Ut.debug(`rendering pie chart +`+i);const w=p.db,m=Oe(),b=rF(w.getConfig(),m.pie),E=450,_=((U=(pt=document.getElementById(a))==null?void 0:pt.parentElement)==null?void 0:U.offsetWidth)??b.useWidth,A=VW(a);A.attr("viewBox",`0 0 ${_} ${E}`),k0(A,E,_,b.useMaxWidth);const I=40,B=18,N=4,R=A.append("g");R.attr("transform","translate("+_/2+","+E/2+")");const{themeVariables:z}=m;let[W]=VA(z.pieOuterStrokeWidth);W??(W=2);const et=b.textPosition,st=Math.min(_,E)/2-I,at=OA().innerRadius(0).outerRadius(st),bt=OA().innerRadius(st*et).outerRadius(st*et);R.append("circle").attr("cx",0).attr("cy",0).attr("r",st+W/2).attr("class","pieOuterCircle");const mt=w.getSections(),yt=nHe(mt),ft=[z.pie1,z.pie2,z.pie3,z.pie4,z.pie5,z.pie6,z.pie7,z.pie8,z.pie9,z.pie10,z.pie11,z.pie12],ut=XU(ft);R.selectAll("mySlices").data(yt).enter().append("path").attr("d",at).attr("fill",Tt=>ut(Tt.data.label)).attr("class","pieCircle");let vt=0;Object.keys(mt).forEach(Tt=>{vt+=mt[Tt]}),R.selectAll("mySlices").data(yt).enter().append("text").text(Tt=>(Tt.data.value/vt*100).toFixed(0)+"%").attr("transform",Tt=>"translate("+bt.centroid(Tt)+")").style("text-anchor","middle").attr("class","slice"),R.append("text").text(w.getDiagramTitle()).attr("x",0).attr("y",-(E-50)/2).attr("class","pieTitleText");const X=R.selectAll(".legend").data(ut.domain()).enter().append("g").attr("class","legend").attr("transform",(Tt,nt)=>{const It=B+N,Ot=It*ut.domain().length/2,Bt=12*B,Et=nt*It-Ot;return"translate("+Bt+","+Et+")"});X.append("rect").attr("width",B).attr("height",B).style("fill",ut).style("stroke",ut),X.data(yt).append("text").attr("x",B+N).attr("y",B-N).text(Tt=>{const{label:nt,value:It}=Tt.data;return w.getShowData()?`${nt} [${It}]`:nt})}},styles:eHe}},Symbol.toStringTag,{value:"Module"}));var agt=function(){var i=function(Se,me,Ve,Ye){for(Ve=Ve||{},Ye=Se.length;Ye--;Ve[Se[Ye]]=me);return Ve},a=[1,3],f=[1,4],p=[1,5],w=[1,6],m=[1,7],b=[1,5,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],E=[1,5,6,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],_=[32,33,34],A=[2,7],I=[1,13],B=[1,17],N=[1,18],R=[1,19],z=[1,20],W=[1,21],et=[1,22],st=[1,23],at=[1,24],bt=[1,25],mt=[1,26],yt=[1,27],ft=[1,30],ut=[1,31],vt=[1,32],X=[1,33],pt=[1,34],U=[1,35],Tt=[1,36],nt=[1,37],It=[1,38],Ot=[1,39],Bt=[1,40],Et=[1,41],Z=[1,42],Ct=[1,57],xt=[1,58],Ht=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],Le={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,QUADRANT:6,document:7,line:8,statement:9,axisDetails:10,quadrantDetails:11,points:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,text:21,point_start:22,point_x:23,point_y:24,"X-AXIS":25,"AXIS-TEXT-DELIMITER":26,"Y-AXIS":27,QUADRANT_1:28,QUADRANT_2:29,QUADRANT_3:30,QUADRANT_4:31,NEWLINE:32,SEMI:33,EOF:34,alphaNumToken:35,textNoTagsToken:36,STR:37,MD_STR:38,alphaNum:39,PUNCTUATION:40,AMP:41,NUM:42,ALPHA:43,COMMA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,UNDERSCORE:50,MINUS:51,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",6:"QUADRANT",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",22:"point_start",23:"point_x",24:"point_y",25:"X-AXIS",26:"AXIS-TEXT-DELIMITER",27:"Y-AXIS",28:"QUADRANT_1",29:"QUADRANT_2",30:"QUADRANT_3",31:"QUADRANT_4",32:"NEWLINE",33:"SEMI",34:"EOF",37:"STR",38:"MD_STR",40:"PUNCTUATION",41:"AMP",42:"NUM",43:"ALPHA",44:"COMMA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"UNDERSCORE",51:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,1],[9,1],[9,1],[9,2],[9,2],[9,2],[9,1],[9,1],[12,4],[10,4],[10,3],[10,2],[10,4],[10,3],[10,2],[11,2],[11,2],[11,2],[11,2],[4,1],[4,1],[4,1],[21,1],[21,2],[21,1],[21,1],[39,1],[39,2],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[36,1],[36,1],[36,1]],performAction:function(me,Ve,Ye,ce,ke,zt,re){var se=zt.length-1;switch(ke){case 12:this.$=zt[se].trim(),ce.setDiagramTitle(this.$);break;case 13:this.$=zt[se].trim(),ce.setAccTitle(this.$);break;case 14:case 15:this.$=zt[se].trim(),ce.setAccDescription(this.$);break;case 16:ce.addSection(zt[se].substr(8)),this.$=zt[se].substr(8);break;case 17:ce.addPoint(zt[se-3],zt[se-1],zt[se]);break;case 18:ce.setXAxisLeftText(zt[se-2]),ce.setXAxisRightText(zt[se]);break;case 19:zt[se-1].text+=" ⟶ ",ce.setXAxisLeftText(zt[se-1]);break;case 20:ce.setXAxisLeftText(zt[se]);break;case 21:ce.setYAxisBottomText(zt[se-2]),ce.setYAxisTopText(zt[se]);break;case 22:zt[se-1].text+=" ⟶ ",ce.setYAxisBottomText(zt[se-1]);break;case 23:ce.setYAxisBottomText(zt[se]);break;case 24:ce.setQuadrant1Text(zt[se]);break;case 25:ce.setQuadrant2Text(zt[se]);break;case 26:ce.setQuadrant3Text(zt[se]);break;case 27:ce.setQuadrant4Text(zt[se]);break;case 31:this.$={text:zt[se],type:"text"};break;case 32:this.$={text:zt[se-1].text+""+zt[se],type:zt[se-1].type};break;case 33:this.$={text:zt[se],type:"text"};break;case 34:this.$={text:zt[se],type:"markdown"};break;case 35:this.$=zt[se];break;case 36:this.$=zt[se-1]+""+zt[se];break}},table:[{3:1,4:2,5:a,6:f,32:p,33:w,34:m},{1:[3]},{3:8,4:2,5:a,6:f,32:p,33:w,34:m},{3:9,4:2,5:a,6:f,32:p,33:w,34:m},i(b,[2,4],{7:10}),i(E,[2,28]),i(E,[2,29]),i(E,[2,30]),{1:[2,1]},{1:[2,2]},i(_,A,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:I,13:B,15:N,17:R,19:z,20:W,25:et,27:st,28:at,29:bt,30:mt,31:yt,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z}),i(b,[2,5]),{4:43,32:p,33:w,34:m},i(_,A,{10:14,11:15,12:16,21:28,35:29,9:44,5:I,13:B,15:N,17:R,19:z,20:W,25:et,27:st,28:at,29:bt,30:mt,31:yt,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z}),i(_,[2,9]),i(_,[2,10]),i(_,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},i(_,[2,15]),i(_,[2,16]),{21:48,35:29,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z},{21:49,35:29,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z},{21:50,35:29,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z},{21:51,35:29,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z},{21:52,35:29,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z},{21:53,35:29,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z},{5:Ct,22:[1,54],35:56,36:55,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt},i(Ht,[2,31]),i(Ht,[2,33]),i(Ht,[2,34]),i(Ht,[2,37]),i(Ht,[2,38]),i(Ht,[2,39]),i(Ht,[2,40]),i(Ht,[2,41]),i(Ht,[2,42]),i(Ht,[2,43]),i(Ht,[2,44]),i(Ht,[2,45]),i(Ht,[2,46]),i(Ht,[2,47]),i(b,[2,6]),i(_,[2,8]),i(_,[2,12]),i(_,[2,13]),i(_,[2,14]),i(_,[2,20],{36:55,35:56,5:Ct,26:[1,59],40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),i(_,[2,23],{36:55,35:56,5:Ct,26:[1,60],40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),i(_,[2,24],{36:55,35:56,5:Ct,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),i(_,[2,25],{36:55,35:56,5:Ct,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),i(_,[2,26],{36:55,35:56,5:Ct,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),i(_,[2,27],{36:55,35:56,5:Ct,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),{23:[1,61]},i(Ht,[2,32]),i(Ht,[2,48]),i(Ht,[2,49]),i(Ht,[2,50]),i(_,[2,19],{35:29,21:62,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z}),i(_,[2,22],{35:29,21:63,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z}),{24:[1,64]},i(_,[2,18],{36:55,35:56,5:Ct,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),i(_,[2,21],{36:55,35:56,5:Ct,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),i(_,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(me,Ve){if(Ve.recoverable)this.trace(me);else{var Ye=new Error(me);throw Ye.hash=Ve,Ye}},parse:function(me){var Ve=this,Ye=[0],ce=[],ke=[null],zt=[],re=this.table,se="",Pe=0,te=0,Me=2,de=1,on=zt.slice.call(arguments,1),ni=Object.create(this.lexer),Ks={yy:{}};for(var ws in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ws)&&(Ks.yy[ws]=this.yy[ws]);ni.setInput(me,Ks.yy),Ks.yy.lexer=ni,Ks.yy.parser=this,typeof ni.yylloc>"u"&&(ni.yylloc={});var fo=ni.yylloc;zt.push(fo);var Xi=ni.options&&ni.options.ranges;typeof Ks.yy.parseError=="function"?this.parseError=Ks.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Er(){var Gs;return Gs=ce.pop()||ni.lex()||de,typeof Gs!="number"&&(Gs instanceof Array&&(ce=Gs,Gs=ce.pop()),Gs=Ve.symbols_[Gs]||Gs),Gs}for(var Xn,di,Ee,Kn,He={},Ti,pn,Es,qa;;){if(di=Ye[Ye.length-1],this.defaultActions[di]?Ee=this.defaultActions[di]:((Xn===null||typeof Xn>"u")&&(Xn=Er()),Ee=re[di]&&re[di][Xn]),typeof Ee>"u"||!Ee.length||!Ee[0]){var Ma="";qa=[];for(Ti in re[di])this.terminals_[Ti]&&Ti>Me&&qa.push("'"+this.terminals_[Ti]+"'");ni.showPosition?Ma="Parse error on line "+(Pe+1)+`: +`+ni.showPosition()+` +Expecting `+qa.join(", ")+", got '"+(this.terminals_[Xn]||Xn)+"'":Ma="Parse error on line "+(Pe+1)+": Unexpected "+(Xn==de?"end of input":"'"+(this.terminals_[Xn]||Xn)+"'"),this.parseError(Ma,{text:ni.match,token:this.terminals_[Xn]||Xn,line:ni.yylineno,loc:fo,expected:qa})}if(Ee[0]instanceof Array&&Ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+di+", token: "+Xn);switch(Ee[0]){case 1:Ye.push(Xn),ke.push(ni.yytext),zt.push(ni.yylloc),Ye.push(Ee[1]),Xn=null,te=ni.yyleng,se=ni.yytext,Pe=ni.yylineno,fo=ni.yylloc;break;case 2:if(pn=this.productions_[Ee[1]][1],He.$=ke[ke.length-pn],He._$={first_line:zt[zt.length-(pn||1)].first_line,last_line:zt[zt.length-1].last_line,first_column:zt[zt.length-(pn||1)].first_column,last_column:zt[zt.length-1].last_column},Xi&&(He._$.range=[zt[zt.length-(pn||1)].range[0],zt[zt.length-1].range[1]]),Kn=this.performAction.apply(He,[se,te,Pe,Ks.yy,Ee[1],ke,zt].concat(on)),typeof Kn<"u")return Kn;pn&&(Ye=Ye.slice(0,-1*pn*2),ke=ke.slice(0,-1*pn),zt=zt.slice(0,-1*pn)),Ye.push(this.productions_[Ee[1]][0]),ke.push(He.$),zt.push(He._$),Es=re[Ye[Ye.length-2]][Ye[Ye.length-1]],Ye.push(Es);break;case 3:return!0}}return!0}},Ft=function(){var Se={EOF:1,parseError:function(Ve,Ye){if(this.yy.parser)this.yy.parser.parseError(Ve,Ye);else throw new Error(Ve)},setInput:function(me,Ve){return this.yy=Ve||this.yy||{},this._input=me,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var me=this._input[0];this.yytext+=me,this.yyleng++,this.offset++,this.match+=me,this.matched+=me;var Ve=me.match(/(?:\r\n?|\n).*/g);return Ve?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),me},unput:function(me){var Ve=me.length,Ye=me.split(/(?:\r\n?|\n)/g);this._input=me+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ve),this.offset-=Ve;var ce=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ye.length-1&&(this.yylineno-=Ye.length-1);var ke=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ye?(Ye.length===ce.length?this.yylloc.first_column:0)+ce[ce.length-Ye.length].length-Ye[0].length:this.yylloc.first_column-Ve},this.options.ranges&&(this.yylloc.range=[ke[0],ke[0]+this.yyleng-Ve]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(me){this.unput(this.match.slice(me))},pastInput:function(){var me=this.matched.substr(0,this.matched.length-this.match.length);return(me.length>20?"...":"")+me.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var me=this.match;return me.length<20&&(me+=this._input.substr(0,20-me.length)),(me.substr(0,20)+(me.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var me=this.pastInput(),Ve=new Array(me.length+1).join("-");return me+this.upcomingInput()+` +`+Ve+"^"},test_match:function(me,Ve){var Ye,ce,ke;if(this.options.backtrack_lexer&&(ke={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ke.yylloc.range=this.yylloc.range.slice(0))),ce=me[0].match(/(?:\r\n?|\n).*/g),ce&&(this.yylineno+=ce.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ce?ce[ce.length-1].length-ce[ce.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+me[0].length},this.yytext+=me[0],this.match+=me[0],this.matches=me,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(me[0].length),this.matched+=me[0],Ye=this.performAction.call(this,this.yy,this,Ve,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ye)return Ye;if(this._backtrack){for(var zt in ke)this[zt]=ke[zt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var me,Ve,Ye,ce;this._more||(this.yytext="",this.match="");for(var ke=this._currentRules(),zt=0;ztVe[0].length)){if(Ve=Ye,ce=zt,this.options.backtrack_lexer){if(me=this.test_match(Ye,ke[zt]),me!==!1)return me;if(this._backtrack){Ve=!1;continue}else return!1}else if(!this.options.flex)break}return Ve?(me=this.test_match(Ve,ke[ce]),me!==!1?me:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ve=this.next();return Ve||this.lex()},begin:function(Ve){this.conditionStack.push(Ve)},popState:function(){var Ve=this.conditionStack.length-1;return Ve>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ve){return Ve=this.conditionStack.length-1-Math.abs(Ve||0),Ve>=0?this.conditionStack[Ve]:"INITIAL"},pushState:function(Ve){this.begin(Ve)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ve,Ye,ce,ke){switch(ce){case 0:break;case 1:break;case 2:return 32;case 3:break;case 4:return this.begin("title"),13;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),15;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),17;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 25;case 14:return 27;case 15:return 26;case 16:return 28;case 17:return 29;case 18:return 30;case 19:return 31;case 20:this.begin("md_string");break;case 21:return"MD_STR";case 22:this.popState();break;case 23:this.begin("string");break;case 24:this.popState();break;case 25:return"STR";case 26:return this.begin("point_start"),22;case 27:return this.begin("point_x"),23;case 28:this.popState();break;case 29:this.popState(),this.begin("point_y");break;case 30:return this.popState(),24;case 31:return 6;case 32:return 43;case 33:return"COLON";case 34:return 45;case 35:return 44;case 36:return 46;case 37:return 46;case 38:return 47;case 39:return 49;case 40:return 50;case 41:return 48;case 42:return 41;case 43:return 51;case 44:return 42;case 45:return 5;case 46:return 33;case 47:return 40;case 48:return 34}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{point_y:{rules:[30],inclusive:!1},point_x:{rules:[29],inclusive:!1},point_start:{rules:[27,28],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[21,22],inclusive:!1},string:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,23,26,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};return Se}();Le.lexer=Ft;function gn(){this.yy={}}return gn.prototype=Le,Le.Parser=gn,new gn}();agt.parser=agt;const iHe=agt,mg=X1t();class sHe{constructor(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){var a,f,p,w,m,b,E,_,A,I,B,N,R,z,W,et,st,at;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:((a=Zh.quadrantChart)==null?void 0:a.chartWidth)||500,chartWidth:((f=Zh.quadrantChart)==null?void 0:f.chartHeight)||500,titlePadding:((p=Zh.quadrantChart)==null?void 0:p.titlePadding)||10,titleFontSize:((w=Zh.quadrantChart)==null?void 0:w.titleFontSize)||20,quadrantPadding:((m=Zh.quadrantChart)==null?void 0:m.quadrantPadding)||5,xAxisLabelPadding:((b=Zh.quadrantChart)==null?void 0:b.xAxisLabelPadding)||5,yAxisLabelPadding:((E=Zh.quadrantChart)==null?void 0:E.yAxisLabelPadding)||5,xAxisLabelFontSize:((_=Zh.quadrantChart)==null?void 0:_.xAxisLabelFontSize)||16,yAxisLabelFontSize:((A=Zh.quadrantChart)==null?void 0:A.yAxisLabelFontSize)||16,quadrantLabelFontSize:((I=Zh.quadrantChart)==null?void 0:I.quadrantLabelFontSize)||16,quadrantTextTopPadding:((B=Zh.quadrantChart)==null?void 0:B.quadrantTextTopPadding)||5,pointTextPadding:((N=Zh.quadrantChart)==null?void 0:N.pointTextPadding)||5,pointLabelFontSize:((R=Zh.quadrantChart)==null?void 0:R.pointLabelFontSize)||12,pointRadius:((z=Zh.quadrantChart)==null?void 0:z.pointRadius)||5,xAxisPosition:((W=Zh.quadrantChart)==null?void 0:W.xAxisPosition)||"top",yAxisPosition:((et=Zh.quadrantChart)==null?void 0:et.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:((st=Zh.quadrantChart)==null?void 0:st.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:((at=Zh.quadrantChart)==null?void 0:at.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:mg.quadrant1Fill,quadrant2Fill:mg.quadrant2Fill,quadrant3Fill:mg.quadrant3Fill,quadrant4Fill:mg.quadrant4Fill,quadrant1TextFill:mg.quadrant1TextFill,quadrant2TextFill:mg.quadrant2TextFill,quadrant3TextFill:mg.quadrant3TextFill,quadrant4TextFill:mg.quadrant4TextFill,quadrantPointFill:mg.quadrantPointFill,quadrantPointTextFill:mg.quadrantPointTextFill,quadrantXAxisTextFill:mg.quadrantXAxisTextFill,quadrantYAxisTextFill:mg.quadrantYAxisTextFill,quadrantTitleFill:mg.quadrantTitleFill,quadrantInternalBorderStrokeFill:mg.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:mg.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),Ut.info("clear called")}setData(a){this.data={...this.data,...a}}addPoints(a){this.data.points=[...a,...this.data.points]}setConfig(a){Ut.trace("setConfig called with: ",a),this.config={...this.config,...a}}setThemeConfig(a){Ut.trace("setThemeConfig called with: ",a),this.themeConfig={...this.themeConfig,...a}}calculateSpace(a,f,p,w){const m=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,b={top:a==="top"&&f?m:0,bottom:a==="bottom"&&f?m:0},E=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,_={left:this.config.yAxisPosition==="left"&&p?E:0,right:this.config.yAxisPosition==="right"&&p?E:0},A=this.config.titleFontSize+this.config.titlePadding*2,I={top:w?A:0},B=this.config.quadrantPadding+_.left,N=this.config.quadrantPadding+b.top+I.top,R=this.config.chartWidth-this.config.quadrantPadding*2-_.left-_.right,z=this.config.chartHeight-this.config.quadrantPadding*2-b.top-b.bottom-I.top,W=R/2,et=z/2;return{xAxisSpace:b,yAxisSpace:_,titleSpace:I,quadrantSpace:{quadrantLeft:B,quadrantTop:N,quadrantWidth:R,quadrantHalfWidth:W,quadrantHeight:z,quadrantHalfHeight:et}}}getAxisLabels(a,f,p,w){const{quadrantSpace:m,titleSpace:b}=w,{quadrantHalfHeight:E,quadrantHeight:_,quadrantLeft:A,quadrantHalfWidth:I,quadrantTop:B,quadrantWidth:N}=m,R=!!this.data.xAxisRightText,z=!!this.data.yAxisTopText,W=[];return this.data.xAxisLeftText&&f&&W.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:A+(R?I/2:0),y:a==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+B+_+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:R?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&f&&W.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:A+I+(R?I/2:0),y:a==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+B+_+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:R?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&p&&W.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+A+N+this.config.quadrantPadding,y:B+_-(z?E/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:z?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&p&&W.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+A+N+this.config.quadrantPadding,y:B+E-(z?E/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:z?"center":"left",horizontalPos:"top",rotation:-90}),W}getQuadrants(a){const{quadrantSpace:f}=a,{quadrantHalfHeight:p,quadrantLeft:w,quadrantHalfWidth:m,quadrantTop:b}=f,E=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w+m,y:b,width:m,height:p,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w,y:b,width:m,height:p,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w,y:b+p,width:m,height:p,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w+m,y:b+p,width:m,height:p,fill:this.themeConfig.quadrant4Fill}];for(const _ of E)_.text.x=_.x+_.width/2,this.data.points.length===0?(_.text.y=_.y+_.height/2,_.text.horizontalPos="middle"):(_.text.y=_.y+this.config.quadrantTextTopPadding,_.text.horizontalPos="top");return E}getQuadrantPoints(a){const{quadrantSpace:f}=a,{quadrantHeight:p,quadrantLeft:w,quadrantTop:m,quadrantWidth:b}=f,E=AA().domain([0,1]).range([w,b+w]),_=AA().domain([0,1]).range([p+m,m]);return this.data.points.map(I=>({x:E(I.x),y:_(I.y),fill:this.themeConfig.quadrantPointFill,radius:this.config.pointRadius,text:{text:I.text,fill:this.themeConfig.quadrantPointTextFill,x:E(I.x),y:_(I.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0}}))}getBorders(a){const f=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:p}=a,{quadrantHalfHeight:w,quadrantHeight:m,quadrantLeft:b,quadrantHalfWidth:E,quadrantTop:_,quadrantWidth:A}=p;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-f,y1:_,x2:b+A+f,y2:_},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b+A,y1:_+f,x2:b+A,y2:_+m-f},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-f,y1:_+m,x2:b+A+f,y2:_+m},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b,y1:_+f,x2:b,y2:_+m-f},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+E,y1:_+f,x2:b+E,y2:_+m-f},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+f,y1:_+w,x2:b+A-f,y2:_+w}]}getTitle(a){if(a)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const a=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),f=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),p=this.config.showTitle&&!!this.data.titleText,w=this.data.points.length>0?"bottom":this.config.xAxisPosition,m=this.calculateSpace(w,a,f,p);return{points:this.getQuadrantPoints(m),quadrants:this.getQuadrants(m),axisLabels:this.getAxisLabels(w,a,f,m),borderLines:this.getBorders(m),title:this.getTitle(p)}}}const aHe=Oe();function B5(i){return Q1(i.trim(),aHe)}const _0=new sHe;function oHe(i){_0.setData({quadrant1Text:B5(i.text)})}function cHe(i){_0.setData({quadrant2Text:B5(i.text)})}function uHe(i){_0.setData({quadrant3Text:B5(i.text)})}function lHe(i){_0.setData({quadrant4Text:B5(i.text)})}function hHe(i){_0.setData({xAxisLeftText:B5(i.text)})}function fHe(i){_0.setData({xAxisRightText:B5(i.text)})}function dHe(i){_0.setData({yAxisTopText:B5(i.text)})}function gHe(i){_0.setData({yAxisBottomText:B5(i.text)})}function pHe(i,a,f){_0.addPoints([{x:a,y:f,text:B5(i.text)}])}function bHe(i){_0.setConfig({chartWidth:i})}function wHe(i){_0.setConfig({chartHeight:i})}function vHe(){const i=Oe(),{themeVariables:a,quadrantChart:f}=i;return f&&_0.setConfig(f),_0.setThemeConfig({quadrant1Fill:a.quadrant1Fill,quadrant2Fill:a.quadrant2Fill,quadrant3Fill:a.quadrant3Fill,quadrant4Fill:a.quadrant4Fill,quadrant1TextFill:a.quadrant1TextFill,quadrant2TextFill:a.quadrant2TextFill,quadrant3TextFill:a.quadrant3TextFill,quadrant4TextFill:a.quadrant4TextFill,quadrantPointFill:a.quadrantPointFill,quadrantPointTextFill:a.quadrantPointTextFill,quadrantXAxisTextFill:a.quadrantXAxisTextFill,quadrantYAxisTextFill:a.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:a.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:a.quadrantInternalBorderStrokeFill,quadrantTitleFill:a.quadrantTitleFill}),_0.setData({titleText:pg()}),_0.build()}const mHe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:iHe,db:{setWidth:bHe,setHeight:wHe,setQuadrant1Text:oHe,setQuadrant2Text:cHe,setQuadrant3Text:uHe,setQuadrant4Text:lHe,setXAxisLeftText:hHe,setXAxisRightText:fHe,setYAxisTopText:dHe,setYAxisBottomText:gHe,addPoint:pHe,getQuadrantData:vHe,clear:function(){_0.clear(),hg()},setAccTitle:E0,getAccTitle:fg,setDiagramTitle:Nb,getDiagramTitle:pg,getAccDescription:gg,setAccDescription:dg},renderer:{draw:(i,a,f,p)=>{var vt,X,pt;function w(U){return U==="top"?"hanging":"middle"}function m(U){return U==="left"?"start":"middle"}function b(U){return`translate(${U.x}, ${U.y}) rotate(${U.rotation||0})`}const E=Oe();Ut.debug(`Rendering quadrant chart +`+i);const _=E.securityLevel;let A;_==="sandbox"&&(A=yr("#i"+a));const B=yr(_==="sandbox"?A.nodes()[0].contentDocument.body:"body").select(`[id="${a}"]`),N=B.append("g").attr("class","main"),R=((vt=E.quadrantChart)==null?void 0:vt.chartWidth)||500,z=((X=E.quadrantChart)==null?void 0:X.chartHeight)||500;k0(B,z,R,((pt=E.quadrantChart)==null?void 0:pt.useMaxWidth)||!0),B.attr("viewBox","0 0 "+R+" "+z),p.db.setHeight(z),p.db.setWidth(R);const W=p.db.getQuadrantData(),et=N.append("g").attr("class","quadrants"),st=N.append("g").attr("class","border"),at=N.append("g").attr("class","data-points"),bt=N.append("g").attr("class","labels"),mt=N.append("g").attr("class","title");W.title&&mt.append("text").attr("x",0).attr("y",0).attr("fill",W.title.fill).attr("font-size",W.title.fontSize).attr("dominant-baseline",w(W.title.horizontalPos)).attr("text-anchor",m(W.title.verticalPos)).attr("transform",b(W.title)).text(W.title.text),W.borderLines&&st.selectAll("line").data(W.borderLines).enter().append("line").attr("x1",U=>U.x1).attr("y1",U=>U.y1).attr("x2",U=>U.x2).attr("y2",U=>U.y2).style("stroke",U=>U.strokeFill).style("stroke-width",U=>U.strokeWidth);const yt=et.selectAll("g.quadrant").data(W.quadrants).enter().append("g").attr("class","quadrant");yt.append("rect").attr("x",U=>U.x).attr("y",U=>U.y).attr("width",U=>U.width).attr("height",U=>U.height).attr("fill",U=>U.fill),yt.append("text").attr("x",0).attr("y",0).attr("fill",U=>U.text.fill).attr("font-size",U=>U.text.fontSize).attr("dominant-baseline",U=>w(U.text.horizontalPos)).attr("text-anchor",U=>m(U.text.verticalPos)).attr("transform",U=>b(U.text)).text(U=>U.text.text),bt.selectAll("g.label").data(W.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(U=>U.text).attr("fill",U=>U.fill).attr("font-size",U=>U.fontSize).attr("dominant-baseline",U=>w(U.horizontalPos)).attr("text-anchor",U=>m(U.verticalPos)).attr("transform",U=>b(U));const ut=at.selectAll("g.data-point").data(W.points).enter().append("g").attr("class","data-point");ut.append("circle").attr("cx",U=>U.x).attr("cy",U=>U.y).attr("r",U=>U.radius).attr("fill",U=>U.fill),ut.append("text").attr("x",0).attr("y",0).text(U=>U.text.text).attr("fill",U=>U.text.fill).attr("font-size",U=>U.text.fontSize).attr("dominant-baseline",U=>w(U.text.horizontalPos)).attr("text-anchor",U=>m(U.text.verticalPos)).attr("transform",U=>b(U.text))}},styles:()=>""}},Symbol.toStringTag,{value:"Module"}));var ogt=function(){var i=function(Ot,Bt,Et,Z){for(Et=Et||{},Z=Ot.length;Z--;Et[Ot[Z]]=Bt);return Et},a=[1,10,12,14,16,18,19,21,23],f=[2,6],p=[1,3],w=[1,5],m=[1,6],b=[1,7],E=[1,5,10,12,14,16,18,19,21,23,34,35,36],_=[1,25],A=[1,26],I=[1,28],B=[1,29],N=[1,30],R=[1,31],z=[1,32],W=[1,33],et=[1,34],st=[1,35],at=[1,36],bt=[1,37],mt=[1,43],yt=[1,42],ft=[1,47],ut=[1,50],vt=[1,10,12,14,16,18,19,21,23,34,35,36],X=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],pt=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],U=[1,64],Tt={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:function(Bt,Et,Z,Ct,xt,Ht,Le){var Ft=Ht.length-1;switch(xt){case 5:Ct.setOrientation(Ht[Ft]);break;case 9:Ct.setDiagramTitle(Ht[Ft].text.trim());break;case 12:Ct.setLineData({text:"",type:"text"},Ht[Ft]);break;case 13:Ct.setLineData(Ht[Ft-1],Ht[Ft]);break;case 14:Ct.setBarData({text:"",type:"text"},Ht[Ft]);break;case 15:Ct.setBarData(Ht[Ft-1],Ht[Ft]);break;case 16:this.$=Ht[Ft].trim(),Ct.setAccTitle(this.$);break;case 17:case 18:this.$=Ht[Ft].trim(),Ct.setAccDescription(this.$);break;case 19:this.$=Ht[Ft-1];break;case 20:this.$=[Number(Ht[Ft-2]),...Ht[Ft]];break;case 21:this.$=[Number(Ht[Ft])];break;case 22:Ct.setXAxisTitle(Ht[Ft]);break;case 23:Ct.setXAxisTitle(Ht[Ft-1]);break;case 24:Ct.setXAxisTitle({type:"text",text:""});break;case 25:Ct.setXAxisBand(Ht[Ft]);break;case 26:Ct.setXAxisRangeData(Number(Ht[Ft-2]),Number(Ht[Ft]));break;case 27:this.$=Ht[Ft-1];break;case 28:this.$=[Ht[Ft-2],...Ht[Ft]];break;case 29:this.$=[Ht[Ft]];break;case 30:Ct.setYAxisTitle(Ht[Ft]);break;case 31:Ct.setYAxisTitle(Ht[Ft-1]);break;case 32:Ct.setYAxisTitle({type:"text",text:""});break;case 33:Ct.setYAxisRangeData(Number(Ht[Ft-2]),Number(Ht[Ft]));break;case 37:this.$={text:Ht[Ft],type:"text"};break;case 38:this.$={text:Ht[Ft],type:"text"};break;case 39:this.$={text:Ht[Ft],type:"markdown"};break;case 40:this.$=Ht[Ft];break;case 41:this.$=Ht[Ft-1]+""+Ht[Ft];break}},table:[i(a,f,{3:1,4:2,7:4,5:p,34:w,35:m,36:b}),{1:[3]},i(a,f,{4:2,7:4,3:8,5:p,34:w,35:m,36:b}),i(a,f,{4:2,7:4,6:9,3:10,5:p,8:[1,11],34:w,35:m,36:b}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},i(E,[2,34]),i(E,[2,35]),i(E,[2,36]),{1:[2,1]},i(a,f,{4:2,7:4,3:21,5:p,34:w,35:m,36:b}),{1:[2,3]},i(E,[2,5]),i(a,[2,7],{4:22,34:w,35:m,36:b}),{11:23,37:24,38:_,39:A,40:27,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt},{11:39,13:38,24:mt,27:yt,29:40,30:41,37:24,38:_,39:A,40:27,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt},{11:45,15:44,27:ft,33:46,37:24,38:_,39:A,40:27,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt},{11:49,17:48,24:ut,37:24,38:_,39:A,40:27,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt},{11:52,17:51,24:ut,37:24,38:_,39:A,40:27,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt},{20:[1,53]},{22:[1,54]},i(vt,[2,18]),{1:[2,2]},i(vt,[2,8]),i(vt,[2,9]),i(X,[2,37],{40:55,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt}),i(X,[2,38]),i(X,[2,39]),i(pt,[2,40]),i(pt,[2,42]),i(pt,[2,43]),i(pt,[2,44]),i(pt,[2,45]),i(pt,[2,46]),i(pt,[2,47]),i(pt,[2,48]),i(pt,[2,49]),i(pt,[2,50]),i(pt,[2,51]),i(vt,[2,10]),i(vt,[2,22],{30:41,29:56,24:mt,27:yt}),i(vt,[2,24]),i(vt,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:_,39:A,40:27,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt},i(vt,[2,11]),i(vt,[2,30],{33:60,27:ft}),i(vt,[2,32]),{31:[1,61]},i(vt,[2,12]),{17:62,24:ut},{25:63,27:U},i(vt,[2,14]),{17:65,24:ut},i(vt,[2,16]),i(vt,[2,17]),i(pt,[2,41]),i(vt,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},i(vt,[2,31]),{27:[1,69]},i(vt,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},i(vt,[2,15]),i(vt,[2,26]),i(vt,[2,27]),{11:59,32:72,37:24,38:_,39:A,40:27,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt},i(vt,[2,33]),i(vt,[2,19]),{25:73,27:U},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:function(Bt,Et){if(Et.recoverable)this.trace(Bt);else{var Z=new Error(Bt);throw Z.hash=Et,Z}},parse:function(Bt){var Et=this,Z=[0],Ct=[],xt=[null],Ht=[],Le=this.table,Ft="",gn=0,Se=0,me=2,Ve=1,Ye=Ht.slice.call(arguments,1),ce=Object.create(this.lexer),ke={yy:{}};for(var zt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,zt)&&(ke.yy[zt]=this.yy[zt]);ce.setInput(Bt,ke.yy),ke.yy.lexer=ce,ke.yy.parser=this,typeof ce.yylloc>"u"&&(ce.yylloc={});var re=ce.yylloc;Ht.push(re);var se=ce.options&&ce.options.ranges;typeof ke.yy.parseError=="function"?this.parseError=ke.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pe(){var Xn;return Xn=Ct.pop()||ce.lex()||Ve,typeof Xn!="number"&&(Xn instanceof Array&&(Ct=Xn,Xn=Ct.pop()),Xn=Et.symbols_[Xn]||Xn),Xn}for(var te,Me,de,on,ni={},Ks,ws,fo,Xi;;){if(Me=Z[Z.length-1],this.defaultActions[Me]?de=this.defaultActions[Me]:((te===null||typeof te>"u")&&(te=Pe()),de=Le[Me]&&Le[Me][te]),typeof de>"u"||!de.length||!de[0]){var Er="";Xi=[];for(Ks in Le[Me])this.terminals_[Ks]&&Ks>me&&Xi.push("'"+this.terminals_[Ks]+"'");ce.showPosition?Er="Parse error on line "+(gn+1)+`: +`+ce.showPosition()+` +Expecting `+Xi.join(", ")+", got '"+(this.terminals_[te]||te)+"'":Er="Parse error on line "+(gn+1)+": Unexpected "+(te==Ve?"end of input":"'"+(this.terminals_[te]||te)+"'"),this.parseError(Er,{text:ce.match,token:this.terminals_[te]||te,line:ce.yylineno,loc:re,expected:Xi})}if(de[0]instanceof Array&&de.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Me+", token: "+te);switch(de[0]){case 1:Z.push(te),xt.push(ce.yytext),Ht.push(ce.yylloc),Z.push(de[1]),te=null,Se=ce.yyleng,Ft=ce.yytext,gn=ce.yylineno,re=ce.yylloc;break;case 2:if(ws=this.productions_[de[1]][1],ni.$=xt[xt.length-ws],ni._$={first_line:Ht[Ht.length-(ws||1)].first_line,last_line:Ht[Ht.length-1].last_line,first_column:Ht[Ht.length-(ws||1)].first_column,last_column:Ht[Ht.length-1].last_column},se&&(ni._$.range=[Ht[Ht.length-(ws||1)].range[0],Ht[Ht.length-1].range[1]]),on=this.performAction.apply(ni,[Ft,Se,gn,ke.yy,de[1],xt,Ht].concat(Ye)),typeof on<"u")return on;ws&&(Z=Z.slice(0,-1*ws*2),xt=xt.slice(0,-1*ws),Ht=Ht.slice(0,-1*ws)),Z.push(this.productions_[de[1]][0]),xt.push(ni.$),Ht.push(ni._$),fo=Le[Z[Z.length-2]][Z[Z.length-1]],Z.push(fo);break;case 3:return!0}}return!0}},nt=function(){var Ot={EOF:1,parseError:function(Et,Z){if(this.yy.parser)this.yy.parser.parseError(Et,Z);else throw new Error(Et)},setInput:function(Bt,Et){return this.yy=Et||this.yy||{},this._input=Bt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Bt=this._input[0];this.yytext+=Bt,this.yyleng++,this.offset++,this.match+=Bt,this.matched+=Bt;var Et=Bt.match(/(?:\r\n?|\n).*/g);return Et?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Bt},unput:function(Bt){var Et=Bt.length,Z=Bt.split(/(?:\r\n?|\n)/g);this._input=Bt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Et),this.offset-=Et;var Ct=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Z.length-1&&(this.yylineno-=Z.length-1);var xt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Z?(Z.length===Ct.length?this.yylloc.first_column:0)+Ct[Ct.length-Z.length].length-Z[0].length:this.yylloc.first_column-Et},this.options.ranges&&(this.yylloc.range=[xt[0],xt[0]+this.yyleng-Et]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Bt){this.unput(this.match.slice(Bt))},pastInput:function(){var Bt=this.matched.substr(0,this.matched.length-this.match.length);return(Bt.length>20?"...":"")+Bt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Bt=this.match;return Bt.length<20&&(Bt+=this._input.substr(0,20-Bt.length)),(Bt.substr(0,20)+(Bt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Bt=this.pastInput(),Et=new Array(Bt.length+1).join("-");return Bt+this.upcomingInput()+` +`+Et+"^"},test_match:function(Bt,Et){var Z,Ct,xt;if(this.options.backtrack_lexer&&(xt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(xt.yylloc.range=this.yylloc.range.slice(0))),Ct=Bt[0].match(/(?:\r\n?|\n).*/g),Ct&&(this.yylineno+=Ct.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ct?Ct[Ct.length-1].length-Ct[Ct.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Bt[0].length},this.yytext+=Bt[0],this.match+=Bt[0],this.matches=Bt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Bt[0].length),this.matched+=Bt[0],Z=this.performAction.call(this,this.yy,this,Et,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Z)return Z;if(this._backtrack){for(var Ht in xt)this[Ht]=xt[Ht];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Bt,Et,Z,Ct;this._more||(this.yytext="",this.match="");for(var xt=this._currentRules(),Ht=0;HtEt[0].length)){if(Et=Z,Ct=Ht,this.options.backtrack_lexer){if(Bt=this.test_match(Z,xt[Ht]),Bt!==!1)return Bt;if(this._backtrack){Et=!1;continue}else return!1}else if(!this.options.flex)break}return Et?(Bt=this.test_match(Et,xt[Ct]),Bt!==!1?Bt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Et=this.next();return Et||this.lex()},begin:function(Et){this.conditionStack.push(Et)},popState:function(){var Et=this.conditionStack.length-1;return Et>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Et){return Et=this.conditionStack.length-1-Math.abs(Et||0),Et>=0?this.conditionStack[Et]:"INITIAL"},pushState:function(Et){this.begin(Et)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Et,Z,Ct,xt){switch(Ct){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};return Ot}();Tt.lexer=nt;function It(){this.yy={}}return It.prototype=Tt,Tt.Parser=It,new It}();ogt.parser=ogt;const yHe=ogt;function oRt(i){return i.type==="bar"}function cRt(i){return i.type==="band"}function BF(i){return i.type==="linear"}class uRt{constructor(a){this.parentGroup=a}getMaxDimension(a,f){if(!this.parentGroup)return{width:a.reduce((m,b)=>Math.max(b.length,m),0)*f,height:f};const p={width:0,height:0},w=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",f);for(const m of a){const b=k$e(w,1,m),E=b?b.width:m.length*f,_=b?b.height:f;p.width=Math.max(p.width,E),p.height=Math.max(p.height,_)}return w.remove(),p}}const lRt=.7,hRt=.2;class fRt{constructor(a,f,p,w){this.axisConfig=a,this.title=f,this.textDimensionCalculator=p,this.axisThemeConfig=w,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(a){this.range=a,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=a[1]-a[0]:this.boundingRect.width=a[1]-a[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(a){this.axisPosition=a,this.setRange(this.range)}getTickDistance(){const a=this.getRange();return Math.abs(a[0]-a[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(a=>a.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){lRt*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(lRt*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(a){let f=a.height;if(this.axisConfig.showAxisLine&&f>this.axisConfig.axisLineWidth&&(f-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const p=this.getLabelDimension(),w=hRt*a.width;this.outerPadding=Math.min(p.width/2,w);const m=p.height+this.axisConfig.labelPadding*2;this.labelTextHeight=p.height,m<=f&&(f-=m,this.showLabel=!0)}if(this.axisConfig.showTick&&f>=this.axisConfig.tickLength&&(this.showTick=!0,f-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const p=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),w=p.height+this.axisConfig.titlePadding*2;this.titleTextHeight=p.height,w<=f&&(f-=w,this.showTitle=!0)}this.boundingRect.width=a.width,this.boundingRect.height=a.height-f}calculateSpaceIfDrawnVertical(a){let f=a.width;if(this.axisConfig.showAxisLine&&f>this.axisConfig.axisLineWidth&&(f-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const p=this.getLabelDimension(),w=hRt*a.height;this.outerPadding=Math.min(p.height/2,w);const m=p.width+this.axisConfig.labelPadding*2;m<=f&&(f-=m,this.showLabel=!0)}if(this.axisConfig.showTick&&f>=this.axisConfig.tickLength&&(this.showTick=!0,f-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const p=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),w=p.height+this.axisConfig.titlePadding*2;this.titleTextHeight=p.height,w<=f&&(f-=w,this.showTitle=!0)}this.boundingRect.width=a.width-f,this.boundingRect.height=a.height}calculateSpace(a){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(a):this.calculateSpaceIfDrawnHorizontally(a),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}getDrawableElementsForLeftAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${f},${this.boundingRect.y} L ${f},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(f),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const f=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);a.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(p=>({path:`M ${f},${this.getScaleValue(p)} L ${f-this.axisConfig.tickLength},${this.getScaleValue(p)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElementsForBottomAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.y+this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${f} L ${this.boundingRect.x+this.boundingRect.width},${f}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.getScaleValue(f),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const f=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);a.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(p=>({path:`M ${this.getScaleValue(p)},${f} L ${this.getScaleValue(p)},${f+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElementsForTopAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${f} L ${this.boundingRect.x+this.boundingRect.width},${f}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.getScaleValue(f),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const f=this.boundingRect.y;a.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(p=>({path:`M ${this.getScaleValue(p)},${f+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(p)},${f+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}class xHe extends fRt{constructor(a,f,p,w,m){super(a,w,m,f),this.categories=p,this.scale=S1t().domain(this.categories).range(this.getRange())}setRange(a){super.setRange(a)}recalculateScale(){this.scale=S1t().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Ut.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(a){return this.scale(a)||this.getRange()[0]}}class kHe extends fRt{constructor(a,f,p,w,m){super(a,w,m,f),this.domain=p,this.scale=AA().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const a=[...this.domain];this.axisPosition==="left"&&a.reverse(),this.scale=AA().domain(a).range(this.getRange())}getScaleValue(a){return this.scale(a)}}function dRt(i,a,f,p){const w=new uRt(p);return cRt(i)?new xHe(a,f,i.categories,i.title,w):new kHe(a,f,[i.min,i.max],i.title,w)}class EHe{constructor(a,f,p,w){this.textDimensionCalculator=a,this.chartConfig=f,this.chartData=p,this.chartThemeConfig=w,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}calculateSpace(a){const f=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),p=Math.max(f.width,a.width),w=f.height+2*this.chartConfig.titlePadding;return f.width<=p&&f.height<=w&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=p,this.boundingRect.height=w,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const a=[];return this.showChartTitle&&a.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),a}}function THe(i,a,f,p){const w=new uRt(p);return new EHe(w,i,a,f)}class CHe{constructor(a,f,p,w,m){this.plotData=a,this.xAxis=f,this.yAxis=p,this.orientation=w,this.plotIndex=m}getDrawableElement(){const a=this.plotData.data.map(p=>[this.xAxis.getScaleValue(p[0]),this.yAxis.getScaleValue(p[1])]);let f;return this.orientation==="horizontal"?f=E5().y(p=>p[0]).x(p=>p[1])(a):f=E5().x(p=>p[0]).y(p=>p[1])(a),f?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:f,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}class _He{constructor(a,f,p,w,m,b){this.barData=a,this.boundingRect=f,this.xAxis=p,this.yAxis=w,this.orientation=m,this.plotIndex=b}getDrawableElement(){const a=this.barData.data.map(m=>[this.xAxis.getScaleValue(m[0]),this.yAxis.getScaleValue(m[1])]),f=.05,p=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-f),w=p/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:a.map(m=>({x:this.boundingRect.x,y:m[0]-w,height:p,width:m[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:a.map(m=>({x:m[0]-w,y:m[1],width:p,height:this.boundingRect.y+this.boundingRect.height-m[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}class SHe{constructor(a,f,p){this.chartConfig=a,this.chartData=f,this.chartThemeConfig=p,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(a,f){this.xAxis=a,this.yAxis=f}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}calculateSpace(a){return this.boundingRect.width=a.width,this.boundingRect.height=a.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const a=[];for(const[f,p]of this.chartData.plots.entries())switch(p.type){case"line":{const w=new CHe(p,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,f);a.push(...w.getDrawableElement())}break;case"bar":{const w=new _He(p,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,f);a.push(...w.getDrawableElement())}break}return a}}function AHe(i,a,f){return new SHe(i,a,f)}class LHe{constructor(a,f,p,w){this.chartConfig=a,this.chartData=f,this.componentStore={title:THe(a,f,p,w),plot:AHe(a,f,p),xAxis:dRt(f.xAxis,a.xAxis,{titleColor:p.xAxisTitleColor,labelColor:p.xAxisLabelColor,tickColor:p.xAxisTickColor,axisLineColor:p.xAxisLineColor},w),yAxis:dRt(f.yAxis,a.yAxis,{titleColor:p.yAxisTitleColor,labelColor:p.yAxisLabelColor,tickColor:p.yAxisTickColor,axisLineColor:p.yAxisLineColor},w)}}calculateVerticalSpace(){let a=this.chartConfig.width,f=this.chartConfig.height,p=0,w=0,m=Math.floor(a*this.chartConfig.plotReservedSpacePercent/100),b=Math.floor(f*this.chartConfig.plotReservedSpacePercent/100),E=this.componentStore.plot.calculateSpace({width:m,height:b});a-=E.width,f-=E.height,E=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:f}),w=E.height,f-=E.height,this.componentStore.xAxis.setAxisPosition("bottom"),E=this.componentStore.xAxis.calculateSpace({width:a,height:f}),f-=E.height,this.componentStore.yAxis.setAxisPosition("left"),E=this.componentStore.yAxis.calculateSpace({width:a,height:f}),p=E.width,a-=E.width,a>0&&(m+=a,a=0),f>0&&(b+=f,f=0),this.componentStore.plot.calculateSpace({width:m,height:b}),this.componentStore.plot.setBoundingBoxXY({x:p,y:w}),this.componentStore.xAxis.setRange([p,p+m]),this.componentStore.xAxis.setBoundingBoxXY({x:p,y:w+b}),this.componentStore.yAxis.setRange([w,w+b]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:w}),this.chartData.plots.some(_=>oRt(_))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizonatalSpace(){let a=this.chartConfig.width,f=this.chartConfig.height,p=0,w=0,m=0,b=Math.floor(a*this.chartConfig.plotReservedSpacePercent/100),E=Math.floor(f*this.chartConfig.plotReservedSpacePercent/100),_=this.componentStore.plot.calculateSpace({width:b,height:E});a-=_.width,f-=_.height,_=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:f}),p=_.height,f-=_.height,this.componentStore.xAxis.setAxisPosition("left"),_=this.componentStore.xAxis.calculateSpace({width:a,height:f}),a-=_.width,w=_.width,this.componentStore.yAxis.setAxisPosition("top"),_=this.componentStore.yAxis.calculateSpace({width:a,height:f}),f-=_.height,m=p+_.height,a>0&&(b+=a,a=0),f>0&&(E+=f,f=0),this.componentStore.plot.calculateSpace({width:b,height:E}),this.componentStore.plot.setBoundingBoxXY({x:w,y:m}),this.componentStore.yAxis.setRange([w,w+b]),this.componentStore.yAxis.setBoundingBoxXY({x:w,y:p}),this.componentStore.xAxis.setRange([m,m+E]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:m}),this.chartData.plots.some(A=>oRt(A))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizonatalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const a=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const f of Object.values(this.componentStore))a.push(...f.getDrawableElements());return a}}class MHe{static build(a,f,p,w){return new LHe(a,f,p,w).getDrawableElement()}}let RF=0,gRt,jF=bRt(),$F=pRt(),fu=wRt(),cgt=$F.plotColorPalette.split(",").map(i=>i.trim()),BY=!1,ugt=!1;function pRt(){const i=X1t(),a=Fd();return rF(i.xyChart,a.themeVariables.xyChart)}function bRt(){const i=Fd();return rF(Zh.xyChart,i.xyChart)}function wRt(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function lgt(i){const a=Fd();return Q1(i.trim(),a)}function DHe(i){gRt=i}function IHe(i){i==="horizontal"?jF.chartOrientation="horizontal":jF.chartOrientation="vertical"}function OHe(i){fu.xAxis.title=lgt(i.text)}function vRt(i,a){fu.xAxis={type:"linear",title:fu.xAxis.title,min:i,max:a},BY=!0}function PHe(i){fu.xAxis={type:"band",title:fu.xAxis.title,categories:i.map(a=>lgt(a.text))},BY=!0}function FHe(i){fu.yAxis.title=lgt(i.text)}function NHe(i,a){fu.yAxis={type:"linear",title:fu.yAxis.title,min:i,max:a},ugt=!0}function BHe(i){const a=Math.min(...i),f=Math.max(...i),p=BF(fu.yAxis)?fu.yAxis.min:1/0,w=BF(fu.yAxis)?fu.yAxis.max:-1/0;fu.yAxis={type:"linear",title:fu.yAxis.title,min:Math.min(p,a),max:Math.max(w,f)}}function mRt(i){let a=[];if(i.length===0)return a;if(!BY){const f=BF(fu.xAxis)?fu.xAxis.min:1/0,p=BF(fu.xAxis)?fu.xAxis.max:-1/0;vRt(Math.min(f,1),Math.max(p,i.length))}if(ugt||BHe(i),cRt(fu.xAxis)&&(a=fu.xAxis.categories.map((f,p)=>[f,i[p]])),BF(fu.xAxis)){const f=fu.xAxis.min,p=fu.xAxis.max,w=(p-f+1)/i.length,m=[];for(let b=f;b<=p;b+=w)m.push(`${b}`);a=m.map((b,E)=>[b,i[E]])}return a}function yRt(i){return cgt[i===0?0:i%cgt.length]}function RHe(i,a){const f=mRt(a);fu.plots.push({type:"line",strokeFill:yRt(RF),strokeWidth:2,data:f}),RF++}function jHe(i,a){const f=mRt(a);fu.plots.push({type:"bar",fill:yRt(RF),data:f}),RF++}function $He(){if(fu.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return fu.title=pg(),MHe.build(jF,fu,$F,gRt)}function zHe(){return $F}function qHe(){return jF}const HHe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:yHe,db:{getDrawableElem:$He,clear:function(){hg(),RF=0,jF=bRt(),fu=wRt(),$F=pRt(),cgt=$F.plotColorPalette.split(",").map(i=>i.trim()),BY=!1,ugt=!1},setAccTitle:E0,getAccTitle:fg,setDiagramTitle:Nb,getDiagramTitle:pg,getAccDescription:gg,setAccDescription:dg,setOrientation:IHe,setXAxisTitle:OHe,setXAxisRangeData:vRt,setXAxisBand:PHe,setYAxisTitle:FHe,setYAxisRangeData:NHe,setLineData:RHe,setBarData:jHe,setTmpSVGG:DHe,getChartThemeConfig:zHe,getChartConfig:qHe},renderer:{draw:(i,a,f,p)=>{const w=p.db,m=w.getChartThemeConfig(),b=w.getChartConfig();function E(et){return et==="top"?"text-before-edge":"middle"}function _(et){return et==="left"?"start":et==="right"?"end":"middle"}function A(et){return`translate(${et.x}, ${et.y}) rotate(${et.rotation||0})`}Ut.debug(`Rendering xychart chart +`+i);const I=VW(a),B=I.append("g").attr("class","main"),N=B.append("rect").attr("width",b.width).attr("height",b.height).attr("class","background");k0(I,b.height,b.width,!0),I.attr("viewBox",`0 0 ${b.width} ${b.height}`),N.attr("fill",m.backgroundColor),w.setTmpSVGG(I.append("g").attr("class","mermaid-tmp-group"));const R=w.getDrawableElem(),z={};function W(et){let st=B,at="";for(const[bt]of et.entries()){let mt=B;bt>0&&z[at]&&(mt=z[at]),at+=et[bt],st=z[at],st||(st=z[at]=mt.append("g").attr("class",et[bt]))}return st}for(const et of R){if(et.data.length===0)continue;const st=W(et.groupTexts);switch(et.type){case"rect":st.selectAll("rect").data(et.data).enter().append("rect").attr("x",at=>at.x).attr("y",at=>at.y).attr("width",at=>at.width).attr("height",at=>at.height).attr("fill",at=>at.fill).attr("stroke",at=>at.strokeFill).attr("stroke-width",at=>at.strokeWidth);break;case"text":st.selectAll("text").data(et.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",at=>at.fill).attr("font-size",at=>at.fontSize).attr("dominant-baseline",at=>E(at.verticalPos)).attr("text-anchor",at=>_(at.horizontalPos)).attr("transform",at=>A(at)).text(at=>at.text);break;case"path":st.selectAll("path").data(et.data).enter().append("path").attr("d",at=>at.path).attr("fill",at=>at.fill?at.fill:"none").attr("stroke",at=>at.strokeFill).attr("stroke-width",at=>at.strokeWidth);break}}}}}},Symbol.toStringTag,{value:"Module"}));var hgt=function(){var i=function(Se,me,Ve,Ye){for(Ve=Ve||{},Ye=Se.length;Ye--;Ve[Se[Ye]]=me);return Ve},a=[1,3],f=[1,4],p=[1,5],w=[1,6],m=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],b=[1,18],E=[2,7],_=[1,22],A=[1,23],I=[1,24],B=[1,25],N=[1,26],R=[1,27],z=[1,20],W=[1,28],et=[1,29],st=[62,63],at=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],bt=[1,47],mt=[1,48],yt=[1,49],ft=[1,50],ut=[1,51],vt=[1,52],X=[1,53],pt=[53,54],U=[1,64],Tt=[1,60],nt=[1,61],It=[1,62],Ot=[1,63],Bt=[1,65],Et=[1,69],Z=[1,70],Ct=[1,67],xt=[1,68],Ht=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],Le={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:function(me,Ve,Ye,ce,ke,zt,re){var se=zt.length-1;switch(ke){case 4:this.$=zt[se].trim(),ce.setAccTitle(this.$);break;case 5:case 6:this.$=zt[se].trim(),ce.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:ce.addRequirement(zt[se-3],zt[se-4]);break;case 14:ce.setNewReqId(zt[se-2]);break;case 15:ce.setNewReqText(zt[se-2]);break;case 16:ce.setNewReqRisk(zt[se-2]);break;case 17:ce.setNewReqVerifyMethod(zt[se-2]);break;case 20:this.$=ce.RequirementType.REQUIREMENT;break;case 21:this.$=ce.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=ce.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=ce.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=ce.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=ce.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=ce.RiskLevel.LOW_RISK;break;case 27:this.$=ce.RiskLevel.MED_RISK;break;case 28:this.$=ce.RiskLevel.HIGH_RISK;break;case 29:this.$=ce.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=ce.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=ce.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=ce.VerifyType.VERIFY_TEST;break;case 33:ce.addElement(zt[se-3]);break;case 34:ce.setNewElementType(zt[se-2]);break;case 35:ce.setNewElementDocRef(zt[se-2]);break;case 38:ce.addRelationship(zt[se-2],zt[se],zt[se-4]);break;case 39:ce.addRelationship(zt[se-2],zt[se-4],zt[se]);break;case 40:this.$=ce.Relationships.CONTAINS;break;case 41:this.$=ce.Relationships.COPIES;break;case 42:this.$=ce.Relationships.DERIVES;break;case 43:this.$=ce.Relationships.SATISFIES;break;case 44:this.$=ce.Relationships.VERIFIES;break;case 45:this.$=ce.Relationships.REFINES;break;case 46:this.$=ce.Relationships.TRACES;break}},table:[{3:1,4:2,6:a,9:f,11:p,13:w},{1:[3]},{3:8,4:2,5:[1,7],6:a,9:f,11:p,13:w},{5:[1,9]},{10:[1,10]},{12:[1,11]},i(m,[2,6]),{3:12,4:2,6:a,9:f,11:p,13:w},{1:[2,2]},{4:17,5:b,7:13,8:E,9:f,11:p,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:A,33:I,34:B,35:N,36:R,44:z,62:W,63:et},i(m,[2,4]),i(m,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:b,7:31,8:E,9:f,11:p,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:A,33:I,34:B,35:N,36:R,44:z,62:W,63:et},{4:17,5:b,7:32,8:E,9:f,11:p,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:A,33:I,34:B,35:N,36:R,44:z,62:W,63:et},{4:17,5:b,7:33,8:E,9:f,11:p,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:A,33:I,34:B,35:N,36:R,44:z,62:W,63:et},{4:17,5:b,7:34,8:E,9:f,11:p,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:A,33:I,34:B,35:N,36:R,44:z,62:W,63:et},{4:17,5:b,7:35,8:E,9:f,11:p,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:A,33:I,34:B,35:N,36:R,44:z,62:W,63:et},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},i(st,[2,20]),i(st,[2,21]),i(st,[2,22]),i(st,[2,23]),i(st,[2,24]),i(st,[2,25]),i(at,[2,49]),i(at,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:bt,56:mt,57:yt,58:ft,59:ut,60:vt,61:X},{52:54,55:bt,56:mt,57:yt,58:ft,59:ut,60:vt,61:X},{5:[1,55]},{5:[1,56]},{53:[1,57]},i(pt,[2,40]),i(pt,[2,41]),i(pt,[2,42]),i(pt,[2,43]),i(pt,[2,44]),i(pt,[2,45]),i(pt,[2,46]),{54:[1,58]},{5:U,20:59,21:Tt,24:nt,26:It,28:Ot,30:Bt},{5:Et,30:Z,46:66,47:Ct,49:xt},{23:71,62:W,63:et},{23:72,62:W,63:et},i(Ht,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:U,20:77,21:Tt,24:nt,26:It,28:Ot,30:Bt},i(Ht,[2,19]),i(Ht,[2,33]),{22:[1,78]},{22:[1,79]},{5:Et,30:Z,46:80,47:Ct,49:xt},i(Ht,[2,37]),i(Ht,[2,38]),i(Ht,[2,39]),{23:81,62:W,63:et},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},i(Ht,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},i(Ht,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:U,20:106,21:Tt,24:nt,26:It,28:Ot,30:Bt},{5:U,20:107,21:Tt,24:nt,26:It,28:Ot,30:Bt},{5:U,20:108,21:Tt,24:nt,26:It,28:Ot,30:Bt},{5:U,20:109,21:Tt,24:nt,26:It,28:Ot,30:Bt},{5:Et,30:Z,46:110,47:Ct,49:xt},{5:Et,30:Z,46:111,47:Ct,49:xt},i(Ht,[2,14]),i(Ht,[2,15]),i(Ht,[2,16]),i(Ht,[2,17]),i(Ht,[2,34]),i(Ht,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:function(me,Ve){if(Ve.recoverable)this.trace(me);else{var Ye=new Error(me);throw Ye.hash=Ve,Ye}},parse:function(me){var Ve=this,Ye=[0],ce=[],ke=[null],zt=[],re=this.table,se="",Pe=0,te=0,Me=2,de=1,on=zt.slice.call(arguments,1),ni=Object.create(this.lexer),Ks={yy:{}};for(var ws in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ws)&&(Ks.yy[ws]=this.yy[ws]);ni.setInput(me,Ks.yy),Ks.yy.lexer=ni,Ks.yy.parser=this,typeof ni.yylloc>"u"&&(ni.yylloc={});var fo=ni.yylloc;zt.push(fo);var Xi=ni.options&&ni.options.ranges;typeof Ks.yy.parseError=="function"?this.parseError=Ks.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Er(){var Gs;return Gs=ce.pop()||ni.lex()||de,typeof Gs!="number"&&(Gs instanceof Array&&(ce=Gs,Gs=ce.pop()),Gs=Ve.symbols_[Gs]||Gs),Gs}for(var Xn,di,Ee,Kn,He={},Ti,pn,Es,qa;;){if(di=Ye[Ye.length-1],this.defaultActions[di]?Ee=this.defaultActions[di]:((Xn===null||typeof Xn>"u")&&(Xn=Er()),Ee=re[di]&&re[di][Xn]),typeof Ee>"u"||!Ee.length||!Ee[0]){var Ma="";qa=[];for(Ti in re[di])this.terminals_[Ti]&&Ti>Me&&qa.push("'"+this.terminals_[Ti]+"'");ni.showPosition?Ma="Parse error on line "+(Pe+1)+`: +`+ni.showPosition()+` +Expecting `+qa.join(", ")+", got '"+(this.terminals_[Xn]||Xn)+"'":Ma="Parse error on line "+(Pe+1)+": Unexpected "+(Xn==de?"end of input":"'"+(this.terminals_[Xn]||Xn)+"'"),this.parseError(Ma,{text:ni.match,token:this.terminals_[Xn]||Xn,line:ni.yylineno,loc:fo,expected:qa})}if(Ee[0]instanceof Array&&Ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+di+", token: "+Xn);switch(Ee[0]){case 1:Ye.push(Xn),ke.push(ni.yytext),zt.push(ni.yylloc),Ye.push(Ee[1]),Xn=null,te=ni.yyleng,se=ni.yytext,Pe=ni.yylineno,fo=ni.yylloc;break;case 2:if(pn=this.productions_[Ee[1]][1],He.$=ke[ke.length-pn],He._$={first_line:zt[zt.length-(pn||1)].first_line,last_line:zt[zt.length-1].last_line,first_column:zt[zt.length-(pn||1)].first_column,last_column:zt[zt.length-1].last_column},Xi&&(He._$.range=[zt[zt.length-(pn||1)].range[0],zt[zt.length-1].range[1]]),Kn=this.performAction.apply(He,[se,te,Pe,Ks.yy,Ee[1],ke,zt].concat(on)),typeof Kn<"u")return Kn;pn&&(Ye=Ye.slice(0,-1*pn*2),ke=ke.slice(0,-1*pn),zt=zt.slice(0,-1*pn)),Ye.push(this.productions_[Ee[1]][0]),ke.push(He.$),zt.push(He._$),Es=re[Ye[Ye.length-2]][Ye[Ye.length-1]],Ye.push(Es);break;case 3:return!0}}return!0}},Ft=function(){var Se={EOF:1,parseError:function(Ve,Ye){if(this.yy.parser)this.yy.parser.parseError(Ve,Ye);else throw new Error(Ve)},setInput:function(me,Ve){return this.yy=Ve||this.yy||{},this._input=me,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var me=this._input[0];this.yytext+=me,this.yyleng++,this.offset++,this.match+=me,this.matched+=me;var Ve=me.match(/(?:\r\n?|\n).*/g);return Ve?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),me},unput:function(me){var Ve=me.length,Ye=me.split(/(?:\r\n?|\n)/g);this._input=me+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ve),this.offset-=Ve;var ce=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ye.length-1&&(this.yylineno-=Ye.length-1);var ke=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ye?(Ye.length===ce.length?this.yylloc.first_column:0)+ce[ce.length-Ye.length].length-Ye[0].length:this.yylloc.first_column-Ve},this.options.ranges&&(this.yylloc.range=[ke[0],ke[0]+this.yyleng-Ve]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(me){this.unput(this.match.slice(me))},pastInput:function(){var me=this.matched.substr(0,this.matched.length-this.match.length);return(me.length>20?"...":"")+me.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var me=this.match;return me.length<20&&(me+=this._input.substr(0,20-me.length)),(me.substr(0,20)+(me.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var me=this.pastInput(),Ve=new Array(me.length+1).join("-");return me+this.upcomingInput()+` +`+Ve+"^"},test_match:function(me,Ve){var Ye,ce,ke;if(this.options.backtrack_lexer&&(ke={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ke.yylloc.range=this.yylloc.range.slice(0))),ce=me[0].match(/(?:\r\n?|\n).*/g),ce&&(this.yylineno+=ce.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ce?ce[ce.length-1].length-ce[ce.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+me[0].length},this.yytext+=me[0],this.match+=me[0],this.matches=me,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(me[0].length),this.matched+=me[0],Ye=this.performAction.call(this,this.yy,this,Ve,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ye)return Ye;if(this._backtrack){for(var zt in ke)this[zt]=ke[zt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var me,Ve,Ye,ce;this._more||(this.yytext="",this.match="");for(var ke=this._currentRules(),zt=0;ztVe[0].length)){if(Ve=Ye,ce=zt,this.options.backtrack_lexer){if(me=this.test_match(Ye,ke[zt]),me!==!1)return me;if(this._backtrack){Ve=!1;continue}else return!1}else if(!this.options.flex)break}return Ve?(me=this.test_match(Ve,ke[ce]),me!==!1?me:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ve=this.next();return Ve||this.lex()},begin:function(Ve){this.conditionStack.push(Ve)},popState:function(){var Ve=this.conditionStack.length-1;return Ve>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ve){return Ve=this.conditionStack.length-1-Math.abs(Ve||0),Ve>=0?this.conditionStack[Ve]:"INITIAL"},pushState:function(Ve){this.begin(Ve)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ve,Ye,ce,ke){switch(ce){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:break;case 10:break;case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 48:this.popState();break;case 49:return"qString";case 50:return Ye.yytext=Ye.yytext.trim(),62}},rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,50],inclusive:!0}}};return Se}();Le.lexer=Ft;function gn(){this.yy={}}return gn.prototype=Le,Le.Parser=gn,new gn}();hgt.parser=hgt;const VHe=hgt;let fgt=[],wp={},zF={},yk={},qF={};const GHe={RequirementType:{REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},RiskLevel:{LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},VerifyType:{VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},Relationships:{CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},getConfig:()=>Oe().req,addRequirement:(i,a)=>(zF[i]===void 0&&(zF[i]={name:i,type:a,id:wp.id,text:wp.text,risk:wp.risk,verifyMethod:wp.verifyMethod}),wp={},zF[i]),getRequirements:()=>zF,setNewReqId:i=>{wp!==void 0&&(wp.id=i)},setNewReqText:i=>{wp!==void 0&&(wp.text=i)},setNewReqRisk:i=>{wp!==void 0&&(wp.risk=i)},setNewReqVerifyMethod:i=>{wp!==void 0&&(wp.verifyMethod=i)},setAccTitle:E0,getAccTitle:fg,setAccDescription:dg,getAccDescription:gg,addElement:i=>(qF[i]===void 0&&(qF[i]={name:i,type:yk.type,docRef:yk.docRef},Ut.info("Added new requirement: ",i)),yk={},qF[i]),getElements:()=>qF,setNewElementType:i=>{yk!==void 0&&(yk.type=i)},setNewElementDocRef:i=>{yk!==void 0&&(yk.docRef=i)},addRelationship:(i,a,f)=>{fgt.push({type:i,src:a,dst:f})},getRelationships:()=>fgt,clear:()=>{fgt=[],wp={},zF={},yk={},qF={},hg()}},UHe=i=>` + + marker { + fill: ${i.relationColor}; + stroke: ${i.relationColor}; + } + + marker.cross { + stroke: ${i.lineColor}; + } + + svg { + font-family: ${i.fontFamily}; + font-size: ${i.fontSize}; + } + + .reqBox { + fill: ${i.requirementBackground}; + fill-opacity: 1.0; + stroke: ${i.requirementBorderColor}; + stroke-width: ${i.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${i.requirementTextColor}; + } + .reqLabelBox { + fill: ${i.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${i.requirementBorderColor}; + stroke-width: ${i.requirementBorderSize}; + } + .relationshipLine { + stroke: ${i.relationColor}; + stroke-width: 1; + } + .relationshipLabel { + fill: ${i.relationLabelColor}; + } + +`,dgt={CONTAINS:"contains",ARROW:"arrow"},xRt={ReqMarkers:dgt,insertLineEndings:(i,a)=>{let f=i.append("defs").append("marker").attr("id",dgt.CONTAINS+"_line_ending").attr("refX",0).attr("refY",a.line_height/2).attr("markerWidth",a.line_height).attr("markerHeight",a.line_height).attr("orient","auto").append("g");f.append("circle").attr("cx",a.line_height/2).attr("cy",a.line_height/2).attr("r",a.line_height/2).attr("fill","none"),f.append("line").attr("x1",0).attr("x2",a.line_height).attr("y1",a.line_height/2).attr("y2",a.line_height/2).attr("stroke-width",1),f.append("line").attr("y1",0).attr("y2",a.line_height).attr("x1",a.line_height/2).attr("x2",a.line_height/2).attr("stroke-width",1),i.append("defs").append("marker").attr("id",dgt.ARROW+"_line_ending").attr("refX",a.line_height).attr("refY",.5*a.line_height).attr("markerWidth",a.line_height).attr("markerHeight",a.line_height).attr("orient","auto").append("path").attr("d",`M0,0 + L${a.line_height},${a.line_height/2} + M${a.line_height},${a.line_height/2} + L0,${a.line_height}`).attr("stroke-width",1)}};let Eh={},kRt=0;const ERt=(i,a)=>i.insert("rect","#"+a).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",Eh.rect_min_width+"px").attr("height",Eh.rect_min_height+"px"),TRt=(i,a,f)=>{let p=Eh.rect_min_width/2,w=i.append("text").attr("class","req reqLabel reqTitle").attr("id",a).attr("x",p).attr("y",Eh.rect_padding).attr("dominant-baseline","hanging"),m=0;f.forEach(A=>{m==0?w.append("tspan").attr("text-anchor","middle").attr("x",Eh.rect_min_width/2).attr("dy",0).text(A):w.append("tspan").attr("text-anchor","middle").attr("x",Eh.rect_min_width/2).attr("dy",Eh.line_height*.75).text(A),m++});let b=1.5*Eh.rect_padding,E=m*Eh.line_height*.75,_=b+E;return i.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",Eh.rect_min_width).attr("y1",_).attr("y2",_),{titleNode:w,y:_}},CRt=(i,a,f,p)=>{let w=i.append("text").attr("class","req reqLabel").attr("id",a).attr("x",Eh.rect_padding).attr("y",p).attr("dominant-baseline","hanging"),m=0;const b=30;let E=[];return f.forEach(_=>{let A=_.length;for(;A>b&&m<3;){let I=_.substring(0,b);_=_.substring(b,_.length),A=_.length,E[E.length]=I,m++}if(m==3){let I=E[E.length-1];E[E.length-1]=I.substring(0,I.length-4)+"..."}else E[E.length]=_;m=0}),E.forEach(_=>{w.append("tspan").attr("x",Eh.rect_padding).attr("dy",Eh.line_height).text(_)}),w},WHe=(i,a,f,p)=>{const w=a.node().getTotalLength(),m=a.node().getPointAtLength(w*.5),b="rel"+kRt;kRt++;const _=i.append("text").attr("class","req relationshipLabel").attr("id",b).attr("x",m.x).attr("y",m.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(p).node().getBBox();i.insert("rect","#"+b).attr("class","req reqLabelBox").attr("x",m.x-_.width/2).attr("y",m.y-_.height/2).attr("width",_.width).attr("height",_.height).attr("fill","white").attr("fill-opacity","85%")},YHe=function(i,a,f,p,w){const m=f.edge(fL(a.src),fL(a.dst)),b=E5().x(function(_){return _.x}).y(function(_){return _.y}),E=i.insert("path","#"+p).attr("class","er relationshipLine").attr("d",b(m.points)).attr("fill","none");a.type==w.db.Relationships.CONTAINS?E.attr("marker-start","url("+Kr.getUrl(Eh.arrowMarkerAbsolute)+"#"+a.type+"_line_ending)"):(E.attr("stroke-dasharray","10,7"),E.attr("marker-end","url("+Kr.getUrl(Eh.arrowMarkerAbsolute)+"#"+xRt.ReqMarkers.ARROW+"_line_ending)")),WHe(i,E,Eh,`<<${a.type}>>`)},KHe=(i,a,f)=>{Object.keys(i).forEach(p=>{let w=i[p];p=fL(p),Ut.info("Added new requirement: ",p);const m=f.append("g").attr("id",p),b="req-"+p,E=ERt(m,b);let _=TRt(m,p+"_title",[`<<${w.type}>>`,`${w.name}`]);CRt(m,p+"_body",[`Id: ${w.id}`,`Text: ${w.text}`,`Risk: ${w.risk}`,`Verification: ${w.verifyMethod}`],_.y);const A=E.node().getBBox();a.setNode(p,{width:A.width,height:A.height,shape:"rect",id:p})})},XHe=(i,a,f)=>{Object.keys(i).forEach(p=>{let w=i[p];const m=fL(p),b=f.append("g").attr("id",m),E="element-"+m,_=ERt(b,E);let A=TRt(b,E+"_title",["<>",`${p}`]);CRt(b,E+"_body",[`Type: ${w.type||"Not Specified"}`,`Doc Ref: ${w.docRef||"None"}`],A.y);const I=_.node().getBBox();a.setNode(m,{width:I.width,height:I.height,shape:"rect",id:m})})},QHe=(i,a)=>(i.forEach(function(f){let p=fL(f.src),w=fL(f.dst);a.setEdge(p,w,{relationship:f})}),i),ZHe=function(i,a){a.nodes().forEach(function(f){f!==void 0&&a.node(f)!==void 0&&(i.select("#"+f),i.select("#"+f).attr("transform","translate("+(a.node(f).x-a.node(f).width/2)+","+(a.node(f).y-a.node(f).height/2)+" )"))})},fL=i=>i.replace(/\s/g,"").replace(/\./g,"_"),JHe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:VHe,db:GHe,renderer:{draw:(i,a,f,p)=>{Eh=Oe().requirement;const w=Eh.securityLevel;let m;w==="sandbox"&&(m=yr("#i"+a));const E=yr(w==="sandbox"?m.nodes()[0].contentDocument.body:"body").select(`[id='${a}']`);xRt.insertLineEndings(E,Eh);const _=new c1({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:Eh.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let A=p.db.getRequirements(),I=p.db.getElements(),B=p.db.getRelationships();KHe(A,_,E),XHe(I,_,E),QHe(B,_),aL(_),ZHe(E,_),B.forEach(function(et){YHe(E,et,_,a,p)});const N=Eh.rect_padding,R=E.node().getBBox(),z=R.width+N*2,W=R.height+N*2;k0(E,W,z,Eh.useMaxWidth),E.attr("viewBox",`${R.x-N} ${R.y-N} ${z} ${W}`)}},styles:UHe}},Symbol.toStringTag,{value:"Module"}));var ggt=function(){var i=function(ce,ke,zt,re){for(zt=zt||{},re=ce.length;re--;zt[ce[re]]=ke);return zt},a=[1,2],f=[1,3],p=[1,4],w=[2,4],m=[1,9],b=[1,11],E=[1,13],_=[1,14],A=[1,16],I=[1,17],B=[1,18],N=[1,24],R=[1,25],z=[1,26],W=[1,27],et=[1,28],st=[1,29],at=[1,30],bt=[1,31],mt=[1,32],yt=[1,33],ft=[1,34],ut=[1,35],vt=[1,36],X=[1,37],pt=[1,38],U=[1,39],Tt=[1,41],nt=[1,42],It=[1,43],Ot=[1,44],Bt=[1,45],Et=[1,46],Z=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],Ct=[4,5,16,50,52,53],xt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],Ht=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],Le=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],Ft=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],gn=[68,69,70],Se=[1,120],me={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,DOTTED_ARROW:74,SOLID_CROSS:75,DOTTED_CROSS:76,SOLID_POINT:77,DOTTED_POINT:78,TXT:79,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"DOTTED_ARROW",75:"SOLID_CROSS",76:"DOTTED_CROSS",77:"SOLID_POINT",78:"DOTTED_POINT",79:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:function(ke,zt,re,se,Pe,te,Me){var de=te.length-1;switch(Pe){case 3:return se.apply(te[de]),te[de];case 4:case 9:this.$=[];break;case 5:case 10:te[de-1].push(te[de]),this.$=te[de-1];break;case 6:case 7:case 11:case 12:this.$=te[de];break;case 8:case 13:this.$=[];break;case 15:te[de].type="createParticipant",this.$=te[de];break;case 16:te[de-1].unshift({type:"boxStart",boxData:se.parseBoxData(te[de-2])}),te[de-1].push({type:"boxEnd",boxText:te[de-2]}),this.$=te[de-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(te[de-2]),sequenceIndexStep:Number(te[de-1]),sequenceVisible:!0,signalType:se.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(te[de-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:se.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:se.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:se.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:se.LINETYPE.ACTIVE_START,actor:te[de-1]};break;case 23:this.$={type:"activeEnd",signalType:se.LINETYPE.ACTIVE_END,actor:te[de-1]};break;case 29:se.setDiagramTitle(te[de].substring(6)),this.$=te[de].substring(6);break;case 30:se.setDiagramTitle(te[de].substring(7)),this.$=te[de].substring(7);break;case 31:this.$=te[de].trim(),se.setAccTitle(this.$);break;case 32:case 33:this.$=te[de].trim(),se.setAccDescription(this.$);break;case 34:te[de-1].unshift({type:"loopStart",loopText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.LOOP_START}),te[de-1].push({type:"loopEnd",loopText:te[de-2],signalType:se.LINETYPE.LOOP_END}),this.$=te[de-1];break;case 35:te[de-1].unshift({type:"rectStart",color:se.parseMessage(te[de-2]),signalType:se.LINETYPE.RECT_START}),te[de-1].push({type:"rectEnd",color:se.parseMessage(te[de-2]),signalType:se.LINETYPE.RECT_END}),this.$=te[de-1];break;case 36:te[de-1].unshift({type:"optStart",optText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.OPT_START}),te[de-1].push({type:"optEnd",optText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.OPT_END}),this.$=te[de-1];break;case 37:te[de-1].unshift({type:"altStart",altText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.ALT_START}),te[de-1].push({type:"altEnd",signalType:se.LINETYPE.ALT_END}),this.$=te[de-1];break;case 38:te[de-1].unshift({type:"parStart",parText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.PAR_START}),te[de-1].push({type:"parEnd",signalType:se.LINETYPE.PAR_END}),this.$=te[de-1];break;case 39:te[de-1].unshift({type:"parStart",parText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.PAR_OVER_START}),te[de-1].push({type:"parEnd",signalType:se.LINETYPE.PAR_END}),this.$=te[de-1];break;case 40:te[de-1].unshift({type:"criticalStart",criticalText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.CRITICAL_START}),te[de-1].push({type:"criticalEnd",signalType:se.LINETYPE.CRITICAL_END}),this.$=te[de-1];break;case 41:te[de-1].unshift({type:"breakStart",breakText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.BREAK_START}),te[de-1].push({type:"breakEnd",optText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.BREAK_END}),this.$=te[de-1];break;case 43:this.$=te[de-3].concat([{type:"option",optionText:se.parseMessage(te[de-1]),signalType:se.LINETYPE.CRITICAL_OPTION},te[de]]);break;case 45:this.$=te[de-3].concat([{type:"and",parText:se.parseMessage(te[de-1]),signalType:se.LINETYPE.PAR_AND},te[de]]);break;case 47:this.$=te[de-3].concat([{type:"else",altText:se.parseMessage(te[de-1]),signalType:se.LINETYPE.ALT_ELSE},te[de]]);break;case 48:te[de-3].draw="participant",te[de-3].type="addParticipant",te[de-3].description=se.parseMessage(te[de-1]),this.$=te[de-3];break;case 49:te[de-1].draw="participant",te[de-1].type="addParticipant",this.$=te[de-1];break;case 50:te[de-3].draw="actor",te[de-3].type="addParticipant",te[de-3].description=se.parseMessage(te[de-1]),this.$=te[de-3];break;case 51:te[de-1].draw="actor",te[de-1].type="addParticipant",this.$=te[de-1];break;case 52:te[de-1].type="destroyParticipant",this.$=te[de-1];break;case 53:this.$=[te[de-1],{type:"addNote",placement:te[de-2],actor:te[de-1].actor,text:te[de]}];break;case 54:te[de-2]=[].concat(te[de-1],te[de-1]).slice(0,2),te[de-2][0]=te[de-2][0].actor,te[de-2][1]=te[de-2][1].actor,this.$=[te[de-1],{type:"addNote",placement:se.PLACEMENT.OVER,actor:te[de-2].slice(0,2),text:te[de]}];break;case 55:this.$=[te[de-1],{type:"addLinks",actor:te[de-1].actor,text:te[de]}];break;case 56:this.$=[te[de-1],{type:"addALink",actor:te[de-1].actor,text:te[de]}];break;case 57:this.$=[te[de-1],{type:"addProperties",actor:te[de-1].actor,text:te[de]}];break;case 58:this.$=[te[de-1],{type:"addDetails",actor:te[de-1].actor,text:te[de]}];break;case 61:this.$=[te[de-2],te[de]];break;case 62:this.$=te[de];break;case 63:this.$=se.PLACEMENT.LEFTOF;break;case 64:this.$=se.PLACEMENT.RIGHTOF;break;case 65:this.$=[te[de-4],te[de-1],{type:"addMessage",from:te[de-4].actor,to:te[de-1].actor,signalType:te[de-3],msg:te[de],activate:!0},{type:"activeStart",signalType:se.LINETYPE.ACTIVE_START,actor:te[de-1]}];break;case 66:this.$=[te[de-4],te[de-1],{type:"addMessage",from:te[de-4].actor,to:te[de-1].actor,signalType:te[de-3],msg:te[de]},{type:"activeEnd",signalType:se.LINETYPE.ACTIVE_END,actor:te[de-4]}];break;case 67:this.$=[te[de-3],te[de-1],{type:"addMessage",from:te[de-3].actor,to:te[de-1].actor,signalType:te[de-2],msg:te[de]}];break;case 68:this.$={type:"addParticipant",actor:te[de]};break;case 69:this.$=se.LINETYPE.SOLID_OPEN;break;case 70:this.$=se.LINETYPE.DOTTED_OPEN;break;case 71:this.$=se.LINETYPE.SOLID;break;case 72:this.$=se.LINETYPE.DOTTED;break;case 73:this.$=se.LINETYPE.SOLID_CROSS;break;case 74:this.$=se.LINETYPE.DOTTED_CROSS;break;case 75:this.$=se.LINETYPE.SOLID_POINT;break;case 76:this.$=se.LINETYPE.DOTTED_POINT;break;case 77:this.$=se.parseMessage(te[de].trim().substring(1));break}},table:[{3:1,4:a,5:f,6:p},{1:[3]},{3:5,4:a,5:f,6:p},{3:6,4:a,5:f,6:p},i([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],w,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:m,5:b,8:8,9:10,12:12,13:E,14:_,17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},i(Z,[2,5]),{9:47,12:12,13:E,14:_,17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},i(Z,[2,7]),i(Z,[2,8]),i(Z,[2,14]),{12:48,50:X,52:pt,53:U},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:Et},{22:55,70:Et},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},i(Z,[2,29]),i(Z,[2,30]),{32:[1,61]},{34:[1,62]},i(Z,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:Et},{22:72,70:Et},{22:73,70:Et},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82]},{55:83,57:[1,84],65:[1,85],66:[1,86]},{22:87,70:Et},{22:88,70:Et},{22:89,70:Et},{22:90,70:Et},i([5,51,64,71,72,73,74,75,76,77,78,79],[2,68]),i(Z,[2,6]),i(Z,[2,15]),i(Ct,[2,9],{10:91}),i(Z,[2,17]),{5:[1,93],19:[1,92]},{5:[1,94]},i(Z,[2,21]),{5:[1,95]},{5:[1,96]},i(Z,[2,24]),i(Z,[2,25]),i(Z,[2,26]),i(Z,[2,27]),i(Z,[2,28]),i(Z,[2,31]),i(Z,[2,32]),i(xt,w,{7:97}),i(xt,w,{7:98}),i(xt,w,{7:99}),i(Ht,w,{40:100,7:101}),i(Le,w,{42:102,7:103}),i(Le,w,{7:103,42:104}),i(Ft,w,{45:105,7:106}),i(xt,w,{7:107}),{5:[1,109],51:[1,108]},{5:[1,111],51:[1,110]},{5:[1,112]},{22:115,68:[1,113],69:[1,114],70:Et},i(gn,[2,69]),i(gn,[2,70]),i(gn,[2,71]),i(gn,[2,72]),i(gn,[2,73]),i(gn,[2,74]),i(gn,[2,75]),i(gn,[2,76]),{22:116,70:Et},{22:118,58:117,70:Et},{70:[2,63]},{70:[2,64]},{56:119,79:Se},{56:121,79:Se},{56:122,79:Se},{56:123,79:Se},{4:[1,126],5:[1,128],11:125,12:127,16:[1,124],50:X,52:pt,53:U},{5:[1,129]},i(Z,[2,19]),i(Z,[2,20]),i(Z,[2,22]),i(Z,[2,23]),{4:m,5:b,8:8,9:10,12:12,13:E,14:_,16:[1,130],17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},{4:m,5:b,8:8,9:10,12:12,13:E,14:_,16:[1,131],17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},{4:m,5:b,8:8,9:10,12:12,13:E,14:_,16:[1,132],17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},{16:[1,133]},{4:m,5:b,8:8,9:10,12:12,13:E,14:_,16:[2,46],17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,49:[1,134],50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},{16:[1,135]},{4:m,5:b,8:8,9:10,12:12,13:E,14:_,16:[2,44],17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,48:[1,136],50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},{16:[1,137]},{16:[1,138]},{4:m,5:b,8:8,9:10,12:12,13:E,14:_,16:[2,42],17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,47:[1,139],50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},{4:m,5:b,8:8,9:10,12:12,13:E,14:_,16:[1,140],17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},{15:[1,141]},i(Z,[2,49]),{15:[1,142]},i(Z,[2,51]),i(Z,[2,52]),{22:143,70:Et},{22:144,70:Et},{56:145,79:Se},{56:146,79:Se},{56:147,79:Se},{64:[1,148],79:[2,62]},{5:[2,55]},{5:[2,77]},{5:[2,56]},{5:[2,57]},{5:[2,58]},i(Z,[2,16]),i(Ct,[2,10]),{12:149,50:X,52:pt,53:U},i(Ct,[2,12]),i(Ct,[2,13]),i(Z,[2,18]),i(Z,[2,34]),i(Z,[2,35]),i(Z,[2,36]),i(Z,[2,37]),{15:[1,150]},i(Z,[2,38]),{15:[1,151]},i(Z,[2,39]),i(Z,[2,40]),{15:[1,152]},i(Z,[2,41]),{5:[1,153]},{5:[1,154]},{56:155,79:Se},{56:156,79:Se},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:157,70:Et},i(Ct,[2,11]),i(Ht,w,{7:101,40:158}),i(Le,w,{7:103,42:159}),i(Ft,w,{7:106,45:160}),i(Z,[2,48]),i(Z,[2,50]),{5:[2,65]},{5:[2,66]},{79:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],85:[2,63],86:[2,64],119:[2,55],120:[2,77],121:[2,56],122:[2,57],123:[2,58],145:[2,67],146:[2,53],147:[2,54],155:[2,65],156:[2,66],157:[2,61],158:[2,47],159:[2,45],160:[2,43]},parseError:function(ke,zt){if(zt.recoverable)this.trace(ke);else{var re=new Error(ke);throw re.hash=zt,re}},parse:function(ke){var zt=this,re=[0],se=[],Pe=[null],te=[],Me=this.table,de="",on=0,ni=0,Ks=2,ws=1,fo=te.slice.call(arguments,1),Xi=Object.create(this.lexer),Er={yy:{}};for(var Xn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Xn)&&(Er.yy[Xn]=this.yy[Xn]);Xi.setInput(ke,Er.yy),Er.yy.lexer=Xi,Er.yy.parser=this,typeof Xi.yylloc>"u"&&(Xi.yylloc={});var di=Xi.yylloc;te.push(di);var Ee=Xi.options&&Xi.options.ranges;typeof Er.yy.parseError=="function"?this.parseError=Er.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Kn(){var zs;return zs=se.pop()||Xi.lex()||ws,typeof zs!="number"&&(zs instanceof Array&&(se=zs,zs=se.pop()),zs=zt.symbols_[zs]||zs),zs}for(var He,Ti,pn,Es,qa={},Ma,Gs,Po,vs;;){if(Ti=re[re.length-1],this.defaultActions[Ti]?pn=this.defaultActions[Ti]:((He===null||typeof He>"u")&&(He=Kn()),pn=Me[Ti]&&Me[Ti][He]),typeof pn>"u"||!pn.length||!pn[0]){var ru="";vs=[];for(Ma in Me[Ti])this.terminals_[Ma]&&Ma>Ks&&vs.push("'"+this.terminals_[Ma]+"'");Xi.showPosition?ru="Parse error on line "+(on+1)+`: +`+Xi.showPosition()+` +Expecting `+vs.join(", ")+", got '"+(this.terminals_[He]||He)+"'":ru="Parse error on line "+(on+1)+": Unexpected "+(He==ws?"end of input":"'"+(this.terminals_[He]||He)+"'"),this.parseError(ru,{text:Xi.match,token:this.terminals_[He]||He,line:Xi.yylineno,loc:di,expected:vs})}if(pn[0]instanceof Array&&pn.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ti+", token: "+He);switch(pn[0]){case 1:re.push(He),Pe.push(Xi.yytext),te.push(Xi.yylloc),re.push(pn[1]),He=null,ni=Xi.yyleng,de=Xi.yytext,on=Xi.yylineno,di=Xi.yylloc;break;case 2:if(Gs=this.productions_[pn[1]][1],qa.$=Pe[Pe.length-Gs],qa._$={first_line:te[te.length-(Gs||1)].first_line,last_line:te[te.length-1].last_line,first_column:te[te.length-(Gs||1)].first_column,last_column:te[te.length-1].last_column},Ee&&(qa._$.range=[te[te.length-(Gs||1)].range[0],te[te.length-1].range[1]]),Es=this.performAction.apply(qa,[de,ni,on,Er.yy,pn[1],Pe,te].concat(fo)),typeof Es<"u")return Es;Gs&&(re=re.slice(0,-1*Gs*2),Pe=Pe.slice(0,-1*Gs),te=te.slice(0,-1*Gs)),re.push(this.productions_[pn[1]][0]),Pe.push(qa.$),te.push(qa._$),Po=Me[re[re.length-2]][re[re.length-1]],re.push(Po);break;case 3:return!0}}return!0}},Ve=function(){var ce={EOF:1,parseError:function(zt,re){if(this.yy.parser)this.yy.parser.parseError(zt,re);else throw new Error(zt)},setInput:function(ke,zt){return this.yy=zt||this.yy||{},this._input=ke,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var ke=this._input[0];this.yytext+=ke,this.yyleng++,this.offset++,this.match+=ke,this.matched+=ke;var zt=ke.match(/(?:\r\n?|\n).*/g);return zt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ke},unput:function(ke){var zt=ke.length,re=ke.split(/(?:\r\n?|\n)/g);this._input=ke+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-zt),this.offset-=zt;var se=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),re.length-1&&(this.yylineno-=re.length-1);var Pe=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:re?(re.length===se.length?this.yylloc.first_column:0)+se[se.length-re.length].length-re[0].length:this.yylloc.first_column-zt},this.options.ranges&&(this.yylloc.range=[Pe[0],Pe[0]+this.yyleng-zt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ke){this.unput(this.match.slice(ke))},pastInput:function(){var ke=this.matched.substr(0,this.matched.length-this.match.length);return(ke.length>20?"...":"")+ke.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ke=this.match;return ke.length<20&&(ke+=this._input.substr(0,20-ke.length)),(ke.substr(0,20)+(ke.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ke=this.pastInput(),zt=new Array(ke.length+1).join("-");return ke+this.upcomingInput()+` +`+zt+"^"},test_match:function(ke,zt){var re,se,Pe;if(this.options.backtrack_lexer&&(Pe={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Pe.yylloc.range=this.yylloc.range.slice(0))),se=ke[0].match(/(?:\r\n?|\n).*/g),se&&(this.yylineno+=se.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:se?se[se.length-1].length-se[se.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ke[0].length},this.yytext+=ke[0],this.match+=ke[0],this.matches=ke,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(ke[0].length),this.matched+=ke[0],re=this.performAction.call(this,this.yy,this,zt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),re)return re;if(this._backtrack){for(var te in Pe)this[te]=Pe[te];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ke,zt,re,se;this._more||(this.yytext="",this.match="");for(var Pe=this._currentRules(),te=0;tezt[0].length)){if(zt=re,se=te,this.options.backtrack_lexer){if(ke=this.test_match(re,Pe[te]),ke!==!1)return ke;if(this._backtrack){zt=!1;continue}else return!1}else if(!this.options.flex)break}return zt?(ke=this.test_match(zt,Pe[se]),ke!==!1?ke:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var zt=this.next();return zt||this.lex()},begin:function(zt){this.conditionStack.push(zt)},popState:function(){var zt=this.conditionStack.length-1;return zt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(zt){return zt=this.conditionStack.length-1-Math.abs(zt||0),zt>=0?this.conditionStack[zt]:"INITIAL"},pushState:function(zt){this.begin(zt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(zt,re,se,Pe){switch(se){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;case 8:return this.begin("ID"),50;case 9:return this.begin("ID"),52;case 10:return 13;case 11:return this.begin("ID"),53;case 12:return re.yytext=re.yytext.trim(),this.begin("ALIAS"),70;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),36;case 16:return this.begin("LINE"),37;case 17:return this.begin("LINE"),38;case 18:return this.begin("LINE"),39;case 19:return this.begin("LINE"),49;case 20:return this.begin("LINE"),41;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),48;case 23:return this.begin("LINE"),44;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),46;case 26:return this.popState(),15;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;case 37:return this.begin("ID"),23;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;case 41:return this.popState(),"acc_title_value";case 42:return this.begin("acc_descr"),33;case 43:return this.popState(),"acc_descr_value";case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 51:return 5;case 52:return re.yytext=re.yytext.trim(),70;case 53:return 73;case 54:return 74;case 55:return 71;case 56:return 72;case 57:return 75;case 58:return 76;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 68;case 63:return 69;case 64:return 5;case 65:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\->:\n,;]+?([\-]*[^\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65],inclusive:!0}}};return ce}();me.lexer=Ve;function Ye(){this.yy={}}return Ye.prototype=me,me.Parser=Ye,new Ye}();ggt.parser=ggt;const tVe=ggt;let HF,R5={},pgt={},bgt={},dL=[],zb=[],RY=!1,wgt,j5,VF,gL;const eVe=function(i){dL.push({name:i.text,wrap:i.wrap===void 0&&CT()||!!i.wrap,fill:i.color,actorKeys:[]}),j5=dL.slice(-1)[0]},vgt=function(i,a,f,p){let w=j5;const m=R5[i];if(m){if(j5&&m.box&&j5!==m.box)throw new Error("A same participant should only be defined in one Box: "+m.name+" can't be in '"+m.box.name+"' and in '"+j5.name+"' at the same time.");if(w=m.box?m.box:j5,m.box=w,m&&a===m.name&&f==null)return}(f==null||f.text==null)&&(f={text:a,wrap:null,type:p}),(p==null||f.text==null)&&(f={text:a,wrap:null,type:p}),R5[i]={box:w,name:a,description:f.text,wrap:f.wrap===void 0&&CT()||!!f.wrap,prevActor:HF,links:{},properties:{},actorCnt:null,rectData:null,type:p||"participant"},HF&&R5[HF]&&(R5[HF].nextActor=i),j5&&j5.actorKeys.push(i),HF=i},nVe=i=>{let a,f=0;for(a=0;a>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},b}return zb.push({from:i,to:a,message:f.text,wrap:f.wrap===void 0&&CT()||!!f.wrap,type:p,activate:w}),!0},iVe=function(){return dL.length>0},sVe=function(){return dL.some(i=>i.name)},aVe=function(){return zb},oVe=function(){return dL},cVe=function(){return R5},uVe=function(){return pgt},lVe=function(){return bgt},GF=function(i){return R5[i]},hVe=function(){return Object.keys(R5)},fVe=function(){RY=!0},dVe=function(){RY=!1},gVe=()=>RY,pVe=function(i){wgt=i},CT=()=>wgt!==void 0?wgt:Oe().sequence.wrap,bVe=function(){R5={},pgt={},bgt={},dL=[],zb=[],RY=!1,hg()},wVe=function(i){const a=i.trim(),f={text:a.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:a.match(/^:?wrap:/)!==null?!0:a.match(/^:?nowrap:/)!==null?!1:void 0};return Ut.debug("parseMessage:",f),f},vVe=function(i){const a=i.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/);let f=a!=null&&a[1]?a[1].trim():"transparent",p=a!=null&&a[2]?a[2].trim():void 0;if(window&&window.CSS)window.CSS.supports("color",f)||(f="transparent",p=i.trim());else{const m=new Option().style;m.color=f,m.color!==f&&(f="transparent",p=i.trim())}return{color:f,text:p!==void 0?Q1(p.replace(/^:?(?:no)?wrap:/,""),Oe()):void 0,wrap:p!==void 0?p.match(/^:?wrap:/)!==null?!0:p.match(/^:?nowrap:/)!==null?!1:void 0:void 0}},UF={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32},mVe={FILLED:0,OPEN:1},yVe={LEFTOF:0,RIGHTOF:1,OVER:2},_Rt=function(i,a,f){f.text,f.wrap===void 0&&CT()||f.wrap;const p=[].concat(i,i);zb.push({from:p[0],to:p[1],message:f.text,wrap:f.wrap===void 0&&CT()||!!f.wrap,type:UF.NOTE,placement:a})},SRt=function(i,a){const f=GF(i);try{let p=Q1(a.text,Oe());p=p.replace(/&/g,"&"),p=p.replace(/=/g,"=");const w=JSON.parse(p);mgt(f,w)}catch(p){Ut.error("error while parsing actor link text",p)}},xVe=function(i,a){const f=GF(i);try{const b={};let E=Q1(a.text,Oe());var p=E.indexOf("@");E=E.replace(/&/g,"&"),E=E.replace(/=/g,"=");var w=E.slice(0,p-1).trim(),m=E.slice(p+1).trim();b[w]=m,mgt(f,b)}catch(b){Ut.error("error while parsing actor link text",b)}};function mgt(i,a){if(i.links==null)i.links=a;else for(let f in a)i.links[f]=a[f]}const ARt=function(i,a){const f=GF(i);try{let p=Q1(a.text,Oe());const w=JSON.parse(p);LRt(f,w)}catch(p){Ut.error("error while parsing actor properties text",p)}};function LRt(i,a){if(i.properties==null)i.properties=a;else for(let f in a)i.properties[f]=a[f]}function kVe(){j5=void 0}const MRt=function(i,a){const f=GF(i),p=document.getElementById(a.text);try{const w=p.innerHTML,m=JSON.parse(w);m.properties&&LRt(f,m.properties),m.links&&mgt(f,m.links)}catch(w){Ut.error("error while parsing actor details text",w)}},EVe=function(i,a){if(i!==void 0&&i.properties!==void 0)return i.properties[a]},DRt=function(i){if(Array.isArray(i))i.forEach(function(a){DRt(a)});else switch(i.type){case"sequenceIndex":zb.push({from:void 0,to:void 0,message:{start:i.sequenceIndex,step:i.sequenceIndexStep,visible:i.sequenceVisible},wrap:!1,type:i.signalType});break;case"addParticipant":vgt(i.actor,i.actor,i.description,i.draw);break;case"createParticipant":if(R5[i.actor])throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");VF=i.actor,vgt(i.actor,i.actor,i.description,i.draw),pgt[i.actor]=zb.length;break;case"destroyParticipant":gL=i.actor,bgt[i.actor]=zb.length;break;case"activeStart":ef(i.actor,void 0,void 0,i.signalType);break;case"activeEnd":ef(i.actor,void 0,void 0,i.signalType);break;case"addNote":_Rt(i.actor,i.placement,i.text);break;case"addLinks":SRt(i.actor,i.text);break;case"addALink":xVe(i.actor,i.text);break;case"addProperties":ARt(i.actor,i.text);break;case"addDetails":MRt(i.actor,i.text);break;case"addMessage":if(VF){if(i.to!==VF)throw new Error("The created participant "+VF+" does not have an associated creating message after its declaration. Please check the sequence diagram.");VF=void 0}else if(gL){if(i.to!==gL&&i.from!==gL)throw new Error("The destroyed participant "+gL+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");gL=void 0}ef(i.from,i.to,i.msg,i.signalType,i.activate);break;case"boxStart":eVe(i.boxData);break;case"boxEnd":kVe();break;case"loopStart":ef(void 0,void 0,i.loopText,i.signalType);break;case"loopEnd":ef(void 0,void 0,void 0,i.signalType);break;case"rectStart":ef(void 0,void 0,i.color,i.signalType);break;case"rectEnd":ef(void 0,void 0,void 0,i.signalType);break;case"optStart":ef(void 0,void 0,i.optText,i.signalType);break;case"optEnd":ef(void 0,void 0,void 0,i.signalType);break;case"altStart":ef(void 0,void 0,i.altText,i.signalType);break;case"else":ef(void 0,void 0,i.altText,i.signalType);break;case"altEnd":ef(void 0,void 0,void 0,i.signalType);break;case"setAccTitle":E0(i.text);break;case"parStart":ef(void 0,void 0,i.parText,i.signalType);break;case"and":ef(void 0,void 0,i.parText,i.signalType);break;case"parEnd":ef(void 0,void 0,void 0,i.signalType);break;case"criticalStart":ef(void 0,void 0,i.criticalText,i.signalType);break;case"option":ef(void 0,void 0,i.optionText,i.signalType);break;case"criticalEnd":ef(void 0,void 0,void 0,i.signalType);break;case"breakStart":ef(void 0,void 0,i.breakText,i.signalType);break;case"breakEnd":ef(void 0,void 0,void 0,i.signalType);break}},IRt={addActor:vgt,addMessage:rVe,addSignal:ef,addLinks:SRt,addDetails:MRt,addProperties:ARt,autoWrap:CT,setWrap:pVe,enableSequenceNumbers:fVe,disableSequenceNumbers:dVe,showSequenceNumbers:gVe,getMessages:aVe,getActors:cVe,getCreatedActors:uVe,getDestroyedActors:lVe,getActor:GF,getActorKeys:hVe,getActorProperty:EVe,getAccTitle:fg,getBoxes:oVe,getDiagramTitle:pg,setDiagramTitle:Nb,getConfig:()=>Oe().sequence,clear:bVe,parseMessage:wVe,parseBoxData:vVe,LINETYPE:UF,ARROWTYPE:mVe,PLACEMENT:yVe,addNote:_Rt,setAccTitle:E0,apply:DRt,setAccDescription:dg,getAccDescription:gg,hasAtLeastOneBox:iVe,hasAtLeastOneBoxWithTitle:sVe},TVe=i=>`.actor { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + } + + text.actor > tspan { + fill: ${i.actorTextColor}; + stroke: none; + } + + .actor-line { + stroke: ${i.actorLineColor}; + } + + .messageLine0 { + stroke-width: 1.5; + stroke-dasharray: none; + stroke: ${i.signalColor}; + } + + .messageLine1 { + stroke-width: 1.5; + stroke-dasharray: 2, 2; + stroke: ${i.signalColor}; + } + + #arrowhead path { + fill: ${i.signalColor}; + stroke: ${i.signalColor}; + } + + .sequenceNumber { + fill: ${i.sequenceNumberColor}; + } + + #sequencenumber { + fill: ${i.signalColor}; + } + + #crosshead path { + fill: ${i.signalColor}; + stroke: ${i.signalColor}; + } + + .messageText { + fill: ${i.signalTextColor}; + stroke: none; + } + + .labelBox { + stroke: ${i.labelBoxBorderColor}; + fill: ${i.labelBoxBkgColor}; + } + + .labelText, .labelText > tspan { + fill: ${i.labelTextColor}; + stroke: none; + } + + .loopText, .loopText > tspan { + fill: ${i.loopTextColor}; + stroke: none; + } + + .loopLine { + stroke-width: 2px; + stroke-dasharray: 2, 2; + stroke: ${i.labelBoxBorderColor}; + fill: ${i.labelBoxBorderColor}; + } + + .note { + //stroke: #decc93; + stroke: ${i.noteBorderColor}; + fill: ${i.noteBkgColor}; + } + + .noteText, .noteText > tspan { + fill: ${i.noteTextColor}; + stroke: none; + } + + .activation0 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .activation1 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .activation2 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .actorPopupMenu { + position: absolute; + } + + .actorPopupMenuPanel { + position: absolute; + fill: ${i.actorBkg}; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); +} + .actor-man line { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + } + .actor-man circle, line { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + stroke-width: 2px; + } +`,_T=18*2,ygt=function(i,a){return JW(i,a)},ORt=(i,a)=>{vAe(()=>{const f=document.querySelectorAll(i);f.length!==0&&(f[0].addEventListener("mouseover",function(){AVe("actor"+a+"_popup")}),f[0].addEventListener("mouseout",function(){LVe("actor"+a+"_popup")}))})},CVe=function(i,a,f,p,w){if(a.links===void 0||a.links===null||Object.keys(a.links).length===0)return{height:0,width:0};const m=a.links,b=a.actorCnt,E=a.rectData;var _="none";w&&(_="block !important");const A=i.append("g");A.attr("id","actor"+b+"_popup"),A.attr("class","actorPopupMenu"),A.attr("display",_),ORt("#actor"+b+"_popup",b);var I="";E.class!==void 0&&(I=" "+E.class);let B=E.width>f?E.width:f;const N=A.append("rect");if(N.attr("class","actorPopupMenuPanel"+I),N.attr("x",E.x),N.attr("y",E.height),N.attr("fill",E.fill),N.attr("stroke",E.stroke),N.attr("width",B),N.attr("height",E.height),N.attr("rx",E.rx),N.attr("ry",E.ry),m!=null){var R=20;for(let et in m){var z=A.append("a"),W=ik(m[et]);z.attr("xlink:href",W),z.attr("target","_blank"),GVe(p)(et,z,E.x+10,E.height+R,B,20,{class:"actor"},p),R+=30}}return N.attr("height",R),{height:E.height+R,width:B}},_Ve=function(i){return"var pu = document.getElementById('"+i+"'); if (pu != null) { pu.style.display = 'block'; }"},SVe=function(i){return"var pu = document.getElementById('"+i+"'); if (pu != null) { pu.style.display = 'none'; }"},AVe=function(i){var a=document.getElementById(i);a!=null&&(a.style.display="block")},LVe=function(i){var a=document.getElementById(i);a!=null&&(a.style.display="none")},pL=function(i,a){let f=0,p=0;const w=a.text.split(Kr.lineBreakRegex),[m,b]=VA(a.fontSize);let E=[],_=0,A=()=>a.y;if(a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0)switch(a.valign){case"top":case"start":A=()=>Math.round(a.y+a.textMargin);break;case"middle":case"center":A=()=>Math.round(a.y+(f+p+a.textMargin)/2);break;case"bottom":case"end":A=()=>Math.round(a.y+(f+p+2*a.textMargin)-a.textMargin);break}if(a.anchor!==void 0&&a.textMargin!==void 0&&a.width!==void 0)switch(a.anchor){case"left":case"start":a.x=Math.round(a.x+a.textMargin),a.anchor="start",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"middle":case"center":a.x=Math.round(a.x+a.width/2),a.anchor="middle",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"right":case"end":a.x=Math.round(a.x+a.width-a.textMargin),a.anchor="end",a.dominantBaseline="middle",a.alignmentBaseline="middle";break}for(let[I,B]of w.entries()){a.textMargin!==void 0&&a.textMargin===0&&m!==void 0&&(_=I*m);const N=i.append("text");N.attr("x",a.x),N.attr("y",A()),a.anchor!==void 0&&N.attr("text-anchor",a.anchor).attr("dominant-baseline",a.dominantBaseline).attr("alignment-baseline",a.alignmentBaseline),a.fontFamily!==void 0&&N.style("font-family",a.fontFamily),b!==void 0&&N.style("font-size",b),a.fontWeight!==void 0&&N.style("font-weight",a.fontWeight),a.fill!==void 0&&N.attr("fill",a.fill),a.class!==void 0&&N.attr("class",a.class),a.dy!==void 0?N.attr("dy",a.dy):_!==0&&N.attr("dy",_);const R=B||jIt;if(a.tspan){const z=N.append("tspan");z.attr("x",a.x),a.fill!==void 0&&z.attr("fill",a.fill),z.text(R)}else N.text(R);a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0&&(p+=(N._groups||N)[0][0].getBBox().height,f=p),E.push(N)}return E},PRt=function(i,a){function f(w,m,b,E,_){return w+","+m+" "+(w+b)+","+m+" "+(w+b)+","+(m+E-_)+" "+(w+b-_*1.2)+","+(m+E)+" "+w+","+(m+E)}const p=i.append("polygon");return p.attr("points",f(a.x,a.y,a.width,a.height,7)),p.attr("class","labelBox"),a.y=a.y+a.height/2,pL(i,a),p};let gm=-1;const FRt=(i,a,f,p)=>{i.select&&f.forEach(w=>{const m=a[w],b=i.select("#actor"+m.actorCnt);!p.mirrorActors&&m.stopy?b.attr("y2",m.stopy+m.height/2):p.mirrorActors&&b.attr("y2",m.stopy)})},MVe=function(i,a,f,p){const w=p?a.stopy:a.starty,m=a.x+a.width/2,b=w+5,E=i.append("g").lower();var _=E;p||(gm++,_.append("line").attr("id","actor"+gm).attr("x1",m).attr("y1",b).attr("x2",m).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),_=E.append("g"),a.actorCnt=gm,a.links!=null&&(_.attr("id","root-"+gm),ORt("#root-"+gm,gm)));const A=bT();var I="actor";a.properties!=null&&a.properties.class?I=a.properties.class:A.fill="#eaeaea",A.x=a.x,A.y=w,A.width=a.width,A.height=a.height,A.class=I,A.rx=3,A.ry=3;const B=ygt(_,A);if(a.rectData=A,a.properties!=null&&a.properties.icon){const R=a.properties.icon.trim();R.charAt(0)==="@"?$De(_,A.x+A.width-20,A.y+10,R.substr(1)):jDe(_,A.x+A.width-20,A.y+10,R)}xgt(f)(a.description,_,A.x,A.y,A.width,A.height,{class:"actor"},f);let N=a.height;if(B.node){const R=B.node().getBBox();a.height=R.height,N=R.height}return N},DVe=function(i,a,f,p){const w=p?a.stopy:a.starty,m=a.x+a.width/2,b=w+80;i.lower(),p||(gm++,i.append("line").attr("id","actor"+gm).attr("x1",m).attr("y1",b).attr("x2",m).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),a.actorCnt=gm);const E=i.append("g");E.attr("class","actor-man");const _=bT();_.x=a.x,_.y=w,_.fill="#eaeaea",_.width=a.width,_.height=a.height,_.class="actor",_.rx=3,_.ry=3,E.append("line").attr("id","actor-man-torso"+gm).attr("x1",m).attr("y1",w+25).attr("x2",m).attr("y2",w+45),E.append("line").attr("id","actor-man-arms"+gm).attr("x1",m-_T/2).attr("y1",w+33).attr("x2",m+_T/2).attr("y2",w+33),E.append("line").attr("x1",m-_T/2).attr("y1",w+60).attr("x2",m).attr("y2",w+45),E.append("line").attr("x1",m).attr("y1",w+45).attr("x2",m+_T/2-2).attr("y2",w+60);const A=E.append("circle");A.attr("cx",a.x+a.width/2),A.attr("cy",w+10),A.attr("r",15),A.attr("width",a.width),A.attr("height",a.height);const I=E.node().getBBox();return a.height=I.height,xgt(f)(a.description,E,_.x,_.y+35,_.width,_.height,{class:"actor"},f),a.height},IVe=function(i,a,f,p){switch(a.type){case"actor":return DVe(i,a,f,p);case"participant":return MVe(i,a,f,p)}},OVe=function(i,a,f){const w=i.append("g");NRt(w,a),a.name&&xgt(f)(a.name,w,a.x,a.y+(a.textMaxHeight||0)/2,a.width,0,{class:"text"},f),w.lower()},PVe=function(i){return i.append("g")},FVe=function(i,a,f,p,w){const m=bT(),b=a.anchored;m.x=a.startx,m.y=a.starty,m.class="activation"+w%3,m.width=a.stopx-a.startx,m.height=f-a.starty,ygt(b,m)},NVe=function(i,a,f,p){const{boxMargin:w,boxTextMargin:m,labelBoxHeight:b,labelBoxWidth:E,messageFontFamily:_,messageFontSize:A,messageFontWeight:I}=p,B=i.append("g"),N=function(W,et,st,at){return B.append("line").attr("x1",W).attr("y1",et).attr("x2",st).attr("y2",at).attr("class","loopLine")};N(a.startx,a.starty,a.stopx,a.starty),N(a.stopx,a.starty,a.stopx,a.stopy),N(a.startx,a.stopy,a.stopx,a.stopy),N(a.startx,a.starty,a.startx,a.stopy),a.sections!==void 0&&a.sections.forEach(function(W){N(a.startx,W.y,a.stopx,W.y).style("stroke-dasharray","3, 3")});let R=Rdt();R.text=f,R.x=a.startx,R.y=a.starty,R.fontFamily=_,R.fontSize=A,R.fontWeight=I,R.anchor="middle",R.valign="middle",R.tspan=!1,R.width=E||50,R.height=b||20,R.textMargin=m,R.class="labelText",PRt(B,R),R=BRt(),R.text=a.title,R.x=a.startx+E/2+(a.stopx-a.startx)/2,R.y=a.starty+w+m,R.anchor="middle",R.valign="middle",R.textMargin=m,R.class="loopText",R.fontFamily=_,R.fontSize=A,R.fontWeight=I,R.wrap=!0;let z=pL(B,R);return a.sectionTitles!==void 0&&a.sectionTitles.forEach(function(W,et){if(W.message){R.text=W.message,R.x=a.startx+(a.stopx-a.startx)/2,R.y=a.sections[et].y+w+m,R.class="loopText",R.anchor="middle",R.valign="middle",R.tspan=!1,R.fontFamily=_,R.fontSize=A,R.fontWeight=I,R.wrap=a.wrap,z=pL(B,R);let st=Math.round(z.map(at=>(at._groups||at)[0][0].getBBox().height).reduce((at,bt)=>at+bt));a.sections[et].height+=st-(w+m)}}),a.height=Math.round(a.stopy-a.starty),B},NRt=function(i,a){mPt(i,a)},BVe=function(i){i.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},RVe=function(i){i.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},jVe=function(i){i.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},$Ve=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},zVe=function(i){i.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},qVe=function(i){i.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},HVe=function(i){i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},BRt=function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},VVe=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},xgt=function(){function i(w,m,b,E,_,A,I){const B=m.append("text").attr("x",b+_/2).attr("y",E+A/2+5).style("text-anchor","middle").text(w);p(B,I)}function a(w,m,b,E,_,A,I,B){const{actorFontSize:N,actorFontFamily:R,actorFontWeight:z}=B,[W,et]=VA(N),st=w.split(Kr.lineBreakRegex);for(let at=0;ati.height||0))+(this.loops.length===0?0:this.loops.map(i=>i.height||0).reduce((i,a)=>i+a))+(this.messages.length===0?0:this.messages.map(i=>i.height||0).reduce((i,a)=>i+a))+(this.notes.length===0?0:this.notes.map(i=>i.height||0).reduce((i,a)=>i+a))},clear:function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},addBox:function(i){this.boxes.push(i)},addActor:function(i){this.actors.push(i)},addLoop:function(i){this.loops.push(i)},addMessage:function(i){this.messages.push(i)},addNote:function(i){this.notes.push(i)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],boxes:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,jRt(Oe())},updateVal:function(i,a,f,p){i[a]===void 0?i[a]=f:i[a]=p(f,i[a])},updateBounds:function(i,a,f,p){const w=this;let m=0;function b(E){return function(A){m++;const I=w.sequenceItems.length-m+1;w.updateVal(A,"starty",a-I*fn.boxMargin,Math.min),w.updateVal(A,"stopy",p+I*fn.boxMargin,Math.max),w.updateVal(Fr.data,"startx",i-I*fn.boxMargin,Math.min),w.updateVal(Fr.data,"stopx",f+I*fn.boxMargin,Math.max),E!=="activation"&&(w.updateVal(A,"startx",i-I*fn.boxMargin,Math.min),w.updateVal(A,"stopx",f+I*fn.boxMargin,Math.max),w.updateVal(Fr.data,"starty",a-I*fn.boxMargin,Math.min),w.updateVal(Fr.data,"stopy",p+I*fn.boxMargin,Math.max))}}this.sequenceItems.forEach(b()),this.activations.forEach(b("activation"))},insert:function(i,a,f,p){const w=Kr.getMin(i,f),m=Kr.getMax(i,f),b=Kr.getMin(a,p),E=Kr.getMax(a,p);this.updateVal(Fr.data,"startx",w,Math.min),this.updateVal(Fr.data,"starty",b,Math.min),this.updateVal(Fr.data,"stopx",m,Math.max),this.updateVal(Fr.data,"stopy",E,Math.max),this.updateBounds(w,b,m,E)},newActivation:function(i,a,f){const p=f[i.from.actor],w=jY(i.from.actor).length||0,m=p.x+p.width/2+(w-1)*fn.activationWidth/2;this.activations.push({startx:m,starty:this.verticalPos+2,stopx:m+fn.activationWidth,stopy:void 0,actor:i.from.actor,anchored:nf.anchorElement(a)})},endActivation:function(i){const a=this.activations.map(function(f){return f.actor}).lastIndexOf(i.from.actor);return this.activations.splice(a,1)[0]},createLoop:function(i={message:void 0,wrap:!1,width:void 0},a){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:i.message,wrap:i.wrap,width:i.width,height:0,fill:a}},newLoop:function(i={message:void 0,wrap:!1,width:void 0},a){this.sequenceItems.push(this.createLoop(i,a))},endLoop:function(){return this.sequenceItems.pop()},isLoopOverlap:function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},addSectionToLoop:function(i){const a=this.sequenceItems.pop();a.sections=a.sections||[],a.sectionTitles=a.sectionTitles||[],a.sections.push({y:Fr.getVerticalPos(),height:0}),a.sectionTitles.push(i),this.sequenceItems.push(a)},saveVerticalPos:function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},resetVerticalPos:function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=Kr.getMax(this.data.stopy,this.verticalPos)},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},UVe=function(i,a){Fr.bumpVerticalPos(fn.boxMargin),a.height=fn.boxMargin,a.starty=Fr.getVerticalPos();const f=bT();f.x=a.startx,f.y=a.starty,f.width=a.width||fn.width,f.class="note";const p=i.append("g"),w=nf.drawRect(p,f),m=Rdt();m.x=a.startx,m.y=a.starty,m.width=f.width,m.dy="1em",m.text=a.message,m.class="noteText",m.fontFamily=fn.noteFontFamily,m.fontSize=fn.noteFontSize,m.fontWeight=fn.noteFontWeight,m.anchor=fn.noteAlign,m.textMargin=fn.noteMargin,m.valign="center";const b=pL(p,m),E=Math.round(b.map(_=>(_._groups||_)[0][0].getBBox().height).reduce((_,A)=>_+A));w.attr("height",E+2*fn.noteMargin),a.height+=E+2*fn.noteMargin,Fr.bumpVerticalPos(E+2*fn.noteMargin),a.stopy=a.starty+E+2*fn.noteMargin,a.stopx=a.startx+f.width,Fr.insert(a.startx,a.starty,a.stopx,a.stopy),Fr.models.addNote(a)},ST=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight}),bL=i=>({fontFamily:i.noteFontFamily,fontSize:i.noteFontSize,fontWeight:i.noteFontWeight}),kgt=i=>({fontFamily:i.actorFontFamily,fontSize:i.actorFontSize,fontWeight:i.actorFontWeight});function WVe(i,a){Fr.bumpVerticalPos(10);const{startx:f,stopx:p,message:w}=a,m=Kr.splitBreaks(w).length,b=$a.calculateTextDimensions(w,ST(fn)),E=b.height/m;a.height+=E,Fr.bumpVerticalPos(E);let _,A=b.height-10;const I=b.width;if(f===p){_=Fr.getVerticalPos()+A,fn.rightAngles||(A+=fn.boxMargin,_=Fr.getVerticalPos()+A),A+=30;const B=Kr.getMax(I/2,fn.width/2);Fr.insert(f-B,Fr.getVerticalPos()-10+A,p+B,Fr.getVerticalPos()+30+A)}else A+=fn.boxMargin,_=Fr.getVerticalPos()+A,Fr.insert(f,_-10,p,_);return Fr.bumpVerticalPos(A),a.height+=A,a.stopy=a.starty+a.height,Fr.insert(a.fromBounds,a.starty,a.toBounds,a.stopy),_}const YVe=function(i,a,f,p){const{startx:w,stopx:m,starty:b,message:E,type:_,sequenceIndex:A,sequenceVisible:I}=a,B=$a.calculateTextDimensions(E,ST(fn)),N=Rdt();N.x=w,N.y=b+10,N.width=m-w,N.class="messageText",N.dy="1em",N.text=E,N.fontFamily=fn.messageFontFamily,N.fontSize=fn.messageFontSize,N.fontWeight=fn.messageFontWeight,N.anchor=fn.messageAlign,N.valign="center",N.textMargin=fn.wrapPadding,N.tspan=!1,pL(i,N);const R=B.width;let z;w===m?fn.rightAngles?z=i.append("path").attr("d",`M ${w},${f} H ${w+Kr.getMax(fn.width/2,R/2)} V ${f+25} H ${w}`):z=i.append("path").attr("d","M "+w+","+f+" C "+(w+60)+","+(f-10)+" "+(w+60)+","+(f+30)+" "+w+","+(f+20)):(z=i.append("line"),z.attr("x1",w),z.attr("y1",f),z.attr("x2",m),z.attr("y2",f)),_===p.db.LINETYPE.DOTTED||_===p.db.LINETYPE.DOTTED_CROSS||_===p.db.LINETYPE.DOTTED_POINT||_===p.db.LINETYPE.DOTTED_OPEN?(z.style("stroke-dasharray","3, 3"),z.attr("class","messageLine1")):z.attr("class","messageLine0");let W="";fn.arrowMarkerAbsolute&&(W=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,W=W.replace(/\(/g,"\\("),W=W.replace(/\)/g,"\\)")),z.attr("stroke-width",2),z.attr("stroke","none"),z.style("fill","none"),(_===p.db.LINETYPE.SOLID||_===p.db.LINETYPE.DOTTED)&&z.attr("marker-end","url("+W+"#arrowhead)"),(_===p.db.LINETYPE.SOLID_POINT||_===p.db.LINETYPE.DOTTED_POINT)&&z.attr("marker-end","url("+W+"#filled-head)"),(_===p.db.LINETYPE.SOLID_CROSS||_===p.db.LINETYPE.DOTTED_CROSS)&&z.attr("marker-end","url("+W+"#crosshead)"),(I||fn.showSequenceNumbers)&&(z.attr("marker-start","url("+W+"#sequencenumber)"),i.append("text").attr("x",w).attr("y",f+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(A))},KVe=function(i,a,f,p,w,m,b){let E=0,_=0,A,I=0;for(const B of p){const N=a[B],R=N.box;A&&A!=R&&(b||Fr.models.addBox(A),_+=fn.boxMargin+A.margin),R&&R!=A&&(b||(R.x=E+_,R.y=w),_+=R.margin),N.width=N.width||fn.width,N.height=Kr.getMax(N.height||fn.height,fn.height),N.margin=N.margin||fn.actorMargin,I=Kr.getMax(I,N.height),f[N.name]&&(_+=N.width/2),N.x=E+_,N.starty=Fr.getVerticalPos(),Fr.insert(N.x,w,N.x+N.width,N.height),E+=N.width+_,N.box&&(N.box.width=E+R.margin-N.box.x),_=N.margin,A=N.box,Fr.models.addActor(N)}A&&!b&&Fr.models.addBox(A),Fr.bumpVerticalPos(I)},Egt=function(i,a,f,p){if(p){let w=0;Fr.bumpVerticalPos(fn.boxMargin*2);for(const m of f){const b=a[m];b.stopy||(b.stopy=Fr.getVerticalPos());const E=nf.drawActor(i,b,fn,!0);w=Kr.getMax(w,E)}Fr.bumpVerticalPos(w+fn.boxMargin)}else for(const w of f){const m=a[w];nf.drawActor(i,m,fn,!1)}},RRt=function(i,a,f,p){let w=0,m=0;for(const b of f){const E=a[b],_=JVe(E),A=nf.drawPopup(i,E,_,fn,fn.forceMenus,p);A.height>w&&(w=A.height),A.width+E.x>m&&(m=A.width+E.x)}return{maxHeight:w,maxWidth:m}},jRt=function(i){Z1(fn,i),i.fontFamily&&(fn.actorFontFamily=fn.noteFontFamily=fn.messageFontFamily=i.fontFamily),i.fontSize&&(fn.actorFontSize=fn.noteFontSize=fn.messageFontSize=i.fontSize),i.fontWeight&&(fn.actorFontWeight=fn.noteFontWeight=fn.messageFontWeight=i.fontWeight)},jY=function(i){return Fr.activations.filter(function(a){return a.actor===i})},$Rt=function(i,a){const f=a[i],p=jY(i),w=p.reduce(function(b,E){return Kr.getMin(b,E.startx)},f.x+f.width/2-1),m=p.reduce(function(b,E){return Kr.getMax(b,E.stopx)},f.x+f.width/2+1);return[w,m]};function k3(i,a,f,p,w){Fr.bumpVerticalPos(f);let m=p;if(a.id&&a.message&&i[a.id]){const b=i[a.id].width,E=ST(fn);a.message=$a.wrapLabel(`[${a.message}]`,b-2*fn.wrapPadding,E),a.width=b,a.wrap=!0;const _=$a.calculateTextDimensions(a.message,E),A=Kr.getMax(_.height,fn.labelBoxHeight);m=p+A,Ut.debug(`${A} - ${a.message}`)}w(a),Fr.bumpVerticalPos(m)}function XVe(i,a,f,p,w,m,b){function E(A,I){A.x{Et.add(Z.from),Et.add(Z.to)}),z=z.filter(Z=>Et.has(Z))}KVe(A,I,B,z,0,W,!1);const mt=rGe(W,I,bt,p);nf.insertArrowHead(A),nf.insertArrowCrossHead(A),nf.insertArrowFilledHead(A),nf.insertSequenceNumber(A);function yt(Et,Z){const Ct=Fr.endActivation(Et);Ct.starty+18>Z&&(Ct.starty=Z-6,Z+=12),nf.drawActivation(A,Ct,Z,fn,jY(Et.from.actor).length),Fr.insert(Ct.startx,Z-10,Ct.stopx,Z)}let ft=1,ut=1;const vt=[],X=[];W.forEach(function(Et,Z){let Ct,xt,Ht;switch(Et.type){case p.db.LINETYPE.NOTE:Fr.resetVerticalPos(),xt=Et.noteModel,UVe(A,xt);break;case p.db.LINETYPE.ACTIVE_START:Fr.newActivation(Et,A,I);break;case p.db.LINETYPE.ACTIVE_END:yt(Et,Fr.getVerticalPos());break;case p.db.LINETYPE.LOOP_START:k3(mt,Et,fn.boxMargin,fn.boxMargin+fn.boxTextMargin,Le=>Fr.newLoop(Le));break;case p.db.LINETYPE.LOOP_END:Ct=Fr.endLoop(),nf.drawLoop(A,Ct,"loop",fn),Fr.bumpVerticalPos(Ct.stopy-Fr.getVerticalPos()),Fr.models.addLoop(Ct);break;case p.db.LINETYPE.RECT_START:k3(mt,Et,fn.boxMargin,fn.boxMargin,Le=>Fr.newLoop(void 0,Le.message));break;case p.db.LINETYPE.RECT_END:Ct=Fr.endLoop(),X.push(Ct),Fr.models.addLoop(Ct),Fr.bumpVerticalPos(Ct.stopy-Fr.getVerticalPos());break;case p.db.LINETYPE.OPT_START:k3(mt,Et,fn.boxMargin,fn.boxMargin+fn.boxTextMargin,Le=>Fr.newLoop(Le));break;case p.db.LINETYPE.OPT_END:Ct=Fr.endLoop(),nf.drawLoop(A,Ct,"opt",fn),Fr.bumpVerticalPos(Ct.stopy-Fr.getVerticalPos()),Fr.models.addLoop(Ct);break;case p.db.LINETYPE.ALT_START:k3(mt,Et,fn.boxMargin,fn.boxMargin+fn.boxTextMargin,Le=>Fr.newLoop(Le));break;case p.db.LINETYPE.ALT_ELSE:k3(mt,Et,fn.boxMargin+fn.boxTextMargin,fn.boxMargin,Le=>Fr.addSectionToLoop(Le));break;case p.db.LINETYPE.ALT_END:Ct=Fr.endLoop(),nf.drawLoop(A,Ct,"alt",fn),Fr.bumpVerticalPos(Ct.stopy-Fr.getVerticalPos()),Fr.models.addLoop(Ct);break;case p.db.LINETYPE.PAR_START:case p.db.LINETYPE.PAR_OVER_START:k3(mt,Et,fn.boxMargin,fn.boxMargin+fn.boxTextMargin,Le=>Fr.newLoop(Le)),Fr.saveVerticalPos();break;case p.db.LINETYPE.PAR_AND:k3(mt,Et,fn.boxMargin+fn.boxTextMargin,fn.boxMargin,Le=>Fr.addSectionToLoop(Le));break;case p.db.LINETYPE.PAR_END:Ct=Fr.endLoop(),nf.drawLoop(A,Ct,"par",fn),Fr.bumpVerticalPos(Ct.stopy-Fr.getVerticalPos()),Fr.models.addLoop(Ct);break;case p.db.LINETYPE.AUTONUMBER:ft=Et.message.start||ft,ut=Et.message.step||ut,Et.message.visible?p.db.enableSequenceNumbers():p.db.disableSequenceNumbers();break;case p.db.LINETYPE.CRITICAL_START:k3(mt,Et,fn.boxMargin,fn.boxMargin+fn.boxTextMargin,Le=>Fr.newLoop(Le));break;case p.db.LINETYPE.CRITICAL_OPTION:k3(mt,Et,fn.boxMargin+fn.boxTextMargin,fn.boxMargin,Le=>Fr.addSectionToLoop(Le));break;case p.db.LINETYPE.CRITICAL_END:Ct=Fr.endLoop(),nf.drawLoop(A,Ct,"critical",fn),Fr.bumpVerticalPos(Ct.stopy-Fr.getVerticalPos()),Fr.models.addLoop(Ct);break;case p.db.LINETYPE.BREAK_START:k3(mt,Et,fn.boxMargin,fn.boxMargin+fn.boxTextMargin,Le=>Fr.newLoop(Le));break;case p.db.LINETYPE.BREAK_END:Ct=Fr.endLoop(),nf.drawLoop(A,Ct,"break",fn),Fr.bumpVerticalPos(Ct.stopy-Fr.getVerticalPos()),Fr.models.addLoop(Ct);break;default:try{Ht=Et.msgModel,Ht.starty=Fr.getVerticalPos(),Ht.sequenceIndex=ft,Ht.sequenceVisible=p.db.showSequenceNumbers();const Le=WVe(A,Ht);XVe(Et,Ht,Le,Z,I,B,N),vt.push({messageModel:Ht,lineStartY:Le}),Fr.models.addMessage(Ht)}catch(Le){Ut.error("error while drawing message",Le)}}[p.db.LINETYPE.SOLID_OPEN,p.db.LINETYPE.DOTTED_OPEN,p.db.LINETYPE.SOLID,p.db.LINETYPE.DOTTED,p.db.LINETYPE.SOLID_CROSS,p.db.LINETYPE.DOTTED_CROSS,p.db.LINETYPE.SOLID_POINT,p.db.LINETYPE.DOTTED_POINT].includes(Et.type)&&(ft=ft+ut)}),Ut.debug("createdActors",B),Ut.debug("destroyedActors",N),Egt(A,I,z,!1),vt.forEach(Et=>YVe(A,Et.messageModel,Et.lineStartY,p)),fn.mirrorActors&&Egt(A,I,z,!0),X.forEach(Et=>nf.drawBackgroundRect(A,Et)),FRt(A,I,z,fn),Fr.models.boxes.forEach(function(Et){Et.height=Fr.getVerticalPos()-Et.y,Fr.insert(Et.x,Et.y,Et.x+Et.width,Et.height),Et.startx=Et.x,Et.starty=Et.y,Et.stopx=Et.startx+Et.width,Et.stopy=Et.starty+Et.height,Et.stroke="rgb(0,0,0, 0.5)",nf.drawBox(A,Et,fn)}),st&&Fr.bumpVerticalPos(fn.boxMargin);const pt=RRt(A,I,z,_),{bounds:U}=Fr.getBounds();let Tt=U.stopy-U.starty;Tt{const b=i[m];b.wrap&&(b.description=$a.wrapLabel(b.description,fn.width-2*fn.wrapPadding,kgt(fn)));const E=$a.calculateTextDimensions(b.description,kgt(fn));b.width=b.wrap?fn.width:Kr.getMax(fn.width,E.width+2*fn.wrapPadding),b.height=b.wrap?Kr.getMax(E.height,fn.height):fn.height,p=Kr.getMax(p,b.height)});for(const m in a){const b=i[m];if(!b)continue;const E=i[b.nextActor];if(!E){const B=a[m]+fn.actorMargin-b.width/2;b.margin=Kr.getMax(B,fn.actorMargin);continue}const A=a[m]+fn.actorMargin-b.width/2-E.width/2;b.margin=Kr.getMax(A,fn.actorMargin)}let w=0;return f.forEach(m=>{const b=ST(fn);let E=m.actorKeys.reduce((I,B)=>I+=i[B].width+(i[B].margin||0),0);E-=2*fn.boxTextMargin,m.wrap&&(m.name=$a.wrapLabel(m.name,E-2*fn.wrapPadding,b));const _=$a.calculateTextDimensions(m.name,b);w=Kr.getMax(_.height,w);const A=Kr.getMax(E,_.width+2*fn.wrapPadding);if(m.margin=fn.boxTextMargin,Em.textMaxHeight=w),Kr.getMax(p,fn.height)}const eGe=function(i,a,f){const p=a[i.from].x,w=a[i.to].x,m=i.wrap&&i.message;let b=$a.calculateTextDimensions(m?$a.wrapLabel(i.message,fn.width,bL(fn)):i.message,bL(fn));const E={width:m?fn.width:Kr.getMax(fn.width,b.width+2*fn.noteMargin),height:0,startx:a[i.from].x,stopx:0,starty:0,stopy:0,message:i.message};return i.placement===f.db.PLACEMENT.RIGHTOF?(E.width=m?Kr.getMax(fn.width,b.width):Kr.getMax(a[i.from].width/2+a[i.to].width/2,b.width+2*fn.noteMargin),E.startx=p+(a[i.from].width+fn.actorMargin)/2):i.placement===f.db.PLACEMENT.LEFTOF?(E.width=m?Kr.getMax(fn.width,b.width+2*fn.noteMargin):Kr.getMax(a[i.from].width/2+a[i.to].width/2,b.width+2*fn.noteMargin),E.startx=p-E.width+(a[i.from].width-fn.actorMargin)/2):i.to===i.from?(b=$a.calculateTextDimensions(m?$a.wrapLabel(i.message,Kr.getMax(fn.width,a[i.from].width),bL(fn)):i.message,bL(fn)),E.width=m?Kr.getMax(fn.width,a[i.from].width):Kr.getMax(a[i.from].width,fn.width,b.width+2*fn.noteMargin),E.startx=p+(a[i.from].width-E.width)/2):(E.width=Math.abs(p+a[i.from].width/2-(w+a[i.to].width/2))+fn.actorMargin,E.startx=p2,B=W=>E?-W:W;i.from===i.to?A=_:(i.activate&&!I&&(A+=B(fn.activationWidth/2-1)),[f.db.LINETYPE.SOLID_OPEN,f.db.LINETYPE.DOTTED_OPEN].includes(i.type)||(A+=B(3)));const N=[p,w,m,b],R=Math.abs(_-A);i.wrap&&i.message&&(i.message=$a.wrapLabel(i.message,Kr.getMax(R+2*fn.wrapPadding,fn.width),ST(fn)));const z=$a.calculateTextDimensions(i.message,ST(fn));return{width:Kr.getMax(i.wrap?0:z.width+2*fn.wrapPadding,R+2*fn.wrapPadding,fn.width),height:0,startx:_,stopx:A,starty:0,stopy:0,message:i.message,type:i.type,wrap:i.wrap,fromBounds:Math.min.apply(null,N),toBounds:Math.max.apply(null,N)}},rGe=function(i,a,f,p){const w={},m=[];let b,E,_;return i.forEach(function(A){switch(A.id=$a.random({length:10}),A.type){case p.db.LINETYPE.LOOP_START:case p.db.LINETYPE.ALT_START:case p.db.LINETYPE.OPT_START:case p.db.LINETYPE.PAR_START:case p.db.LINETYPE.PAR_OVER_START:case p.db.LINETYPE.CRITICAL_START:case p.db.LINETYPE.BREAK_START:m.push({id:A.id,msg:A.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case p.db.LINETYPE.ALT_ELSE:case p.db.LINETYPE.PAR_AND:case p.db.LINETYPE.CRITICAL_OPTION:A.message&&(b=m.pop(),w[b.id]=b,w[A.id]=b,m.push(b));break;case p.db.LINETYPE.LOOP_END:case p.db.LINETYPE.ALT_END:case p.db.LINETYPE.OPT_END:case p.db.LINETYPE.PAR_END:case p.db.LINETYPE.CRITICAL_END:case p.db.LINETYPE.BREAK_END:b=m.pop(),w[b.id]=b;break;case p.db.LINETYPE.ACTIVE_START:{const B=a[A.from?A.from.actor:A.to.actor],N=jY(A.from?A.from.actor:A.to.actor).length,R=B.x+B.width/2+(N-1)*fn.activationWidth/2,z={startx:R,stopx:R+fn.activationWidth,actor:A.from.actor,enabled:!0};Fr.activations.push(z)}break;case p.db.LINETYPE.ACTIVE_END:{const B=Fr.activations.map(N=>N.actor).lastIndexOf(A.from.actor);delete Fr.activations.splice(B,1)[0]}break}A.placement!==void 0?(E=eGe(A,a,p),A.noteModel=E,m.forEach(B=>{b=B,b.from=Kr.getMin(b.from,E.startx),b.to=Kr.getMax(b.to,E.startx+E.width),b.width=Kr.getMax(b.width,Math.abs(b.from-b.to))-fn.labelBoxWidth})):(_=nGe(A,a,p),A.msgModel=_,_.startx&&_.stopx&&m.length>0&&m.forEach(B=>{if(b=B,_.startx===_.stopx){const N=a[A.from],R=a[A.to];b.from=Kr.getMin(N.x-_.width/2,N.x-N.width/2,b.from),b.to=Kr.getMax(R.x+_.width/2,R.x+N.width/2,b.to),b.width=Kr.getMax(b.width,Math.abs(b.to-b.from))-fn.labelBoxWidth}else b.from=Kr.getMin(_.startx,b.from),b.to=Kr.getMax(_.stopx,b.to),b.width=Kr.getMax(b.width,_.width)-fn.labelBoxWidth}))}),Fr.activations=[],Ut.debug("Loop type widths:",w),w},iGe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:tVe,db:IRt,renderer:{bounds:Fr,drawActors:Egt,drawActorsPopup:RRt,setConf:jRt,draw:QVe},styles:TVe,init:({wrap:i})=>{IRt.setWrap(i)}}},Symbol.toStringTag,{value:"Module"}));var Tgt=function(){var i=function(ke,zt,re,se){for(re=re||{},se=ke.length;se--;re[ke[se]]=zt);return re},a=[1,16],f=[1,17],p=[1,18],w=[1,37],m=[1,38],b=[1,24],E=[1,22],_=[1,23],A=[1,29],I=[1,30],B=[1,31],N=[1,32],R=[1,33],z=[1,34],W=[1,25],et=[1,26],st=[1,27],at=[1,28],bt=[1,42],mt=[1,39],yt=[1,40],ft=[1,41],ut=[1,43],vt=[1,9],X=[1,8,9],pt=[1,54],U=[1,55],Tt=[1,56],nt=[1,57],It=[1,58],Ot=[1,59],Bt=[1,60],Et=[1,8,9,38],Z=[1,71],Ct=[1,8,9,12,13,21,36,38,41,58,59,60,61,62,63,64,69,71],xt=[1,8,9,12,13,19,21,36,38,41,45,58,59,60,61,62,63,64,69,71,84,86,87,88,89],Ht=[13,84,86,87,88,89],Le=[13,63,64,84,86,87,88,89],Ft=[13,58,59,60,61,62,84,86,87,88,89],gn=[1,90],Se=[1,8,9,36,38,41],me=[1,8,9,21],Ve={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,cssClassStatement:27,noteStatement:28,direction:29,acc_title:30,acc_title_value:31,acc_descr:32,acc_descr_value:33,acc_descr_multiline_value:34,namespaceIdentifier:35,STRUCT_START:36,classStatements:37,STRUCT_STOP:38,NAMESPACE:39,classIdentifier:40,STYLE_SEPARATOR:41,members:42,CLASS:43,ANNOTATION_START:44,ANNOTATION_END:45,MEMBER:46,SEPARATOR:47,relation:48,NOTE_FOR:49,noteText:50,NOTE:51,direction_tb:52,direction_bt:53,direction_rl:54,direction_lr:55,relationType:56,lineType:57,AGGREGATION:58,EXTENSION:59,COMPOSITION:60,DEPENDENCY:61,LOLLIPOP:62,LINE:63,DOTTED_LINE:64,CALLBACK:65,LINK:66,LINK_TARGET:67,CLICK:68,CALLBACK_NAME:69,CALLBACK_ARGS:70,HREF:71,CSSCLASS:72,commentToken:73,textToken:74,graphCodeTokens:75,textNoTagsToken:76,TAGSTART:77,TAGEND:78,"==":79,"--":80,PCT:81,DEFAULT:82,SPACE:83,MINUS:84,keywords:85,UNICODE_TEXT:86,NUM:87,ALPHA:88,BQUOTE_STR:89,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",30:"acc_title",31:"acc_title_value",32:"acc_descr",33:"acc_descr_value",34:"acc_descr_multiline_value",36:"STRUCT_START",38:"STRUCT_STOP",39:"NAMESPACE",41:"STYLE_SEPARATOR",43:"CLASS",44:"ANNOTATION_START",45:"ANNOTATION_END",46:"MEMBER",47:"SEPARATOR",49:"NOTE_FOR",51:"NOTE",52:"direction_tb",53:"direction_bt",54:"direction_rl",55:"direction_lr",58:"AGGREGATION",59:"EXTENSION",60:"COMPOSITION",61:"DEPENDENCY",62:"LOLLIPOP",63:"LINE",64:"DOTTED_LINE",65:"CALLBACK",66:"LINK",67:"LINK_TARGET",68:"CLICK",69:"CALLBACK_NAME",70:"CALLBACK_ARGS",71:"HREF",72:"CSSCLASS",75:"graphCodeTokens",77:"TAGSTART",78:"TAGEND",79:"==",80:"--",81:"PCT",82:"DEFAULT",83:"SPACE",84:"MINUS",85:"keywords",86:"UNICODE_TEXT",87:"NUM",88:"ALPHA",89:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[35,2],[37,1],[37,2],[37,3],[23,1],[23,3],[23,4],[23,6],[40,2],[40,3],[25,4],[42,1],[42,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[28,3],[28,2],[29,1],[29,1],[29,1],[29,1],[48,3],[48,2],[48,2],[48,1],[56,1],[56,1],[56,1],[56,1],[56,1],[57,1],[57,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[73,1],[73,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[76,1],[76,1],[76,1],[76,1],[16,1],[16,1],[16,1],[16,1],[18,1],[50,1]],performAction:function(zt,re,se,Pe,te,Me,de){var on=Me.length-1;switch(te){case 8:this.$=Me[on-1];break;case 9:case 11:case 12:this.$=Me[on];break;case 10:case 13:this.$=Me[on-1]+Me[on];break;case 14:case 15:this.$=Me[on-1]+"~"+Me[on]+"~";break;case 16:Pe.addRelation(Me[on]);break;case 17:Me[on-1].title=Pe.cleanupLabel(Me[on]),Pe.addRelation(Me[on-1]);break;case 26:this.$=Me[on].trim(),Pe.setAccTitle(this.$);break;case 27:case 28:this.$=Me[on].trim(),Pe.setAccDescription(this.$);break;case 29:Pe.addClassesToNamespace(Me[on-3],Me[on-1]);break;case 30:Pe.addClassesToNamespace(Me[on-4],Me[on-1]);break;case 31:this.$=Me[on],Pe.addNamespace(Me[on]);break;case 32:this.$=[Me[on]];break;case 33:this.$=[Me[on-1]];break;case 34:Me[on].unshift(Me[on-2]),this.$=Me[on];break;case 36:Pe.setCssClass(Me[on-2],Me[on]);break;case 37:Pe.addMembers(Me[on-3],Me[on-1]);break;case 38:Pe.setCssClass(Me[on-5],Me[on-3]),Pe.addMembers(Me[on-5],Me[on-1]);break;case 39:this.$=Me[on],Pe.addClass(Me[on]);break;case 40:this.$=Me[on-1],Pe.addClass(Me[on-1]),Pe.setClassLabel(Me[on-1],Me[on]);break;case 41:Pe.addAnnotation(Me[on],Me[on-2]);break;case 42:this.$=[Me[on]];break;case 43:Me[on].push(Me[on-1]),this.$=Me[on];break;case 44:break;case 45:Pe.addMember(Me[on-1],Pe.cleanupLabel(Me[on]));break;case 46:break;case 47:break;case 48:this.$={id1:Me[on-2],id2:Me[on],relation:Me[on-1],relationTitle1:"none",relationTitle2:"none"};break;case 49:this.$={id1:Me[on-3],id2:Me[on],relation:Me[on-1],relationTitle1:Me[on-2],relationTitle2:"none"};break;case 50:this.$={id1:Me[on-3],id2:Me[on],relation:Me[on-2],relationTitle1:"none",relationTitle2:Me[on-1]};break;case 51:this.$={id1:Me[on-4],id2:Me[on],relation:Me[on-2],relationTitle1:Me[on-3],relationTitle2:Me[on-1]};break;case 52:Pe.addNote(Me[on],Me[on-1]);break;case 53:Pe.addNote(Me[on]);break;case 54:Pe.setDirection("TB");break;case 55:Pe.setDirection("BT");break;case 56:Pe.setDirection("RL");break;case 57:Pe.setDirection("LR");break;case 58:this.$={type1:Me[on-2],type2:Me[on],lineType:Me[on-1]};break;case 59:this.$={type1:"none",type2:Me[on],lineType:Me[on-1]};break;case 60:this.$={type1:Me[on-1],type2:"none",lineType:Me[on]};break;case 61:this.$={type1:"none",type2:"none",lineType:Me[on]};break;case 62:this.$=Pe.relationType.AGGREGATION;break;case 63:this.$=Pe.relationType.EXTENSION;break;case 64:this.$=Pe.relationType.COMPOSITION;break;case 65:this.$=Pe.relationType.DEPENDENCY;break;case 66:this.$=Pe.relationType.LOLLIPOP;break;case 67:this.$=Pe.lineType.LINE;break;case 68:this.$=Pe.lineType.DOTTED_LINE;break;case 69:case 75:this.$=Me[on-2],Pe.setClickEvent(Me[on-1],Me[on]);break;case 70:case 76:this.$=Me[on-3],Pe.setClickEvent(Me[on-2],Me[on-1]),Pe.setTooltip(Me[on-2],Me[on]);break;case 71:this.$=Me[on-2],Pe.setLink(Me[on-1],Me[on]);break;case 72:this.$=Me[on-3],Pe.setLink(Me[on-2],Me[on-1],Me[on]);break;case 73:this.$=Me[on-3],Pe.setLink(Me[on-2],Me[on-1]),Pe.setTooltip(Me[on-2],Me[on]);break;case 74:this.$=Me[on-4],Pe.setLink(Me[on-3],Me[on-2],Me[on]),Pe.setTooltip(Me[on-3],Me[on-1]);break;case 77:this.$=Me[on-3],Pe.setClickEvent(Me[on-2],Me[on-1],Me[on]);break;case 78:this.$=Me[on-4],Pe.setClickEvent(Me[on-3],Me[on-2],Me[on-1]),Pe.setTooltip(Me[on-3],Me[on]);break;case 79:this.$=Me[on-3],Pe.setLink(Me[on-2],Me[on]);break;case 80:this.$=Me[on-4],Pe.setLink(Me[on-3],Me[on-1],Me[on]);break;case 81:this.$=Me[on-4],Pe.setLink(Me[on-3],Me[on-1]),Pe.setTooltip(Me[on-3],Me[on]);break;case 82:this.$=Me[on-5],Pe.setLink(Me[on-4],Me[on-2],Me[on]),Pe.setTooltip(Me[on-4],Me[on-1]);break;case 83:Pe.setCssClass(Me[on-1],Me[on]);break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:35,17:19,18:36,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:a,32:f,34:p,35:20,39:w,40:21,43:m,44:b,46:E,47:_,49:A,51:I,52:B,53:N,54:R,55:z,65:W,66:et,68:st,72:at,84:bt,86:mt,87:yt,88:ft,89:ut},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},i(vt,[2,5],{8:[1,44]}),{8:[1,45]},i(X,[2,16],{21:[1,46]}),i(X,[2,18]),i(X,[2,19]),i(X,[2,20]),i(X,[2,21]),i(X,[2,22]),i(X,[2,23]),i(X,[2,24]),i(X,[2,25]),{31:[1,47]},{33:[1,48]},i(X,[2,28]),i(X,[2,44],{48:49,56:52,57:53,13:[1,50],21:[1,51],58:pt,59:U,60:Tt,61:nt,62:It,63:Ot,64:Bt}),{36:[1,61]},i(Et,[2,35],{36:[1,63],41:[1,62]}),i(X,[2,46]),i(X,[2,47]),{16:64,84:bt,86:mt,87:yt,88:ft},{16:35,17:65,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},{16:35,17:66,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},{16:35,17:67,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},{13:[1,68]},{16:35,17:69,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},{13:Z,50:70},i(X,[2,54]),i(X,[2,55]),i(X,[2,56]),i(X,[2,57]),i(Ct,[2,11],{16:35,18:36,17:72,19:[1,73],84:bt,86:mt,87:yt,88:ft,89:ut}),i(Ct,[2,12],{19:[1,74]}),{15:75,16:76,84:bt,86:mt,87:yt,88:ft},{16:35,17:77,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},i(xt,[2,97]),i(xt,[2,98]),i(xt,[2,99]),i(xt,[2,100]),i([1,8,9,12,13,19,21,36,38,41,58,59,60,61,62,63,64,69,71],[2,101]),i(vt,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,17:19,35:20,40:21,16:35,18:36,5:78,30:a,32:f,34:p,39:w,43:m,44:b,46:E,47:_,49:A,51:I,52:B,53:N,54:R,55:z,65:W,66:et,68:st,72:at,84:bt,86:mt,87:yt,88:ft,89:ut}),{5:79,10:5,16:35,17:19,18:36,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:a,32:f,34:p,35:20,39:w,40:21,43:m,44:b,46:E,47:_,49:A,51:I,52:B,53:N,54:R,55:z,65:W,66:et,68:st,72:at,84:bt,86:mt,87:yt,88:ft,89:ut},i(X,[2,17]),i(X,[2,26]),i(X,[2,27]),{13:[1,81],16:35,17:80,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},{48:82,56:52,57:53,58:pt,59:U,60:Tt,61:nt,62:It,63:Ot,64:Bt},i(X,[2,45]),{57:83,63:Ot,64:Bt},i(Ht,[2,61],{56:84,58:pt,59:U,60:Tt,61:nt,62:It}),i(Le,[2,62]),i(Le,[2,63]),i(Le,[2,64]),i(Le,[2,65]),i(Le,[2,66]),i(Ft,[2,67]),i(Ft,[2,68]),{8:[1,86],23:87,37:85,40:21,43:m},{16:88,84:bt,86:mt,87:yt,88:ft},{42:89,46:gn},{45:[1,91]},{13:[1,92]},{13:[1,93]},{69:[1,94],71:[1,95]},{16:96,84:bt,86:mt,87:yt,88:ft},{13:Z,50:97},i(X,[2,53]),i(X,[2,102]),i(Ct,[2,13]),i(Ct,[2,14]),i(Ct,[2,15]),{36:[2,31]},{15:98,16:76,36:[2,9],84:bt,86:mt,87:yt,88:ft},i(Se,[2,39],{11:99,12:[1,100]}),i(vt,[2,7]),{9:[1,101]},i(me,[2,48]),{16:35,17:102,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},{13:[1,104],16:35,17:103,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},i(Ht,[2,60],{56:105,58:pt,59:U,60:Tt,61:nt,62:It}),i(Ht,[2,59]),{38:[1,106]},{23:87,37:107,40:21,43:m},{8:[1,108],38:[2,32]},i(Et,[2,36],{36:[1,109]}),{38:[1,110]},{38:[2,42],42:111,46:gn},{16:35,17:112,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},i(X,[2,69],{13:[1,113]}),i(X,[2,71],{13:[1,115],67:[1,114]}),i(X,[2,75],{13:[1,116],70:[1,117]}),{13:[1,118]},i(X,[2,83]),i(X,[2,52]),{36:[2,10]},i(Se,[2,40]),{13:[1,119]},{1:[2,4]},i(me,[2,50]),i(me,[2,49]),{16:35,17:120,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},i(Ht,[2,58]),i(X,[2,29]),{38:[1,121]},{23:87,37:122,38:[2,33],40:21,43:m},{42:123,46:gn},i(Et,[2,37]),{38:[2,43]},i(X,[2,41]),i(X,[2,70]),i(X,[2,72]),i(X,[2,73],{67:[1,124]}),i(X,[2,76]),i(X,[2,77],{13:[1,125]}),i(X,[2,79],{13:[1,127],67:[1,126]}),{14:[1,128]},i(me,[2,51]),i(X,[2,30]),{38:[2,34]},{38:[1,129]},i(X,[2,74]),i(X,[2,78]),i(X,[2,80]),i(X,[2,81],{67:[1,130]}),i(Se,[2,8]),i(Et,[2,38]),i(X,[2,82])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],75:[2,31],98:[2,10],101:[2,4],111:[2,43],122:[2,34]},parseError:function(zt,re){if(re.recoverable)this.trace(zt);else{var se=new Error(zt);throw se.hash=re,se}},parse:function(zt){var re=this,se=[0],Pe=[],te=[null],Me=[],de=this.table,on="",ni=0,Ks=0,ws=2,fo=1,Xi=Me.slice.call(arguments,1),Er=Object.create(this.lexer),Xn={yy:{}};for(var di in this.yy)Object.prototype.hasOwnProperty.call(this.yy,di)&&(Xn.yy[di]=this.yy[di]);Er.setInput(zt,Xn.yy),Xn.yy.lexer=Er,Xn.yy.parser=this,typeof Er.yylloc>"u"&&(Er.yylloc={});var Ee=Er.yylloc;Me.push(Ee);var Kn=Er.options&&Er.options.ranges;typeof Xn.yy.parseError=="function"?this.parseError=Xn.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function He(){var Du;return Du=Pe.pop()||Er.lex()||fo,typeof Du!="number"&&(Du instanceof Array&&(Pe=Du,Du=Pe.pop()),Du=re.symbols_[Du]||Du),Du}for(var Ti,pn,Es,qa,Ma={},Gs,Po,vs,ru;;){if(pn=se[se.length-1],this.defaultActions[pn]?Es=this.defaultActions[pn]:((Ti===null||typeof Ti>"u")&&(Ti=He()),Es=de[pn]&&de[pn][Ti]),typeof Es>"u"||!Es.length||!Es[0]){var zs="";ru=[];for(Gs in de[pn])this.terminals_[Gs]&&Gs>ws&&ru.push("'"+this.terminals_[Gs]+"'");Er.showPosition?zs="Parse error on line "+(ni+1)+`: +`+Er.showPosition()+` +Expecting `+ru.join(", ")+", got '"+(this.terminals_[Ti]||Ti)+"'":zs="Parse error on line "+(ni+1)+": Unexpected "+(Ti==fo?"end of input":"'"+(this.terminals_[Ti]||Ti)+"'"),this.parseError(zs,{text:Er.match,token:this.terminals_[Ti]||Ti,line:Er.yylineno,loc:Ee,expected:ru})}if(Es[0]instanceof Array&&Es.length>1)throw new Error("Parse Error: multiple actions possible at state: "+pn+", token: "+Ti);switch(Es[0]){case 1:se.push(Ti),te.push(Er.yytext),Me.push(Er.yylloc),se.push(Es[1]),Ti=null,Ks=Er.yyleng,on=Er.yytext,ni=Er.yylineno,Ee=Er.yylloc;break;case 2:if(Po=this.productions_[Es[1]][1],Ma.$=te[te.length-Po],Ma._$={first_line:Me[Me.length-(Po||1)].first_line,last_line:Me[Me.length-1].last_line,first_column:Me[Me.length-(Po||1)].first_column,last_column:Me[Me.length-1].last_column},Kn&&(Ma._$.range=[Me[Me.length-(Po||1)].range[0],Me[Me.length-1].range[1]]),qa=this.performAction.apply(Ma,[on,Ks,ni,Xn.yy,Es[1],te,Me].concat(Xi)),typeof qa<"u")return qa;Po&&(se=se.slice(0,-1*Po*2),te=te.slice(0,-1*Po),Me=Me.slice(0,-1*Po)),se.push(this.productions_[Es[1]][0]),te.push(Ma.$),Me.push(Ma._$),vs=de[se[se.length-2]][se[se.length-1]],se.push(vs);break;case 3:return!0}}return!0}},Ye=function(){var ke={EOF:1,parseError:function(re,se){if(this.yy.parser)this.yy.parser.parseError(re,se);else throw new Error(re)},setInput:function(zt,re){return this.yy=re||this.yy||{},this._input=zt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var zt=this._input[0];this.yytext+=zt,this.yyleng++,this.offset++,this.match+=zt,this.matched+=zt;var re=zt.match(/(?:\r\n?|\n).*/g);return re?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),zt},unput:function(zt){var re=zt.length,se=zt.split(/(?:\r\n?|\n)/g);this._input=zt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-re),this.offset-=re;var Pe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),se.length-1&&(this.yylineno-=se.length-1);var te=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:se?(se.length===Pe.length?this.yylloc.first_column:0)+Pe[Pe.length-se.length].length-se[0].length:this.yylloc.first_column-re},this.options.ranges&&(this.yylloc.range=[te[0],te[0]+this.yyleng-re]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(zt){this.unput(this.match.slice(zt))},pastInput:function(){var zt=this.matched.substr(0,this.matched.length-this.match.length);return(zt.length>20?"...":"")+zt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var zt=this.match;return zt.length<20&&(zt+=this._input.substr(0,20-zt.length)),(zt.substr(0,20)+(zt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var zt=this.pastInput(),re=new Array(zt.length+1).join("-");return zt+this.upcomingInput()+` +`+re+"^"},test_match:function(zt,re){var se,Pe,te;if(this.options.backtrack_lexer&&(te={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(te.yylloc.range=this.yylloc.range.slice(0))),Pe=zt[0].match(/(?:\r\n?|\n).*/g),Pe&&(this.yylineno+=Pe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Pe?Pe[Pe.length-1].length-Pe[Pe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+zt[0].length},this.yytext+=zt[0],this.match+=zt[0],this.matches=zt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(zt[0].length),this.matched+=zt[0],se=this.performAction.call(this,this.yy,this,re,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),se)return se;if(this._backtrack){for(var Me in te)this[Me]=te[Me];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var zt,re,se,Pe;this._more||(this.yytext="",this.match="");for(var te=this._currentRules(),Me=0;Mere[0].length)){if(re=se,Pe=Me,this.options.backtrack_lexer){if(zt=this.test_match(se,te[Me]),zt!==!1)return zt;if(this._backtrack){re=!1;continue}else return!1}else if(!this.options.flex)break}return re?(zt=this.test_match(re,te[Pe]),zt!==!1?zt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var re=this.next();return re||this.lex()},begin:function(re){this.conditionStack.push(re)},popState:function(){var re=this.conditionStack.length-1;return re>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(re){return re=this.conditionStack.length-1-Math.abs(re||0),re>=0?this.conditionStack[re]:"INITIAL"},pushState:function(re){this.begin(re)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(re,se,Pe,te){switch(Pe){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:break;case 5:break;case 6:return this.begin("acc_title"),30;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),32;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 69;case 22:this.popState();break;case 23:return 70;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return this.begin("namespace"),39;case 28:return this.popState(),8;case 29:break;case 30:return this.begin("namespace-body"),36;case 31:return this.popState(),38;case 32:return"EOF_IN_STRUCT";case 33:return 8;case 34:break;case 35:return"EDGE_STATE";case 36:return this.begin("class"),43;case 37:return this.popState(),8;case 38:break;case 39:return this.popState(),this.popState(),38;case 40:return this.begin("class-body"),36;case 41:return this.popState(),38;case 42:return"EOF_IN_STRUCT";case 43:return"EDGE_STATE";case 44:return"OPEN_IN_STRUCT";case 45:break;case 46:return"MEMBER";case 47:return 72;case 48:return 65;case 49:return 66;case 50:return 68;case 51:return 49;case 52:return 51;case 53:return 44;case 54:return 45;case 55:return 71;case 56:this.popState();break;case 57:return"GENERICTYPE";case 58:this.begin("generic");break;case 59:this.popState();break;case 60:return"BQUOTE_STR";case 61:this.begin("bqstring");break;case 62:return 67;case 63:return 67;case 64:return 67;case 65:return 67;case 66:return 59;case 67:return 59;case 68:return 61;case 69:return 61;case 70:return 60;case 71:return 58;case 72:return 62;case 73:return 63;case 74:return 64;case 75:return 21;case 76:return 41;case 77:return 84;case 78:return"DOT";case 79:return"PLUS";case 80:return 81;case 81:return"EQUALS";case 82:return"EQUALS";case 83:return 88;case 84:return 12;case 85:return 14;case 86:return"PUNCTUATION";case 87:return 87;case 88:return 86;case 89:return 83;case 90:return 9}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,31,32,33,34,35,36,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},namespace:{rules:[26,27,28,29,30,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},"class-body":{rules:[26,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},class:{rules:[26,37,38,39,40,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},acc_descr:{rules:[9,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},acc_title:{rules:[7,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},callback_args:{rules:[22,23,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},callback_name:{rules:[19,20,21,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},href:{rules:[26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},struct:{rules:[26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},generic:{rules:[26,47,48,49,50,51,52,53,54,55,56,57,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},bqstring:{rules:[26,47,48,49,50,51,52,53,54,55,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},string:{rules:[24,25,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,36,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!0}}};return ke}();Ve.lexer=Ye;function ce(){this.yy={}}return ce.prototype=Ve,Ve.Parser=ce,new ce}();Tgt.parser=Tgt;const zRt=Tgt,qRt=["#","+","~","-",""];class HRt{constructor(a,f){this.memberType=f,this.visibility="",this.classifier="";const p=Q1(a,Oe());this.parseMember(p)}getDisplayDetails(){let a=this.visibility+YP(this.id);this.memberType==="method"&&(a+=`(${YP(this.parameters.trim())})`,this.returnType&&(a+=" : "+YP(this.returnType))),a=a.trim();const f=this.parseClassifier();return{displayText:a,cssStyle:f}}parseMember(a){let f="";if(this.memberType==="method"){const p=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/,w=a.match(p);if(w){const m=w[1]?w[1].trim():"";if(qRt.includes(m)&&(this.visibility=m),this.id=w[2].trim(),this.parameters=w[3]?w[3].trim():"",f=w[4]?w[4].trim():"",this.returnType=w[5]?w[5].trim():"",f===""){const b=this.returnType.substring(this.returnType.length-1);b.match(/[$*]/)&&(f=b,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const p=a.length,w=a.substring(0,1),m=a.substring(p-1);qRt.includes(w)&&(this.visibility=w),m.match(/[*?]/)&&(f=m),this.id=a.substring(this.visibility===""?0:1,f===""?p:p-1)}this.classifier=f}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}const $Y="classId-";let Cgt=[],Jl={},zY=[],VRt=0,xk={},_gt=0,WF=[];const AT=i=>Kr.sanitizeText(i,Oe()),wL=function(i){const a=Kr.sanitizeText(i,Oe());let f="",p=a;if(a.indexOf("~")>0){const w=a.split("~");p=AT(w[0]),f=AT(w[1])}return{className:p,type:f}},sGe=function(i,a){const f=Kr.sanitizeText(i,Oe());a&&(a=AT(a));const{className:p}=wL(f);Jl[p].label=a},qY=function(i){const a=Kr.sanitizeText(i,Oe()),{className:f,type:p}=wL(a);if(Object.hasOwn(Jl,f))return;const w=Kr.sanitizeText(f,Oe());Jl[w]={id:w,type:p,label:w,cssClasses:[],methods:[],members:[],annotations:[],domId:$Y+w+"-"+VRt},VRt++},GRt=function(i){const a=Kr.sanitizeText(i,Oe());if(a in Jl)return Jl[a].domId;throw new Error("Class not found: "+a)},aGe=function(){Cgt=[],Jl={},zY=[],WF=[],WF.push(WRt),xk={},_gt=0,hg()},oGe=function(i){return Jl[i]},cGe=function(){return Jl},uGe=function(){return Cgt},lGe=function(){return zY},hGe=function(i){Ut.debug("Adding relation: "+JSON.stringify(i)),qY(i.id1),qY(i.id2),i.id1=wL(i.id1).className,i.id2=wL(i.id2).className,i.relationTitle1=Kr.sanitizeText(i.relationTitle1.trim(),Oe()),i.relationTitle2=Kr.sanitizeText(i.relationTitle2.trim(),Oe()),Cgt.push(i)},fGe=function(i,a){const f=wL(i).className;Jl[f].annotations.push(a)},URt=function(i,a){qY(i);const f=wL(i).className,p=Jl[f];if(typeof a=="string"){const w=a.trim();w.startsWith("<<")&&w.endsWith(">>")?p.annotations.push(AT(w.substring(2,w.length-2))):w.indexOf(")")>0?p.methods.push(new HRt(w,"method")):w&&p.members.push(new HRt(w,"attribute"))}},dGe=function(i,a){Array.isArray(a)&&(a.reverse(),a.forEach(f=>URt(i,f)))},gGe=function(i,a){const f={id:`note${zY.length}`,class:a,text:i};zY.push(f)},pGe=function(i){return i.startsWith(":")&&(i=i.substring(1)),AT(i.trim())},Sgt=function(i,a){i.split(",").forEach(function(f){let p=f;f[0].match(/\d/)&&(p=$Y+p),Jl[p]!==void 0&&Jl[p].cssClasses.push(a)})},bGe=function(i,a){i.split(",").forEach(function(f){a!==void 0&&(Jl[f].tooltip=AT(a))})},wGe=function(i,a){return a?xk[a].classes[i].tooltip:Jl[i].tooltip},vGe=function(i,a,f){const p=Oe();i.split(",").forEach(function(w){let m=w;w[0].match(/\d/)&&(m=$Y+m),Jl[m]!==void 0&&(Jl[m].link=$a.formatUrl(a,p),p.securityLevel==="sandbox"?Jl[m].linkTarget="_top":typeof f=="string"?Jl[m].linkTarget=AT(f):Jl[m].linkTarget="_blank")}),Sgt(i,"clickable")},mGe=function(i,a,f){i.split(",").forEach(function(p){yGe(p,a,f),Jl[p].haveCallback=!0}),Sgt(i,"clickable")},yGe=function(i,a,f){const p=Kr.sanitizeText(i,Oe());if(Oe().securityLevel!=="loose"||a===void 0)return;const m=p;if(Jl[m]!==void 0){const b=GRt(m);let E=[];if(typeof f=="string"){E=f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let _=0;_")),w.classed("hover",!0)}).on("mouseout",function(){a.transition().duration(500).style("opacity",0),yr(this).classed("hover",!1)})};WF.push(WRt);let YRt="TB";const HY={setAccTitle:E0,getAccTitle:fg,getAccDescription:gg,setAccDescription:dg,getConfig:()=>Oe().class,addClass:qY,bindFunctions:xGe,clear:aGe,getClass:oGe,getClasses:cGe,getNotes:lGe,addAnnotation:fGe,addNote:gGe,getRelations:uGe,addRelation:hGe,getDirection:()=>YRt,setDirection:i=>{YRt=i},addMember:URt,addMembers:dGe,cleanupLabel:pGe,lineType:kGe,relationType:EGe,setClickEvent:mGe,setCssClass:Sgt,setLink:vGe,getTooltip:wGe,setTooltip:bGe,lookUpDomId:GRt,setDiagramTitle:Nb,getDiagramTitle:pg,setClassLabel:sGe,addNamespace:function(i){xk[i]===void 0&&(xk[i]={id:i,classes:{},children:{},domId:$Y+i+"-"+_gt},_gt++)},addClassesToNamespace:function(i,a){xk[i]!==void 0&&a.map(f=>{Jl[f].parent=i,xk[i].classes[f]=Jl[f]})},getNamespace:function(i){return xk[i]},getNamespaces:function(){return xk}},KRt=i=>`g.classGroup text { + fill: ${i.nodeBorder||i.classText}; + stroke: none; + font-family: ${i.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + +.nodeLabel, .edgeLabel { + color: ${i.classText}; +} +.edgeLabel .label rect { + fill: ${i.mainBkg}; +} +.label text { + fill: ${i.classText}; +} +.edgeLabel .label span { + background: ${i.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + +.divider { + stroke: ${i.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; +} + +g.classGroup line { + stroke: ${i.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${i.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${i.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${i.lineColor}; + stroke-width: 1; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +#compositionStart, .composition { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#compositionEnd, .composition { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#extensionStart, .extension { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#extensionEnd, .extension { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#aggregationStart, .aggregation { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#aggregationEnd, .aggregation { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#lollipopStart, .lollipop { + fill: ${i.mainBkg} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#lollipopEnd, .lollipop { + fill: ${i.mainBkg} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; +} +`;let XRt=0;const TGe=function(i,a,f,p,w){const m=function(at){switch(at){case w.db.relationType.AGGREGATION:return"aggregation";case w.db.relationType.EXTENSION:return"extension";case w.db.relationType.COMPOSITION:return"composition";case w.db.relationType.DEPENDENCY:return"dependency";case w.db.relationType.LOLLIPOP:return"lollipop"}};a.points=a.points.filter(at=>!Number.isNaN(at.y));const b=a.points,E=E5().x(function(at){return at.x}).y(function(at){return at.y}).curve(HP),_=i.append("path").attr("d",E(b)).attr("id","edge"+XRt).attr("class","relation");let A="";p.arrowMarkerAbsolute&&(A=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,A=A.replace(/\(/g,"\\("),A=A.replace(/\)/g,"\\)")),f.relation.lineType==1&&_.attr("class","relation dashed-line"),f.relation.lineType==10&&_.attr("class","relation dotted-line"),f.relation.type1!=="none"&&_.attr("marker-start","url("+A+"#"+m(f.relation.type1)+"Start)"),f.relation.type2!=="none"&&_.attr("marker-end","url("+A+"#"+m(f.relation.type2)+"End)");let I,B;const N=a.points.length;let R=$a.calcLabelPosition(a.points);I=R.x,B=R.y;let z,W,et,st;if(N%2!==0&&N>1){let at=$a.calcCardinalityPosition(f.relation.type1!=="none",a.points,a.points[0]),bt=$a.calcCardinalityPosition(f.relation.type2!=="none",a.points,a.points[N-1]);Ut.debug("cardinality_1_point "+JSON.stringify(at)),Ut.debug("cardinality_2_point "+JSON.stringify(bt)),z=at.x,W=at.y,et=bt.x,st=bt.y}if(f.title!==void 0){const at=i.append("g").attr("class","classLabel"),bt=at.append("text").attr("class","label").attr("x",I).attr("y",B).attr("fill","red").attr("text-anchor","middle").text(f.title);window.label=bt;const mt=bt.node().getBBox();at.insert("rect",":first-child").attr("class","box").attr("x",mt.x-p.padding/2).attr("y",mt.y-p.padding/2).attr("width",mt.width+p.padding).attr("height",mt.height+p.padding)}Ut.info("Rendering relation "+JSON.stringify(f)),f.relationTitle1!==void 0&&f.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",z).attr("y",W).attr("fill","black").attr("font-size","6").text(f.relationTitle1),f.relationTitle2!==void 0&&f.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",et).attr("y",st).attr("fill","black").attr("font-size","6").text(f.relationTitle2),XRt++},CGe=function(i,a,f,p){Ut.debug("Rendering class ",a,f);const w=a.id,m={id:w,label:a.id,width:0,height:0},b=i.append("g").attr("id",p.db.lookUpDomId(w)).attr("class","classGroup");let E;a.link?E=b.append("svg:a").attr("xlink:href",a.link).attr("target",a.linkTarget).append("text").attr("y",f.textHeight+f.padding).attr("x",0):E=b.append("text").attr("y",f.textHeight+f.padding).attr("x",0);let _=!0;a.annotations.forEach(function(bt){const mt=E.append("tspan").text("«"+bt+"»");_||mt.attr("dy",f.textHeight),_=!1});let A=QRt(a);const I=E.append("tspan").text(A).attr("class","title");_||I.attr("dy",f.textHeight);const B=E.node().getBBox().height;let N,R,z;if(a.members.length>0){N=b.append("line").attr("x1",0).attr("y1",f.padding+B+f.dividerMargin/2).attr("y2",f.padding+B+f.dividerMargin/2);const bt=b.append("text").attr("x",f.padding).attr("y",B+f.dividerMargin+f.textHeight).attr("fill","white").attr("class","classText");_=!0,a.members.forEach(function(mt){ZRt(bt,mt,_,f),_=!1}),R=bt.node().getBBox()}if(a.methods.length>0){z=b.append("line").attr("x1",0).attr("y1",f.padding+B+f.dividerMargin+R.height).attr("y2",f.padding+B+f.dividerMargin+R.height);const bt=b.append("text").attr("x",f.padding).attr("y",B+2*f.dividerMargin+R.height+f.textHeight).attr("fill","white").attr("class","classText");_=!0,a.methods.forEach(function(mt){ZRt(bt,mt,_,f),_=!1})}const W=b.node().getBBox();var et=" ";a.cssClasses.length>0&&(et=et+a.cssClasses.join(" "));const at=b.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",W.width+2*f.padding).attr("height",W.height+f.padding+.5*f.dividerMargin).attr("class",et).node().getBBox().width;return E.node().childNodes.forEach(function(bt){bt.setAttribute("x",(at-bt.getBBox().width)/2)}),a.tooltip&&E.insert("title").text(a.tooltip),N&&N.attr("x2",at),z&&z.attr("x2",at),m.width=at,m.height=W.height+f.padding+.5*f.dividerMargin,m},QRt=function(i){let a=i.id;return i.type&&(a+="<"+YP(i.type)+">"),a},_Ge=function(i,a,f,p){Ut.debug("Rendering note ",a,f);const w=a.id,m={id:w,text:a.text,width:0,height:0},b=i.append("g").attr("id",w).attr("class","classGroup");let E=b.append("text").attr("y",f.textHeight+f.padding).attr("x",0);const _=JSON.parse(`"${a.text}"`).split(` +`);_.forEach(function(N){Ut.debug(`Adding line: ${N}`),E.append("tspan").text(N).attr("class","title").attr("dy",f.textHeight)});const A=b.node().getBBox(),B=b.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",A.width+2*f.padding).attr("height",A.height+_.length*f.textHeight+f.padding+.5*f.dividerMargin).node().getBBox().width;return E.node().childNodes.forEach(function(N){N.setAttribute("x",(B-N.getBBox().width)/2)}),m.width=B,m.height=A.height+_.length*f.textHeight+f.padding+.5*f.dividerMargin,m},ZRt=function(i,a,f,p){const{displayText:w,cssStyle:m}=a.getDisplayDetails(),b=i.append("tspan").attr("x",p.padding).text(w);m!==""&&b.attr("style",a.cssStyle),f||b.attr("dy",p.textHeight)},Agt={getClassTitleString:QRt,drawClass:CGe,drawEdge:TGe,drawNote:_Ge};let VY={};const GY=20,YF=function(i){const a=Object.entries(VY).find(f=>f[1].label===i);if(a)return a[0]},SGe=function(i){i.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),i.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},AGe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:zRt,db:HY,renderer:{draw:function(i,a,f,p){const w=Oe().class;VY={},Ut.info("Rendering diagram "+i);const m=Oe().securityLevel;let b;m==="sandbox"&&(b=yr("#i"+a));const E=yr(m==="sandbox"?b.nodes()[0].contentDocument.body:"body"),_=E.select(`[id='${a}']`);SGe(_);const A=new c1({multigraph:!0});A.setGraph({isMultiGraph:!0}),A.setDefaultEdgeLabel(function(){return{}});const I=p.db.getClasses(),B=Object.keys(I);for(const at of B){const bt=I[at],mt=Agt.drawClass(_,bt,w,p);VY[mt.id]=mt,A.setNode(mt.id,mt),Ut.info("Org height: "+mt.height)}p.db.getRelations().forEach(function(at){Ut.info("tjoho"+YF(at.id1)+YF(at.id2)+JSON.stringify(at)),A.setEdge(YF(at.id1),YF(at.id2),{relation:at},at.title||"DEFAULT")}),p.db.getNotes().forEach(function(at){Ut.debug(`Adding note: ${JSON.stringify(at)}`);const bt=Agt.drawNote(_,at,w,p);VY[bt.id]=bt,A.setNode(bt.id,bt),at.class&&at.class in I&&A.setEdge(at.id,YF(at.class),{relation:{id1:at.id,id2:at.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),aL(A),A.nodes().forEach(function(at){at!==void 0&&A.node(at)!==void 0&&(Ut.debug("Node "+at+": "+JSON.stringify(A.node(at))),E.select("#"+(p.db.lookUpDomId(at)||at)).attr("transform","translate("+(A.node(at).x-A.node(at).width/2)+","+(A.node(at).y-A.node(at).height/2)+" )"))}),A.edges().forEach(function(at){at!==void 0&&A.edge(at)!==void 0&&(Ut.debug("Edge "+at.v+" -> "+at.w+": "+JSON.stringify(A.edge(at))),Agt.drawEdge(_,A.edge(at),A.edge(at).relation,w,p))});const z=_.node().getBBox(),W=z.width+GY*2,et=z.height+GY*2;k0(_,et,W,w.useMaxWidth);const st=`${z.x-GY} ${z.y-GY} ${W} ${et}`;Ut.debug(`viewBox ${st}`),_.attr("viewBox",st)}},styles:KRt,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,HY.clear()}}},Symbol.toStringTag,{value:"Module"})),Lgt=i=>Kr.sanitizeText(i,Oe());let Mgt={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const LGe=function(i,a,f,p){const w=Object.keys(i);Ut.info("keys:",w),Ut.info(i),w.forEach(function(m){var A,I;const b=i[m],_={shape:"rect",id:b.id,domId:b.domId,labelText:Lgt(b.id),labelStyle:"",style:"fill: none; stroke: black",padding:((A=Oe().flowchart)==null?void 0:A.padding)??((I=Oe().class)==null?void 0:I.padding)};a.setNode(b.id,_),JRt(b.classes,a,f,p,b.id),Ut.info("setNode",_)})},JRt=function(i,a,f,p,w){const m=Object.keys(i);Ut.info("keys:",m),Ut.info(i),m.filter(b=>i[b].parent==w).forEach(function(b){var z,W;const E=i[b],_=E.cssClasses.join(" "),A={labelStyle:"",style:""},I=E.label??E.id,B=0,N="class_box",R={labelStyle:A.labelStyle,shape:N,labelText:Lgt(I),classData:E,rx:B,ry:B,class:_,style:A.style,id:E.id,domId:E.domId,tooltip:p.db.getTooltip(E.id,w)||"",haveCallback:E.haveCallback,link:E.link,width:E.type==="group"?500:void 0,type:E.type,padding:((z=Oe().flowchart)==null?void 0:z.padding)??((W=Oe().class)==null?void 0:W.padding)};a.setNode(E.id,R),w&&a.setParent(E.id,w),Ut.info("setNode",R)})},MGe=function(i,a,f,p){Ut.info(i),i.forEach(function(w,m){var W,et;const b=w,E="",_={labelStyle:"",style:""},A=b.text,I=0,B="note",N={labelStyle:_.labelStyle,shape:B,labelText:Lgt(A),noteData:b,rx:I,ry:I,class:E,style:_.style,id:b.id,domId:b.id,tooltip:"",type:"note",padding:((W=Oe().flowchart)==null?void 0:W.padding)??((et=Oe().class)==null?void 0:et.padding)};if(a.setNode(b.id,N),Ut.info("setNode",N),!b.class||!(b.class in p))return;const R=f+m,z={id:`edgeNote${R}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:ew(Mgt.curve,cg)};a.setEdge(b.id,b.class,z,R)})},DGe=function(i,a){const f=Oe().flowchart;let p=0;i.forEach(function(w){var b;p++;const m={classes:"relation",pattern:w.relation.lineType==1?"dashed":"solid",id:"id"+p,arrowhead:w.type==="arrow_open"?"none":"normal",startLabelRight:w.relationTitle1==="none"?"":w.relationTitle1,endLabelLeft:w.relationTitle2==="none"?"":w.relationTitle2,arrowTypeStart:tjt(w.relation.type1),arrowTypeEnd:tjt(w.relation.type2),style:"fill:none",labelStyle:"",curve:ew(f==null?void 0:f.curve,cg)};if(Ut.info(m,w),w.style!==void 0){const E=im(w.style);m.style=E.style,m.labelStyle=E.labelStyle}w.text=w.title,w.text===void 0?w.style!==void 0&&(m.arrowheadStyle="fill: #333"):(m.arrowheadStyle="fill: #333",m.labelpos="c",((b=Oe().flowchart)==null?void 0:b.htmlLabels)??Oe().htmlLabels?(m.labelType="html",m.label=''+w.text+""):(m.labelType="text",m.label=w.text.replace(Kr.lineBreakRegex,` +`),w.style===void 0&&(m.style=m.style||"stroke: #333; stroke-width: 1.5px;fill:none"),m.labelStyle=m.labelStyle.replace("color:","fill:"))),a.setEdge(w.id1,w.id2,m,p)})},IGe=function(i){Mgt={...Mgt,...i}},OGe=async function(i,a,f,p){Ut.info("Drawing class - ",a);const w=Oe().flowchart??Oe().class,m=Oe().securityLevel;Ut.info("config:",w);const b=(w==null?void 0:w.nodeSpacing)??50,E=(w==null?void 0:w.rankSpacing)??50,_=new c1({multigraph:!0,compound:!0}).setGraph({rankdir:p.db.getDirection(),nodesep:b,ranksep:E,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),A=p.db.getNamespaces(),I=p.db.getClasses(),B=p.db.getRelations(),N=p.db.getNotes();Ut.info(B),LGe(A,_,a,p),JRt(I,_,a,p),DGe(B,_),MGe(N,_,B.length+1,I);let R;m==="sandbox"&&(R=yr("#i"+a));const z=yr(m==="sandbox"?R.nodes()[0].contentDocument.body:"body"),W=z.select(`[id="${a}"]`),et=z.select("#"+a+" g");if(await N0t(et,_,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",a),$a.insertTitle(W,"classTitleText",(w==null?void 0:w.titleTopMargin)??5,p.db.getDiagramTitle()),fT(_,W,w==null?void 0:w.diagramPadding,w==null?void 0:w.useMaxWidth),!(w!=null&&w.htmlLabels)){const st=m==="sandbox"?R.nodes()[0].contentDocument:document,at=st.querySelectorAll('[id="'+a+'"] .edgeLabel .label');for(const bt of at){const mt=bt.getBBox(),yt=st.createElementNS("http://www.w3.org/2000/svg","rect");yt.setAttribute("rx",0),yt.setAttribute("ry",0),yt.setAttribute("width",mt.width),yt.setAttribute("height",mt.height),bt.insertBefore(yt,bt.firstChild)}}};function tjt(i){let a;switch(i){case 0:a="aggregation";break;case 1:a="extension";break;case 2:a="composition";break;case 3:a="dependency";break;case 4:a="lollipop";break;default:a="none"}return a}const PGe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:zRt,db:HY,renderer:{setConf:IGe,draw:OGe},styles:KRt,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,HY.clear()}}},Symbol.toStringTag,{value:"Module"}));var Dgt=function(){var i=function(Et,Z,Ct,xt){for(Ct=Ct||{},xt=Et.length;xt--;Ct[Et[xt]]=Z);return Ct},a=[1,2],f=[1,3],p=[1,4],w=[2,4],m=[1,9],b=[1,11],E=[1,15],_=[1,16],A=[1,17],I=[1,18],B=[1,30],N=[1,19],R=[1,20],z=[1,21],W=[1,22],et=[1,23],st=[1,25],at=[1,26],bt=[1,27],mt=[1,28],yt=[1,29],ft=[1,32],ut=[1,33],vt=[1,34],X=[1,35],pt=[1,31],U=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],Tt=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],nt=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],It={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",13:"DESCR",14:"-->",15:"HIDE_EMPTY",16:"scale",17:"WIDTH",18:"COMPOSIT_STATE",19:"STRUCT_START",20:"STRUCT_STOP",21:"STATE_DESCR",22:"AS",23:"ID",24:"FORK",25:"JOIN",26:"CHOICE",27:"CONCURRENT",28:"note",30:"NOTE_TEXT",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"classDef",38:"CLASSDEF_ID",39:"CLASSDEF_STYLEOPTS",40:"DEFAULT",41:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(Z,Ct,xt,Ht,Le,Ft,gn){var Se=Ft.length-1;switch(Le){case 3:return Ht.setRootDoc(Ft[Se]),Ft[Se];case 4:this.$=[];break;case 5:Ft[Se]!="nl"&&(Ft[Se-1].push(Ft[Se]),this.$=Ft[Se-1]);break;case 6:case 7:this.$=Ft[Se];break;case 8:this.$="nl";break;case 11:this.$=Ft[Se];break;case 12:const ce=Ft[Se-1];ce.description=Ht.trimColon(Ft[Se]),this.$=ce;break;case 13:this.$={stmt:"relation",state1:Ft[Se-2],state2:Ft[Se]};break;case 14:const ke=Ht.trimColon(Ft[Se]);this.$={stmt:"relation",state1:Ft[Se-3],state2:Ft[Se-1],description:ke};break;case 18:this.$={stmt:"state",id:Ft[Se-3],type:"default",description:"",doc:Ft[Se-1]};break;case 19:var me=Ft[Se],Ve=Ft[Se-2].trim();if(Ft[Se].match(":")){var Ye=Ft[Se].split(":");me=Ye[0],Ve=[Ve,Ye[1]]}this.$={stmt:"state",id:me,type:"default",description:Ve};break;case 20:this.$={stmt:"state",id:Ft[Se-3],type:"default",description:Ft[Se-5],doc:Ft[Se-1]};break;case 21:this.$={stmt:"state",id:Ft[Se],type:"fork"};break;case 22:this.$={stmt:"state",id:Ft[Se],type:"join"};break;case 23:this.$={stmt:"state",id:Ft[Se],type:"choice"};break;case 24:this.$={stmt:"state",id:Ht.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:Ft[Se-1].trim(),note:{position:Ft[Se-2].trim(),text:Ft[Se].trim()}};break;case 28:this.$=Ft[Se].trim(),Ht.setAccTitle(this.$);break;case 29:case 30:this.$=Ft[Se].trim(),Ht.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:Ft[Se-1].trim(),classes:Ft[Se].trim()};break;case 33:this.$={stmt:"applyClass",id:Ft[Se-1].trim(),styleClass:Ft[Se].trim()};break;case 34:Ht.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:Ht.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:Ht.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:Ht.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:Ft[Se].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:Ft[Se-2].trim(),classes:[Ft[Se].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:Ft[Se-2].trim(),classes:[Ft[Se].trim()],type:"default",description:""};break}},table:[{3:1,4:a,5:f,6:p},{1:[3]},{3:5,4:a,5:f,6:p},{3:6,4:a,5:f,6:p},i([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],w,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:m,5:b,8:8,9:10,10:12,11:13,12:14,15:E,16:_,18:A,21:I,23:B,24:N,25:R,26:z,27:W,28:et,31:24,32:st,34:at,36:bt,37:mt,41:yt,44:ft,45:ut,46:vt,47:X,50:pt},i(U,[2,5]),{9:36,10:12,11:13,12:14,15:E,16:_,18:A,21:I,23:B,24:N,25:R,26:z,27:W,28:et,31:24,32:st,34:at,36:bt,37:mt,41:yt,44:ft,45:ut,46:vt,47:X,50:pt},i(U,[2,7]),i(U,[2,8]),i(U,[2,9]),i(U,[2,10]),i(U,[2,11],{13:[1,37],14:[1,38]}),i(U,[2,15]),{17:[1,39]},i(U,[2,17],{19:[1,40]}),{22:[1,41]},i(U,[2,21]),i(U,[2,22]),i(U,[2,23]),i(U,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},i(U,[2,27]),{33:[1,46]},{35:[1,47]},i(U,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},i(Tt,[2,40],{51:[1,51]}),i(Tt,[2,41],{51:[1,52]}),i(U,[2,34]),i(U,[2,35]),i(U,[2,36]),i(U,[2,37]),i(U,[2,6]),i(U,[2,12]),{12:53,23:B,50:pt},i(U,[2,16]),i(nt,w,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},i(U,[2,28]),i(U,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},i(U,[2,13],{13:[1,63]}),{4:m,5:b,8:8,9:10,10:12,11:13,12:14,15:E,16:_,18:A,20:[1,64],21:I,23:B,24:N,25:R,26:z,27:W,28:et,31:24,32:st,34:at,36:bt,37:mt,41:yt,44:ft,45:ut,46:vt,47:X,50:pt},i(U,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},i(U,[2,31]),i(U,[2,32]),i(U,[2,33]),i(Tt,[2,42]),i(Tt,[2,43]),i(U,[2,14]),i(U,[2,18]),i(nt,w,{7:68}),i(U,[2,25]),i(U,[2,26]),{4:m,5:b,8:8,9:10,10:12,11:13,12:14,15:E,16:_,18:A,20:[1,69],21:I,23:B,24:N,25:R,26:z,27:W,28:et,31:24,32:st,34:at,36:bt,37:mt,41:yt,44:ft,45:ut,46:vt,47:X,50:pt},i(U,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(Z,Ct){if(Ct.recoverable)this.trace(Z);else{var xt=new Error(Z);throw xt.hash=Ct,xt}},parse:function(Z){var Ct=this,xt=[0],Ht=[],Le=[null],Ft=[],gn=this.table,Se="",me=0,Ve=0,Ye=2,ce=1,ke=Ft.slice.call(arguments,1),zt=Object.create(this.lexer),re={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(re.yy[se]=this.yy[se]);zt.setInput(Z,re.yy),re.yy.lexer=zt,re.yy.parser=this,typeof zt.yylloc>"u"&&(zt.yylloc={});var Pe=zt.yylloc;Ft.push(Pe);var te=zt.options&&zt.options.ranges;typeof re.yy.parseError=="function"?this.parseError=re.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Me(){var Ee;return Ee=Ht.pop()||zt.lex()||ce,typeof Ee!="number"&&(Ee instanceof Array&&(Ht=Ee,Ee=Ht.pop()),Ee=Ct.symbols_[Ee]||Ee),Ee}for(var de,on,ni,Ks,ws={},fo,Xi,Er,Xn;;){if(on=xt[xt.length-1],this.defaultActions[on]?ni=this.defaultActions[on]:((de===null||typeof de>"u")&&(de=Me()),ni=gn[on]&&gn[on][de]),typeof ni>"u"||!ni.length||!ni[0]){var di="";Xn=[];for(fo in gn[on])this.terminals_[fo]&&fo>Ye&&Xn.push("'"+this.terminals_[fo]+"'");zt.showPosition?di="Parse error on line "+(me+1)+`: +`+zt.showPosition()+` +Expecting `+Xn.join(", ")+", got '"+(this.terminals_[de]||de)+"'":di="Parse error on line "+(me+1)+": Unexpected "+(de==ce?"end of input":"'"+(this.terminals_[de]||de)+"'"),this.parseError(di,{text:zt.match,token:this.terminals_[de]||de,line:zt.yylineno,loc:Pe,expected:Xn})}if(ni[0]instanceof Array&&ni.length>1)throw new Error("Parse Error: multiple actions possible at state: "+on+", token: "+de);switch(ni[0]){case 1:xt.push(de),Le.push(zt.yytext),Ft.push(zt.yylloc),xt.push(ni[1]),de=null,Ve=zt.yyleng,Se=zt.yytext,me=zt.yylineno,Pe=zt.yylloc;break;case 2:if(Xi=this.productions_[ni[1]][1],ws.$=Le[Le.length-Xi],ws._$={first_line:Ft[Ft.length-(Xi||1)].first_line,last_line:Ft[Ft.length-1].last_line,first_column:Ft[Ft.length-(Xi||1)].first_column,last_column:Ft[Ft.length-1].last_column},te&&(ws._$.range=[Ft[Ft.length-(Xi||1)].range[0],Ft[Ft.length-1].range[1]]),Ks=this.performAction.apply(ws,[Se,Ve,me,re.yy,ni[1],Le,Ft].concat(ke)),typeof Ks<"u")return Ks;Xi&&(xt=xt.slice(0,-1*Xi*2),Le=Le.slice(0,-1*Xi),Ft=Ft.slice(0,-1*Xi)),xt.push(this.productions_[ni[1]][0]),Le.push(ws.$),Ft.push(ws._$),Er=gn[xt[xt.length-2]][xt[xt.length-1]],xt.push(Er);break;case 3:return!0}}return!0}},Ot=function(){var Et={EOF:1,parseError:function(Ct,xt){if(this.yy.parser)this.yy.parser.parseError(Ct,xt);else throw new Error(Ct)},setInput:function(Z,Ct){return this.yy=Ct||this.yy||{},this._input=Z,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Z=this._input[0];this.yytext+=Z,this.yyleng++,this.offset++,this.match+=Z,this.matched+=Z;var Ct=Z.match(/(?:\r\n?|\n).*/g);return Ct?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Z},unput:function(Z){var Ct=Z.length,xt=Z.split(/(?:\r\n?|\n)/g);this._input=Z+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ct),this.offset-=Ct;var Ht=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),xt.length-1&&(this.yylineno-=xt.length-1);var Le=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:xt?(xt.length===Ht.length?this.yylloc.first_column:0)+Ht[Ht.length-xt.length].length-xt[0].length:this.yylloc.first_column-Ct},this.options.ranges&&(this.yylloc.range=[Le[0],Le[0]+this.yyleng-Ct]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Z){this.unput(this.match.slice(Z))},pastInput:function(){var Z=this.matched.substr(0,this.matched.length-this.match.length);return(Z.length>20?"...":"")+Z.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Z=this.match;return Z.length<20&&(Z+=this._input.substr(0,20-Z.length)),(Z.substr(0,20)+(Z.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Z=this.pastInput(),Ct=new Array(Z.length+1).join("-");return Z+this.upcomingInput()+` +`+Ct+"^"},test_match:function(Z,Ct){var xt,Ht,Le;if(this.options.backtrack_lexer&&(Le={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Le.yylloc.range=this.yylloc.range.slice(0))),Ht=Z[0].match(/(?:\r\n?|\n).*/g),Ht&&(this.yylineno+=Ht.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ht?Ht[Ht.length-1].length-Ht[Ht.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Z[0].length},this.yytext+=Z[0],this.match+=Z[0],this.matches=Z,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Z[0].length),this.matched+=Z[0],xt=this.performAction.call(this,this.yy,this,Ct,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),xt)return xt;if(this._backtrack){for(var Ft in Le)this[Ft]=Le[Ft];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Z,Ct,xt,Ht;this._more||(this.yytext="",this.match="");for(var Le=this._currentRules(),Ft=0;FtCt[0].length)){if(Ct=xt,Ht=Ft,this.options.backtrack_lexer){if(Z=this.test_match(xt,Le[Ft]),Z!==!1)return Z;if(this._backtrack){Ct=!1;continue}else return!1}else if(!this.options.flex)break}return Ct?(Z=this.test_match(Ct,Le[Ht]),Z!==!1?Z:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ct=this.next();return Ct||this.lex()},begin:function(Ct){this.conditionStack.push(Ct)},popState:function(){var Ct=this.conditionStack.length-1;return Ct>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ct){return Ct=this.conditionStack.length-1-Math.abs(Ct||0),Ct>=0?this.conditionStack[Ct]:"INITIAL"},pushState:function(Ct){this.begin(Ct)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ct,xt,Ht,Le){switch(Ht){case 0:return 40;case 1:return 44;case 2:return 45;case 3:return 46;case 4:return 47;case 5:break;case 6:break;case 7:return 5;case 8:break;case 9:break;case 10:break;case 11:break;case 12:return this.pushState("SCALE"),16;case 13:return 17;case 14:this.popState();break;case 15:return this.begin("acc_title"),32;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),34;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 20:this.popState();break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),37;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),38;case 25:return this.popState(),39;case 26:return this.pushState("CLASS"),41;case 27:return this.popState(),this.pushState("CLASS_STYLE"),42;case 28:return this.popState(),43;case 29:return this.pushState("SCALE"),16;case 30:return 17;case 31:this.popState();break;case 32:this.pushState("STATE");break;case 33:return this.popState(),xt.yytext=xt.yytext.slice(0,-8).trim(),24;case 34:return this.popState(),xt.yytext=xt.yytext.slice(0,-8).trim(),25;case 35:return this.popState(),xt.yytext=xt.yytext.slice(0,-10).trim(),26;case 36:return this.popState(),xt.yytext=xt.yytext.slice(0,-8).trim(),24;case 37:return this.popState(),xt.yytext=xt.yytext.slice(0,-8).trim(),25;case 38:return this.popState(),xt.yytext=xt.yytext.slice(0,-10).trim(),26;case 39:return 44;case 40:return 45;case 41:return 46;case 42:return 47;case 43:this.pushState("STATE_STRING");break;case 44:return this.pushState("STATE_ID"),"AS";case 45:return this.popState(),"ID";case 46:this.popState();break;case 47:return"STATE_DESCR";case 48:return 18;case 49:this.popState();break;case 50:return this.popState(),this.pushState("struct"),19;case 51:break;case 52:return this.popState(),20;case 53:break;case 54:return this.begin("NOTE"),28;case 55:return this.popState(),this.pushState("NOTE_ID"),52;case 56:return this.popState(),this.pushState("NOTE_ID"),53;case 57:this.popState(),this.pushState("FLOATING_NOTE");break;case 58:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 59:break;case 60:return"NOTE_TEXT";case 61:return this.popState(),"ID";case 62:return this.popState(),this.pushState("NOTE_TEXT"),23;case 63:return this.popState(),xt.yytext=xt.yytext.substr(2).trim(),30;case 64:return this.popState(),xt.yytext=xt.yytext.slice(0,-8).trim(),30;case 65:return 6;case 66:return 6;case 67:return 15;case 68:return 50;case 69:return 23;case 70:return xt.yytext=xt.yytext.trim(),13;case 71:return 14;case 72:return 27;case 73:return 51;case 74:return 5;case 75:return"INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,32,39,40,41,42,51,52,53,54,68,69,70,71,72],inclusive:!1},FLOATING_NOTE_ID:{rules:[61],inclusive:!1},FLOATING_NOTE:{rules:[58,59,60],inclusive:!1},NOTE_TEXT:{rules:[63,64],inclusive:!1},NOTE_ID:{rules:[62],inclusive:!1},NOTE:{rules:[55,56,57],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,30,31],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[45],inclusive:!1},STATE_STRING:{rules:[46,47],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,33,34,35,36,37,38,43,44,48,49,50],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,50,54,65,66,67,68,69,70,71,73,74,75],inclusive:!0}}};return Et}();It.lexer=Ot;function Bt(){this.yy={}}return Bt.prototype=It,It.Parser=Bt,new Bt}();Dgt.parser=Dgt;const ejt=Dgt,FGe="LR",NGe="TB",UY="state",Igt="relation",BGe="classDef",RGe="applyClass",KF="default",njt="divider",Ogt="[*]",rjt="start",ijt=Ogt,sjt="end",ajt="color",ojt="fill",jGe="bgFill",$Ge=",";function cjt(){return{}}let ujt=FGe,WY=[],XF=cjt();const ljt=()=>({relations:[],states:{},documents:{}});let YY={root:ljt()},S0=YY.root,QF=0,hjt=0;const zGe={LINE:0,DOTTED_LINE:1},qGe={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},KY=i=>JSON.parse(JSON.stringify(i)),HGe=i=>{Ut.info("Setting root doc",i),WY=i},VGe=()=>WY,XY=(i,a,f)=>{if(a.stmt===Igt)XY(i,a.state1,!0),XY(i,a.state2,!1);else if(a.stmt===UY&&(a.id==="[*]"?(a.id=f?i.id+"_start":i.id+"_end",a.start=f):a.id=a.id.trim()),a.doc){const p=[];let w=[],m;for(m=0;m0&&w.length>0){const b={stmt:UY,id:VIt(),type:"divider",doc:KY(w)};p.push(KY(b)),a.doc=p}a.doc.forEach(b=>XY(a,b,!0))}},GGe=()=>(XY({id:"root"},{id:"root",doc:WY},!0),{id:"root",doc:WY}),UGe=i=>{let a;i.doc?a=i.doc:a=i,Ut.info(a),fjt(!0),Ut.info("Extract",a),a.forEach(f=>{switch(f.stmt){case UY:LT(f.id.trim(),f.type,f.doc,f.description,f.note,f.classes,f.styles,f.textStyles);break;case Igt:djt(f.state1,f.state2,f.description);break;case BGe:gjt(f.id.trim(),f.classes);break;case RGe:Bgt(f.id.trim(),f.styleClass);break}})},LT=function(i,a=KF,f=null,p=null,w=null,m=null,b=null,E=null){const _=i==null?void 0:i.trim();S0.states[_]===void 0?(Ut.info("Adding state ",_,p),S0.states[_]={id:_,descriptions:[],type:a,doc:f,note:w,classes:[],styles:[],textStyles:[]}):(S0.states[_].doc||(S0.states[_].doc=f),S0.states[_].type||(S0.states[_].type=a)),p&&(Ut.info("Setting state description",_,p),typeof p=="string"&&Ngt(_,p.trim()),typeof p=="object"&&p.forEach(A=>Ngt(_,A.trim()))),w&&(S0.states[_].note=w,S0.states[_].note.text=Kr.sanitizeText(S0.states[_].note.text,Oe())),m&&(Ut.info("Setting state classes",_,m),(typeof m=="string"?[m]:m).forEach(I=>Bgt(_,I.trim()))),b&&(Ut.info("Setting state styles",_,b),(typeof b=="string"?[b]:b).forEach(I=>nUe(_,I.trim()))),E&&(Ut.info("Setting state styles",_,b),(typeof E=="string"?[E]:E).forEach(I=>rUe(_,I.trim())))},fjt=function(i){YY={root:ljt()},S0=YY.root,QF=0,XF=cjt(),i||hg()},ZF=function(i){return S0.states[i]},WGe=function(){return S0.states},YGe=function(){Ut.info("Documents = ",YY)},KGe=function(){return S0.relations};function Pgt(i=""){let a=i;return i===Ogt&&(QF++,a=`${rjt}${QF}`),a}function Fgt(i="",a=KF){return i===Ogt?rjt:a}function XGe(i=""){let a=i;return i===ijt&&(QF++,a=`${sjt}${QF}`),a}function QGe(i="",a=KF){return i===ijt?sjt:a}function ZGe(i,a,f){let p=Pgt(i.id.trim()),w=Fgt(i.id.trim(),i.type),m=Pgt(a.id.trim()),b=Fgt(a.id.trim(),a.type);LT(p,w,i.doc,i.description,i.note,i.classes,i.styles,i.textStyles),LT(m,b,a.doc,a.description,a.note,a.classes,a.styles,a.textStyles),S0.relations.push({id1:p,id2:m,relationTitle:Kr.sanitizeText(f,Oe())})}const djt=function(i,a,f){if(typeof i=="object")ZGe(i,a,f);else{const p=Pgt(i.trim()),w=Fgt(i),m=XGe(a.trim()),b=QGe(a);LT(p,w),LT(m,b),S0.relations.push({id1:p,id2:m,title:Kr.sanitizeText(f,Oe())})}},Ngt=function(i,a){const f=S0.states[i],p=a.startsWith(":")?a.replace(":","").trim():a;f.descriptions.push(Kr.sanitizeText(p,Oe()))},JGe=function(i){return i.substring(0,1)===":"?i.substr(2).trim():i.trim()},tUe=()=>(hjt++,"divider-id-"+hjt),gjt=function(i,a=""){XF[i]===void 0&&(XF[i]={id:i,styles:[],textStyles:[]});const f=XF[i];a!=null&&a.split($Ge).forEach(p=>{const w=p.replace(/([^;]*);/,"$1").trim();if(p.match(ajt)){const b=w.replace(ojt,jGe).replace(ajt,ojt);f.textStyles.push(b)}f.styles.push(w)})},eUe=function(){return XF},Bgt=function(i,a){i.split(",").forEach(function(f){let p=ZF(f);if(p===void 0){const w=f.trim();LT(w),p=ZF(w)}p.classes.push(a)})},nUe=function(i,a){const f=ZF(i);f!==void 0&&f.textStyles.push(a)},rUe=function(i,a){const f=ZF(i);f!==void 0&&f.textStyles.push(a)},$5={getConfig:()=>Oe().state,addState:LT,clear:fjt,getState:ZF,getStates:WGe,getRelations:KGe,getClasses:eUe,getDirection:()=>ujt,addRelation:djt,getDividerId:tUe,setDirection:i=>{ujt=i},cleanupLabel:JGe,lineType:zGe,relationType:qGe,logDocuments:YGe,getRootDoc:VGe,setRootDoc:HGe,getRootDocV2:GGe,extract:UGe,trimColon:i=>i&&i[0]===":"?i.substr(1).trim():i.trim(),getAccTitle:fg,setAccTitle:E0,getAccDescription:gg,setAccDescription:dg,addStyleClass:gjt,setCssClass:Bgt,addDescription:Ngt,setDiagramTitle:Nb,getDiagramTitle:pg},pjt=i=>` +defs #statediagram-barbEnd { + fill: ${i.transitionColor}; + stroke: ${i.transitionColor}; + } +g.stateGroup text { + fill: ${i.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${i.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${i.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; +} + +g.stateGroup line { + stroke: ${i.lineColor}; + stroke-width: 1; +} + +.transition { + stroke: ${i.transitionColor}; + stroke-width: 1; + fill: none; +} + +.stateGroup .composit { + fill: ${i.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${i.noteBorderColor}; + fill: ${i.noteBkgColor}; + + text { + fill: ${i.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${i.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${i.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel .label text { + fill: ${i.transitionLabelColor||i.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${i.transitionLabelColor||i.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${i.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${i.specialStateColor}; + stroke: ${i.specialStateColor}; +} + +.node .fork-join { + fill: ${i.specialStateColor}; + stroke: ${i.specialStateColor}; +} + +.node circle.state-end { + fill: ${i.innerEndBackground}; + stroke: ${i.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${i.compositeBackground||i.background}; + // stroke: ${i.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${i.stateBkg||i.mainBkg}; + stroke: ${i.stateBorder||i.nodeBorder}; + stroke-width: 1px; +} +.node polygon { + fill: ${i.mainBkg}; + stroke: ${i.stateBorder||i.nodeBorder};; + stroke-width: 1px; +} +#statediagram-barbEnd { + fill: ${i.lineColor}; +} + +.statediagram-cluster rect { + fill: ${i.compositeTitleBackground}; + stroke: ${i.stateBorder||i.nodeBorder}; + stroke-width: 1px; +} + +.cluster-label, .nodeLabel { + color: ${i.stateLabelColor}; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${i.stateBorder||i.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${i.compositeBackground||i.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${i.altBackground?i.altBackground:"#efefef"}; +} + +.statediagram-cluster .inner { + rx:0; + ry:0; +} + +.statediagram-state rect.basic { + rx: 5px; + ry: 5px; +} +.statediagram-state rect.divider { + stroke-dasharray: 10,10; + fill: ${i.altBackground?i.altBackground:"#efefef"}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${i.noteBkgColor}; + stroke: ${i.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${i.noteBkgColor}; + stroke: ${i.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${i.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${i.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${i.noteTextColor}; +} + +#dependencyStart, #dependencyEnd { + fill: ${i.lineColor}; + stroke: ${i.lineColor}; + stroke-width: 1; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; +} +`,Rgt={},iUe=(i,a)=>{Rgt[i]=a},sUe=i=>Rgt[i],bjt=()=>Object.keys(Rgt),aUe={get:sUe,set:iUe,keys:bjt,size:()=>bjt().length},oUe=i=>i.append("circle").attr("class","start-state").attr("r",Oe().state.sizeUnit).attr("cx",Oe().state.padding+Oe().state.sizeUnit).attr("cy",Oe().state.padding+Oe().state.sizeUnit),cUe=i=>i.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",Oe().state.textHeight).attr("class","divider").attr("x2",Oe().state.textHeight*2).attr("y1",0).attr("y2",0),uUe=(i,a)=>{const f=i.append("text").attr("x",2*Oe().state.padding).attr("y",Oe().state.textHeight+2*Oe().state.padding).attr("font-size",Oe().state.fontSize).attr("class","state-title").text(a.id),p=f.node().getBBox();return i.insert("rect",":first-child").attr("x",Oe().state.padding).attr("y",Oe().state.padding).attr("width",p.width+2*Oe().state.padding).attr("height",p.height+2*Oe().state.padding).attr("rx",Oe().state.radius),f},lUe=(i,a)=>{const f=function(N,R,z){const W=N.append("tspan").attr("x",2*Oe().state.padding).text(R);z||W.attr("dy",Oe().state.textHeight)},w=i.append("text").attr("x",2*Oe().state.padding).attr("y",Oe().state.textHeight+1.3*Oe().state.padding).attr("font-size",Oe().state.fontSize).attr("class","state-title").text(a.descriptions[0]).node().getBBox(),m=w.height,b=i.append("text").attr("x",Oe().state.padding).attr("y",m+Oe().state.padding*.4+Oe().state.dividerMargin+Oe().state.textHeight).attr("class","state-description");let E=!0,_=!0;a.descriptions.forEach(function(N){E||(f(b,N,_),_=!1),E=!1});const A=i.append("line").attr("x1",Oe().state.padding).attr("y1",Oe().state.padding+m+Oe().state.dividerMargin/2).attr("y2",Oe().state.padding+m+Oe().state.dividerMargin/2).attr("class","descr-divider"),I=b.node().getBBox(),B=Math.max(I.width,w.width);return A.attr("x2",B+3*Oe().state.padding),i.insert("rect",":first-child").attr("x",Oe().state.padding).attr("y",Oe().state.padding).attr("width",B+2*Oe().state.padding).attr("height",I.height+m+2*Oe().state.padding).attr("rx",Oe().state.radius),i},hUe=(i,a,f)=>{const p=Oe().state.padding,w=2*Oe().state.padding,m=i.node().getBBox(),b=m.width,E=m.x,_=i.append("text").attr("x",0).attr("y",Oe().state.titleShift).attr("font-size",Oe().state.fontSize).attr("class","state-title").text(a.id),I=_.node().getBBox().width+w;let B=Math.max(I,b);B===b&&(B=B+w);let N;const R=i.node().getBBox();a.doc,N=E-p,I>b&&(N=(b-B)/2+p),Math.abs(E-R.x)b&&(N=E-(I-b)/2);const z=1-Oe().state.textHeight;return i.insert("rect",":first-child").attr("x",N).attr("y",z).attr("class",f?"alt-composit":"composit").attr("width",B).attr("height",R.height+Oe().state.textHeight+Oe().state.titleShift+1).attr("rx","0"),_.attr("x",N+p),I<=b&&_.attr("x",E+(B-w)/2-I/2+p),i.insert("rect",":first-child").attr("x",N).attr("y",Oe().state.titleShift-Oe().state.textHeight-Oe().state.padding).attr("width",B).attr("height",Oe().state.textHeight*3).attr("rx",Oe().state.radius),i.insert("rect",":first-child").attr("x",N).attr("y",Oe().state.titleShift-Oe().state.textHeight-Oe().state.padding).attr("width",B).attr("height",R.height+3+2*Oe().state.textHeight).attr("rx",Oe().state.radius),i},fUe=i=>(i.append("circle").attr("class","end-state-outer").attr("r",Oe().state.sizeUnit+Oe().state.miniPadding).attr("cx",Oe().state.padding+Oe().state.sizeUnit+Oe().state.miniPadding).attr("cy",Oe().state.padding+Oe().state.sizeUnit+Oe().state.miniPadding),i.append("circle").attr("class","end-state-inner").attr("r",Oe().state.sizeUnit).attr("cx",Oe().state.padding+Oe().state.sizeUnit+2).attr("cy",Oe().state.padding+Oe().state.sizeUnit+2)),dUe=(i,a)=>{let f=Oe().state.forkWidth,p=Oe().state.forkHeight;if(a.parentId){let w=f;f=p,p=w}return i.append("rect").style("stroke","black").style("fill","black").attr("width",f).attr("height",p).attr("x",Oe().state.padding).attr("y",Oe().state.padding)},gUe=(i,a,f,p)=>{let w=0;const m=p.append("text");m.style("text-anchor","start"),m.attr("class","noteText");let b=i.replace(/\r\n/g,"
");b=b.replace(/\n/g,"
");const E=b.split(Kr.lineBreakRegex);let _=1.25*Oe().state.noteMargin;for(const A of E){const I=A.trim();if(I.length>0){const B=m.append("tspan");if(B.text(I),_===0){const N=B.node().getBBox();_+=N.height}w+=_,B.attr("x",a+Oe().state.noteMargin),B.attr("y",f+w+1.25*Oe().state.noteMargin)}}return{textWidth:m.node().getBBox().width,textHeight:w}},pUe=(i,a)=>{a.attr("class","state-note");const f=a.append("rect").attr("x",0).attr("y",Oe().state.padding),p=a.append("g"),{textWidth:w,textHeight:m}=gUe(i,0,0,p);return f.attr("height",m+2*Oe().state.noteMargin),f.attr("width",w+Oe().state.noteMargin*2),f},wjt=function(i,a){const f=a.id,p={id:f,label:a.id,width:0,height:0},w=i.append("g").attr("id",f).attr("class","stateGroup");a.type==="start"&&oUe(w),a.type==="end"&&fUe(w),(a.type==="fork"||a.type==="join")&&dUe(w,a),a.type==="note"&&pUe(a.note.text,w),a.type==="divider"&&cUe(w),a.type==="default"&&a.descriptions.length===0&&uUe(w,a),a.type==="default"&&a.descriptions.length>0&&lUe(w,a);const m=w.node().getBBox();return p.width=m.width+2*Oe().state.padding,p.height=m.height+2*Oe().state.padding,aUe.set(f,p),p};let vjt=0;const bUe=function(i,a,f){const p=function(_){switch(_){case $5.relationType.AGGREGATION:return"aggregation";case $5.relationType.EXTENSION:return"extension";case $5.relationType.COMPOSITION:return"composition";case $5.relationType.DEPENDENCY:return"dependency"}};a.points=a.points.filter(_=>!Number.isNaN(_.y));const w=a.points,m=E5().x(function(_){return _.x}).y(function(_){return _.y}).curve(HP),b=i.append("path").attr("d",m(w)).attr("id","edge"+vjt).attr("class","transition");let E="";if(Oe().state.arrowMarkerAbsolute&&(E=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,E=E.replace(/\(/g,"\\("),E=E.replace(/\)/g,"\\)")),b.attr("marker-end","url("+E+"#"+p($5.relationType.DEPENDENCY)+"End)"),f.title!==void 0){const _=i.append("g").attr("class","stateLabel"),{x:A,y:I}=$a.calcLabelPosition(a.points),B=Kr.getRows(f.title);let N=0;const R=[];let z=0,W=0;for(let at=0;at<=B.length;at++){const bt=_.append("text").attr("text-anchor","middle").text(B[at]).attr("x",A).attr("y",I+N),mt=bt.node().getBBox();z=Math.max(z,mt.width),W=Math.min(W,mt.x),Ut.info(mt.x,A,I+N),N===0&&(N=bt.node().getBBox().height,Ut.info("Title height",N,I)),R.push(bt)}let et=N*B.length;if(B.length>1){const at=(B.length-1)*N*.5;R.forEach((bt,mt)=>bt.attr("y",I+mt*N-at)),et=N*B.length}const st=_.node().getBBox();_.insert("rect",":first-child").attr("class","box").attr("x",A-z/2-Oe().state.padding/2).attr("y",I-et/2-Oe().state.padding/2-3.5).attr("width",z+Oe().state.padding).attr("height",et+Oe().state.padding),Ut.info(st)}vjt++};let qb;const jgt={},wUe=function(){},vUe=function(i){i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},mUe=function(i,a,f,p){qb=Oe().state;const w=Oe().securityLevel;let m;w==="sandbox"&&(m=yr("#i"+a));const b=yr(w==="sandbox"?m.nodes()[0].contentDocument.body:"body"),E=w==="sandbox"?m.nodes()[0].contentDocument:document;Ut.debug("Rendering diagram "+i);const _=b.select(`[id='${a}']`);vUe(_);const A=p.db.getRootDoc();mjt(A,_,void 0,!1,b,E,p);const I=qb.padding,B=_.node().getBBox(),N=B.width+I*2,R=B.height+I*2,z=N*1.75;k0(_,R,z,qb.useMaxWidth),_.attr("viewBox",`${B.x-qb.padding} ${B.y-qb.padding} `+N+" "+R)},yUe=i=>i?i.length*qb.fontSizeFactor:1,mjt=(i,a,f,p,w,m,b)=>{const E=new c1({compound:!0,multigraph:!0});let _,A=!0;for(_=0;_{const mt=bt.parentElement;let yt=0,ft=0;mt&&(mt.parentElement&&(yt=mt.parentElement.getBBox().width),ft=parseInt(mt.getAttribute("data-x-shift"),10),Number.isNaN(ft)&&(ft=0)),bt.setAttribute("x1",0-ft+8),bt.setAttribute("x2",yt-ft-8)})):Ut.debug("No Node "+st+": "+JSON.stringify(E.node(st)))});let W=z.getBBox();E.edges().forEach(function(st){st!==void 0&&E.edge(st)!==void 0&&(Ut.debug("Edge "+st.v+" -> "+st.w+": "+JSON.stringify(E.edge(st))),bUe(a,E.edge(st),E.edge(st).relation))}),W=z.getBBox();const et={id:f||"root",label:f||"root",width:0,height:0};return et.width=W.width+2*qb.padding,et.height=W.height+2*qb.padding,Ut.debug("Doc rendered",et,E),et},xUe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:ejt,db:$5,renderer:{setConf:wUe,draw:mUe},styles:pjt,init:i=>{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,$5.clear()}}},Symbol.toStringTag,{value:"Module"})),QY="rect",$gt="rectWithTitle",kUe="start",EUe="end",TUe="divider",CUe="roundedWithTitle",_Ue="note",SUe="noteGroup",vL="statediagram",AUe=`${vL}-state`,yjt="transition",LUe="note",MUe=`${yjt} note-edge`,DUe=`${vL}-${LUe}`,IUe=`${vL}-cluster`,OUe=`${vL}-cluster-alt`,xjt="parent",kjt="note",PUe="state",zgt="----",FUe=`${zgt}${kjt}`,Ejt=`${zgt}${xjt}`,Tjt="fill:none",Cjt="fill: #333",_jt="c",Sjt="text",Ajt="normal";let ZY={},kk=0;const NUe=function(i){const a=Object.keys(i);for(const f of a)i[f]},BUe=function(i,a){return a.db.extract(a.db.getRootDocV2()),a.db.getClasses()};function RUe(i){return i==null?"":i.classes?i.classes.join(" "):""}function qgt(i="",a=0,f="",p=zgt){const w=f!==null&&f.length>0?`${p}${f}`:"";return`${PUe}-${i}${w}-${a}`}const JF=(i,a,f,p,w,m)=>{const b=f.id,E=RUe(p[b]);if(b!=="root"){let _=QY;f.start===!0&&(_=kUe),f.start===!1&&(_=EUe),f.type!==KF&&(_=f.type),ZY[b]||(ZY[b]={id:b,shape:_,description:Kr.sanitizeText(b,Oe()),classes:`${E} ${AUe}`});const A=ZY[b];f.description&&(Array.isArray(A.description)?(A.shape=$gt,A.description.push(f.description)):A.description.length>0?(A.shape=$gt,A.description===b?A.description=[f.description]:A.description=[A.description,f.description]):(A.shape=QY,A.description=f.description),A.description=Kr.sanitizeTextOrArray(A.description,Oe())),A.description.length===1&&A.shape===$gt&&(A.shape=QY),!A.type&&f.doc&&(Ut.info("Setting cluster for ",b,Hgt(f)),A.type="group",A.dir=Hgt(f),A.shape=f.type===njt?TUe:CUe,A.classes=A.classes+" "+IUe+" "+(m?OUe:""));const I={labelStyle:"",shape:A.shape,labelText:A.description,classes:A.classes,style:"",id:b,dir:A.dir,domId:qgt(b,kk),type:A.type,padding:15};if(I.centerLabel=!0,f.note){const B={labelStyle:"",shape:_Ue,labelText:f.note.text,classes:DUe,style:"",id:b+FUe+"-"+kk,domId:qgt(b,kk,kjt),type:A.type,padding:15},N={labelStyle:"",shape:SUe,labelText:f.note.text,classes:A.classes,style:"",id:b+Ejt,domId:qgt(b,kk,xjt),type:"group",padding:0};kk++;const R=b+Ejt;i.setNode(R,N),i.setNode(B.id,B),i.setNode(b,I),i.setParent(b,R),i.setParent(B.id,R);let z=b,W=B.id;f.note.position==="left of"&&(z=B.id,W=b),i.setEdge(z,W,{arrowhead:"none",arrowType:"",style:Tjt,labelStyle:"",classes:MUe,arrowheadStyle:Cjt,labelpos:_jt,labelType:Sjt,thickness:Ajt})}else i.setNode(b,I)}a&&a.id!=="root"&&(Ut.trace("Setting node ",b," to be child of its parent ",a.id),i.setParent(b,a.id)),f.doc&&(Ut.trace("Adding nodes children "),jUe(i,f,f.doc,p,w,!m))},jUe=(i,a,f,p,w,m)=>{Ut.trace("items",f),f.forEach(b=>{switch(b.stmt){case UY:JF(i,a,b,p,w,m);break;case KF:JF(i,a,b,p,w,m);break;case Igt:{JF(i,a,b.state1,p,w,m),JF(i,a,b.state2,p,w,m);const E={id:"edge"+kk,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:Tjt,labelStyle:"",label:Kr.sanitizeText(b.description,Oe()),arrowheadStyle:Cjt,labelpos:_jt,labelType:Sjt,thickness:Ajt,classes:yjt};i.setEdge(b.state1.id,b.state2.id,E,kk),kk++}break}})},Hgt=(i,a=NGe)=>{let f=a;if(i.doc)for(let p=0;p{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,$5.clear()}}},Symbol.toStringTag,{value:"Module"}));var Vgt=function(){var i=function(B,N,R,z){for(R=R||{},z=B.length;z--;R[B[z]]=N);return R},a=[6,8,10,11,12,14,16,17,18],f=[1,9],p=[1,10],w=[1,11],m=[1,12],b=[1,13],E=[1,14],_={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:function(N,R,z,W,et,st,at){var bt=st.length-1;switch(et){case 1:return st[bt-1];case 2:this.$=[];break;case 3:st[bt-1].push(st[bt]),this.$=st[bt-1];break;case 4:case 5:this.$=st[bt];break;case 6:case 7:this.$=[];break;case 8:W.setDiagramTitle(st[bt].substr(6)),this.$=st[bt].substr(6);break;case 9:this.$=st[bt].trim(),W.setAccTitle(this.$);break;case 10:case 11:this.$=st[bt].trim(),W.setAccDescription(this.$);break;case 12:W.addSection(st[bt].substr(8)),this.$=st[bt].substr(8);break;case 13:W.addTask(st[bt-1],st[bt]),this.$="task";break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:f,12:p,14:w,16:m,17:b,18:E},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:15,11:f,12:p,14:w,16:m,17:b,18:E},i(a,[2,5]),i(a,[2,6]),i(a,[2,8]),{13:[1,16]},{15:[1,17]},i(a,[2,11]),i(a,[2,12]),{19:[1,18]},i(a,[2,4]),i(a,[2,9]),i(a,[2,10]),i(a,[2,13])],defaultActions:{},parseError:function(N,R){if(R.recoverable)this.trace(N);else{var z=new Error(N);throw z.hash=R,z}},parse:function(N){var R=this,z=[0],W=[],et=[null],st=[],at=this.table,bt="",mt=0,yt=0,ft=2,ut=1,vt=st.slice.call(arguments,1),X=Object.create(this.lexer),pt={yy:{}};for(var U in this.yy)Object.prototype.hasOwnProperty.call(this.yy,U)&&(pt.yy[U]=this.yy[U]);X.setInput(N,pt.yy),pt.yy.lexer=X,pt.yy.parser=this,typeof X.yylloc>"u"&&(X.yylloc={});var Tt=X.yylloc;st.push(Tt);var nt=X.options&&X.options.ranges;typeof pt.yy.parseError=="function"?this.parseError=pt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function It(){var Se;return Se=W.pop()||X.lex()||ut,typeof Se!="number"&&(Se instanceof Array&&(W=Se,Se=W.pop()),Se=R.symbols_[Se]||Se),Se}for(var Ot,Bt,Et,Z,Ct={},xt,Ht,Le,Ft;;){if(Bt=z[z.length-1],this.defaultActions[Bt]?Et=this.defaultActions[Bt]:((Ot===null||typeof Ot>"u")&&(Ot=It()),Et=at[Bt]&&at[Bt][Ot]),typeof Et>"u"||!Et.length||!Et[0]){var gn="";Ft=[];for(xt in at[Bt])this.terminals_[xt]&&xt>ft&&Ft.push("'"+this.terminals_[xt]+"'");X.showPosition?gn="Parse error on line "+(mt+1)+`: +`+X.showPosition()+` +Expecting `+Ft.join(", ")+", got '"+(this.terminals_[Ot]||Ot)+"'":gn="Parse error on line "+(mt+1)+": Unexpected "+(Ot==ut?"end of input":"'"+(this.terminals_[Ot]||Ot)+"'"),this.parseError(gn,{text:X.match,token:this.terminals_[Ot]||Ot,line:X.yylineno,loc:Tt,expected:Ft})}if(Et[0]instanceof Array&&Et.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Bt+", token: "+Ot);switch(Et[0]){case 1:z.push(Ot),et.push(X.yytext),st.push(X.yylloc),z.push(Et[1]),Ot=null,yt=X.yyleng,bt=X.yytext,mt=X.yylineno,Tt=X.yylloc;break;case 2:if(Ht=this.productions_[Et[1]][1],Ct.$=et[et.length-Ht],Ct._$={first_line:st[st.length-(Ht||1)].first_line,last_line:st[st.length-1].last_line,first_column:st[st.length-(Ht||1)].first_column,last_column:st[st.length-1].last_column},nt&&(Ct._$.range=[st[st.length-(Ht||1)].range[0],st[st.length-1].range[1]]),Z=this.performAction.apply(Ct,[bt,yt,mt,pt.yy,Et[1],et,st].concat(vt)),typeof Z<"u")return Z;Ht&&(z=z.slice(0,-1*Ht*2),et=et.slice(0,-1*Ht),st=st.slice(0,-1*Ht)),z.push(this.productions_[Et[1]][0]),et.push(Ct.$),st.push(Ct._$),Le=at[z[z.length-2]][z[z.length-1]],z.push(Le);break;case 3:return!0}}return!0}},A=function(){var B={EOF:1,parseError:function(R,z){if(this.yy.parser)this.yy.parser.parseError(R,z);else throw new Error(R)},setInput:function(N,R){return this.yy=R||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var R=N.match(/(?:\r\n?|\n).*/g);return R?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),N},unput:function(N){var R=N.length,z=N.split(/(?:\r\n?|\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-R),this.offset-=R;var W=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),z.length-1&&(this.yylineno-=z.length-1);var et=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:z?(z.length===W.length?this.yylloc.first_column:0)+W[W.length-z.length].length-z[0].length:this.yylloc.first_column-R},this.options.ranges&&(this.yylloc.range=[et[0],et[0]+this.yyleng-R]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(N){this.unput(this.match.slice(N))},pastInput:function(){var N=this.matched.substr(0,this.matched.length-this.match.length);return(N.length>20?"...":"")+N.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var N=this.match;return N.length<20&&(N+=this._input.substr(0,20-N.length)),(N.substr(0,20)+(N.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var N=this.pastInput(),R=new Array(N.length+1).join("-");return N+this.upcomingInput()+` +`+R+"^"},test_match:function(N,R){var z,W,et;if(this.options.backtrack_lexer&&(et={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(et.yylloc.range=this.yylloc.range.slice(0))),W=N[0].match(/(?:\r\n?|\n).*/g),W&&(this.yylineno+=W.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:W?W[W.length-1].length-W[W.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+N[0].length},this.yytext+=N[0],this.match+=N[0],this.matches=N,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(N[0].length),this.matched+=N[0],z=this.performAction.call(this,this.yy,this,R,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),z)return z;if(this._backtrack){for(var st in et)this[st]=et[st];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var N,R,z,W;this._more||(this.yytext="",this.match="");for(var et=this._currentRules(),st=0;stR[0].length)){if(R=z,W=st,this.options.backtrack_lexer){if(N=this.test_match(z,et[st]),N!==!1)return N;if(this._backtrack){R=!1;continue}else return!1}else if(!this.options.flex)break}return R?(N=this.test_match(R,et[W]),N!==!1?N:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var R=this.next();return R||this.lex()},begin:function(R){this.conditionStack.push(R)},popState:function(){var R=this.conditionStack.length-1;return R>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(R){return R=this.conditionStack.length-1-Math.abs(R||0),R>=0?this.conditionStack[R]:"INITIAL"},pushState:function(R){this.begin(R)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(R,z,W,et){switch(W){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return B}();_.lexer=A;function I(){this.yy={}}return I.prototype=_,_.Parser=I,new I}();Vgt.parser=Vgt;const zUe=Vgt;let mL="";const Ggt=[],tN=[],eN=[],qUe=function(){Ggt.length=0,tN.length=0,mL="",eN.length=0,hg()},HUe=function(i){mL=i,Ggt.push(i)},VUe=function(){return Ggt},GUe=function(){let i=Ljt();const a=100;let f=0;for(;!i&&f{f.people&&i.push(...f.people)}),[...new Set(i)].sort()},WUe=function(i,a){const f=a.substr(1).split(":");let p=0,w=[];f.length===1?(p=Number(f[0]),w=[]):(p=Number(f[0]),w=f[1].split(","));const m=w.map(E=>E.trim()),b={section:mL,type:mL,people:m,task:i,score:p};eN.push(b)},YUe=function(i){const a={section:mL,type:mL,description:i,task:i,classes:[]};tN.push(a)},Ljt=function(){const i=function(f){return eN[f].processed};let a=!0;for(const[f,p]of eN.entries())i(f),a=a&&p.processed;return a},Mjt={getConfig:()=>Oe().journey,clear:qUe,setDiagramTitle:Nb,getDiagramTitle:pg,setAccTitle:E0,getAccTitle:fg,setAccDescription:dg,getAccDescription:gg,addSection:HUe,getSections:VUe,getTasks:GUe,addTask:WUe,addTaskOrg:YUe,getActors:function(){return UUe()}},KUe=i=>`.label { + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + color: ${i.textColor}; + } + .mouth { + stroke: #666; + } + + line { + stroke: ${i.textColor} + } + + .legend { + fill: ${i.textColor}; + } + + .label text { + fill: #333; + } + .label { + color: ${i.textColor} + } + + .face { + ${i.faceColor?`fill: ${i.faceColor}`:"fill: #FFF8DC"}; + stroke: #999; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 1.5px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.5; + } + text-align: center; + } + + .cluster rect { + } + + .cluster text { + fill: ${i.titleColor}; + } + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .task-type-0, .section-type-0 { + ${i.fillType0?`fill: ${i.fillType0}`:""}; + } + .task-type-1, .section-type-1 { + ${i.fillType0?`fill: ${i.fillType1}`:""}; + } + .task-type-2, .section-type-2 { + ${i.fillType0?`fill: ${i.fillType2}`:""}; + } + .task-type-3, .section-type-3 { + ${i.fillType0?`fill: ${i.fillType3}`:""}; + } + .task-type-4, .section-type-4 { + ${i.fillType0?`fill: ${i.fillType4}`:""}; + } + .task-type-5, .section-type-5 { + ${i.fillType0?`fill: ${i.fillType5}`:""}; + } + .task-type-6, .section-type-6 { + ${i.fillType0?`fill: ${i.fillType6}`:""}; + } + .task-type-7, .section-type-7 { + ${i.fillType0?`fill: ${i.fillType7}`:""}; + } + + .actor-0 { + ${i.actor0?`fill: ${i.actor0}`:""}; + } + .actor-1 { + ${i.actor1?`fill: ${i.actor1}`:""}; + } + .actor-2 { + ${i.actor2?`fill: ${i.actor2}`:""}; + } + .actor-3 { + ${i.actor3?`fill: ${i.actor3}`:""}; + } + .actor-4 { + ${i.actor4?`fill: ${i.actor4}`:""}; + } + .actor-5 { + ${i.actor5?`fill: ${i.actor5}`:""}; + } +`,Ugt=function(i,a){return JW(i,a)},XUe=function(i,a){const p=i.append("circle").attr("cx",a.cx).attr("cy",a.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),w=i.append("g");w.append("circle").attr("cx",a.cx-15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),w.append("circle").attr("cx",a.cx+15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function m(_){const A=OA().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",A).attr("transform","translate("+a.cx+","+(a.cy+2)+")")}function b(_){const A=OA().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",A).attr("transform","translate("+a.cx+","+(a.cy+7)+")")}function E(_){_.append("line").attr("class","mouth").attr("stroke",2).attr("x1",a.cx-5).attr("y1",a.cy+7).attr("x2",a.cx+5).attr("y2",a.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return a.score>3?m(w):a.score<3?b(w):E(w),p},Djt=function(i,a){const f=i.append("circle");return f.attr("cx",a.cx),f.attr("cy",a.cy),f.attr("class","actor-"+a.pos),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("r",a.r),f.class!==void 0&&f.attr("class",f.class),a.title!==void 0&&f.append("title").text(a.title),f},Ijt=function(i,a){return RDe(i,a)},QUe=function(i,a){function f(w,m,b,E,_){return w+","+m+" "+(w+b)+","+m+" "+(w+b)+","+(m+E-_)+" "+(w+b-_*1.2)+","+(m+E)+" "+w+","+(m+E)}const p=i.append("polygon");p.attr("points",f(a.x,a.y,50,20,7)),p.attr("class","labelBox"),a.y=a.y+a.labelMargin,a.x=a.x+.5*a.labelMargin,Ijt(i,a)},ZUe=function(i,a,f){const p=i.append("g"),w=bT();w.x=a.x,w.y=a.y,w.fill=a.fill,w.width=f.width*a.taskCount+f.diagramMarginX*(a.taskCount-1),w.height=f.height,w.class="journey-section section-type-"+a.num,w.rx=3,w.ry=3,Ugt(p,w),Pjt(f)(a.text,p,w.x,w.y,w.width,w.height,{class:"journey-section section-type-"+a.num},f,a.colour)};let Ojt=-1;const JUe=function(i,a,f){const p=a.x+f.width/2,w=i.append("g");Ojt++;const m=300+5*30;w.append("line").attr("id","task"+Ojt).attr("x1",p).attr("y1",a.y).attr("x2",p).attr("y2",m).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),XUe(w,{cx:p,cy:300+(5-a.score)*30,score:a.score});const b=bT();b.x=a.x,b.y=a.y,b.fill=a.fill,b.width=f.width,b.height=f.height,b.class="task task-type-"+a.num,b.rx=3,b.ry=3,Ugt(w,b);let E=a.x+14;a.people.forEach(_=>{const A=a.actors[_].color,I={cx:E,cy:a.y,r:7,fill:A,stroke:"#000",title:_,pos:a.actors[_].position};Djt(w,I),E+=10}),Pjt(f)(a.task,w,b.x,b.y,b.width,b.height,{class:"task"},f,a.colour)},tWe=function(i,a){mPt(i,a)},Pjt=function(){function i(w,m,b,E,_,A,I,B){const N=m.append("text").attr("x",b+_/2).attr("y",E+A/2+5).style("font-color",B).style("text-anchor","middle").text(w);p(N,I)}function a(w,m,b,E,_,A,I,B,N){const{taskFontSize:R,taskFontFamily:z}=B,W=w.split(//gi);for(let et=0;et{const w=z5[p].color,m={cx:20,cy:f,r:7,fill:w,stroke:"#000",pos:z5[p].position};nN.drawCircle(i,m);const b={x:40,y:f+7,fill:"#666",text:p,textMargin:a.boxTextMargin|5};nN.drawText(i,b),f+=20})}const JY=Oe().journey,MT=JY.leftMargin,rWe=function(i,a,f,p){const w=Oe().journey,m=Oe().securityLevel;let b;m==="sandbox"&&(b=yr("#i"+a));const E=yr(m==="sandbox"?b.nodes()[0].contentDocument.body:"body");aw.init();const _=E.select("#"+a);nN.initGraphics(_);const A=p.db.getTasks(),I=p.db.getDiagramTitle(),B=p.db.getActors();for(const st in z5)delete z5[st];let N=0;B.forEach(st=>{z5[st]={color:w.actorColours[N%w.actorColours.length],position:N},N++}),nWe(_),aw.insert(0,0,MT,Object.keys(z5).length*50),iWe(_,A,0);const R=aw.getBounds();I&&_.append("text").text(I).attr("x",MT).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const z=R.stopy-R.starty+2*w.diagramMarginY,W=MT+R.stopx+2*w.diagramMarginX;k0(_,z,W,w.useMaxWidth),_.append("line").attr("x1",MT).attr("y1",w.height*4).attr("x2",W-MT-4).attr("y2",w.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const et=I?70:0;_.attr("viewBox",`${R.startx} -25 ${W} ${z+et}`),_.attr("preserveAspectRatio","xMinYMin meet"),_.attr("height",z+et+25)},aw={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(i,a,f,p){i[a]===void 0?i[a]=f:i[a]=p(f,i[a])},updateBounds:function(i,a,f,p){const w=Oe().journey,m=this;let b=0;function E(_){return function(I){b++;const B=m.sequenceItems.length-b+1;m.updateVal(I,"starty",a-B*w.boxMargin,Math.min),m.updateVal(I,"stopy",p+B*w.boxMargin,Math.max),m.updateVal(aw.data,"startx",i-B*w.boxMargin,Math.min),m.updateVal(aw.data,"stopx",f+B*w.boxMargin,Math.max),_!=="activation"&&(m.updateVal(I,"startx",i-B*w.boxMargin,Math.min),m.updateVal(I,"stopx",f+B*w.boxMargin,Math.max),m.updateVal(aw.data,"starty",a-B*w.boxMargin,Math.min),m.updateVal(aw.data,"stopy",p+B*w.boxMargin,Math.max))}}this.sequenceItems.forEach(E())},insert:function(i,a,f,p){const w=Math.min(i,f),m=Math.max(i,f),b=Math.min(a,p),E=Math.max(a,p);this.updateVal(aw.data,"startx",w,Math.min),this.updateVal(aw.data,"starty",b,Math.min),this.updateVal(aw.data,"stopx",m,Math.max),this.updateVal(aw.data,"stopy",E,Math.max),this.updateBounds(w,b,m,E)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},Wgt=JY.sectionFills,Fjt=JY.sectionColours,iWe=function(i,a,f){const p=Oe().journey;let w="";const m=p.height*2+p.diagramMarginY,b=f+m;let E=0,_="#CCC",A="black",I=0;for(const[B,N]of a.entries()){if(w!==N.section){_=Wgt[E%Wgt.length],I=E%Wgt.length,A=Fjt[E%Fjt.length];let z=0;const W=N.section;for(let st=B;st(z5[W]&&(z[W]=z5[W]),z),{});N.x=B*p.taskMargin+B*p.width+MT,N.y=b,N.width=p.diagramMarginX,N.height=p.diagramMarginY,N.colour=A,N.fill=_,N.num=I,N.actors=R,nN.drawTask(i,N,p),aw.insert(N.x,N.y,N.x+N.width+p.taskMargin,300+5*30)}},Njt={setConf:eWe,draw:rWe},sWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:zUe,db:Mjt,renderer:Njt,styles:KUe,init:i=>{Njt.setConf(i.journey),Mjt.clear()}}},Symbol.toStringTag,{value:"Module"})),aWe=(i,a,f)=>{const{parentById:p}=f,w=new Set;let m=i;for(;m;){if(w.add(m),m===a)return m;m=p[m]}for(m=a;m;){if(w.has(m))return m;m=p[m]}return"root"};function tK(i){throw new Error('Could not dynamically require "'+i+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Bjt={exports:{}};(function(i,a){(function(f){i.exports=f()})(function(){return function(){function f(p,w,m){function b(A,I){if(!w[A]){if(!p[A]){var B=typeof tK=="function"&&tK;if(!I&&B)return B(A,!0);if(E)return E(A,!0);var N=new Error("Cannot find module '"+A+"'");throw N.code="MODULE_NOT_FOUND",N}var R=w[A]={exports:{}};p[A][0].call(R.exports,function(z){var W=p[A][1][z];return b(W||z)},R,R.exports,f,p,w,m)}return w[A].exports}for(var E=typeof tK=="function"&&tK,_=0;_0&&arguments[0]!==void 0?arguments[0]:{},N=B.defaultLayoutOptions,R=N===void 0?{}:N,z=B.algorithms,W=z===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:z,et=B.workerFactory,st=B.workerUrl;if(b(this,A),this.defaultLayoutOptions=R,this.initialized=!1,typeof st>"u"&&typeof et>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var at=et;typeof st<"u"&&typeof et>"u"&&(at=function(yt){return new Worker(yt)});var bt=at(st);if(typeof bt.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new _(bt),this.worker.postMessage({cmd:"register",algorithms:W}).then(function(mt){return I.initialized=!0}).catch(console.err)}return m(A,[{key:"layout",value:function(B){var N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},R=N.layoutOptions,z=R===void 0?this.defaultLayoutOptions:R,W=N.logging,et=W===void 0?!1:W,st=N.measureExecutionTime,at=st===void 0?!1:st;return B?this.worker.postMessage({cmd:"layout",graph:B,layoutOptions:z,options:{logging:et,measureExecutionTime:at}}):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.terminate()}}]),A}();w.default=E;var _=function(){function A(I){var B=this;if(b(this,A),I===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=I,this.worker.onmessage=function(N){setTimeout(function(){B.receive(B,N)},0)}}return m(A,[{key:"postMessage",value:function(B){var N=this.id||0;this.id=N+1,B.id=N;var R=this;return new Promise(function(z,W){R.resolvers[N]=function(et,st){et?(R.convertGwtStyleError(et),W(et)):z(st)},R.worker.postMessage(B)})}},{key:"receive",value:function(B,N){var R=N.data,z=B.resolvers[R.id];z&&(delete B.resolvers[R.id],R.error?z(R.error):z(null,R.data))}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(B){if(B){var N=B.__java$exception;N&&(N.cause&&N.cause.backingJsObject&&(B.cause=N.cause.backingJsObject,this.convertGwtStyleError(B.cause)),delete B.__java$exception)}}}]),A}()},{}],2:[function(f,p,w){(function(m){(function(){var b;typeof window<"u"?b=window:typeof m<"u"?b=m:typeof self<"u"&&(b=self);var E;function _(){}function A(){}function I(){}function B(){}function N(){}function R(){}function z(){}function W(){}function et(){}function st(){}function at(){}function bt(){}function mt(){}function yt(){}function ft(){}function ut(){}function vt(){}function X(){}function pt(){}function U(){}function Tt(){}function nt(){}function It(){}function Ot(){}function Bt(){}function Et(){}function Z(){}function Ct(){}function xt(){}function Ht(){}function Le(){}function Ft(){}function gn(){}function Se(){}function me(){}function Ve(){}function Ye(){}function ce(){}function ke(){}function zt(){}function re(){}function se(){}function Pe(){}function te(){}function Me(){}function de(){}function on(){}function ni(){}function Ks(){}function ws(){}function fo(){}function Xi(){}function Er(){}function Xn(){}function di(){}function Ee(){}function Kn(){}function He(){}function Ti(){}function pn(){}function Es(){}function qa(){}function Ma(){}function Gs(){}function Po(){}function vs(){}function ru(){}function zs(){}function Du(){}function pm(){}function uw(){}function Wu(){}function th(){}function Fa(){}function Ml(){}function ha(){}function bc(){}function Cc(){}function pa(){}function Da(){}function Ha(){}function Dl(){}function _c(){}function lw(){}function eh(){}function ed(){}function jd(){}function nd(){}function $d(){}function A0(){}function Bi(){}function cn(){}function kr(){}function Ei(){}function Jo(){}function wc(){}function rf(){}function Oc(){}function sf(){}function af(){}function Qi(){}function Ts(){}function ka(){}function xi(){}function Yc(){}function Ce(){}function vp(){}function Be(){}function Bf(){}function yg(){}function bm(){}function Ek(){}function E3(){}function Il(){}function L0(){}function hw(){}function H5(){}function Hb(){}function V5(){}function f1(){}function rd(){}function id(){}function G5(){}function fw(){}function U5(){}function mp(){}function W5(){}function T3(){}function wm(){}function xg(){}function EL(){}function vl(){}function iN(){}function Sc(){}function cK(){}function Vb(){}function uK(){}function PT(){}function lK(){}function sN(){}function Rf(){}function vm(){}function TL(){}function aN(){}function yp(){}function mm(){}function hK(){}function Gb(){}function fK(){}function dK(){}function Y5(){}function FT(){}function oN(){}function Tk(){}function gK(){}function Ck(){}function pK(){}function bK(){}function wK(){}function vK(){}function mK(){}function yK(){}function xK(){}function kK(){}function EK(){}function TK(){}function CK(){}function CL(){}function _K(){}function SK(){}function NT(){}function cN(){}function K5(){}function AK(){}function LK(){}function MK(){}function DK(){}function IK(){}function BT(){}function _L(){}function uN(){}function C3(){}function _3(){}function OK(){}function of(){}function X5(){}function PK(){}function _k(){}function zd(){}function FK(){}function NK(){}function BK(){}function RK(){}function RT(){}function SL(){}function lN(){}function AL(){}function Q5(){}function jK(){}function hN(){}function fN(){}function $K(){}function zK(){}function qK(){}function HK(){}function VK(){}function GK(){}function qd(){}function dw(){}function UK(){}function dN(){}function gN(){}function WK(){}function S3(){}function Sk(){}function LL(){}function ym(){}function Ak(){}function YK(){}function jT(){}function sd(){}function pN(){}function ML(){}function Lk(){}function DL(){}function bN(){}function KK(){}function IL(){}function XK(){}function QK(){}function wN(){}function Z5(){}function vN(){}function J5(){}function ZK(){}function OL(){}function JK(){}function tX(){}function eX(){}function nX(){}function mN(){}function rX(){}function iX(){}function sX(){}function yN(){}function aX(){}function oX(){}function cX(){}function xN(){}function uX(){}function lX(){}function kN(){}function EN(){}function TN(){}function hX(){}function fX(){}function Mk(){}function tx(){}function $T(){}function dX(){}function PL(){}function zT(){}function FL(){}function CN(){}function _N(){}function gX(){}function pX(){}function bX(){}function SN(){}function AN(){}function wX(){}function vX(){}function mX(){}function yX(){}function xX(){}function LN(){}function kX(){}function EX(){}function TX(){}function CX(){}function MN(){}function qT(){}function _X(){}function SX(){}function DN(){}function AX(){}function LX(){}function MX(){}function DX(){}function IX(){}function OX(){}function IN(){}function PX(){}function ON(){}function FX(){}function NX(){}function BX(){}function HT(){}function RX(){}function VT(){}function jX(){}function PN(){}function FN(){}function NN(){}function BN(){}function gw(){}function RN(){}function jN(){}function $N(){}function zN(){}function $X(){}function ex(){}function GT(){}function A3(){}function zX(){}function qX(){}function UT(){}function HX(){}function VX(){}function GX(){}function UX(){}function WX(){}function YX(){}function KX(){}function XX(){}function QX(){}function ZX(){}function JX(){}function NL(){}function qN(){}function tQ(){}function eQ(){}function nQ(){}function HN(){}function rQ(){}function iQ(){}function sQ(){}function aQ(){}function oQ(){}function cQ(){}function VN(){}function GN(){}function uQ(){}function UN(){}function WN(){}function lQ(){}function hQ(){}function fQ(){}function BL(){}function dQ(){}function Dk(){}function gQ(){}function pQ(){}function bQ(){}function YN(){}function wQ(){}function vQ(){}function mQ(){}function yQ(){}function xQ(){}function kQ(){}function EQ(){}function TQ(){}function CQ(){}function _Q(){}function SQ(){}function AQ(){}function nx(){}function KN(){}function LQ(){}function MQ(){}function DQ(){}function XN(){}function IQ(){}function WT(){}function OQ(){}function PQ(){}function FQ(){}function NQ(){}function BQ(){}function RQ(){}function jQ(){}function $Q(){}function zQ(){}function qQ(){}function rx(){}function HQ(){}function VQ(){}function GQ(){}function UQ(){}function WQ(){}function YQ(){}function KQ(){}function XQ(){}function YT(){}function QQ(){}function ZQ(){}function JQ(){}function tZ(){}function eZ(){}function nZ(){}function rZ(){}function iZ(){}function ix(){}function QN(){}function sZ(){}function RL(){}function aZ(){}function oZ(){}function cZ(){}function uZ(){}function lZ(){}function hZ(){}function fZ(){}function ZN(){}function dZ(){}function JN(){}function gZ(){}function tB(){}function eB(){}function nB(){}function pZ(){}function bZ(){}function KT(){}function jL(){}function XT(){}function wZ(){}function vZ(){}function $L(){}function mZ(){}function yZ(){}function rB(){}function xZ(){}function kZ(){}function EZ(){}function TZ(){}function CZ(){}function _Z(){}function SZ(){}function AZ(){}function LZ(){}function MZ(){}function kg(){}function DZ(){}function xm(){}function iB(){}function IZ(){}function OZ(){}function PZ(){}function FZ(){}function NZ(){}function BZ(){}function RZ(){}function jZ(){}function $Z(){}function Ac(){}function zZ(){}function QT(){}function tc(){}function Kc(){}function zi(){}function zL(){}function qZ(){}function HZ(){}function VZ(){}function sx(){}function km(){}function Ue(){}function GZ(){}function UZ(){}function WZ(){}function YZ(){}function KZ(){}function sB(){}function XZ(){}function QZ(){}function qL(){}function ZZ(){}function Yu(){}function Iu(){}function JZ(){}function tJ(){}function eJ(){}function Em(){}function pw(){}function xp(){}function ad(){}function ax(){}function ZT(){}function Ik(){}function aB(){}function nJ(){}function Ok(){}function oB(){}function rJ(){}function JT(){}function ox(){}function cx(){}function kp(){}function cB(){}function Pk(){}function uB(){}function lB(){}function ux(){}function Ub(){}function M0(){}function Ep(){}function L3(){}function Fk(){}function tC(){}function hB(){}function iJ(){}function fB(){}function dB(){}function gB(){}function Nk(){}function pB(){}function bB(){}function sJ(){}function Bk(){}function Rk(){}function Tm(){}function HL(){}function aJ(){}function oJ(){}function cJ(){}function uJ(){}function lJ(){}function hJ(){}function fJ(){}function dJ(){}function wB(){}function gJ(){}function pJ(){}function bJ(){}function vB(){}function jk(){}function eC(){}function mB(){}function wJ(){}function yB(){}function xB(){}function vJ(){}function nC(){}function Cm(){}function kB(){}function EB(){}function mJ(){}function yJ(){}function rC(){}function TB(){}function CB(){}function uc(){}function xJ(){}function _B(){}function iC(){}function kJ(){}function EJ(){}function sC(){}function SB(){}function aC(){}function oC(){}function jf(){}function VL(){}function GL(){}function lx(){}function TJ(){}function CJ(){}function _J(){}function SJ(){}function _m(){}function AB(){}function hx(){}function d1(){}function LB(){}function MB(){}function DB(){}function IB(){}function OB(){}function PB(){}function $f(){}function du(){}function AJ(){}function LJ(){}function MJ(){}function gu(){}function cC(){}function FB(){}function NB(){}function fx(){}function DJ(){}function $k(){}function IJ(){}function BB(){}function OJ(){}function PJ(){}function uC(){}function RB(){}function UL(){}function lC(){}function FJ(){}function NJ(){}function WL(){}function hC(){}function g1(){}function zk(){}function BJ(){}function qk(){}function YL(){}function Wb(){}function fC(){}function KL(){}function zf(){}function dC(){}function p1(){}function b1(){}function RJ(){}function jJ(){}function M3(){}function Hk(){}function Vk(){}function gC(){}function $J(){}function dx(){}function XL(){}function jB(){}function zJ(){}function pC(){PC()}function qJ(){Rit()}function $B(){o_()}function QL(){sq()}function HJ(){q4t()}function bC(){Jf()}function VJ(){J3t()}function GJ(){iI()}function UJ(){EM()}function WJ(){kM()}function YJ(){KM()}function zB(){BVt()}function KJ(){r6()}function XJ(){$R()}function QJ(){YJt()}function qB(){one()}function ZJ(){_te()}function JJ(){HQt()}function wC(){oE()}function ttt(){nb()}function ett(){cne()}function ntt(){NZt()}function rtt(){Fxt()}function itt(){Kse()}function stt(){VQt()}function HB(){Te()}function att(){qQt()}function VB(){une()}function ott(){fre()}function ZL(){UQt()}function ctt(){Dte()}function GB(){RVt()}function utt(){E5t()}function UB(){uy()}function ltt(){Nne()}function WB(){cI()}function YB(){dat()}function KB(){yst()}function JL(){gv()}function D3(){myt()}function vC(){GQt()}function od(){rle()}function XB(){y5t()}function Gk(){sat()}function tM(){V$()}function htt(){fq()}function Tp(){ui()}function QB(){Sz()}function ZB(){S3t()}function JB(){Dq()}function nh(){IYt()}function eM(){kit()}function tR(){oxt()}function Uk(t){On(t)}function mC(t){this.a=t}function Wk(t){this.a=t}function eR(t){this.a=t}function gx(t){this.a=t}function bw(t){this.a=t}function Yk(t){this.a=t}function nR(t){this.a=t}function ftt(t){this.a=t}function nM(t){this.a=t}function I3(t){this.a=t}function rM(t){this.a=t}function yC(t){this.a=t}function dtt(t){this.a=t}function xC(t){this.a=t}function kC(t){this.a=t}function px(t){this.a=t}function iM(t){this.a=t}function sM(t){this.a=t}function gtt(t){this.a=t}function ptt(t){this.a=t}function btt(t){this.a=t}function rR(t){this.b=t}function wtt(t){this.c=t}function vtt(t){this.a=t}function mtt(t){this.a=t}function ytt(t){this.a=t}function xtt(t){this.a=t}function ktt(t){this.a=t}function Ett(t){this.a=t}function Ttt(t){this.a=t}function Ctt(t){this.a=t}function bx(t){this.a=t}function _tt(t){this.a=t}function Kk(t){this.a=t}function Th(t){this.a=t}function Stt(t){this.a=t}function wx(t){this.a=t}function Xk(t){this.a=t}function EC(t){this.a=t}function Qk(t){this.a=t}function Eg(){this.a=[]}function Att(t,e){t.a=e}function cpt(t,e){t.a=e}function upt(t,e){t.b=e}function lpt(t,e){t.b=e}function hpt(t,e){t.b=e}function aM(t,e){t.j=e}function fpt(t,e){t.g=e}function dpt(t,e){t.i=e}function Ltt(t,e){t.c=e}function w1(t,e){t.d=e}function Mtt(t,e){t.d=e}function gpt(t,e){t.c=e}function D0(t,e){t.k=e}function Dtt(t,e){t.c=e}function iR(t,e){t.c=e}function sR(t,e){t.a=e}function Itt(t,e){t.a=e}function ppt(t,e){t.f=e}function bpt(t,e){t.a=e}function ww(t,e){t.b=e}function oM(t,e){t.d=e}function TC(t,e){t.i=e}function aR(t,e){t.o=e}function wpt(t,e){t.r=e}function vpt(t,e){t.a=e}function oR(t,e){t.b=e}function vw(t,e){t.e=e}function Ott(t,e){t.f=e}function CC(t,e){t.g=e}function vx(t,e){t.e=e}function mpt(t,e){t.f=e}function Zk(t,e){t.f=e}function Ptt(t,e){t.n=e}function Tg(t,e){t.a=e}function ypt(t,e){t.a=e}function O3(t,e){t.c=e}function Ftt(t,e){t.c=e}function Ntt(t,e){t.d=e}function cR(t,e){t.e=e}function uR(t,e){t.g=e}function Btt(t,e){t.a=e}function Jk(t,e){t.c=e}function _C(t,e){t.d=e}function xpt(t,e){t.e=e}function Rtt(t,e){t.f=e}function jtt(t,e){t.j=e}function $tt(t,e){t.a=e}function kpt(t,e){t.b=e}function vc(t,e){t.a=e}function lR(t){t.b=t.a}function ztt(t){t.c=t.d.d}function mx(t){this.d=t}function Cg(t){this.a=t}function Sm(t){this.a=t}function cM(t){this.a=t}function v1(t){this.a=t}function yx(t){this.a=t}function qtt(t){this.a=t}function hR(t){this.a=t}function P3(t){this.a=t}function uM(t){this.a=t}function Am(t){this.a=t}function fR(t){this.a=t}function m1(t){this.a=t}function y(t){this.a=t}function g(t){this.a=t}function x(t){this.b=t}function T(t){this.b=t}function L(t){this.b=t}function O(t){this.a=t}function P(t){this.a=t}function $(t){this.a=t}function q(t){this.c=t}function S(t){this.c=t}function V(t){this.c=t}function Y(t){this.a=t}function rt(t){this.a=t}function ot(t){this.a=t}function ht(t){this.a=t}function dt(t){this.a=t}function Lt(t){this.a=t}function kt(t){this.a=t}function Dt(t){this.a=t}function Pt(t){this.a=t}function $t(t){this.a=t}function Zt(t){this.a=t}function Yt(t){this.a=t}function qt(t){this.a=t}function ne(t){this.a=t}function Gt(t){this.a=t}function ge(t){this.a=t}function be(t){this.a=t}function ie(t){this.a=t}function Fe(t){this.a=t}function we(t){this.a=t}function bn(t){this.a=t}function ze(t){this.a=t}function Ge(t){this.a=t}function En(t){this.a=t}function In(t){this.a=t}function Yn(t){this.a=t}function Sn(t){this.a=t}function Wn(t){this.a=t}function rr(t){this.a=t}function wr(t){this.a=t}function ur(t){this.a=t}function er(t){this.a=t}function vn(t){this.a=t}function gr(t){this.a=t}function fr(t){this.a=t}function Jr(t){this.a=t}function vi(t){this.a=t}function Xs(t){this.a=t}function Ea(t){this.a=t}function Ci(t){this.a=t}function hi(t){this.a=t}function gs(t){this.a=t}function qi(t){this.a=t}function Si(t){this.a=t}function Ui(t){this.a=t}function Va(t){this.e=t}function Qs(t){this.a=t}function qs(t){this.a=t}function Tr(t){this.a=t}function Qt(t){this.a=t}function jn(t){this.a=t}function Sr(t){this.a=t}function ir(t){this.a=t}function sr(t){this.a=t}function Ia(t){this.a=t}function $r(t){this.a=t}function Yi(t){this.a=t}function Fo(t){this.a=t}function Pc(t){this.a=t}function Za(t){this.a=t}function mc(t){this.a=t}function Ta(t){this.a=t}function Ja(t){this.a=t}function ml(t){this.a=t}function qf(t){this.a=t}function Cp(t){this.a=t}function _p(t){this.a=t}function Hf(t){this.a=t}function _g(t){this.a=t}function cd(t){this.a=t}function mw(t){this.a=t}function Lm(t){this.a=t}function xx(t){this.a=t}function F3(t){this.a=t}function kx(t){this.a=t}function SC(t){this.a=t}function N3(t){this.a=t}function Hd(t){this.a=t}function y1(t){this.a=t}function Vd(t){this.a=t}function AC(t){this.a=t}function Yb(t){this.a=t}function dR(t){this.a=t}function Htt(t){this.a=t}function Vtt(t){this.a=t}function Gtt(t){this.a=t}function Utt(t){this.a=t}function Wtt(t){this.a=t}function Ytt(t){this.a=t}function Ktt(t){this.a=t}function t8(t){this.a=t}function lM(t){this.a=t}function LC(t){this.a=t}function gR(t){this.a=t}function pR(t){this.a=t}function Xtt(t){this.a=t}function Sp(t){this.a=t}function hM(t){this.a=t}function bR(t){this.a=t}function e8(t){this.c=t}function Ap(t){this.b=t}function Qtt(t){this.a=t}function S$t(t){this.a=t}function A$t(t){this.a=t}function L$t(t){this.a=t}function M$t(t){this.a=t}function D$t(t){this.a=t}function I$t(t){this.a=t}function O$t(t){this.a=t}function P$t(t){this.a=t}function F$t(t){this.a=t}function N$t(t){this.a=t}function B$t(t){this.a=t}function R$t(t){this.a=t}function j$t(t){this.a=t}function $$t(t){this.a=t}function z$t(t){this.a=t}function q$t(t){this.a=t}function H$t(t){this.a=t}function V$t(t){this.a=t}function G$t(t){this.a=t}function U$t(t){this.a=t}function W$t(t){this.a=t}function Y$t(t){this.a=t}function K$t(t){this.a=t}function Lp(t){this.a=t}function Ex(t){this.a=t}function X$t(t){this.a=t}function Q$t(t){this.a=t}function Z$t(t){this.a=t}function J$t(t){this.a=t}function tzt(t){this.a=t}function ezt(t){this.a=t}function nzt(t){this.a=t}function rzt(t){this.a=t}function izt(t){this.a=t}function szt(t){this.a=t}function azt(t){this.a=t}function ozt(t){this.a=t}function czt(t){this.a=t}function uzt(t){this.a=t}function lzt(t){this.a=t}function hzt(t){this.a=t}function wR(t){this.a=t}function fzt(t){this.a=t}function dzt(t){this.a=t}function gzt(t){this.a=t}function pzt(t){this.a=t}function bzt(t){this.a=t}function wzt(t){this.a=t}function vzt(t){this.a=t}function mzt(t){this.a=t}function yzt(t){this.a=t}function xzt(t){this.a=t}function kzt(t){this.a=t}function Ezt(t){this.a=t}function Tzt(t){this.a=t}function Czt(t){this.a=t}function _zt(t){this.a=t}function Szt(t){this.a=t}function Azt(t){this.a=t}function Lzt(t){this.a=t}function Mzt(t){this.a=t}function Dzt(t){this.a=t}function Izt(t){this.a=t}function Ozt(t){this.a=t}function Pzt(t){this.a=t}function Fzt(t){this.a=t}function Nzt(t){this.a=t}function Bzt(t){this.a=t}function Rzt(t){this.a=t}function jzt(t){this.a=t}function Ept(t){this.a=t}function Vi(t){this.b=t}function $zt(t){this.f=t}function Tpt(t){this.a=t}function zzt(t){this.a=t}function qzt(t){this.a=t}function Hzt(t){this.a=t}function Vzt(t){this.a=t}function Gzt(t){this.a=t}function Uzt(t){this.a=t}function Wzt(t){this.a=t}function Yzt(t){this.a=t}function fM(t){this.a=t}function Kzt(t){this.a=t}function Xzt(t){this.b=t}function Cpt(t){this.c=t}function vR(t){this.e=t}function Qzt(t){this.a=t}function mR(t){this.a=t}function yR(t){this.a=t}function Ztt(t){this.a=t}function Zzt(t){this.a=t}function Jzt(t){this.d=t}function _pt(t){this.a=t}function Spt(t){this.a=t}function yw(t){this.e=t}function WYe(){this.a=0}function B3(){IUt(this)}function he(){ant(this)}function _r(){Xu(this)}function Jtt(){NXt(this)}function tqt(){}function xw(){this.c=oLt}function YYe(t,e){e.Wb(t)}function eqt(t,e){t.b+=e}function nqt(t){t.b=new wet}function it(t){return t.e}function KYe(t){return t.a}function XYe(t){return t.a}function QYe(t){return t.a}function ZYe(t){return t.a}function JYe(t){return t.a}function tKe(){return null}function eKe(){return null}function nKe(){dbt(),dxn()}function rKe(t){t.b.tf(t.e)}function MC(t,e){t.b=e-t.b}function DC(t,e){t.a=e-t.a}function rqt(t,e){e.ad(t.a)}function iKe(t,e){Bs(e,t)}function sKe(t,e,n){t.Od(n,e)}function dM(t,e){t.e=e,e.b=t}function Apt(t){gd(),this.a=t}function iqt(t){gd(),this.a=t}function sqt(t){gd(),this.a=t}function Lpt(t){Wm(),this.a=t}function aqt(t){I8(),Out.be(t)}function Kb(){pWt.call(this)}function Mpt(){pWt.call(this)}function Dpt(){Kb.call(this)}function tet(){Kb.call(this)}function oqt(){Kb.call(this)}function gM(){Kb.call(this)}function Ou(){Kb.call(this)}function IC(){Kb.call(this)}function Or(){Kb.call(this)}function rh(){Kb.call(this)}function cqt(){Kb.call(this)}function lc(){Kb.call(this)}function uqt(){Kb.call(this)}function lqt(){this.a=this}function xR(){this.Bb|=256}function hqt(){this.b=new dUt}function Ipt(){Ipt=Z,new _r}function Opt(){Dpt.call(this)}function fqt(t,e){t.length=e}function kR(t,e){le(t.a,e)}function aKe(t,e){V4t(t.c,e)}function oKe(t,e){Fs(t.b,e)}function cKe(t,e){Jz(t.a,e)}function uKe(t,e){Wit(t.a,e)}function n8(t,e){mi(t.e,e)}function Tx(t){pq(t.c,t.b)}function lKe(t,e){t.kc().Nb(e)}function Ppt(t){this.a=chn(t)}function Hs(){this.a=new _r}function dqt(){this.a=new _r}function ER(){this.a=new he}function eet(){this.a=new he}function Fpt(){this.a=new he}function Ch(){this.a=new uw}function Xb(){this.a=new VJt}function Npt(){this.a=new H5}function Bpt(){this.a=new LVt}function gqt(){this.a=new wZt}function Rpt(){this.a=new OQt}function jpt(){this.a=new rYt}function pqt(){this.a=new he}function $pt(){this.a=new he}function bqt(){this.a=new he}function wqt(){this.a=new he}function vqt(){this.d=new he}function mqt(){this.a=new Hs}function yqt(){this.a=new _r}function xqt(){this.b=new _r}function kqt(){this.b=new he}function zpt(){this.e=new he}function Eqt(){this.d=new he}function Tqt(){this.a=new ttt}function Cqt(){he.call(this)}function qpt(){ER.call(this)}function _qt(){Ij.call(this)}function Sqt(){$pt.call(this)}function net(){OC.call(this)}function OC(){tqt.call(this)}function Cx(){tqt.call(this)}function Hpt(){Cx.call(this)}function Aqt(){lQt.call(this)}function Lqt(){lQt.call(this)}function Mqt(){Xpt.call(this)}function Dqt(){Xpt.call(this)}function Iqt(){Xpt.call(this)}function Oqt(){Qpt.call(this)}function Pu(){Zi.call(this)}function Vpt(){Em.call(this)}function Gpt(){Em.call(this)}function Pqt(){Xqt.call(this)}function Fqt(){Xqt.call(this)}function Nqt(){_r.call(this)}function Bqt(){_r.call(this)}function Rqt(){_r.call(this)}function jqt(){Hs.call(this)}function ret(){ine.call(this)}function $qt(){xR.call(this)}function iet(){x2t.call(this)}function set(){x2t.call(this)}function Upt(){_r.call(this)}function aet(){_r.call(this)}function zqt(){_r.call(this)}function Wpt(){Pk.call(this)}function qqt(){Pk.call(this)}function Hqt(){Wpt.call(this)}function Vqt(){XL.call(this)}function Gqt(t){Lee.call(this,t)}function Uqt(t){Lee.call(this,t)}function Ypt(t){nM.call(this,t)}function Kpt(t){mVt.call(this,t)}function hKe(t){Kpt.call(this,t)}function fKe(t){mVt.call(this,t)}function r8(){this.a=new Zi}function Xpt(){this.a=new Hs}function Qpt(){this.a=new _r}function Wqt(){this.a=new he}function Yqt(){this.j=new he}function Zpt(){this.a=new nB}function Kqt(){this.a=new VHt}function Xqt(){this.a=new cB}function oet(){oet=Z,Sut=new gHt}function cet(){cet=Z,_ut=new dHt}function PC(){PC=Z,Cut=new A}function TR(){TR=Z,Mut=new dWt}function dKe(t){Kpt.call(this,t)}function gKe(t){Kpt.call(this,t)}function Qqt(t){$rt.call(this,t)}function Zqt(t){$rt.call(this,t)}function Jqt(t){CYt.call(this,t)}function uet(t){Pgn.call(this,t)}function kw(t){Om.call(this,t)}function FC(t){NR.call(this,t)}function Jpt(t){NR.call(this,t)}function tHt(t){NR.call(this,t)}function Vo(t){jKt.call(this,t)}function eHt(t){Vo.call(this,t)}function _x(){Qk.call(this,{})}function CR(t){w8(),this.a=t}function NC(t){t.b=null,t.c=0}function pKe(t,e){t.e=e,nue(t,e)}function bKe(t,e){t.a=e,ypn(t)}function het(t,e,n){t.a[e.g]=n}function wKe(t,e,n){Ndn(n,t,e)}function vKe(t,e){HZe(e.i,t.n)}function nHt(t,e){Vun(t).td(e)}function mKe(t,e){return t*t/e}function rHt(t,e){return t.g-e.g}function yKe(t){return new EC(t)}function xKe(t){return new Um(t)}function _R(t){Vo.call(this,t)}function yo(t){Vo.call(this,t)}function iHt(t){Vo.call(this,t)}function fet(t){jKt.call(this,t)}function det(t){wyt(),this.a=t}function sHt(t){DYt(),this.a=t}function Mm(t){Vnt(),this.f=t}function get(t){Vnt(),this.f=t}function i8(t){Vo.call(this,t)}function Fn(t){Vo.call(this,t)}function No(t){Vo.call(this,t)}function aHt(t){Vo.call(this,t)}function Sx(t){Vo.call(this,t)}function je(t){return On(t),t}function Xt(t){return On(t),t}function pM(t){return On(t),t}function tbt(t){return On(t),t}function kKe(t){return On(t),t}function BC(t){return t.b==t.c}function Dm(t){return!!t&&t.b}function EKe(t){return!!t&&t.k}function TKe(t){return!!t&&t.j}function yl(t){On(t),this.a=t}function ebt(t){return g2(t),t}function RC(t){dvt(t,t.length)}function Sg(t){Vo.call(this,t)}function ud(t){Vo.call(this,t)}function pet(t){Vo.call(this,t)}function R3(t){Vo.call(this,t)}function jC(t){Vo.call(this,t)}function Nr(t){Vo.call(this,t)}function bet(t){j2t.call(this,t,0)}function wet(){Wvt.call(this,12,3)}function nbt(){nbt=Z,rEt=new pt}function oHt(){oHt=Z,nEt=new _}function SR(){SR=Z,cS=new mt}function cHt(){cHt=Z,Bge=new ft}function uHt(){throw it(new Or)}function rbt(){throw it(new Or)}function lHt(){throw it(new Or)}function CKe(){throw it(new Or)}function _Ke(){throw it(new Or)}function SKe(){throw it(new Or)}function vet(){this.a=Br(Lr(Ya))}function Ax(t){gd(),this.a=Lr(t)}function hHt(t,e){t.Td(e),e.Sd(t)}function AKe(t,e){t.a.ec().Mc(e)}function LKe(t,e,n){t.c.lf(e,n)}function ibt(t){yo.call(this,t)}function ld(t){Fn.call(this,t)}function Ag(){yx.call(this,"")}function $C(){yx.call(this,"")}function Mp(){yx.call(this,"")}function Im(){yx.call(this,"")}function sbt(t){yo.call(this,t)}function s8(t){T.call(this,t)}function met(t){Ej.call(this,t)}function fHt(t){s8.call(this,t)}function dHt(){xC.call(this,null)}function gHt(){xC.call(this,null)}function AR(){AR=Z,I8()}function pHt(){pHt=Z,Wge=u0n()}function bHt(t){return t.a?t.b:0}function MKe(t){return t.a?t.b:0}function DKe(t,e){return t.a-e.a}function IKe(t,e){return t.a-e.a}function OKe(t,e){return t.a-e.a}function LR(t,e){return Bmt(t,e)}function ct(t,e){return NQt(t,e)}function PKe(t,e){return e in t.a}function wHt(t,e){return t.f=e,t}function FKe(t,e){return t.b=e,t}function vHt(t,e){return t.c=e,t}function NKe(t,e){return t.g=e,t}function abt(t,e){return t.a=e,t}function obt(t,e){return t.f=e,t}function BKe(t,e){return t.k=e,t}function cbt(t,e){return t.a=e,t}function RKe(t,e){return t.e=e,t}function ubt(t,e){return t.e=e,t}function jKe(t,e){return t.f=e,t}function $Ke(t,e){t.b=!0,t.d=e}function zKe(t,e){t.b=new xo(e)}function qKe(t,e,n){e.td(t.a[n])}function HKe(t,e,n){e.we(t.a[n])}function VKe(t,e){return t.b-e.b}function GKe(t,e){return t.g-e.g}function UKe(t,e){return t.s-e.s}function WKe(t,e){return t?0:e-1}function mHt(t,e){return t?0:e-1}function YKe(t,e){return t?e-1:0}function KKe(t,e){return e.Yf(t)}function Ew(t,e){return t.b=e,t}function MR(t,e){return t.a=e,t}function Tw(t,e){return t.c=e,t}function Cw(t,e){return t.d=e,t}function _w(t,e){return t.e=e,t}function lbt(t,e){return t.f=e,t}function zC(t,e){return t.a=e,t}function a8(t,e){return t.b=e,t}function o8(t,e){return t.c=e,t}function Ze(t,e){return t.c=e,t}function kn(t,e){return t.b=e,t}function Je(t,e){return t.d=e,t}function tn(t,e){return t.e=e,t}function XKe(t,e){return t.f=e,t}function en(t,e){return t.g=e,t}function nn(t,e){return t.a=e,t}function rn(t,e){return t.i=e,t}function sn(t,e){return t.j=e,t}function yHt(t,e){return t.k=e,t}function QKe(t,e){return t.j=e,t}function ZKe(t,e){nb(),Uo(e,t)}function JKe(t,e,n){Wen(t.a,e,n)}function xHt(t){RXt.call(this,t)}function hbt(t){RXt.call(this,t)}function DR(t){Snt.call(this,t)}function kHt(t){bhn.call(this,t)}function Dp(t){Qw.call(this,t)}function EHt(t){prt.call(this,t)}function THt(t){prt.call(this,t)}function CHt(){b2t.call(this,"")}function Ca(){this.a=0,this.b=0}function _Ht(){this.b=0,this.a=0}function SHt(t,e){t.b=0,ry(t,e)}function tXe(t,e){t.c=e,t.b=!0}function AHt(t,e){return t.c._b(e)}function Vf(t){return t.e&&t.e()}function yet(t){return t?t.d:null}function LHt(t,e){return eie(t.b,e)}function eXe(t){return t?t.g:null}function nXe(t){return t?t.i:null}function Ip(t){return P0(t),t.o}function Sw(){Sw=Z,G4e=ydn()}function MHt(){MHt=Z,na=I0n()}function c8(){c8=Z,aLt=kdn()}function DHt(){DHt=Z,L5e=xdn()}function fbt(){fbt=Z,pc=wpn()}function dbt(){dbt=Z,Ab=K8()}function IHt(){throw it(new Or)}function OHt(){throw it(new Or)}function PHt(){throw it(new Or)}function FHt(){throw it(new Or)}function NHt(){throw it(new Or)}function BHt(){throw it(new Or)}function IR(t){this.a=new Lx(t)}function gbt(t){Ihe(),_xn(this,t)}function Op(t){this.a=new Ynt(t)}function j3(t,e){for(;t.ye(e););}function pbt(t,e){for(;t.sd(e););}function $3(t,e){return t.a+=e,t}function xet(t,e){return t.a+=e,t}function Lg(t,e){return t.a+=e,t}function Aw(t,e){return t.a+=e,t}function qC(t){return Vp(t),t.a}function OR(t){return t.b!=t.d.c}function RHt(t){return t.l|t.m<<22}function bbt(t,e){return t.d[e.p]}function jHt(t,e){return avn(t,e)}function wbt(t,e,n){t.splice(e,n)}function $Ht(t){t.c?Eue(t):Tue(t)}function PR(t){this.a=0,this.b=t}function zHt(){this.a=new vI(m_t)}function qHt(){this.b=new vI(s_t)}function HHt(){this.b=new vI(Zht)}function VHt(){this.b=new vI(Zht)}function GHt(){throw it(new Or)}function UHt(){throw it(new Or)}function WHt(){throw it(new Or)}function YHt(){throw it(new Or)}function KHt(){throw it(new Or)}function XHt(){throw it(new Or)}function QHt(){throw it(new Or)}function ZHt(){throw it(new Or)}function JHt(){throw it(new Or)}function tVt(){throw it(new Or)}function rXe(){throw it(new lc)}function iXe(){throw it(new lc)}function bM(t){this.a=new eVt(t)}function eVt(t){pcn(this,t,p0n())}function wM(t){return!t||kXt(t)}function vM(t){return Y1[t]!=-1}function sXe(){ZH!=0&&(ZH=0),JH=-1}function nVt(){Tut==null&&(Tut=[])}function aXe(t,e){tat(Wt(t.a),e)}function oXe(t,e){tat(Wt(t.a),e)}function mM(t,e){K3.call(this,t,e)}function u8(t,e){mM.call(this,t,e)}function vbt(t,e){this.b=t,this.c=e}function rVt(t,e){this.b=t,this.a=e}function iVt(t,e){this.a=t,this.b=e}function sVt(t,e){this.a=t,this.b=e}function aVt(t,e){this.a=t,this.b=e}function oVt(t,e){this.a=t,this.b=e}function cVt(t,e){this.a=t,this.b=e}function uVt(t,e){this.a=t,this.b=e}function lVt(t,e){this.a=t,this.b=e}function hVt(t,e){this.a=t,this.b=e}function fVt(t,e){this.b=t,this.a=e}function dVt(t,e){this.b=t,this.a=e}function gVt(t,e){this.b=t,this.a=e}function pVt(t,e){this.b=t,this.a=e}function Vr(t,e){this.f=t,this.g=e}function l8(t,e){this.e=t,this.d=e}function Lw(t,e){this.g=t,this.i=e}function ket(t,e){this.a=t,this.b=e}function bVt(t,e){this.a=t,this.f=e}function wVt(t,e){this.b=t,this.c=e}function cXe(t,e){this.a=t,this.b=e}function vVt(t,e){this.a=t,this.b=e}function Eet(t,e){this.a=t,this.b=e}function mVt(t){A2t(t.dc()),this.c=t}function FR(t){this.b=u(Lr(t),83)}function yVt(t){this.a=u(Lr(t),83)}function Om(t){this.a=u(Lr(t),15)}function xVt(t){this.a=u(Lr(t),15)}function NR(t){this.b=u(Lr(t),47)}function BR(){this.q=new b.Date}function Gd(){Gd=Z,vEt=new Ct}function h8(){h8=Z,a7=new Ot}function HC(t){return t.f.c+t.g.c}function yM(t,e){return t.b.Hc(e)}function kVt(t,e){return t.b.Ic(e)}function EVt(t,e){return t.b.Qc(e)}function TVt(t,e){return t.b.Hc(e)}function CVt(t,e){return t.c.uc(e)}function I0(t,e){return t.a._b(e)}function _Vt(t,e){return yi(t.c,e)}function SVt(t,e){return Tl(t.b,e)}function AVt(t,e){return t>e&&e0}function Cet(t,e){return yc(t,e)<0}function KC(t,e){return t.a.get(e)}function xXe(t,e){return e.split(t)}function WVt(t,e){return Tl(t.e,e)}function _bt(t){return On(t),!1}function WR(t){_n.call(this,t,21)}function kXe(t,e){TQt.call(this,t,e)}function YR(t,e){Vr.call(this,t,e)}function _et(t,e){Vr.call(this,t,e)}function Sbt(t){ort(),CYt.call(this,t)}function Abt(t,e){AKt(t,t.length,e)}function CM(t,e){rXt(t,t.length,e)}function EXe(t,e,n){e.ud(t.a.Ge(n))}function TXe(t,e,n){e.we(t.a.Fe(n))}function CXe(t,e,n){e.td(t.a.Kb(n))}function _Xe(t,e,n){t.Mb(n)&&e.td(n)}function XC(t,e,n){t.splice(e,0,n)}function SXe(t,e){return Nu(t.e,e)}function KR(t,e){this.d=t,this.e=e}function YVt(t,e){this.b=t,this.a=e}function KVt(t,e){this.b=t,this.a=e}function Lbt(t,e){this.b=t,this.a=e}function XVt(t,e){this.a=t,this.b=e}function QVt(t,e){this.a=t,this.b=e}function ZVt(t,e){this.a=t,this.b=e}function JVt(t,e){this.a=t,this.b=e}function Dx(t,e){this.a=t,this.b=e}function Mbt(t,e){this.b=t,this.a=e}function Dbt(t,e){this.b=t,this.a=e}function XR(t,e){Vr.call(this,t,e)}function QR(t,e){Vr.call(this,t,e)}function Ibt(t,e){Vr.call(this,t,e)}function Obt(t,e){Vr.call(this,t,e)}function z3(t,e){Vr.call(this,t,e)}function Aet(t,e){Vr.call(this,t,e)}function Let(t,e){Vr.call(this,t,e)}function Met(t,e){Vr.call(this,t,e)}function ZR(t,e){Vr.call(this,t,e)}function Pbt(t,e){Vr.call(this,t,e)}function Det(t,e){Vr.call(this,t,e)}function _M(t,e){Vr.call(this,t,e)}function JR(t,e){Vr.call(this,t,e)}function Iet(t,e){Vr.call(this,t,e)}function QC(t,e){Vr.call(this,t,e)}function Fbt(t,e){Vr.call(this,t,e)}function ms(t,e){Vr.call(this,t,e)}function tj(t,e){Vr.call(this,t,e)}function tGt(t,e){this.a=t,this.b=e}function eGt(t,e){this.a=t,this.b=e}function nGt(t,e){this.a=t,this.b=e}function rGt(t,e){this.a=t,this.b=e}function iGt(t,e){this.a=t,this.b=e}function sGt(t,e){this.a=t,this.b=e}function aGt(t,e){this.a=t,this.b=e}function oGt(t,e){this.a=t,this.b=e}function cGt(t,e){this.a=t,this.b=e}function Nbt(t,e){this.b=t,this.a=e}function uGt(t,e){this.b=t,this.a=e}function lGt(t,e){this.b=t,this.a=e}function hGt(t,e){this.b=t,this.a=e}function g8(t,e){this.c=t,this.d=e}function fGt(t,e){this.e=t,this.d=e}function dGt(t,e){this.a=t,this.b=e}function gGt(t,e){this.b=e,this.c=t}function ej(t,e){Vr.call(this,t,e)}function SM(t,e){Vr.call(this,t,e)}function Oet(t,e){Vr.call(this,t,e)}function ZC(t,e){Vr.call(this,t,e)}function Bbt(t,e){Vr.call(this,t,e)}function Pet(t,e){Vr.call(this,t,e)}function Fet(t,e){Vr.call(this,t,e)}function AM(t,e){Vr.call(this,t,e)}function Rbt(t,e){Vr.call(this,t,e)}function Net(t,e){Vr.call(this,t,e)}function JC(t,e){Vr.call(this,t,e)}function jbt(t,e){Vr.call(this,t,e)}function t9(t,e){Vr.call(this,t,e)}function e9(t,e){Vr.call(this,t,e)}function Fm(t,e){Vr.call(this,t,e)}function Bet(t,e){Vr.call(this,t,e)}function Ret(t,e){Vr.call(this,t,e)}function $bt(t,e){Vr.call(this,t,e)}function n9(t,e){Vr.call(this,t,e)}function jet(t,e){Vr.call(this,t,e)}function nj(t,e){Vr.call(this,t,e)}function LM(t,e){Vr.call(this,t,e)}function MM(t,e){Vr.call(this,t,e)}function Ix(t,e){Vr.call(this,t,e)}function $et(t,e){Vr.call(this,t,e)}function zbt(t,e){Vr.call(this,t,e)}function zet(t,e){Vr.call(this,t,e)}function qet(t,e){Vr.call(this,t,e)}function qbt(t,e){Vr.call(this,t,e)}function Het(t,e){Vr.call(this,t,e)}function Vet(t,e){Vr.call(this,t,e)}function Get(t,e){Vr.call(this,t,e)}function Uet(t,e){Vr.call(this,t,e)}function Hbt(t,e){Vr.call(this,t,e)}function pGt(t,e){this.b=t,this.a=e}function bGt(t,e){this.a=t,this.b=e}function wGt(t,e){this.a=t,this.b=e}function vGt(t,e){this.a=t,this.b=e}function mGt(t,e){this.a=t,this.b=e}function Vbt(t,e){Vr.call(this,t,e)}function Gbt(t,e){Vr.call(this,t,e)}function yGt(t,e){this.b=t,this.d=e}function Ubt(t,e){Vr.call(this,t,e)}function Wbt(t,e){Vr.call(this,t,e)}function xGt(t,e){this.a=t,this.b=e}function kGt(t,e){this.a=t,this.b=e}function rj(t,e){Vr.call(this,t,e)}function r9(t,e){Vr.call(this,t,e)}function Ybt(t,e){Vr.call(this,t,e)}function Kbt(t,e){Vr.call(this,t,e)}function Xbt(t,e){Vr.call(this,t,e)}function Wet(t,e){Vr.call(this,t,e)}function Qbt(t,e){Vr.call(this,t,e)}function Yet(t,e){Vr.call(this,t,e)}function ij(t,e){Vr.call(this,t,e)}function Ket(t,e){Vr.call(this,t,e)}function Xet(t,e){Vr.call(this,t,e)}function DM(t,e){Vr.call(this,t,e)}function Qet(t,e){Vr.call(this,t,e)}function Zbt(t,e){Vr.call(this,t,e)}function IM(t,e){Vr.call(this,t,e)}function Jbt(t,e){Vr.call(this,t,e)}function AXe(t,e){return Nu(t.c,e)}function LXe(t,e){return Nu(e.b,t)}function MXe(t,e){return-t.b.Je(e)}function t2t(t,e){return Nu(t.g,e)}function OM(t,e){Vr.call(this,t,e)}function Ox(t,e){Vr.call(this,t,e)}function EGt(t,e){this.a=t,this.b=e}function TGt(t,e){this.a=t,this.b=e}function $e(t,e){this.a=t,this.b=e}function i9(t,e){Vr.call(this,t,e)}function s9(t,e){Vr.call(this,t,e)}function PM(t,e){Vr.call(this,t,e)}function Zet(t,e){Vr.call(this,t,e)}function sj(t,e){Vr.call(this,t,e)}function a9(t,e){Vr.call(this,t,e)}function Jet(t,e){Vr.call(this,t,e)}function aj(t,e){Vr.call(this,t,e)}function q3(t,e){Vr.call(this,t,e)}function FM(t,e){Vr.call(this,t,e)}function o9(t,e){Vr.call(this,t,e)}function c9(t,e){Vr.call(this,t,e)}function NM(t,e){Vr.call(this,t,e)}function oj(t,e){Vr.call(this,t,e)}function H3(t,e){Vr.call(this,t,e)}function cj(t,e){Vr.call(this,t,e)}function CGt(t,e){this.a=t,this.b=e}function _Gt(t,e){this.a=t,this.b=e}function SGt(t,e){this.a=t,this.b=e}function AGt(t,e){this.a=t,this.b=e}function LGt(t,e){this.a=t,this.b=e}function MGt(t,e){this.a=t,this.b=e}function fa(t,e){this.a=t,this.b=e}function uj(t,e){Vr.call(this,t,e)}function DGt(t,e){this.a=t,this.b=e}function IGt(t,e){this.a=t,this.b=e}function OGt(t,e){this.a=t,this.b=e}function PGt(t,e){this.a=t,this.b=e}function FGt(t,e){this.a=t,this.b=e}function NGt(t,e){this.a=t,this.b=e}function BGt(t,e){this.b=t,this.a=e}function RGt(t,e){this.b=t,this.a=e}function jGt(t,e){this.b=t,this.a=e}function $Gt(t,e){this.b=t,this.a=e}function zGt(t,e){this.a=t,this.b=e}function qGt(t,e){this.a=t,this.b=e}function DXe(t,e){own(t.a,u(e,56))}function HGt(t,e){mon(t.a,u(e,11))}function IXe(t,e){return k8(),e!=t}function VGt(){return pHt(),new Wge}function GGt(){_rt(),this.b=new Hs}function UGt(){kq(),this.a=new Hs}function WGt(){Uvt(),evt.call(this)}function Px(t,e){Vr.call(this,t,e)}function YGt(t,e){this.a=t,this.b=e}function KGt(t,e){this.a=t,this.b=e}function lj(t,e){this.a=t,this.b=e}function XGt(t,e){this.a=t,this.b=e}function QGt(t,e){this.a=t,this.b=e}function ZGt(t,e){this.a=t,this.b=e}function JGt(t,e){this.d=t,this.b=e}function e2t(t,e){this.d=t,this.e=e}function tUt(t,e){this.f=t,this.c=e}function BM(t,e){this.b=t,this.c=e}function n2t(t,e){this.i=t,this.g=e}function eUt(t,e){this.e=t,this.a=e}function nUt(t,e){this.a=t,this.b=e}function r2t(t,e){t.i=null,fz(t,e)}function OXe(t,e){t&&ki(dP,t,e)}function rUt(t,e){return ist(t.a,e)}function hj(t){return XD(t.c,t.b)}function ec(t){return t?t.dd():null}function Vt(t){return t??null}function Nm(t){return typeof t===b6}function Bm(t){return typeof t===Nxt}function ra(t){return typeof t===Vat}function Np(t,e){return t.Hd().Xb(e)}function fj(t,e){return Kcn(t.Kc(),e)}function Dw(t,e){return yc(t,e)==0}function PXe(t,e){return yc(t,e)>=0}function u9(t,e){return yc(t,e)!=0}function FXe(t){return""+(On(t),t)}function RM(t,e){return t.substr(e)}function iUt(t){return cl(t),t.d.gc()}function tnt(t){return Dbn(t,t.c),t}function dj(t){return k9(t==null),t}function l9(t,e){return t.a+=""+e,t}function go(t,e){return t.a+=""+e,t}function h9(t,e){return t.a+=""+e,t}function hc(t,e){return t.a+=""+e,t}function Gr(t,e){return t.a+=""+e,t}function i2t(t,e){return t.a+=""+e,t}function sUt(t,e){fs(t,e,t.a,t.a.a)}function Zb(t,e){fs(t,e,t.c.b,t.c)}function NXe(t,e,n){gae(e,Wst(t,n))}function BXe(t,e,n){gae(e,Wst(t,n))}function RXe(t,e){Mon(new nr(t),e)}function aUt(t,e){t.q.setTime(Yw(e))}function oUt(t,e){lvt.call(this,t,e)}function cUt(t,e){lvt.call(this,t,e)}function ent(t,e){lvt.call(this,t,e)}function uUt(t){Xu(this),Y9(this,t)}function s2t(t){return An(t,0),null}function Gf(t){return t.a=0,t.b=0,t}function lUt(t,e){return t.a=e.g+1,t}function jXe(t,e){return t.j[e.p]==2}function a2t(t){return xnn(u(t,79))}function hUt(){hUt=Z,zpe=Wr(lst())}function fUt(){fUt=Z,i2e=Wr(Yce())}function dUt(){this.b=new Lx(ty(12))}function gUt(){this.b=0,this.a=!1}function pUt(){this.b=0,this.a=!1}function f9(t){this.a=t,pC.call(this)}function bUt(t){this.a=t,pC.call(this)}function mn(t,e){Ps.call(this,t,e)}function nnt(t,e){qm.call(this,t,e)}function V3(t,e){n2t.call(this,t,e)}function rnt(t,e){tE.call(this,t,e)}function wUt(t,e){jM.call(this,t,e)}function ii(t,e){GR(),ki(dU,t,e)}function int(t,e){return Pl(t.a,0,e)}function vUt(t,e){return t.a.a.a.cc(e)}function mUt(t,e){return Vt(t)===Vt(e)}function $Xe(t,e){return Ms(t.a,e.a)}function zXe(t,e){return pu(t.a,e.a)}function qXe(t,e){return tXt(t.a,e.a)}function hd(t,e){return t.indexOf(e)}function Iw(t,e){return t==e?0:t?1:-1}function gj(t){return t<10?"0"+t:""+t}function HXe(t){return Lr(t),new f9(t)}function yUt(t){return iu(t.l,t.m,t.h)}function p8(t){return ps((On(t),t))}function VXe(t){return ps((On(t),t))}function xUt(t,e){return pu(t.g,e.g)}function Bo(t){return typeof t===Nxt}function GXe(t){return t==Lv||t==Fy}function UXe(t){return t==Lv||t==Py}function o2t(t){return Ro(t.b.b,t,0)}function kUt(t){this.a=VGt(),this.b=t}function EUt(t){this.a=VGt(),this.b=t}function WXe(t,e){return le(t.a,e),e}function YXe(t,e){return le(t.c,e),t}function TUt(t,e){return $l(t.a,e),t}function KXe(t,e){return df(),e.a+=t}function XXe(t,e){return df(),e.a+=t}function QXe(t,e){return df(),e.c+=t}function c2t(t,e){$8(t,0,t.length,e)}function O0(){kt.call(this,new a2)}function CUt(){Wj.call(this,0,0,0,0)}function Fx(){ah.call(this,0,0,0,0)}function xo(t){this.a=t.a,this.b=t.b}function Bp(t){return t==zh||t==Cf}function b8(t){return t==rg||t==ng}function _Ut(t){return t==n5||t==e5}function G3(t){return t!=G1&&t!=Tb}function xl(t){return t.Lg()&&t.Mg()}function SUt(t){return u$(u(t,118))}function pj(t){return $l(new Vs,t)}function AUt(t,e){return new tE(e,t)}function ZXe(t,e){return new tE(e,t)}function u2t(t,e,n){iz(t,e),sz(t,n)}function bj(t,e,n){tv(t,e),Jw(t,n)}function x1(t,e,n){ku(t,e),Eu(t,n)}function wj(t,e,n){V8(t,e),U8(t,n)}function vj(t,e,n){G8(t,e),W8(t,n)}function snt(t,e){aE(t,e),Y8(t,t.D)}function l2t(t){tUt.call(this,t,!0)}function LUt(t,e,n){J2t.call(this,t,e,n)}function Rp(t){rb(),Jcn.call(this,t)}function MUt(){YR.call(this,"Head",1)}function DUt(){YR.call(this,"Tail",3)}function ant(t){t.c=Nt(Qn,De,1,0,5,1)}function IUt(t){t.a=Nt(Qn,De,1,8,5,1)}function OUt(t){xu(t.xf(),new ur(t))}function U3(t){return t!=null?Hi(t):0}function JXe(t,e){return ey(e,T1(t))}function tQe(t,e){return ey(e,T1(t))}function eQe(t,e){return t[t.length]=e}function nQe(t,e){return t[t.length]=e}function h2t(t){return een(t.b.Kc(),t.a)}function rQe(t,e){return hz(srt(t.d),e)}function iQe(t,e){return hz(srt(t.g),e)}function sQe(t,e){return hz(srt(t.j),e)}function eo(t,e){Ps.call(this,t.b,e)}function Ow(t){Wj.call(this,t,t,t,t)}function f2t(t){return t.b&&Sat(t),t.a}function d2t(t){return t.b&&Sat(t),t.c}function aQe(t,e){$1||(t.b=e)}function ont(t,e,n){return ts(t,e,n),n}function PUt(t,e,n){ts(t.c[e.g],e.g,n)}function oQe(t,e,n){u(t.c,69).Xh(e,n)}function cQe(t,e,n){x1(n,n.i+t,n.j+e)}function uQe(t,e){Dr(Lc(t.a),YQt(e))}function lQe(t,e){Dr(al(t.a),KQt(e))}function d9(t){gi(),yw.call(this,t)}function hQe(t){return t==null?0:Hi(t)}function FUt(){FUt=Z,Dht=new i_(_ft)}function Pr(){Pr=Z,new NUt,new he}function NUt(){new _r,new _r,new _r}function g2t(){g2t=Z,Ipt(),iEt=new _r}function k1(){k1=Z,b.Math.log(2)}function ih(){ih=Z,p0=(qVt(),Q4e)}function fQe(){throw it(new Sg(kge))}function dQe(){throw it(new Sg(kge))}function gQe(){throw it(new Sg(Ege))}function pQe(){throw it(new Sg(Ege))}function BUt(t){this.a=t,Iwt.call(this,t)}function cnt(t){this.a=t,FR.call(this,t)}function unt(t){this.a=t,FR.call(this,t)}function Zs(t,e){$nt(t.c,t.c.length,e)}function Go(t){return t.ae?1:0}function jUt(t,e){return yc(t,e)>0?t:e}function iu(t,e,n){return{l:t,m:e,h:n}}function bQe(t,e){t.a!=null&&HGt(e,t.a)}function $Ut(t){t.a=new xt,t.c=new xt}function mj(t){this.b=t,this.a=new he}function zUt(t){this.b=new Ce,this.a=t}function b2t(t){cwt.call(this),this.a=t}function qUt(){YR.call(this,"Range",2)}function HUt(){l4t(),this.a=new vI(I7t)}function wQe(t,e){Lr(e),Q3(t).Jc(new st)}function vQe(t,e){return Fl(),e.n.b+=t}function mQe(t,e,n){return ki(t.g,n,e)}function yQe(t,e,n){return ki(t.k,n,e)}function xQe(t,e){return ki(t.a,e.a,e)}function W3(t,e,n){return M3t(e,n,t.c)}function w2t(t){return new $e(t.c,t.d)}function kQe(t){return new $e(t.c,t.d)}function nc(t){return new $e(t.a,t.b)}function VUt(t,e){return G4n(t.a,e,null)}function EQe(t){Oa(t,null),oa(t,null)}function GUt(t){Art(t,null),Lrt(t,null)}function UUt(){jM.call(this,null,null)}function WUt(){Sj.call(this,null,null)}function v2t(t){this.a=t,_r.call(this)}function TQe(t){this.b=(wn(),new q(t))}function yj(t){t.j=Nt(wEt,ee,310,0,0,1)}function CQe(t,e,n){t.c.Vc(e,u(n,133))}function _Qe(t,e,n){t.c.ji(e,u(n,133))}function YUt(t,e){xr(t),t.Gc(u(e,15))}function g9(t,e){return o4n(t.c,t.b,e)}function SQe(t,e){return new bWt(t.Kc(),e)}function lnt(t,e){return _un(t.Kc(),e)!=-1}function m2t(t,e){return t.a.Bc(e)!=null}function xj(t){return t.Ob()?t.Pb():null}function KUt(t){return Mh(t,0,t.length)}function _t(t,e){return t!=null&&gst(t,e)}function AQe(t,e){t.q.setHours(e),E_(t,e)}function XUt(t,e){t.c&&(Hwt(e),kQt(e))}function LQe(t,e,n){u(t.Kb(n),164).Nb(e)}function MQe(t,e,n){return R4n(t,e,n),n}function QUt(t,e,n){t.a=e^1502,t.b=n^Eot}function hnt(t,e,n){return t.a[e.g][n.g]}function E1(t,e){return t.a[e.c.p][e.p]}function DQe(t,e){return t.e[e.c.p][e.p]}function IQe(t,e){return t.c[e.c.p][e.p]}function OQe(t,e){return t.j[e.p]=q2n(e)}function PQe(t,e){return kmt(t.f,e.tg())}function FQe(t,e){return kmt(t.b,e.tg())}function NQe(t,e){return t.a0?e*e/t:e*e*100}function oZe(t,e){return t>0?e/(t*t):e*100}function cZe(t,e,n){return le(e,yie(t,n))}function uZe(t,e,n){V$(),t.Xe(e)&&n.td(t)}function m8(t,e,n){var r;r=t.Zc(e),r.Rb(n)}function jm(t,e,n){return t.a+=e,t.b+=n,t}function lZe(t,e,n){return t.a*=e,t.b*=n,t}function qM(t,e,n){return t.a-=e,t.b-=n,t}function H2t(t,e){return t.a=e.a,t.b=e.b,t}function Mj(t){return t.a=-t.a,t.b=-t.b,t}function AWt(t){this.c=t,this.a=1,this.b=1}function LWt(t){this.c=t,ku(t,0),Eu(t,0)}function MWt(t){Zi.call(this),V9(this,t)}function DWt(t){qat(),nqt(this),this.mf(t)}function IWt(t,e){YC(),jM.call(this,t,e)}function V2t(t,e){Mg(),Sj.call(this,t,e)}function OWt(t,e){Mg(),Sj.call(this,t,e)}function PWt(t,e){Mg(),V2t.call(this,t,e)}function kl(t,e,n){_l.call(this,t,e,n,2)}function vnt(t,e){ih(),Uj.call(this,t,e)}function FWt(t,e){ih(),vnt.call(this,t,e)}function G2t(t,e){ih(),vnt.call(this,t,e)}function NWt(t,e){ih(),G2t.call(this,t,e)}function U2t(t,e){ih(),Uj.call(this,t,e)}function BWt(t,e){ih(),U2t.call(this,t,e)}function RWt(t,e){ih(),Uj.call(this,t,e)}function hZe(t,e){return t.c.Fc(u(e,133))}function W2t(t,e,n){return Pq(TD(t,e),n)}function fZe(t,e,n){return e.Qk(t.e,t.c,n)}function dZe(t,e,n){return e.Rk(t.e,t.c,n)}function mnt(t,e){return Zp(t.e,u(e,49))}function gZe(t,e,n){n_(al(t.a),e,KQt(n))}function pZe(t,e,n){n_(Lc(t.a),e,YQt(n))}function Y2t(t,e){e.$modCount=t.$modCount}function m9(){m9=Z,HS=new Vi("root")}function y8(){y8=Z,pP=new Pqt,new Fqt}function jWt(){this.a=new Uw,this.b=new Uw}function K2t(){ine.call(this),this.Bb|=Ka}function $Wt(){Vr.call(this,"GROW_TREE",0)}function bZe(t){return t==null?null:P5n(t)}function wZe(t){return t==null?null:qgn(t)}function vZe(t){return t==null?null:$o(t)}function mZe(t){return t==null?null:$o(t)}function P0(t){t.o==null&&b2n(t)}function Re(t){return k9(t==null||Nm(t)),t}function ye(t){return k9(t==null||Bm(t)),t}function Br(t){return k9(t==null||ra(t)),t}function X2t(t){this.q=new b.Date(Yw(t))}function HM(t,e){this.c=t,l8.call(this,t,e)}function Dj(t,e){this.a=t,HM.call(this,t,e)}function yZe(t,e){this.d=t,ztt(this),this.b=e}function Q2t(t,e){Xrt.call(this,t),this.a=e}function Z2t(t,e){Xrt.call(this,t),this.a=e}function xZe(t){C3t.call(this,0,0),this.f=t}function J2t(t,e,n){q$.call(this,t,e,n,null)}function zWt(t,e,n){q$.call(this,t,e,n,null)}function kZe(t,e,n){return t.ue(e,n)<=0?n:e}function EZe(t,e,n){return t.ue(e,n)<=0?e:n}function TZe(t,e){return u(Xw(t.b,e),149)}function CZe(t,e){return u(Xw(t.c,e),229)}function ynt(t){return u(Ne(t.a,t.b),287)}function qWt(t){return new $e(t.c,t.d+t.a)}function HWt(t){return Fl(),_Ut(u(t,197))}function $m(){$m=Z,o7t=un((Al(),K2))}function _Ze(t,e){e.a?hvn(t,e):fnt(t.a,e.b)}function VWt(t,e){$1||le(t.a,e)}function SZe(t,e){return kM(),J8(e.d.i,t)}function AZe(t,e){return r6(),new Uue(e,t)}function dd(t,e){return sD(e,n6t),t.f=e,t}function twt(t,e,n){return n=Hl(t,e,3,n),n}function ewt(t,e,n){return n=Hl(t,e,6,n),n}function nwt(t,e,n){return n=Hl(t,e,9,n),n}function VM(t,e,n){++t.j,t.Ki(),Yrt(t,e,n)}function GWt(t,e,n){++t.j,t.Hi(e,t.oi(e,n))}function UWt(t,e,n){var r;r=t.Zc(e),r.Rb(n)}function WWt(t,e,n){return bxt(t.c,t.b,e,n)}function rwt(t,e){return(e&wi)%t.d.length}function Ps(t,e){Vi.call(this,t),this.a=e}function iwt(t,e){Cpt.call(this,t),this.a=e}function xnt(t,e){Cpt.call(this,t),this.a=e}function YWt(t,e){this.c=t,Qw.call(this,e)}function KWt(t,e){this.a=t,Xzt.call(this,e)}function GM(t,e){this.a=t,Xzt.call(this,e)}function XWt(t){this.a=(jl(t,ky),new Xc(t))}function QWt(t){this.a=(jl(t,ky),new Xc(t))}function UM(t){return!t.a&&(t.a=new at),t.a}function ZWt(t){return t>8?0:t+1}function LZe(t,e){return Nn(),t==e?0:t?1:-1}function swt(t,e,n){return zx(t,u(e,22),n)}function MZe(t,e,n){return t.apply(e,n)}function JWt(t,e,n){return t.a+=Mh(e,0,n),t}function awt(t,e){var n;return n=t.e,t.e=e,n}function DZe(t,e){var n;n=t[kot],n.call(t,e)}function IZe(t,e){var n;n=t[kot],n.call(t,e)}function zm(t,e){t.a.Vc(t.b,e),++t.b,t.c=-1}function tYt(t){Xu(t.e),t.d.b=t.d,t.d.a=t.d}function WM(t){t.b?WM(t.b):t.f.c.zc(t.e,t.d)}function OZe(t,e,n){Qb(),Att(t,e.Ce(t.a,n))}function PZe(t,e){return yet(Nie(t.a,e,!0))}function FZe(t,e){return yet(Bie(t.a,e,!0))}function ff(t,e){return LR(new Array(e),t)}function knt(t){return String.fromCharCode(t)}function NZe(t){return t==null?null:t.message}function eYt(){this.a=new he,this.b=new he}function nYt(){this.a=new H5,this.b=new hqt}function rYt(){this.b=new Ca,this.c=new he}function owt(){this.d=new Ca,this.e=new Ca}function cwt(){this.n=new Ca,this.o=new Ca}function Ij(){this.n=new Cx,this.i=new Fx}function iYt(){this.a=new XJ,this.b=new ZX}function sYt(){this.a=new he,this.d=new he}function aYt(){this.b=new Hs,this.a=new Hs}function oYt(){this.b=new _r,this.a=new _r}function cYt(){this.b=new qHt,this.a=new GQ}function uYt(){Ij.call(this),this.a=new Ca}function y9(t){oun.call(this,t,(U$(),jut))}function uwt(t,e,n,r){Wj.call(this,t,e,n,r)}function BZe(t,e,n){n!=null&&uz(e,Cst(t,n))}function RZe(t,e,n){n!=null&&lz(e,Cst(t,n))}function lwt(t,e,n){return n=Hl(t,e,11,n),n}function Li(t,e){return t.a+=e.a,t.b+=e.b,t}function ia(t,e){return t.a-=e.a,t.b-=e.b,t}function jZe(t,e){return t.n.a=(On(e),e+10)}function $Ze(t,e){return t.n.a=(On(e),e+10)}function zZe(t,e){return e==t||yE(mq(e),t)}function lYt(t,e){return ki(t.a,e,"")==null}function qZe(t,e){return kM(),!J8(e.d.i,t)}function HZe(t,e){Bp(t.f)?a2n(t,e):V0n(t,e)}function VZe(t,e){var n;return n=e.Hh(t.a),n}function qm(t,e){yo.call(this,J_+t+D2+e)}function Rx(t,e,n,r){fe.call(this,t,e,n,r)}function hwt(t,e,n,r){fe.call(this,t,e,n,r)}function hYt(t,e,n,r){hwt.call(this,t,e,n,r)}function fYt(t,e,n,r){r$.call(this,t,e,n,r)}function Ent(t,e,n,r){r$.call(this,t,e,n,r)}function fwt(t,e,n,r){r$.call(this,t,e,n,r)}function dYt(t,e,n,r){Ent.call(this,t,e,n,r)}function dwt(t,e,n,r){Ent.call(this,t,e,n,r)}function Cn(t,e,n,r){fwt.call(this,t,e,n,r)}function gYt(t,e,n,r){dwt.call(this,t,e,n,r)}function pYt(t,e,n,r){hvt.call(this,t,e,n,r)}function bYt(t,e,n){this.a=t,j2t.call(this,e,n)}function wYt(t,e,n){this.c=e,this.b=n,this.a=t}function GZe(t,e,n){return t.d=u(e.Kb(n),164)}function gwt(t,e){return t.Aj().Nh().Kh(t,e)}function pwt(t,e){return t.Aj().Nh().Ih(t,e)}function vYt(t,e){return On(t),Vt(t)===Vt(e)}function hn(t,e){return On(t),Vt(t)===Vt(e)}function Tnt(t,e){return yet(Nie(t.a,e,!1))}function Cnt(t,e){return yet(Bie(t.a,e,!1))}function UZe(t,e){return t.b.sd(new QVt(t,e))}function WZe(t,e){return t.b.sd(new ZVt(t,e))}function mYt(t,e){return t.b.sd(new JVt(t,e))}function bwt(t,e,n){return t.lastIndexOf(e,n)}function YZe(t,e,n){return Ms(t[e.b],t[n.b])}function KZe(t,e){return Jt(e,(Te(),DO),t)}function XZe(t,e){return pu(e.a.d.p,t.a.d.p)}function QZe(t,e){return pu(t.a.d.p,e.a.d.p)}function ZZe(t,e){return Ms(t.c-t.s,e.c-e.s)}function yYt(t){return t.c?Ro(t.c.a,t,0):-1}function JZe(t){return t<100?null:new Dp(t)}function jx(t){return t==Y2||t==g0||t==Gc}function xYt(t,e){return _t(e,15)&&Sue(t.c,e)}function tJe(t,e){$1||e&&(t.d=e)}function _nt(t,e){var n;return n=e,!!jyt(t,n)}function wwt(t,e){this.c=t,Jnt.call(this,t,e)}function kYt(t){this.c=t,ent.call(this,qq,0)}function EYt(t,e){sen.call(this,t,t.length,e)}function eJe(t,e,n){return u(t.c,69).lk(e,n)}function Oj(t,e,n){return u(t.c,69).mk(e,n)}function nJe(t,e,n){return fZe(t,u(e,332),n)}function vwt(t,e,n){return dZe(t,u(e,332),n)}function rJe(t,e,n){return xae(t,u(e,332),n)}function TYt(t,e,n){return egn(t,u(e,332),n)}function x9(t,e){return e==null?null:sy(t.b,e)}function mwt(t){return Bm(t)?(On(t),t):t.ke()}function Pj(t){return!isNaN(t)&&!isFinite(t)}function CYt(t){gd(),this.a=(wn(),new s8(t))}function YM(t){k8(),this.d=t,this.a=new B3}function sh(t,e,n){this.a=t,this.b=e,this.c=n}function _Yt(t,e,n){this.a=t,this.b=e,this.c=n}function SYt(t,e,n){this.d=t,this.b=n,this.a=e}function Snt(t){$Ut(this),Ah(this),Ua(this,t)}function Bu(t){ant(this),Pwt(this.c,0,t.Pc())}function AYt(t){Cl(t.a),Cte(t.c,t.b),t.b=null}function LYt(t){this.a=t,Gd(),Tu(Date.now())}function MYt(){MYt=Z,REt=new _,aV=new _}function Ant(){Ant=Z,LEt=new Ht,Yge=new Le}function DYt(){DYt=Z,n5e=Nt(Qn,De,1,0,5,1)}function IYt(){IYt=Z,y5e=Nt(Qn,De,1,0,5,1)}function ywt(){ywt=Z,x5e=Nt(Qn,De,1,0,5,1)}function gd(){gd=Z,new Apt((wn(),wn(),io))}function iJe(t){return U$(),Ur((Nte(),Qge),t)}function sJe(t){return O1(),Ur((ete(),rpe),t)}function aJe(t){return Gz(),Ur((cJt(),upe),t)}function oJe(t){return Q$(),Ur((uJt(),lpe),t)}function cJe(t){return Cq(),Ur((Kne(),hpe),t)}function uJe(t){return Kf(),Ur((ZJt(),gpe),t)}function lJe(t){return Qu(),Ur((JJt(),bpe),t)}function hJe(t){return yu(),Ur((tte(),vpe),t)}function fJe(t){return $q(),Ur((hUt(),zpe),t)}function dJe(t){return rv(),Ur((Rte(),Hpe),t)}function gJe(t){return u6(),Ur((jte(),Gpe),t)}function pJe(t){return c_(),Ur(($te(),Ype),t)}function bJe(t){return jR(),Ur(($Zt(),Kpe),t)}function wJe(t){return Z$(),Ur((lJt(),fbe),t)}function vJe(t){return q9(),Ur((nte(),Obe),t)}function mJe(t){return Wa(),Ur((bee(),Bbe),t)}function yJe(t){return nE(),Ur((Bte(),qbe),t)}function xJe(t){return iv(),Ur((rte(),Ybe),t)}function xwt(t,e){if(!t)throw it(new Fn(e))}function kJe(t){return Vn(),Ur((Bee(),Zbe),t)}function kwt(t){Wj.call(this,t.d,t.c,t.a,t.b)}function Lnt(t){Wj.call(this,t.d,t.c,t.a,t.b)}function Ewt(t,e,n){this.b=t,this.c=e,this.a=n}function Fj(t,e,n){this.b=t,this.a=e,this.c=n}function OYt(t,e,n){this.a=t,this.b=e,this.c=n}function Twt(t,e,n){this.a=t,this.b=e,this.c=n}function PYt(t,e,n){this.a=t,this.b=e,this.c=n}function Cwt(t,e,n){this.a=t,this.b=e,this.c=n}function FYt(t,e,n){this.b=t,this.a=e,this.c=n}function Nj(t,e,n){this.e=e,this.b=t,this.d=n}function EJe(t,e,n){return Qb(),t.a.Od(e,n),e}function Mnt(t){var e;return e=new Wu,e.e=t,e}function _wt(t){var e;return e=new vqt,e.b=t,e}function KM(){KM=Z,mV=new BK,yV=new RK}function df(){df=Z,f2e=new SX,d2e=new DN}function TJe(t){return Tz(),Ur((qte(),o2e),t)}function CJe(t){return I1(),Ur((Vte(),b2e),t)}function _Je(t){return Eq(),Ur((Rne(),T2e),t)}function SJe(t){return h6(),Ur(($ee(),C2e),t)}function AJe(t){return H$(),Ur((bJt(),_2e),t)}function LJe(t){return n6(),Ur((ite(),S2e),t)}function MJe(t){return b4(),Ur((hee(),v2e),t)}function DJe(t){return nv(),Ur((ote(),E2e),t)}function IJe(t){return oz(),Ur((ste(),A2e),t)}function OJe(t){return x2(),Ur((uee(),L2e),t)}function PJe(t){return LD(),Ur((fJt(),M2e),t)}function FJe(t){return d2(),Ur((ate(),I2e),t)}function NJe(t){return dq(),Ur((Vee(),O2e),t)}function BJe(t){return xD(),Ur((dJt(),P2e),t)}function RJe(t){return oI(),Ur((qee(),F2e),t)}function jJe(t){return kE(),Ur((zee(),N2e),t)}function $Je(t){return oo(),Ur((lre(),B2e),t)}function zJe(t){return eE(),Ur((ute(),R2e),t)}function qJe(t){return q0(),Ur((cte(),$2e),t)}function HJe(t){return I$(),Ur((wJt(),z2e),t)}function VJe(t){return dh(),Ur((fee(),q2e),t)}function GJe(t){return uq(),Ur((Hee(),rme),t)}function UJe(t){return Z9(),Ur((lte(),ime),t)}function WJe(t){return cy(),Ur((Gte(),sme),t)}function YJe(t){return so(),Ur((dte(),hme),t)}function KJe(t){return y4(),Ur((Bne(),ome),t)}function XJe(t){return V0(),Ur((fte(),cme),t)}function QJe(t){return CD(),Ur((pJt(),ume),t)}function ZJe(t){return yz(),Ur((hte(),fme),t)}function JJe(t){return u_(),Ur((lee(),ame),t)}function ttn(t){return pD(),Ur((gJt(),dme),t)}function etn(t){return cE(),Ur((pte(),gme),t)}function ntn(t){return vz(),Ur((bte(),pme),t)}function rtn(t){return Cz(),Ur((gte(),bme),t)}function itn(t){return ev(),Ur((wte(),Lme),t)}function stn(t){return $9(),Ur((mJt(),Pme),t)}function atn(t){return bd(),Ur((yJt(),zme),t)}function otn(t){return C1(),Ur((xJt(),Hme),t)}function ctn(t){return Uf(),Ur((vJt(),iye),t)}function utn(t){return Gw(),Ur((kJt(),hye),t)}function ltn(t){return wE(),Ur((zte(),fye),t)}function htn(t){return p_(),Ur((Gee(),gye),t)}function ftn(t){return T$(),Ur((CJt(),Aye),t)}function dtn(t){return pz(),Ur((TJt(),Pye),t)}function gtn(t){return A$(),Ur((EJt(),Lye),t)}function ptn(t){return Nz(),Ur((vte(),Nye),t)}function btn(t){return G$(),Ur((_Jt(),Bye),t)}function wtn(t){return HD(),Ur((mte(),Rye),t)}function vtn(t){return eq(),Ur((Hte(),Jye),t)}function mtn(t){return mz(),Ur((xte(),t3e),t)}function ytn(t){return Fz(),Ur((yte(),e3e),t)}function xtn(t){return AE(),Ur((pee(),x3e),t)}function ktn(t){return KD(),Ur((kte(),k3e),t)}function Etn(t){return zR(),Ur((RZt(),E3e),t)}function Ttn(t){return qR(),Ur((BZt(),C3e),t)}function Ctn(t){return bD(),Ur((AJt(),_3e),t)}function _tn(t){return uI(),Ur((dee(),S3e),t)}function Stn(t){return UC(),Ur((jZt(),H3e),t)}function Atn(t){return jD(),Ur((SJt(),V3e),t)}function Ltn(t){return Qf(),Ur((gee(),X3e),t)}function Mtn(t){return Ug(),Ur((jne(),Z3e),t)}function Dtn(t){return t0(),Ur((jee(),J3e),t)}function Itn(t){return hy(),Ur((Ree(),s4e),t)}function Otn(t){return ro(),Ur((fUt(),i2e),t)}function Ptn(t){return X8(),Ur((hJt(),r2e),t)}function Ftn(t){return ao(),Ur((wee(),y4e),t)}function Ntn(t){return M1(),Ur((Tte(),x4e),t)}function Btn(t){return W0(),Ur((Yte(),k4e),t)}function Rtn(t){return hq(),Ur((Wee(),E4e),t)}function jtn(t){return G0(),Ur((Ete(),C4e),t)}function $tn(t){return zl(),Ur((Wte(),S4e),t)}function ztn(t){return py(),Ur((Yne(),A4e),t)}function qtn(t){return l4(),Ur((vee(),L4e),t)}function Htn(t){return ua(),Ur((Oee(),M4e),t)}function Vtn(t){return Zu(),Ur((Uee(),D4e),t)}function Gtn(t){return Al(),Ur((Xte(),B4e),t)}function Utn(t){return ll(),Ur((hre(),R4e),t)}function Wtn(t){return ve(),Ur((mee(),I4e),t)}function Ytn(t){return jz(),Ur((Kte(),j4e),t)}function Ktn(t){return Sl(),Ur((Ute(),q4e),t)}function Xtn(t){return CE(),Ur(($ne(),e5e),t)}function Qtn(t,e){return On(t),t+(On(e),e)}function Ztn(t,e){return Gd(),Dr(Wt(t.a),e)}function Jtn(t,e){return Gd(),Dr(Wt(t.a),e)}function Dnt(t,e){this.c=t,this.a=e,this.b=e-t}function NYt(t,e,n){this.a=t,this.b=e,this.c=n}function Swt(t,e,n){this.a=t,this.b=e,this.c=n}function Awt(t,e,n){this.a=t,this.b=e,this.c=n}function BYt(t,e,n){this.a=t,this.b=e,this.c=n}function RYt(t,e,n){this.a=t,this.b=e,this.c=n}function Ig(t,e,n){this.e=t,this.a=e,this.c=n}function jYt(t,e,n){ih(),$vt.call(this,t,e,n)}function Int(t,e,n){ih(),Tvt.call(this,t,e,n)}function Lwt(t,e,n){ih(),Tvt.call(this,t,e,n)}function Mwt(t,e,n){ih(),Tvt.call(this,t,e,n)}function $Yt(t,e,n){ih(),Int.call(this,t,e,n)}function Dwt(t,e,n){ih(),Int.call(this,t,e,n)}function zYt(t,e,n){ih(),Dwt.call(this,t,e,n)}function qYt(t,e,n){ih(),Lwt.call(this,t,e,n)}function HYt(t,e,n){ih(),Mwt.call(this,t,e,n)}function XM(t,e){return Lr(t),Lr(e),new lVt(t,e)}function $x(t,e){return Lr(t),Lr(e),new nKt(t,e)}function ten(t,e){return Lr(t),Lr(e),new rKt(t,e)}function een(t,e){return Lr(t),Lr(e),new fVt(t,e)}function u(t,e){return k9(t==null||gst(t,e)),t}function x8(t){var e;return e=new he,oit(e,t),e}function nen(t){var e;return e=new Hs,oit(e,t),e}function VYt(t){var e;return e=new Bpt,xit(e,t),e}function QM(t){var e;return e=new Zi,xit(e,t),e}function ren(t){return!t.e&&(t.e=new he),t.e}function ien(t){return!t.c&&(t.c=new Tm),t.c}function le(t,e){return t.c[t.c.length]=e,!0}function GYt(t,e){this.c=t,this.b=e,this.a=!1}function Iwt(t){this.d=t,ztt(this),this.b=Xen(t.d)}function UYt(){this.a=";,;",this.b="",this.c=""}function sen(t,e,n){WKt.call(this,e,n),this.a=t}function WYt(t,e,n){this.b=t,oUt.call(this,e,n)}function Owt(t,e,n){this.c=t,KR.call(this,e,n)}function Pwt(t,e,n){n5t(n,0,t,e,n.length,!1)}function Wd(t,e,n,r,s){t.b=e,t.c=n,t.d=r,t.a=s}function aen(t,e){e&&(t.b=e,t.a=(Vp(e),e.a))}function Fwt(t,e,n,r,s){t.d=e,t.c=n,t.a=r,t.b=s}function Nwt(t){var e,n;e=t.b,n=t.c,t.b=n,t.c=e}function Bwt(t){var e,n;n=t.d,e=t.a,t.d=e,t.a=n}function Rwt(t){return Kp(fnn(Bo(t)?Lh(t):t))}function oen(t,e){return pu(uKt(t.d),uKt(e.d))}function cen(t,e){return e==(ve(),Bn)?t.c:t.d}function k8(){k8=Z,r_t=(ve(),Bn),CG=Hn}function YYt(){this.b=Xt(ye(Ie((Jf(),nlt))))}function KYt(t){return Qb(),Nt(Qn,De,1,t,5,1)}function uen(t){return new $e(t.c+t.b,t.d+t.a)}function len(t,e){return $R(),pu(t.d.p,e.d.p)}function Ont(t){return Zn(t.b!=0),lh(t,t.a.a)}function hen(t){return Zn(t.b!=0),lh(t,t.c.b)}function jwt(t,e){if(!t)throw it(new iHt(e))}function Bj(t,e){if(!t)throw it(new Fn(e))}function $wt(t,e,n){g8.call(this,t,e),this.b=n}function ZM(t,e,n){e2t.call(this,t,e),this.c=n}function XYt(t,e,n){See.call(this,e,n),this.d=t}function zwt(t){ywt(),Pk.call(this),this.th(t)}function QYt(t,e,n){this.a=t,V3.call(this,e,n)}function ZYt(t,e,n){this.a=t,V3.call(this,e,n)}function Rj(t,e,n){e2t.call(this,t,e),this.c=n}function JYt(){B8(),Mnn.call(this,(Pp(),Yh))}function tKt(t){return t!=null&&!tst(t,oA,cA)}function fen(t,e){return(uie(t)<<4|uie(e))&ys}function den(t,e){return c$(),kst(t,e),new SXt(t,e)}function Jb(t,e){var n;t.n&&(n=e,le(t.f,n))}function E8(t,e,n){var r;r=new Um(n),Yf(t,e,r)}function gen(t,e){var n;return n=t.c,syt(t,e),n}function qwt(t,e){return e<0?t.g=-1:t.g=e,t}function jj(t,e){return Zon(t),t.a*=e,t.b*=e,t}function eKt(t,e,n,r,s){t.c=e,t.d=n,t.b=r,t.a=s}function ri(t,e){return fs(t,e,t.c.b,t.c),!0}function Hwt(t){t.a.b=t.b,t.b.a=t.a,t.a=t.b=null}function Pnt(t){this.b=t,this.a=Rw(this.b.a).Ed()}function nKt(t,e){this.b=t,this.a=e,pC.call(this)}function rKt(t,e){this.a=t,this.b=e,pC.call(this)}function iKt(t,e){WKt.call(this,e,1040),this.a=t}function JM(t){return t==0||isNaN(t)?t:t<0?-1:1}function pen(t){return Ux(),e0(t)==es(tb(t))}function ben(t){return Ux(),tb(t)==es(e0(t))}function Bw(t,e){return d_(t,new g8(e.a,e.b))}function wen(t){return!Ga(t)&&t.c.i.c==t.d.i.c}function $j(t){var e;return e=t.n,t.a.b+e.d+e.a}function sKt(t){var e;return e=t.n,t.e.b+e.d+e.a}function Vwt(t){var e;return e=t.n,t.e.a+e.b+e.c}function aKt(t){return gi(),new Yd(0,t)}function ven(t){return t.a?t.a:grt(t)}function k9(t){if(!t)throw it(new i8(null))}function oKt(){oKt=Z,$ft=(wn(),new O(put))}function zj(){zj=Z,new z3t((oet(),Sut),(cet(),_ut))}function cKt(){cKt=Z,fEt=Nt(ja,ee,19,256,0,1)}function Fnt(t,e,n,r){b3t.call(this,t,e,n,r,0,0)}function men(t,e,n){return ki(t.b,u(n.b,17),e)}function yen(t,e,n){return ki(t.b,u(n.b,17),e)}function xen(t,e){return le(t,new $e(e.a,e.b))}function ken(t,e){return t.c=e)throw it(new Opt)}function inn(t,e,n){return ts(e,0,Ywt(e[0],n[0])),e}function snn(t,e,n){e.Ye(n,Xt(ye(tr(t.b,n)))*t.a)}function UKt(t,e,n){return k4(),Q8(t,e)&&Q8(t,n)}function S9(t){return Zu(),!t.Hc(sg)&&!t.Hc(Cb)}function e$(t){return new $e(t.c+t.b/2,t.d+t.a/2)}function Wnt(t,e){return e.kh()?Zp(t.b,u(e,49)):e}function lvt(t,e){this.e=t,this.d=e&64?e|md:e}function WKt(t,e){this.c=0,this.d=t,this.b=e|64|md}function n$(t){this.b=new Xc(11),this.a=(Z3(),t)}function Ynt(t){this.b=null,this.a=(Z3(),t||_Et)}function YKt(t){this.a=wse(t.a),this.b=new Bu(t.b)}function KKt(t){this.b=t,Nx.call(this,t),ZUt(this)}function XKt(t){this.b=t,$M.call(this,t),JUt(this)}function Gm(t,e,n){this.a=t,Rx.call(this,e,n,5,6)}function hvt(t,e,n,r){this.b=t,As.call(this,e,n,r)}function Js(t,e,n,r,s){Jrt.call(this,t,e,n,r,s,-1)}function A9(t,e,n,r,s){mD.call(this,t,e,n,r,s,-1)}function fe(t,e,n,r){As.call(this,t,e,n),this.b=r}function r$(t,e,n,r){ZM.call(this,t,e,n),this.b=r}function QKt(t){tUt.call(this,t,!1),this.a=!1}function ZKt(t,e){this.b=t,wtt.call(this,t.b),this.a=e}function JKt(t,e){Wm(),cXe.call(this,t,Dz(new yl(e)))}function i$(t,e){return gi(),new Cvt(t,e,0)}function Knt(t,e){return gi(),new Cvt(6,t,e)}function ann(t,e){return hn(t.substr(0,e.length),e)}function Tl(t,e){return ra(e)?wrt(t,e):!!Lo(t.f,e)}function ba(t,e){for(On(e);t.Ob();)e.td(t.Pb())}function X3(t,e,n){rb(),this.e=t,this.d=e,this.a=n}function Og(t,e,n,r){var s;s=t.i,s.i=e,s.a=n,s.b=r}function fvt(t){var e;for(e=t;e.f;)e=e.f;return e}function Hx(t){var e;return e=Q9(t),Zn(e!=null),e}function onn(t){var e;return e=Uln(t),Zn(e!=null),e}function C8(t,e){var n;return n=t.a.gc(),Emt(e,n),n-e}function dvt(t,e){var n;for(n=0;n0?b.Math.log(t/e):-100}function tXt(t,e){return yc(t,e)<0?-1:yc(t,e)>0?1:0}function vvt(t,e,n){return Gle(t,u(e,46),u(n,167))}function eXt(t,e){return u(cvt(Rw(t.a)).Xb(e),42).cd()}function bnn(t,e){return jon(e,t.length),new iKt(t,e)}function Jnt(t,e){this.d=t,nr.call(this,t),this.e=e}function jw(t){this.d=(On(t),t),this.a=0,this.c=qq}function mvt(t,e){yw.call(this,1),this.a=t,this.b=e}function nXt(t,e){return t.c?nXt(t.c,e):le(t.b,e),t}function wnn(t,e,n){var r;return r=Jm(t,e),Brt(t,e,n),r}function yvt(t,e){var n;return n=t.slice(0,e),Bmt(n,t)}function rXt(t,e,n){var r;for(r=0;r=t.g}function crt(t,e,n){var r;return r=mit(t,e,n),Y5t(t,r)}function Vx(t,e){var n;n=t.a.length,Jm(t,n),Brt(t,n,e)}function vXt(t,e){var n;n=console[t],n.call(console,e)}function mXt(t,e){var n;++t.j,n=t.Vi(),t.Ii(t.oi(n,e))}function Lnn(t,e,n){u(e.b,65),xu(e.a,new Swt(t,n,e))}function Tvt(t,e,n){vR.call(this,e),this.a=t,this.b=n}function Cvt(t,e,n){yw.call(this,t),this.a=e,this.b=n}function _vt(t,e,n){this.a=t,Cpt.call(this,e),this.b=n}function yXt(t,e,n){this.a=t,nmt.call(this,8,e,null,n)}function Mnn(t){this.a=(On(Yr),Yr),this.b=t,new Upt}function xXt(t){this.c=t,this.b=this.c.a,this.a=this.c.e}function Svt(t){this.c=t,this.b=t.a.d.a,Y2t(t.a.e,this)}function Cl(t){Rm(t.c!=-1),t.d.$c(t.c),t.b=t.c,t.c=-1}function D9(t){return b.Math.sqrt(t.a*t.a+t.b*t.b)}function zw(t,e){return T8(e,t.a.c.length),Ne(t.a,e)}function pd(t,e){return Vt(t)===Vt(e)||t!=null&&yi(t,e)}function Dnn(t){return 0>=t?new mbt:wcn(t-1)}function Inn(t){return s3?wrt(s3,t):!1}function kXt(t){return t?t.dc():!t.Kc().Ob()}function Na(t){return!t.a&&t.c?t.c.b:t.a}function Onn(t){return!t.a&&(t.a=new As(_b,t,4)),t.a}function qw(t){return!t.d&&(t.d=new As(ho,t,1)),t.d}function On(t){if(t==null)throw it(new IC);return t}function I9(t){t.c?t.c.He():(t.d=!0,Rwn(t))}function Vp(t){t.c?Vp(t.c):(w2(t),t.d=!0)}function EXt(t){Dvt(t.a),t.b=Nt(Qn,De,1,t.b.length,5,1)}function Pnn(t,e){return pu(e.j.c.length,t.j.c.length)}function Fnn(t,e){t.c<0||t.b.b=0?t.Bh(n):i5t(t,e)}function TXt(t){var e,n;return e=t.c.i.c,n=t.d.i.c,e==n}function Bnn(t){if(t.p!=4)throw it(new Ou);return t.e}function Rnn(t){if(t.p!=3)throw it(new Ou);return t.e}function jnn(t){if(t.p!=6)throw it(new Ou);return t.f}function $nn(t){if(t.p!=6)throw it(new Ou);return t.k}function znn(t){if(t.p!=3)throw it(new Ou);return t.j}function qnn(t){if(t.p!=4)throw it(new Ou);return t.j}function Avt(t){return!t.b&&(t.b=new mR(new aet)),t.b}function Hw(t){return t.c==-2&&Jk(t,agn(t.g,t.b)),t.c}function A8(t,e){var n;return n=rrt("",t),n.n=e,n.i=1,n}function Hnn(t,e){qnt(u(e.b,65),t),xu(e.a,new Jr(t))}function Vnn(t,e){Dr((!t.a&&(t.a=new GM(t,t)),t.a),e)}function CXt(t,e){this.b=t,Jnt.call(this,t,e),ZUt(this)}function _Xt(t,e){this.b=t,wwt.call(this,t,e),JUt(this)}function Lvt(t,e,n,r){Lw.call(this,t,e),this.d=n,this.a=r}function o$(t,e,n,r){Lw.call(this,t,n),this.a=e,this.f=r}function SXt(t,e){TQe.call(this,vcn(Lr(t),Lr(e))),this.a=e}function AXt(){N4t.call(this,O2,(DHt(),L5e)),f4n(this)}function LXt(){N4t.call(this,Bh,(c8(),aLt)),x3n(this)}function MXt(){Vr.call(this,"DELAUNAY_TRIANGULATION",0)}function Gnn(t){return String.fromCharCode.apply(null,t)}function ki(t,e,n){return ra(e)?ko(t,e,n):au(t.f,e,n)}function Mvt(t){return wn(),t?t.ve():(Z3(),Z3(),AEt)}function Unn(t,e,n){return i6(),n.pg(t,u(e.cd(),146))}function DXt(t,e){return zj(),new z3t(new fWt(t),new hWt(e))}function Wnn(t){return jl(t,Yat),J$(Pa(Pa(5,t),t/10|0))}function c$(){c$=Z,Age=new uet(lt(ct(P2,1),Hq,42,0,[]))}function IXt(t){return!t.d&&(t.d=new T(t.c.Cc())),t.d}function L8(t){return!t.a&&(t.a=new fHt(t.c.vc())),t.a}function OXt(t){return!t.b&&(t.b=new s8(t.c.ec())),t.b}function Xd(t,e){for(;e-- >0;)t=t<<1|(t<0?1:0);return t}function Fc(t,e){return Vt(t)===Vt(e)||t!=null&&yi(t,e)}function Ynn(t,e){return Nn(),u(e.b,19).ar&&++r,r}function N0(t){var e,n;return n=(e=new xw,e),H8(n,t),n}function drt(t){var e,n;return n=(e=new xw,e),j4t(n,t),n}function urn(t,e){var n;return n=tr(t.f,e),byt(e,n),null}function grt(t){var e;return e=ycn(t),e||null}function HXt(t){return!t.b&&(t.b=new fe(Ys,t,12,3)),t.b}function lrn(t){return t!=null&&yM(gU,t.toLowerCase())}function hrn(t,e){return Ms(Ru(t)*El(t),Ru(e)*El(e))}function frn(t,e){return Ms(Ru(t)*El(t),Ru(e)*El(e))}function drn(t,e){return Ms(t.d.c+t.d.b/2,e.d.c+e.d.b/2)}function grn(t,e){return Ms(t.g.c+t.g.b/2,e.g.c+e.g.b/2)}function VXt(t,e,n){n.a?Eu(t,e.b-t.f/2):ku(t,e.a-t.g/2)}function GXt(t,e,n,r){this.a=t,this.b=e,this.c=n,this.d=r}function UXt(t,e,n,r){this.a=t,this.b=e,this.c=n,this.d=r}function n2(t,e,n,r){this.e=t,this.a=e,this.c=n,this.d=r}function WXt(t,e,n,r){this.a=t,this.c=e,this.d=n,this.b=r}function YXt(t,e,n,r){ih(),$Jt.call(this,e,n,r),this.a=t}function KXt(t,e,n,r){ih(),$Jt.call(this,e,n,r),this.a=t}function XXt(t,e){this.a=t,yZe.call(this,t,u(t.d,15).Zc(e))}function prt(t){this.f=t,this.c=this.f.e,t.f>0&&cae(this)}function QXt(t,e,n,r){this.b=t,this.c=r,ent.call(this,e,n)}function ZXt(t){return Zn(t.b=0&&hn(t.substr(n,e.length),e)}function Gp(t,e,n,r,s,o,h){return new jrt(t.e,e,n,r,s,o,h)}function pQt(t,e,n,r,s,o){this.a=t,fit.call(this,e,n,r,s,o)}function bQt(t,e,n,r,s,o){this.a=t,fit.call(this,e,n,r,s,o)}function wQt(t,e){this.g=t,this.d=lt(ct(l0,1),Yg,10,0,[e])}function Pg(t,e){this.e=t,this.a=Qn,this.b=$ue(e),this.c=e}function vQt(t,e){Ij.call(this),Gmt(this),this.a=t,this.c=e}function aD(t,e,n,r){ts(t.c[e.g],n.g,r),ts(t.c[n.g],e.g,r)}function yrt(t,e,n,r){ts(t.c[e.g],e.g,n),ts(t.b[e.g],e.g,r)}function Nrn(){return pD(),lt(ct(Y9t,1),oe,376,0,[Sht,BO])}function Brn(){return xD(),lt(ct($Tt,1),oe,479,0,[jTt,WV])}function Rrn(){return LD(),lt(ct(BTt,1),oe,419,0,[GV,NTt])}function jrn(){return H$(),lt(ct(LTt,1),oe,422,0,[ATt,Alt])}function $rn(){return I$(),lt(ct(JTt,1),oe,420,0,[Hlt,ZTt])}function zrn(){return CD(),lt(ct(V9t,1),oe,421,0,[Tht,Cht])}function qrn(){return $9(),lt(ct(Ome,1),oe,523,0,[BS,NS])}function Hrn(){return Uf(),lt(ct(rye,1),oe,520,0,[Ky,mb])}function Vrn(){return bd(),lt(ct($me,1),oe,516,0,[zv,ep])}function Grn(){return C1(),lt(ct(qme,1),oe,515,0,[H2,H1])}function Urn(){return Gw(),lt(ct(lye,1),oe,455,0,[yb,r5])}function Wrn(){return A$(),lt(ct(v_t,1),oe,425,0,[qht,w_t])}function Yrn(){return T$(),lt(ct(b_t,1),oe,480,0,[zht,p_t])}function Krn(){return pz(),lt(ct(m_t,1),oe,495,0,[FG,D7])}function Xrn(){return G$(),lt(ct(x_t,1),oe,426,0,[y_t,Uht])}function Qrn(){return jD(),lt(ct(TSt,1),oe,429,0,[VG,ESt])}function Zrn(){return bD(),lt(ct(nSt,1),oe,430,0,[eft,qG])}function Jrn(){return Gz(),lt(ct(zEt,1),oe,428,0,[qut,$Et])}function tin(){return Q$(),lt(ct(HEt,1),oe,427,0,[qEt,Hut])}function ein(){return Z$(),lt(ct(w7t,1),oe,424,0,[tlt,gV])}function nin(){return X8(),lt(ct(n2e,1),oe,511,0,[yO,dlt])}function m$(t,e,n,r){return n>=0?t.jh(e,n,r):t.Sg(null,n,r)}function xrt(t){return t.b.b==0?t.a.$e():Ont(t.b)}function rin(t){if(t.p!=5)throw it(new Ou);return Ar(t.f)}function iin(t){if(t.p!=5)throw it(new Ou);return Ar(t.k)}function jvt(t){return Vt(t.a)===Vt((kit(),Bft))&&s4n(t),t.a}function mQt(t){this.a=u(Lr(t),271),this.b=(wn(),new I2t(t))}function yQt(t,e){vpt(this,new $e(t.a,t.b)),oR(this,QM(e))}function Gw(){Gw=Z,yb=new Wbt(y6,0),r5=new Wbt(x6,1)}function bd(){bd=Z,zv=new Gbt(x6,0),ep=new Gbt(y6,1)}function Uw(){gKe.call(this,new Lx(ty(12))),A2t(!0),this.a=2}function krt(t,e,n){gi(),yw.call(this,t),this.b=e,this.a=n}function $vt(t,e,n){ih(),vR.call(this,e),this.a=t,this.b=n}function xQt(t){Ij.call(this),Gmt(this),this.a=t,this.c=!0}function kQt(t){var e;e=t.c.d.b,t.b=e,t.a=t.c.d,e.a=t.c.d.b=t}function y$(t){var e;hcn(t.a),OUt(t.a),e=new er(t.a),p3t(e)}function sin(t,e){Due(t,!0),xu(t.e.wf(),new Ewt(t,!0,e))}function x$(t,e){return eJt(e),ccn(t,Nt(Cr,Xr,25,e,15,1),e)}function ain(t,e){return Ux(),t==es(e0(e))||t==es(tb(e))}function Nc(t,e){return e==null?ec(Lo(t.f,null)):KC(t.g,e)}function oin(t){return t.b==0?null:(Zn(t.b!=0),lh(t,t.a.a))}function ps(t){return Math.max(Math.min(t,wi),-2147483648)|0}function cin(t,e){var n=Iut[t.charCodeAt(0)];return n??t}function k$(t,e){return g$(t,"set1"),g$(e,"set2"),new vVt(t,e)}function uin(t,e){var n;return n=rcn(t.f,e),Li(Mj(n),t.f.d)}function P9(t,e){var n,r;return n=e,r=new zt,mhe(t,n,r),r.d}function Ert(t,e,n,r){var s;s=new uYt,e.a[n.g]=s,zx(t.b,r,s)}function zvt(t,e,n){var r;r=t.Yg(e),r>=0?t.sh(r,n):M5t(t,e,n)}function J3(t,e,n){C$(),t&&ki(Pft,t,e),t&&ki(dP,t,n)}function EQt(t,e,n){this.i=new he,this.b=t,this.g=e,this.a=n}function E$(t,e,n){this.c=new he,this.e=t,this.f=e,this.b=n}function qvt(t,e,n){this.a=new he,this.e=t,this.f=e,this.c=n}function TQt(t,e){yj(this),this.f=e,this.g=t,d$(this),this._d()}function oD(t,e){var n;n=t.q.getHours(),t.q.setDate(e),E_(t,n)}function CQt(t,e){var n;for(Lr(e),n=t.a;n;n=n.c)e.Od(n.g,n.i)}function _Qt(t){var e;return e=new IR(ty(t.length)),Oyt(e,t),e}function lin(t){function e(){}return e.prototype=t||{},new e}function hin(t,e){return ere(t,e)?(Jee(t),!0):!1}function B0(t,e){if(e==null)throw it(new IC);return cfn(t,e)}function fin(t){if(t.qe())return null;var e=t.n;return QH[e]}function cD(t){return t.Db>>16!=3?null:u(t.Cb,33)}function T1(t){return t.Db>>16!=9?null:u(t.Cb,33)}function SQt(t){return t.Db>>16!=6?null:u(t.Cb,79)}function AQt(t){return t.Db>>16!=7?null:u(t.Cb,235)}function LQt(t){return t.Db>>16!=7?null:u(t.Cb,160)}function es(t){return t.Db>>16!=11?null:u(t.Cb,33)}function MQt(t,e){var n;return n=t.Yg(e),n>=0?t.lh(n):Zst(t,e)}function DQt(t,e){var n;return n=new Wwt(e),Iae(n,t),new Bu(n)}function Hvt(t){var e;return e=t.d,e=t.si(t.f),Dr(t,e),e.Ob()}function IQt(t,e){return t.b+=e.b,t.c+=e.c,t.d+=e.d,t.a+=e.a,t}function Trt(t,e){return b.Math.abs(t)0}function OQt(){this.a=new O0,this.e=new Hs,this.g=0,this.i=0}function PQt(t){this.a=t,this.b=Nt(Mme,ee,1944,t.e.length,0,2)}function Crt(t,e,n){var r;r=xre(t,e,n),t.b=new gz(r.c.length)}function C1(){C1=Z,H2=new Vbt(Dot,0),H1=new Vbt("UP",1)}function T$(){T$=Z,zht=new Ybt(Y1e,0),p_t=new Ybt("FAN",1)}function C$(){C$=Z,Pft=new _r,dP=new _r,OXe(Uge,new JT)}function gin(t){if(t.p!=0)throw it(new Ou);return u9(t.f,0)}function pin(t){if(t.p!=0)throw it(new Ou);return u9(t.k,0)}function FQt(t){return t.Db>>16!=3?null:u(t.Cb,147)}function O8(t){return t.Db>>16!=6?null:u(t.Cb,235)}function Ym(t){return t.Db>>16!=17?null:u(t.Cb,26)}function NQt(t,e){var n=t.a=t.a||[];return n[e]||(n[e]=t.le(e))}function bin(t,e){var n;return n=t.a.get(e),n??new Array}function win(t,e){var n;n=t.q.getHours(),t.q.setMonth(e),E_(t,n)}function ko(t,e,n){return e==null?au(t.f,null,n):sv(t.g,e,n)}function F9(t,e,n,r,s,o){return new z0(t.e,e,t.aj(),n,r,s,o)}function uD(t,e,n){return t.a=Pl(t.a,0,e)+(""+n)+RM(t.a,e),t}function vin(t,e,n){return le(t.a,(c$(),kst(e,n),new Lw(e,n))),t}function Vvt(t){return M2t(t.c),t.e=t.a=t.c,t.c=t.c.c,++t.d,t.a.f}function BQt(t){return M2t(t.e),t.c=t.a=t.e,t.e=t.e.e,--t.d,t.a.f}function oa(t,e){t.d&&mu(t.d.e,t),t.d=e,t.d&&le(t.d.e,t)}function Oa(t,e){t.c&&mu(t.c.g,t),t.c=e,t.c&&le(t.c.g,t)}function Eo(t,e){t.c&&mu(t.c.a,t),t.c=e,t.c&&le(t.c.a,t)}function Uo(t,e){t.i&&mu(t.i.j,t),t.i=e,t.i&&le(t.i.j,t)}function RQt(t,e,n){this.a=e,this.c=t,this.b=(Lr(n),new Bu(n))}function jQt(t,e,n){this.a=e,this.c=t,this.b=(Lr(n),new Bu(n))}function $Qt(t,e){this.a=t,this.c=nc(this.a),this.b=new v$(e)}function min(t){var e;return w2(t),e=new Hs,Ri(t,new Ge(e))}function Km(t,e){if(t<0||t>e)throw it(new yo(Kxt+t+Xxt+e))}function Gvt(t,e){return MKt(t.a,e)?pvt(t,u(e,22).g,null):null}function yin(t){return qit(),Nn(),u(t.a,81).d.e!=0}function zQt(){zQt=Z,Dge=Wr((TR(),lt(ct(Mge,1),oe,538,0,[Mut])))}function qQt(){qQt=Z,wme=Ku(new Vs,(Wa(),Io),(ro(),xO))}function Uvt(){Uvt=Z,vme=Ku(new Vs,(Wa(),Io),(ro(),xO))}function HQt(){HQt=Z,yme=Ku(new Vs,(Wa(),Io),(ro(),xO))}function VQt(){VQt=Z,Fme=bi(new Vs,(Wa(),Io),(ro(),pS))}function Fl(){Fl=Z,Rme=bi(new Vs,(Wa(),Io),(ro(),pS))}function GQt(){GQt=Z,jme=bi(new Vs,(Wa(),Io),(ro(),pS))}function _rt(){_rt=Z,Vme=bi(new Vs,(Wa(),Io),(ro(),pS))}function UQt(){UQt=Z,Mye=Ku(new Vs,(wE(),jS),(p_(),Iht))}function i2(t,e,n,r){this.c=t,this.d=r,Art(this,e),Lrt(this,n)}function Yx(t){this.c=new Zi,this.b=t.b,this.d=t.c,this.a=t.a}function Srt(t){this.a=b.Math.cos(t),this.b=b.Math.sin(t)}function Art(t,e){t.a&&mu(t.a.k,t),t.a=e,t.a&&le(t.a.k,t)}function Lrt(t,e){t.b&&mu(t.b.f,t),t.b=e,t.b&&le(t.b.f,t)}function WQt(t,e){Lnn(t,t.b,t.c),u(t.b.b,65),e&&u(e.b,65).b}function xin(t,e){c3t(t,e),_t(t.Cb,88)&&gy(sl(u(t.Cb,88)),2)}function Mrt(t,e){_t(t.Cb,88)&&gy(sl(u(t.Cb,88)),4),Qc(t,e)}function _$(t,e){_t(t.Cb,179)&&(u(t.Cb,179).tb=null),Qc(t,e)}function Bc(t,e){return to(),ait(e)?new qj(e,t):new BM(e,t)}function kin(t,e){var n,r;n=e.c,r=n!=null,r&&Vx(t,new Um(e.c))}function YQt(t){var e,n;return n=(c8(),e=new xw,e),H8(n,t),n}function KQt(t){var e,n;return n=(c8(),e=new xw,e),H8(n,t),n}function XQt(t,e){var n;return n=new Sh(t),e.c[e.c.length]=n,n}function QQt(t,e){var n;return n=u(sy(Wx(t.a),e),14),n?n.gc():0}function ZQt(t){var e;return w2(t),e=(Z3(),Z3(),SEt),ez(t,e)}function JQt(t){for(var e;;)if(e=t.Pb(),!t.Ob())return e}function Wvt(t,e){fKe.call(this,new Lx(ty(t))),jl(e,ffe),this.a=e}function Qd(t,e,n){aie(e,n,t.gc()),this.c=t,this.a=e,this.b=n-e}function tZt(t,e,n){var r;aie(e,n,t.c.length),r=n-e,wbt(t.c,e,r)}function Ein(t,e){QUt(t,Ar(Ns($p(e,24),Uq)),Ar(Ns(e,Uq)))}function An(t,e){if(t<0||t>=e)throw it(new yo(Kxt+t+Xxt+e))}function Rr(t,e){if(t<0||t>=e)throw it(new sbt(Kxt+t+Xxt+e))}function _n(t,e){this.b=(On(t),t),this.a=e&Ey?e:e|64|md}function eZt(t){IUt(this),fqt(this.a,Dyt(b.Math.max(8,t))<<1)}function _1(t){return Yo(lt(ct(Ws,1),ee,8,0,[t.i.n,t.n,t.a]))}function Tin(){return O1(),lt(ct(fl,1),oe,132,0,[BEt,Ul,Iy])}function Cin(){return Kf(),lt(ct(Oy,1),oe,232,0,[sc,eu,ac])}function _in(){return Qu(),lt(ct(ppe,1),oe,461,0,[Md,fb,kf])}function Sin(){return yu(),lt(ct(wpe,1),oe,462,0,[n1,db,Ef])}function Ain(){return iv(),lt(ct(F7t,1),oe,423,0,[q4,P7t,llt])}function Lin(){return q9(),lt(ct(D7t,1),oe,379,0,[ilt,rlt,slt])}function Min(){return Z9(),lt(ct(P9t,1),oe,378,0,[vht,O9t,yG])}function Din(){return n6(),lt(ct(DTt,1),oe,314,0,[P6,EO,MTt])}function Iin(){return oz(),lt(ct(OTt,1),oe,337,0,[ITt,VV,Llt])}function Oin(){return d2(),lt(ct(D2e,1),oe,450,0,[Ilt,w7,U4])}function Pin(){return nv(),lt(ct(mlt,1),oe,361,0,[Dv,pb,Mv])}function Fin(){return q0(),lt(ct(j2e,1),oe,303,0,[CO,Y4,F6])}function Nin(){return eE(),lt(ct(qlt,1),oe,292,0,[$lt,zlt,TO])}function Bin(){return so(),lt(ct(lme,1),oe,452,0,[OS,tl,nu])}function Rin(){return V0(),lt(ct(H9t,1),oe,339,0,[vb,q9t,Eht])}function jin(){return yz(),lt(ct(W9t,1),oe,375,0,[G9t,_ht,U9t])}function $in(){return Cz(),lt(ct(t_t,1),oe,377,0,[Mht,L7,Yy])}function zin(){return cE(),lt(ct(X9t,1),oe,336,0,[Aht,K9t,PS])}function qin(){return vz(),lt(ct(J9t,1),oe,338,0,[Z9t,Lht,Q9t])}function Hin(){return ev(),lt(ct(Ame,1),oe,454,0,[RO,FS,TG])}function Vin(){return Nz(),lt(ct(Fye,1),oe,442,0,[Ght,Hht,Vht])}function Gin(){return HD(),lt(ct(T_t,1),oe,380,0,[NG,k_t,E_t])}function Uin(){return Fz(),lt(ct(q_t,1),oe,381,0,[z_t,Qht,$_t])}function Win(){return mz(),lt(ct(R_t,1),oe,293,0,[Xht,B_t,N_t])}function Yin(){return KD(),lt(ct(Zht,1),oe,437,0,[jG,$G,zG])}function Kin(){return G0(),lt(ct(DAt,1),oe,334,0,[tU,sp,ZS])}function Xin(){return M1(),lt(ct(mAt,1),oe,272,0,[P7,Zy,F7])}function Qin(t,e){return v2n(t,e,_t(e,99)&&(u(e,18).Bb&Ka)!=0)}function Zin(t,e,n){var r;return r=__(t,e,!1),r.b<=e&&r.a<=n}function nZt(t,e,n){var r;r=new NQ,r.b=e,r.a=n,++e.b,le(t.d,r)}function Jin(t,e){var n;return n=(On(t),t).g,q2t(!!n),On(e),n(e)}function Yvt(t,e){var n,r;return r=C8(t,e),n=t.a.Zc(r),new wVt(t,n)}function tsn(t){return t.Db>>16!=6?null:u(eat(t),235)}function esn(t){if(t.p!=2)throw it(new Ou);return Ar(t.f)&ys}function nsn(t){if(t.p!=2)throw it(new Ou);return Ar(t.k)&ys}function rsn(t){return t.a==(B8(),vU)&&Btt(t,P2n(t.g,t.b)),t.a}function Kx(t){return t.d==(B8(),vU)&&_C(t,Smn(t.g,t.b)),t.d}function J(t){return Zn(t.ar?1:0}function rZt(t,e){var n,r;return n=eit(e),r=n,u(tr(t.c,r),19).a}function iZt(t,e){var n;for(n=t+"";n.length0&&t.a[--t.d]==0;);t.a[t.d++]==0&&(t.e=0)}function EZt(t){return t.a?t.e.length==0?t.a.a:t.a.a+(""+t.e):t.c}function gsn(t){return!!t.a&&al(t.a.a).i!=0&&!(t.b&&mst(t.b))}function psn(t){return!!t.u&&Lc(t.u.a).i!=0&&!(t.n&&vst(t.n))}function TZt(t){return Bnt(t.e.Hd().gc()*t.c.Hd().gc(),16,new gx(t))}function bsn(t,e){return tXt(Tu(t.q.getTime()),Tu(e.q.getTime()))}function wd(t){return u(P1(t,Nt(hlt,Wot,17,t.c.length,0,1)),474)}function lD(t){return u(P1(t,Nt(l0,Yg,10,t.c.length,0,1)),193)}function wsn(t){return Fl(),!Ga(t)&&!(!Ga(t)&&t.c.i.c==t.d.i.c)}function CZt(t,e,n){var r;r=(Lr(t),new Bu(t)),W1n(new RQt(r,e,n))}function hD(t,e,n){var r;r=(Lr(t),new Bu(t)),Y1n(new jQt(r,e,n))}function _Zt(t,e){var n;return n=1-e,t.a[n]=dz(t.a[n],n),dz(t,e)}function SZt(t,e){var n;t.e=new Zpt,n=wy(e),Zs(n,t.c),yue(t,n,0)}function ca(t,e,n,r){var s;s=new iB,s.a=e,s.b=n,s.c=r,ri(t.a,s)}function xe(t,e,n,r){var s;s=new iB,s.a=e,s.b=n,s.c=r,ri(t.b,s)}function pf(t){var e,n,r;return e=new oXt,n=yat(e,t),n5n(e),r=n,r}function tmt(){var t,e,n;return e=(n=(t=new xw,t),n),le(bLt,e),e}function L$(t){return t.j.c=Nt(Qn,De,1,0,5,1),Dvt(t.c),Qnn(t.a),t}function t4(t){return GC(),_t(t.g,10)?u(t.g,10):null}function vsn(t){return Q3(t).dc()?!1:(wQe(t,new ut),!0)}function msn(t){if(!("stack"in t))try{throw t}catch{}return t}function fD(t,e){if(t<0||t>=e)throw it(new yo(Ipn(t,e)));return t}function AZt(t,e,n){if(t<0||en)throw it(new yo(rpn(t,e,n)))}function Prt(t,e){if(Fs(t.a,e),e.d)throw it(new Vo(Pfe));e.d=t}function Frt(t,e){if(e.$modCount!=t.$modCount)throw it(new rh)}function LZt(t,e){return _t(e,42)?Tst(t.a,u(e,42)):!1}function MZt(t,e){return _t(e,42)?Tst(t.a,u(e,42)):!1}function DZt(t,e){return _t(e,42)?Tst(t.a,u(e,42)):!1}function ysn(t,e){return t.a<=t.b?(e.ud(t.a++),!0):!1}function Yw(t){var e;return Bo(t)?(e=t,e==-0?0:e):Lon(t)}function M$(t){var e;return Vp(t),e=new Ye,j3(t.a,new bn(e)),e}function IZt(t){var e;return Vp(t),e=new Ve,j3(t.a,new we(e)),e}function da(t,e){this.a=t,mx.call(this,t),Km(e,t.gc()),this.b=e}function emt(t){this.e=t,this.b=this.e.a.entries(),this.a=new Array}function xsn(t){return Bnt(t.e.Hd().gc()*t.c.Hd().gc(),273,new eR(t))}function D$(t){return new Xc((jl(t,Yat),J$(Pa(Pa(5,t),t/10|0))))}function OZt(t){return u(P1(t,Nt(Jbe,h1e,11,t.c.length,0,1)),1943)}function ksn(t,e,n){return n.f.c.length>0?vvt(t.a,e,n):vvt(t.b,e,n)}function Esn(t,e,n){t.d&&mu(t.d.e,t),t.d=e,t.d&&Hm(t.d.e,n,t)}function Nrt(t,e){bxn(e,t),Bwt(t.d),Bwt(u(Q(t,(Te(),dG)),207))}function B9(t,e){pxn(e,t),Nwt(t.d),Nwt(u(Q(t,(Te(),dG)),207))}function Kw(t,e){var n,r;return n=B0(t,e),r=null,n&&(r=n.fe()),r}function P8(t,e){var n,r;return n=Jm(t,e),r=null,n&&(r=n.ie()),r}function R9(t,e){var n,r;return n=B0(t,e),r=null,n&&(r=n.ie()),r}function R0(t,e){var n,r;return n=B0(t,e),r=null,n&&(r=U4t(n)),r}function Tsn(t,e,n){var r;return r=pE(n),Aq(t.g,r,e),Aq(t.i,e,n),e}function Csn(t,e,n){var r;r=Jhn();try{return MZe(t,e,n)}finally{Nsn(r)}}function PZt(t){var e;e=t.Wg(),this.a=_t(e,69)?u(e,69).Zh():e.Kc()}function Vs(){Yqt.call(this),this.j.c=Nt(Qn,De,1,0,5,1),this.a=-1}function nmt(t,e,n,r){this.d=t,this.n=e,this.g=n,this.o=r,this.p=-1}function FZt(t,e,n,r){this.e=r,this.d=null,this.c=t,this.a=e,this.b=n}function rmt(t,e,n){this.d=new bR(this),this.e=t,this.i=e,this.f=n}function I$(){I$=Z,Hlt=new $bt(qE,0),ZTt=new $bt("TOP_LEFT",1)}function NZt(){NZt=Z,n_t=DXt(pe(1),pe(4)),e_t=DXt(pe(1),pe(2))}function BZt(){BZt=Z,C3e=Wr((qR(),lt(ct(T3e,1),oe,551,0,[tft])))}function RZt(){RZt=Z,E3e=Wr((zR(),lt(ct(eSt,1),oe,482,0,[Jht])))}function jZt(){jZt=Z,H3e=Wr((UC(),lt(ct(kSt,1),oe,530,0,[VO])))}function $Zt(){$Zt=Z,Kpe=Wr((jR(),lt(ct(l7t,1),oe,481,0,[Kut])))}function _sn(){return rv(),lt(ct(qpe,1),oe,406,0,[hO,lO,Wut,Yut])}function Ssn(){return U$(),lt(ct(sV,1),oe,297,0,[jut,OEt,PEt,FEt])}function Asn(){return c_(),lt(ct(Wpe,1),oe,394,0,[bO,lV,hV,wO])}function Lsn(){return u6(),lt(ct(Vpe,1),oe,323,0,[dO,fO,gO,pO])}function Msn(){return nE(),lt(ct(zbe,1),oe,405,0,[Lv,Fy,Py,z4])}function Dsn(){return Tz(),lt(ct(a2e,1),oe,360,0,[wlt,BV,RV,kO])}function zZt(t,e,n,r){return _t(n,54)?new SWt(t,e,n,r):new ovt(t,e,n,r)}function Isn(){return I1(),lt(ct(p2e,1),oe,411,0,[O6,f7,d7,vlt])}function Osn(t){var e;return t.j==(ve(),mr)&&(e=uce(t),Nu(e,Hn))}function Psn(t,e){var n;n=e.a,Oa(n,e.c.d),oa(n,e.d.d),ny(n.a,t.n)}function qZt(t,e){return u(Nw(Jj(u(Ai(t.k,e),15).Oc(),H4)),113)}function HZt(t,e){return u(Nw(t$(u(Ai(t.k,e),15).Oc(),H4)),113)}function Fsn(t){return new _n(Icn(u(t.a.dd(),14).gc(),t.a.cd()),16)}function F8(t){return _t(t,14)?u(t,14).dc():!t.Kc().Ob()}function Xx(t){return GC(),_t(t.g,145)?u(t.g,145):null}function VZt(t){if(t.e.g!=t.b)throw it(new rh);return!!t.c&&t.d>0}function ti(t){return Zn(t.b!=t.d.c),t.c=t.b,t.b=t.b.a,++t.a,t.c.c}function imt(t,e){On(e),ts(t.a,t.c,e),t.c=t.c+1&t.a.length-1,Gse(t)}function Up(t,e){On(e),t.b=t.b-1&t.a.length-1,ts(t.a,t.b,e),Gse(t)}function GZt(t,e){var n;for(n=t.j.c.length;n0&&Dc(t.g,0,e,0,t.i),e}function KZt(t,e){GR();var n;return n=u(tr(dU,t),55),!n||n.wj(e)}function Ysn(t){if(t.p!=1)throw it(new Ou);return Ar(t.f)<<24>>24}function Ksn(t){if(t.p!=1)throw it(new Ou);return Ar(t.k)<<24>>24}function Xsn(t){if(t.p!=7)throw it(new Ou);return Ar(t.k)<<16>>16}function Qsn(t){if(t.p!=7)throw it(new Ou);return Ar(t.f)<<16>>16}function j0(t){var e;for(e=0;t.Ob();)t.Pb(),e=Pa(e,1);return J$(e)}function XZt(t,e){var n;return n=new Im,t.xd(n),n.a+="..",e.yd(n),n.a}function Zsn(t,e,n){var r;r=u(tr(t.g,n),57),le(t.a.c,new fa(e,r))}function Jsn(t,e,n){return Unt(ye(ec(Lo(t.f,e))),ye(ec(Lo(t.f,n))))}function O$(t,e,n){return Mq(t,e,n,_t(e,99)&&(u(e,18).Bb&Ka)!=0)}function tan(t,e,n){return DE(t,e,n,_t(e,99)&&(u(e,18).Bb&Ka)!=0)}function ean(t,e,n){return T2n(t,e,n,_t(e,99)&&(u(e,18).Bb&Ka)!=0)}function omt(t,e){return t==(Vn(),Os)&&e==Os?4:t==Os||e==Os?8:32}function QZt(t,e){return Vt(e)===Vt(t)?"(this Map)":e==null?_u:$o(e)}function nan(t,e){return u(e==null?ec(Lo(t.f,null)):KC(t.g,e),281)}function ZZt(t,e,n){var r;return r=pE(n),ki(t.b,r,e),ki(t.c,e,n),e}function JZt(t,e){var n;for(n=e;n;)jm(t,n.i,n.j),n=es(n);return t}function cmt(t,e){var n;return n=iD(x8(new nit(t,e))),Vj(new nit(t,e)),n}function Zd(t,e){to();var n;return n=u(t,66).Mj(),Ngn(n,e),n.Ok(e)}function ran(t,e,n,r,s){var o;o=L2n(s,n,r),le(e,Spn(s,o)),vgn(t,s,e)}function tJt(t,e,n){t.i=0,t.e=0,e!=n&&(Cre(t,e,n),Tre(t,e,n))}function umt(t,e){var n;n=t.q.getHours(),t.q.setFullYear(e+ab),E_(t,n)}function ian(t,e,n){if(n){var r=n.ee();t.a[e]=r(n)}else delete t.a[e]}function Brt(t,e,n){if(n){var r=n.ee();n=r(n)}else n=void 0;t.a[e]=n}function eJt(t){if(t<0)throw it(new aHt("Negative array size: "+t))}function Lc(t){return t.n||(sl(t),t.n=new PKt(t,ho,t),Ao(t)),t.n}function j9(t){return Zn(t.a=0&&t.a[n]===e[n];n--);return n<0}function aJt(t,e){oE();var n;return n=t.j.g-e.j.g,n!=0?n:0}function oJt(t,e){return On(e),t.a!=null?Hen(e.Kb(t.a)):iV}function P$(t){var e;return t?new Wwt(t):(e=new O0,xit(e,t),e)}function Bl(t,e){var n;return e.b.Kb(Jte(t,e.c.Ee(),(n=new In(e),n)))}function F$(t){M4t(),QUt(this,Ar(Ns($p(t,24),Uq)),Ar(Ns(t,Uq)))}function cJt(){cJt=Z,upe=Wr((Gz(),lt(ct(zEt,1),oe,428,0,[qut,$Et])))}function uJt(){uJt=Z,lpe=Wr((Q$(),lt(ct(HEt,1),oe,427,0,[qEt,Hut])))}function lJt(){lJt=Z,fbe=Wr((Z$(),lt(ct(w7t,1),oe,424,0,[tlt,gV])))}function hJt(){hJt=Z,r2e=Wr((X8(),lt(ct(n2e,1),oe,511,0,[yO,dlt])))}function fJt(){fJt=Z,M2e=Wr((LD(),lt(ct(BTt,1),oe,419,0,[GV,NTt])))}function dJt(){dJt=Z,P2e=Wr((xD(),lt(ct($Tt,1),oe,479,0,[jTt,WV])))}function gJt(){gJt=Z,dme=Wr((pD(),lt(ct(Y9t,1),oe,376,0,[Sht,BO])))}function pJt(){pJt=Z,ume=Wr((CD(),lt(ct(V9t,1),oe,421,0,[Tht,Cht])))}function bJt(){bJt=Z,_2e=Wr((H$(),lt(ct(LTt,1),oe,422,0,[ATt,Alt])))}function wJt(){wJt=Z,z2e=Wr((I$(),lt(ct(JTt,1),oe,420,0,[Hlt,ZTt])))}function vJt(){vJt=Z,iye=Wr((Uf(),lt(ct(rye,1),oe,520,0,[Ky,mb])))}function mJt(){mJt=Z,Pme=Wr(($9(),lt(ct(Ome,1),oe,523,0,[BS,NS])))}function yJt(){yJt=Z,zme=Wr((bd(),lt(ct($me,1),oe,516,0,[zv,ep])))}function xJt(){xJt=Z,Hme=Wr((C1(),lt(ct(qme,1),oe,515,0,[H2,H1])))}function kJt(){kJt=Z,hye=Wr((Gw(),lt(ct(lye,1),oe,455,0,[yb,r5])))}function EJt(){EJt=Z,Lye=Wr((A$(),lt(ct(v_t,1),oe,425,0,[qht,w_t])))}function TJt(){TJt=Z,Pye=Wr((pz(),lt(ct(m_t,1),oe,495,0,[FG,D7])))}function CJt(){CJt=Z,Aye=Wr((T$(),lt(ct(b_t,1),oe,480,0,[zht,p_t])))}function _Jt(){_Jt=Z,Bye=Wr((G$(),lt(ct(x_t,1),oe,426,0,[y_t,Uht])))}function SJt(){SJt=Z,V3e=Wr((jD(),lt(ct(TSt,1),oe,429,0,[VG,ESt])))}function AJt(){AJt=Z,_3e=Wr((bD(),lt(ct(nSt,1),oe,430,0,[eft,qG])))}function $9(){$9=Z,BS=new Hbt("UPPER",0),NS=new Hbt("LOWER",1)}function can(t,e){var n;n=new _x,r2(n,"x",e.a),r2(n,"y",e.b),Vx(t,n)}function uan(t,e){var n;n=new _x,r2(n,"x",e.a),r2(n,"y",e.b),Vx(t,n)}function lan(t,e){var n,r;r=!1;do n=bre(t,e),r=r|n;while(n);return r}function fmt(t,e){var n,r;for(n=e,r=0;n>0;)r+=t.a[n],n-=n&-n;return r}function LJt(t,e){var n;for(n=e;n;)jm(t,-n.i,-n.j),n=es(n);return t}function va(t,e){var n,r;for(On(e),r=t.Kc();r.Ob();)n=r.Pb(),e.td(n)}function MJt(t,e){var n;return n=e.cd(),new Lw(n,t.e.pc(n,u(e.dd(),14)))}function fs(t,e,n,r){var s;s=new xt,s.c=e,s.b=n,s.a=r,r.b=n.a=s,++t.b}function ch(t,e,n){var r;return r=(An(e,t.c.length),t.c[e]),t.c[e]=n,r}function han(t,e,n){return u(e==null?au(t.f,null,n):sv(t.g,e,n),281)}function zrt(t){return t.c&&t.d?Kvt(t.c)+"->"+Kvt(t.d):"e_"+Pw(t)}function N8(t,e){return(w2(t),qC(new Tn(t,new Nmt(e,t.a)))).sd(o7)}function fan(){return Wa(),lt(ct(I7t,1),oe,356,0,[Dd,gb,cu,qc,Io])}function dan(){return ve(),lt(ct(Xa,1),xc,61,0,[Zo,Pn,Hn,mr,Bn])}function gan(t){return AR(),function(){return Csn(t,this,arguments)}}function pan(){return Date.now?Date.now():new Date().getTime()}function Ga(t){return!t.c||!t.d?!1:!!t.c.i&&t.c.i==t.d.i}function DJt(t){if(!t.c.Sb())throw it(new lc);return t.a=!0,t.c.Ub()}function dD(t){t.i=0,CM(t.b,null),CM(t.c,null),t.a=null,t.e=null,++t.g}function dmt(t){kXe.call(this,t==null?_u:$o(t),_t(t,78)?u(t,78):null)}function IJt(t){rfe(),nqt(this),this.a=new Zi,$yt(this,t),ri(this.a,t)}function OJt(){ant(this),this.b=new $e(as,as),this.a=new $e(Cs,Cs)}function PJt(t,e){this.c=0,this.b=e,cUt.call(this,t,17493),this.a=this.c}function qrt(t){N$(),!$1&&(this.c=t,this.e=!0,this.a=new he)}function N$(){N$=Z,$1=!0,Jge=!1,tpe=!1,npe=!1,epe=!1}function gmt(t,e){return _t(e,149)?hn(t.c,u(e,149).c):!1}function pmt(t,e){var n;return n=0,t&&(n+=t.f.a/2),e&&(n+=e.f.a/2),n}function Hrt(t,e){var n;return n=u(Xw(t.d,e),23),n||u(Xw(t.e,e),23)}function FJt(t){this.b=t,nr.call(this,t),this.a=u(Dn(this.b.a,4),126)}function NJt(t){this.b=t,Bx.call(this,t),this.a=u(Dn(this.b.a,4),126)}function sl(t){return t.t||(t.t=new Uzt(t),n_(new sHt(t),0,t.t)),t.t}function ban(){return ao(),lt(ct(XS,1),oe,103,0,[h0,Cf,zh,ng,rg])}function wan(){return l4(),lt(ct(tA,1),oe,249,0,[Eb,iP,IAt,JS,OAt])}function van(){return Qf(),lt(ct(ip,1),oe,175,0,[qn,ea,Pd,V2,rp])}function man(){return uI(),lt(ct(aSt,1),oe,316,0,[rSt,nft,sSt,rft,iSt])}function yan(){return u_(),lt(ct(N9t,1),oe,315,0,[F9t,xht,kht,DS,IS])}function xan(){return x2(),lt(ct(FTt,1),oe,335,0,[Mlt,PTt,Dlt,vS,wS])}function kan(){return AE(),lt(ct(y3e,1),oe,355,0,[i5,G6,GS,VS,US])}function Ean(){return b4(),lt(ct(w2e,1),oe,363,0,[$V,qV,HV,zV,jV])}function Tan(){return dh(),lt(ct(fCt,1),oe,163,0,[MO,ES,bb,TS,jy])}function B8(){B8=Z;var t,e;wU=(c8(),e=new xR,e),vU=(t=new ret,t)}function BJt(t){var e;return t.c||(e=t.r,_t(e,88)&&(t.c=u(e,26))),t.c}function Can(t){return t.e=3,t.d=t.Yb(),t.e!=2?(t.e=0,!0):!1}function Vrt(t){var e,n,r;return e=t&hl,n=t>>22&hl,r=t<0?Z0:0,iu(e,n,r)}function _an(t){var e,n,r,s;for(n=t,r=0,s=n.length;r0?Fie(t,e):rue(t,-e)}function bmt(t,e){return e==0||t.e==0?t:e>0?rue(t,e):Fie(t,-e)}function Mr(t){if(zr(t))return t.c=t.a,t.a.Pb();throw it(new lc)}function jJt(t){var e,n;return e=t.c.i,n=t.d.i,e.k==(Vn(),ks)&&n.k==ks}function Grt(t){var e;return e=new Vw,Mo(e,t),Jt(e,(Te(),So),null),e}function Urt(t,e,n){var r;return r=t.Yg(e),r>=0?t._g(r,n,!0):dv(t,e,n)}function wmt(t,e,n,r){var s;for(s=0;se)throw it(new yo(J4t(t,e,"index")));return t}function Wrt(t,e,n,r){var s;return s=Nt(Cr,Xr,25,e,15,1),j0n(s,t,e,n,r),s}function Aan(t,e){var n;n=t.q.getHours()+(e/60|0),t.q.setMinutes(e),E_(t,n)}function Lan(t,e){return b.Math.min(Wp(e.a,t.d.d.c),Wp(e.b,t.d.d.c))}function Jx(t,e){return ra(e)?e==null?b5t(t.f,null):Zne(t.g,e):b5t(t.f,e)}function L1(t){this.c=t,this.a=new S(this.c.a),this.b=new S(this.c.b)}function B$(){this.e=new he,this.c=new he,this.d=new he,this.b=new he}function VJt(){this.g=new Fpt,this.b=new Fpt,this.a=new he,this.k=new he}function GJt(t,e,n){this.a=t,this.c=e,this.d=n,le(e.e,this),le(n.b,this)}function UJt(t,e){oUt.call(this,e.rd(),e.qd()&-6),On(t),this.a=t,this.b=e}function WJt(t,e){cUt.call(this,e.rd(),e.qd()&-6),On(t),this.a=t,this.b=e}function Tmt(t,e){ent.call(this,e.rd(),e.qd()&-6),On(t),this.a=t,this.b=e}function R$(t,e,n){this.a=t,this.b=e,this.c=n,le(t.t,this),le(e.i,this)}function j$(){this.b=new Zi,this.a=new Zi,this.b=new Zi,this.a=new Zi}function $$(){$$=Z,WS=new Vi("org.eclipse.elk.labels.labelManager")}function YJt(){YJt=Z,ETt=new Ps("separateLayerConnections",(Tz(),wlt))}function Uf(){Uf=Z,Ky=new Ubt("REGULAR",0),mb=new Ubt("CRITICAL",1)}function pD(){pD=Z,Sht=new qbt("STACKED",0),BO=new qbt("SEQUENCED",1)}function bD(){bD=Z,eft=new Zbt("FIXED",0),qG=new Zbt("CENTER_NODE",1)}function Man(t,e){var n;return n=P4n(t,e),t.b=new gz(n.c.length),U3n(t,n)}function Dan(t,e,n){var r;return++t.e,--t.f,r=u(t.d[e].$c(n),133),r.dd()}function KJt(t){var e;return t.a||(e=t.r,_t(e,148)&&(t.a=u(e,148))),t.a}function Cmt(t){if(t.a){if(t.e)return Cmt(t.e)}else return t;return null}function Ian(t,e){return t.pe.p?-1:0}function z$(t,e){return On(e),t.c=0,"Initial capacity must not be negative")}function ZJt(){ZJt=Z,gpe=Wr((Kf(),lt(ct(Oy,1),oe,232,0,[sc,eu,ac])))}function JJt(){JJt=Z,bpe=Wr((Qu(),lt(ct(ppe,1),oe,461,0,[Md,fb,kf])))}function tte(){tte=Z,vpe=Wr((yu(),lt(ct(wpe,1),oe,462,0,[n1,db,Ef])))}function ete(){ete=Z,rpe=Wr((O1(),lt(ct(fl,1),oe,132,0,[BEt,Ul,Iy])))}function nte(){nte=Z,Obe=Wr((q9(),lt(ct(D7t,1),oe,379,0,[ilt,rlt,slt])))}function rte(){rte=Z,Ybe=Wr((iv(),lt(ct(F7t,1),oe,423,0,[q4,P7t,llt])))}function ite(){ite=Z,S2e=Wr((n6(),lt(ct(DTt,1),oe,314,0,[P6,EO,MTt])))}function ste(){ste=Z,A2e=Wr((oz(),lt(ct(OTt,1),oe,337,0,[ITt,VV,Llt])))}function ate(){ate=Z,I2e=Wr((d2(),lt(ct(D2e,1),oe,450,0,[Ilt,w7,U4])))}function ote(){ote=Z,E2e=Wr((nv(),lt(ct(mlt,1),oe,361,0,[Dv,pb,Mv])))}function cte(){cte=Z,$2e=Wr((q0(),lt(ct(j2e,1),oe,303,0,[CO,Y4,F6])))}function ute(){ute=Z,R2e=Wr((eE(),lt(ct(qlt,1),oe,292,0,[$lt,zlt,TO])))}function lte(){lte=Z,ime=Wr((Z9(),lt(ct(P9t,1),oe,378,0,[vht,O9t,yG])))}function hte(){hte=Z,fme=Wr((yz(),lt(ct(W9t,1),oe,375,0,[G9t,_ht,U9t])))}function fte(){fte=Z,cme=Wr((V0(),lt(ct(H9t,1),oe,339,0,[vb,q9t,Eht])))}function dte(){dte=Z,hme=Wr((so(),lt(ct(lme,1),oe,452,0,[OS,tl,nu])))}function gte(){gte=Z,bme=Wr((Cz(),lt(ct(t_t,1),oe,377,0,[Mht,L7,Yy])))}function pte(){pte=Z,gme=Wr((cE(),lt(ct(X9t,1),oe,336,0,[Aht,K9t,PS])))}function bte(){bte=Z,pme=Wr((vz(),lt(ct(J9t,1),oe,338,0,[Z9t,Lht,Q9t])))}function wte(){wte=Z,Lme=Wr((ev(),lt(ct(Ame,1),oe,454,0,[RO,FS,TG])))}function vte(){vte=Z,Nye=Wr((Nz(),lt(ct(Fye,1),oe,442,0,[Ght,Hht,Vht])))}function mte(){mte=Z,Rye=Wr((HD(),lt(ct(T_t,1),oe,380,0,[NG,k_t,E_t])))}function yte(){yte=Z,e3e=Wr((Fz(),lt(ct(q_t,1),oe,381,0,[z_t,Qht,$_t])))}function xte(){xte=Z,t3e=Wr((mz(),lt(ct(R_t,1),oe,293,0,[Xht,B_t,N_t])))}function kte(){kte=Z,k3e=Wr((KD(),lt(ct(Zht,1),oe,437,0,[jG,$G,zG])))}function Ete(){Ete=Z,C4e=Wr((G0(),lt(ct(DAt,1),oe,334,0,[tU,sp,ZS])))}function Tte(){Tte=Z,x4e=Wr((M1(),lt(ct(mAt,1),oe,272,0,[P7,Zy,F7])))}function jan(){return ua(),lt(ct(PAt,1),oe,98,0,[Tb,G1,B7,Y2,g0,Gc])}function o2(t,e){return!t.o&&(t.o=new _l((Jc(),Sb),Hv,t,0)),ist(t.o,e)}function $an(t){return!t.g&&(t.g=new Ik),!t.g.d&&(t.g.d=new Hzt(t)),t.g.d}function zan(t){return!t.g&&(t.g=new Ik),!t.g.a&&(t.g.a=new Vzt(t)),t.g.a}function qan(t){return!t.g&&(t.g=new Ik),!t.g.b&&(t.g.b=new qzt(t)),t.g.b}function wD(t){return!t.g&&(t.g=new Ik),!t.g.c&&(t.g.c=new Gzt(t)),t.g.c}function Han(t,e,n){var r,s;for(s=new tE(e,t),r=0;rn||e=0?t._g(n,!0,!0):dv(t,e,!0)}function aon(t,e){return Ms(Xt(ye(Q(t,(ae(),Fv)))),Xt(ye(Q(e,Fv))))}function Dte(){Dte=Z,Dye=uv(uv(VR(new Vs,(wE(),RS)),(p_(),LG)),Oht)}function oon(t,e,n){var r;return r=xre(t,e,n),t.b=new gz(r.c.length),z5t(t,r)}function con(t){if(t.b<=0)throw it(new lc);return--t.b,t.a-=t.c.c,pe(t.a)}function uon(t){var e;if(!t.a)throw it(new FXt);return e=t.a,t.a=es(t.a),e}function lon(t){for(;!t.a;)if(!mYt(t.c,new ze(t)))return!1;return!0}function e6(t){var e;return Lr(t),_t(t,198)?(e=u(t,198),e):new btt(t)}function hon(t){V$(),u(t.We((ui(),Qy)),174).Fc((Zu(),sP)),t.Ye(kft,null)}function V$(){V$=Z,W3e=new LZ,K3e=new MZ,Y3e=Kun((ui(),kft),W3e,xb,K3e)}function G$(){G$=Z,y_t=new Qbt("LEAF_NUMBER",0),Uht=new Qbt("NODE_SIZE",1)}function fon(t,e,n){t.a=e,t.c=n,t.b.a.$b(),Ah(t.d),t.e.a.c=Nt(Qn,De,1,0,5,1)}function tit(t){t.a=Nt(Cr,Xr,25,t.b+1,15,1),t.c=Nt(Cr,Xr,25,t.b,15,1),t.d=0}function don(t,e){t.a.ue(e.d,t.b)>0&&(le(t.c,new $wt(e.c,e.d,t.d)),t.b=e.d)}function Fmt(t,e){if(t.g==null||e>=t.i)throw it(new nnt(e,t.i));return t.g[e]}function Ite(t,e,n){if(sE(t,n),n!=null&&!t.wj(n))throw it(new tet);return n}function Ote(t){var e;if(t.Ek())for(e=t.i-1;e>=0;--e)At(t,e);return amt(t)}function gon(t){var e,n;if(!t.b)return null;for(n=t.b;e=n.a[0];)n=e;return n}function pon(t,e){var n,r;return eJt(e),n=(r=t.slice(0,e),Bmt(r,t)),n.length=e,n}function $8(t,e,n,r){var s;r=(Z3(),r||_Et),s=t.slice(e,n),t5t(s,t,e,n,-e,r)}function uh(t,e,n,r,s){return e<0?dv(t,n,r):u(n,66).Nj().Pj(t,t.yh(),e,r,s)}function bon(t){return _t(t,172)?""+u(t,172).a:t==null?null:$o(t)}function won(t){return _t(t,172)?""+u(t,172).a:t==null?null:$o(t)}function Pte(t,e){if(e.a)throw it(new Vo(Pfe));Fs(t.a,e),e.a=t,!t.j&&(t.j=e)}function Nmt(t,e){ent.call(this,e.rd(),e.qd()&-16449),On(t),this.a=t,this.c=e}function Fte(t,e){var n,r;return r=e/t.c.Hd().gc()|0,n=e%t.c.Hd().gc(),t6(t,r,n)}function Qu(){Qu=Z,Md=new Let(y6,0),fb=new Let(qE,1),kf=new Let(x6,2)}function U$(){U$=Z,jut=new YR("All",0),OEt=new MUt,PEt=new qUt,FEt=new DUt}function Nte(){Nte=Z,Qge=Wr((U$(),lt(ct(sV,1),oe,297,0,[jut,OEt,PEt,FEt])))}function Bte(){Bte=Z,qbe=Wr((nE(),lt(ct(zbe,1),oe,405,0,[Lv,Fy,Py,z4])))}function Rte(){Rte=Z,Hpe=Wr((rv(),lt(ct(qpe,1),oe,406,0,[hO,lO,Wut,Yut])))}function jte(){jte=Z,Gpe=Wr((u6(),lt(ct(Vpe,1),oe,323,0,[dO,fO,gO,pO])))}function $te(){$te=Z,Ype=Wr((c_(),lt(ct(Wpe,1),oe,394,0,[bO,lV,hV,wO])))}function zte(){zte=Z,fye=Wr((wE(),lt(ct(s_t,1),oe,393,0,[AG,RS,$O,jS])))}function qte(){qte=Z,o2e=Wr((Tz(),lt(ct(a2e,1),oe,360,0,[wlt,BV,RV,kO])))}function Hte(){Hte=Z,Jye=Wr((eq(),lt(ct(F_t,1),oe,340,0,[Kht,O_t,P_t,I_t])))}function Vte(){Vte=Z,b2e=Wr((I1(),lt(ct(p2e,1),oe,411,0,[O6,f7,d7,vlt])))}function Gte(){Gte=Z,sme=Wr((cy(),lt(ct(yht,1),oe,197,0,[xG,mht,n5,e5])))}function Ute(){Ute=Z,q4e=Wr((Sl(),lt(ct(z4e,1),oe,396,0,[Ql,qAt,zAt,HAt])))}function Wte(){Wte=Z,S4e=Wr((zl(),lt(ct(_4e,1),oe,285,0,[rP,f0,kb,nP])))}function Yte(){Yte=Z,k4e=Wr((W0(),lt(ct(_ft,1),oe,218,0,[Cft,eP,N7,X6])))}function Kte(){Kte=Z,j4e=Wr((jz(),lt(ct($At,1),oe,311,0,[Lft,BAt,jAt,RAt])))}function Xte(){Xte=Z,B4e=Wr((Al(),lt(ct(rA,1),oe,374,0,[oP,K2,aP,Jy])))}function Qte(){Qte=Z,Dq(),TLt=as,V5e=Cs,CLt=new P3(as),G5e=new P3(Cs)}function xD(){xD=Z,jTt=new jbt(J0,0),WV=new jbt("IMPROVE_STRAIGHTNESS",1)}function von(t,e){return k8(),le(t,new fa(e,pe(e.e.c.length+e.g.c.length)))}function mon(t,e){return k8(),le(t,new fa(e,pe(e.e.c.length+e.g.c.length)))}function Bmt(t,e){return _D(e)!=10&<(ol(e),e.hm,e.__elementTypeId$,_D(e),t),t}function mu(t,e){var n;return n=Ro(t,e,0),n==-1?!1:(Fg(t,n),!0)}function Zte(t,e){var n;return n=u(Jx(t.e,e),387),n?(Hwt(n),n.e):null}function z8(t){var e;return Bo(t)&&(e=0-t,!isNaN(e))?e:Kp(rE(t))}function Ro(t,e,n){for(;n=0?Xz(t,n,!0,!0):dv(t,e,!0)}function qmt(t,e){GC();var n,r;return n=Xx(t),r=Xx(e),!!n&&!!r&&!gse(n.k,r.k)}function kon(t,e){ku(t,e==null||Pj((On(e),e))||isNaN((On(e),e))?0:(On(e),e))}function Eon(t,e){Eu(t,e==null||Pj((On(e),e))||isNaN((On(e),e))?0:(On(e),e))}function Ton(t,e){tv(t,e==null||Pj((On(e),e))||isNaN((On(e),e))?0:(On(e),e))}function Con(t,e){Jw(t,e==null||Pj((On(e),e))||isNaN((On(e),e))?0:(On(e),e))}function ree(t){(this.q?this.q:(wn(),wn(),u0)).Ac(t.q?t.q:(wn(),wn(),u0))}function _on(t,e){return _t(e,99)&&u(e,18).Bb&Ka?new rnt(e,t):new tE(e,t)}function Son(t,e){return _t(e,99)&&u(e,18).Bb&Ka?new rnt(e,t):new tE(e,t)}function iee(t,e){c7t=new vp,Upe=e,hS=t,u(hS.b,65),Amt(hS,c7t,null),Qle(hS)}function sit(t,e,n){var r;return r=t.g[e],p9(t,e,t.oi(e,n)),t.gi(e,n,r),t.ci(),r}function X$(t,e){var n;return n=t.Xc(e),n>=0?(t.$c(n),!0):!1}function ait(t){var e;return t.d!=t.r&&(e=Dh(t),t.e=!!e&&e.Cj()==j0e,t.d=e),t.e}function oit(t,e){var n;for(Lr(t),Lr(e),n=!1;e.Ob();)n=n|t.Fc(e.Pb());return n}function Xw(t,e){var n;return n=u(tr(t.e,e),387),n?(XUt(t,n),n.e):null}function see(t){var e,n;return e=t/60|0,n=t%60,n==0?""+e:""+e+":"+(""+n)}function Wo(t,e){var n,r;return w2(t),r=new Tmt(e,t.a),n=new kYt(r),new Tn(t,n)}function Jm(t,e){var n=t.a[e],r=(_it(),Put)[typeof n];return r?r(n):Uyt(typeof n)}function Aon(t){switch(t.g){case 0:return wi;case 1:return-1;default:return 0}}function Lon(t){return u4t(t,(q8(),oEt))<0?-GQe(rE(t)):t.l+t.m*m6+t.h*C2}function _D(t){return t.__elementTypeCategory$==null?10:t.__elementTypeCategory$}function cit(t){var e;return e=t.b.c.length==0?null:Ne(t.b,0),e!=null&&vit(t,0),e}function aee(t,e){for(;e[0]=0;)++e[0]}function SD(t,e){this.e=e,this.a=Jne(t),this.a<54?this.f=Yw(t):this.c=JD(t)}function oee(t,e,n,r){gi(),yw.call(this,26),this.c=t,this.a=e,this.d=n,this.b=r}function Jd(t,e,n){var r,s;for(r=10,s=0;st.a[r]&&(r=n);return r}function Fon(t,e){var n;return n=av(t.e.c,e.e.c),n==0?Ms(t.e.d,e.e.d):n}function e4(t,e){return e.e==0||t.e==0?s7:(TE(),uat(t,e))}function Non(t,e){if(!t)throw it(new Fn(jwn("Enum constant undefined: %s",e)))}function H9(){H9=Z,Gbe=new xg,Ube=new T3,Hbe=new cK,Vbe=new Vb,Wbe=new uK}function Q$(){Q$=Z,qEt=new Obt("BY_SIZE",0),Hut=new Obt("BY_SIZE_AND_SHAPE",1)}function Z$(){Z$=Z,tlt=new Pbt("EADES",0),gV=new Pbt("FRUCHTERMAN_REINGOLD",1)}function LD(){LD=Z,GV=new Rbt("READING_DIRECTION",0),NTt=new Rbt("ROTATION",1)}function uee(){uee=Z,L2e=Wr((x2(),lt(ct(FTt,1),oe,335,0,[Mlt,PTt,Dlt,vS,wS])))}function lee(){lee=Z,ame=Wr((u_(),lt(ct(N9t,1),oe,315,0,[F9t,xht,kht,DS,IS])))}function hee(){hee=Z,v2e=Wr((b4(),lt(ct(w2e,1),oe,363,0,[$V,qV,HV,zV,jV])))}function fee(){fee=Z,q2e=Wr((dh(),lt(ct(fCt,1),oe,163,0,[MO,ES,bb,TS,jy])))}function dee(){dee=Z,S3e=Wr((uI(),lt(ct(aSt,1),oe,316,0,[rSt,nft,sSt,rft,iSt])))}function gee(){gee=Z,X3e=Wr((Qf(),lt(ct(ip,1),oe,175,0,[qn,ea,Pd,V2,rp])))}function pee(){pee=Z,x3e=Wr((AE(),lt(ct(y3e,1),oe,355,0,[i5,G6,GS,VS,US])))}function bee(){bee=Z,Bbe=Wr((Wa(),lt(ct(I7t,1),oe,356,0,[Dd,gb,cu,qc,Io])))}function wee(){wee=Z,y4e=Wr((ao(),lt(ct(XS,1),oe,103,0,[h0,Cf,zh,ng,rg])))}function vee(){vee=Z,L4e=Wr((l4(),lt(ct(tA,1),oe,249,0,[Eb,iP,IAt,JS,OAt])))}function mee(){mee=Z,I4e=Wr((ve(),lt(ct(Xa,1),xc,61,0,[Zo,Pn,Hn,mr,Bn])))}function uit(t,e){var n;return n=u(tr(t.a,e),134),n||(n=new ka,ki(t.a,e,n)),n}function yee(t){var e;return e=u(Q(t,(ae(),Iv)),305),e?e.a==t:!1}function xee(t){var e;return e=u(Q(t,(ae(),Iv)),305),e?e.i==t:!1}function kee(t,e){return On(e),uvt(t),t.d.Ob()?(e.td(t.d.Pb()),!0):!1}function J$(t){return yc(t,wi)>0?wi:yc(t,Sa)<0?Sa:Ar(t)}function ty(t){return t<3?(jl(t,bfe),t+1):t=0&&e=-.01&&t.a<=B1&&(t.a=0),t.b>=-.01&&t.b<=B1&&(t.b=0),t}function Tee(t,e){return e==(Ant(),Ant(),Yge)?t.toLocaleLowerCase():t.toLowerCase()}function Vmt(t){return(t.i&2?"interface ":t.i&1?"":"class ")+(P0(t),t.o)}function Co(t){var e,n;n=(e=new iet,e),Dr((!t.q&&(t.q=new fe(Wh,t,11,10)),t.q),n)}function Bon(t,e){var n;return n=e>0?e-1:e,yHt(QKe(Kee(qwt(new r8,n),t.n),t.j),t.k)}function Ron(t,e,n,r){var s;t.j=-1,d5t(t,W4t(t,e,n),(to(),s=u(e,66).Mj(),s.Ok(r)))}function Cee(t){this.g=t,this.f=new he,this.a=b.Math.min(this.g.c.c,this.g.d.c)}function _ee(t){this.b=new he,this.a=new he,this.c=new he,this.d=new he,this.e=t}function See(t,e){this.a=new _r,this.e=new _r,this.b=(Z9(),yG),this.c=t,this.b=e}function Aee(t,e,n){Ij.call(this),Gmt(this),this.a=t,this.c=n,this.b=e.d,this.f=e.e}function Lee(t){this.d=t,this.c=t.c.vc().Kc(),this.b=null,this.a=null,this.e=(TR(),Mut)}function Qw(t){if(t<0)throw it(new Fn("Illegal Capacity: "+t));this.g=this.ri(t)}function jon(t,e){if(0>t||t>e)throw it(new ibt("fromIndex: 0, toIndex: "+t+Uxt+e))}function $on(t){var e;if(t.a==t.b.a)throw it(new lc);return e=t.a,t.c=e,t.a=t.a.e,e}function tz(t){var e;Rm(!!t.c),e=t.c.a,lh(t.d,t.c),t.b==t.c?t.b=e:--t.a,t.c=null}function ez(t,e){var n;return w2(t),n=new QXt(t,t.a.rd(),t.a.qd()|4,e),new Tn(t,n)}function zon(t,e){var n,r;return n=u(sy(t.d,e),14),n?(r=e,t.e.pc(r,n)):null}function nz(t,e){var n,r;for(r=t.Kc();r.Ob();)n=u(r.Pb(),70),Jt(n,(ae(),j6),e)}function qon(t){var e;return e=Xt(ye(Q(t,(Te(),Jg)))),e<0&&(e=0,Jt(t,Jg,e)),e}function Hon(t,e,n){var r;r=b.Math.max(0,t.b/2-.5),h_(n,r,1),le(e,new eGt(n,r))}function Von(t,e,n){var r;return r=t.a.e[u(e.a,10).p]-t.a.e[u(n.a,10).p],ps(JM(r))}function Mee(t,e,n,r,s,o){var h;h=Grt(r),Oa(h,s),oa(h,o),ln(t.a,r,new Fj(h,e,n.f))}function Dee(t,e){var n;if(n=mI(t.Tg(),e),!n)throw it(new Fn(lb+e+Wct));return n}function ey(t,e){var n;for(n=t;es(n);)if(n=es(n),n==e)return!0;return!1}function Gon(t,e){var n,r,s;for(r=e.a.cd(),n=u(e.a.dd(),14).gc(),s=0;s0&&(t.a/=e,t.b/=e),t}function Rl(t){var e;return t.w?t.w:(e=tsn(t),e&&!e.kh()&&(t.w=e),e)}function Jon(t){var e;return t==null?null:(e=u(t,190),tgn(e,e.length))}function At(t,e){if(t.g==null||e>=t.i)throw it(new nnt(e,t.i));return t.li(e,t.g[e])}function tcn(t){var e,n;for(e=t.a.d.j,n=t.c.d.j;e!=n;)vf(t.b,e),e=Oz(e);vf(t.b,e)}function ecn(t){var e;for(e=0;e=14&&e<=16))),t}function Fee(t,e,n){var r=function(){return t.apply(r,arguments)};return e.apply(r,n),r}function Nee(t,e,n){var r,s;r=e;do s=Xt(t.p[r.p])+n,t.p[r.p]=s,r=t.a[r.p];while(r!=e)}function H8(t,e){var n,r;r=t.a,n=Fln(t,e,null),r!=e&&!t.e&&(n=PE(t,e,n)),n&&n.Fi()}function Umt(t,e){return k1(),wf(sb),b.Math.abs(t-e)<=sb||t==e||isNaN(t)&&isNaN(e)}function Wmt(t,e){return k1(),wf(sb),b.Math.abs(t-e)<=sb||t==e||isNaN(t)&&isNaN(e)}function icn(t,e){return nb(),pu(t.b.c.length-t.e.c.length,e.b.c.length-e.e.c.length)}function n4(t,e){return nXe(U9(t,e,Ar(_a(i0,Xd(Ar(_a(e==null?0:Hi(e),s0)),15)))))}function Bee(){Bee=Z,Zbe=Wr((Vn(),lt(ct(flt,1),oe,267,0,[Os,ta,ks,Hc,Ll,z1])))}function Ree(){Ree=Z,s4e=Wr((hy(),lt(ct(dft,1),oe,291,0,[fft,XO,KO,hft,WO,YO])))}function jee(){jee=Z,J3e=Wr((t0(),lt(ct(LSt,1),oe,248,0,[uft,GO,UO,WG,GG,UG])))}function $ee(){$ee=Z,C2e=Wr((h6(),lt(ct(b7,1),oe,227,0,[p7,bS,g7,Ny,G4,V4])))}function zee(){zee=Z,N2e=Wr((kE(),lt(ct(QTt,1),oe,275,0,[mS,WTt,XTt,KTt,YTt,UTt])))}function qee(){qee=Z,F2e=Wr((oI(),lt(ct(GTt,1),oe,274,0,[YV,qTt,VTt,zTt,HTt,Rlt])))}function Hee(){Hee=Z,rme=Wr((uq(),lt(ct(I9t,1),oe,313,0,[wht,M9t,bht,L9t,D9t,mG])))}function Vee(){Vee=Z,O2e=Wr((dq(),lt(ct(RTt,1),oe,276,0,[Plt,Olt,Nlt,Flt,Blt,UV])))}function Gee(){Gee=Z,gye=Wr((p_(),lt(ct(dye,1),oe,327,0,[LG,Oht,Fht,Pht,Nht,Iht])))}function Uee(){Uee=Z,D4e=Wr((Zu(),lt(ct(eU,1),oe,273,0,[Cb,sg,sP,nA,eA,Q6])))}function Wee(){Wee=Z,E4e=Wr((hq(),lt(ct(CAt,1),oe,312,0,[Sft,kAt,TAt,yAt,EAt,xAt])))}function scn(){return py(),lt(ct(lo,1),oe,93,0,[_f,ig,Sf,Lf,d0,Hh,Yl,Af,qh])}function iz(t,e){var n;n=t.a,t.a=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,0,n,t.a))}function sz(t,e){var n;n=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,1,n,t.b))}function V8(t,e){var n;n=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,3,n,t.b))}function Jw(t,e){var n;n=t.f,t.f=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,3,n,t.f))}function tv(t,e){var n;n=t.g,t.g=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,4,n,t.g))}function ku(t,e){var n;n=t.i,t.i=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,5,n,t.i))}function Eu(t,e){var n;n=t.j,t.j=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,6,n,t.j))}function G8(t,e){var n;n=t.j,t.j=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,1,n,t.j))}function U8(t,e){var n;n=t.c,t.c=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,4,n,t.c))}function W8(t,e){var n;n=t.k,t.k=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,2,n,t.k))}function hit(t,e){var n;n=t.d,t.d=e,t.Db&4&&!(t.Db&1)&&mi(t,new Rrt(t,2,n,t.d))}function Rg(t,e){var n;n=t.s,t.s=e,t.Db&4&&!(t.Db&1)&&mi(t,new Rrt(t,4,n,t.s))}function ry(t,e){var n;n=t.t,t.t=e,t.Db&4&&!(t.Db&1)&&mi(t,new Rrt(t,5,n,t.t))}function Y8(t,e){var n;n=t.F,t.F=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,5,n,e))}function MD(t,e){var n;return n=u(tr((GR(),dU),t),55),n?n.xj(e):Nt(Qn,De,1,e,5,1)}function H0(t,e){var n,r;return n=e in t.a,n&&(r=B0(t,e).he(),r)?r.a:null}function acn(t,e){var n,r,s;return n=(r=(Sw(),s=new ZT,s),e&&F5t(r,e),r),nyt(n,t),n}function Yee(t,e,n){if(sE(t,n),!t.Bk()&&n!=null&&!t.wj(n))throw it(new tet);return n}function Kee(t,e){return t.n=e,t.n?(t.f=new he,t.e=new he):(t.f=null,t.e=null),t}function jr(t,e,n,r,s,o){var h;return h=rrt(t,e),Qee(n,h),h.i=s?8:0,h.f=r,h.e=s,h.g=o,h}function Ymt(t,e,n,r,s){this.d=e,this.k=r,this.f=s,this.o=-1,this.p=1,this.c=t,this.a=n}function Kmt(t,e,n,r,s){this.d=e,this.k=r,this.f=s,this.o=-1,this.p=2,this.c=t,this.a=n}function Xmt(t,e,n,r,s){this.d=e,this.k=r,this.f=s,this.o=-1,this.p=6,this.c=t,this.a=n}function Qmt(t,e,n,r,s){this.d=e,this.k=r,this.f=s,this.o=-1,this.p=7,this.c=t,this.a=n}function Zmt(t,e,n,r,s){this.d=e,this.j=r,this.e=s,this.o=-1,this.p=4,this.c=t,this.a=n}function Xee(t,e){var n,r,s,o;for(r=e,s=0,o=r.length;s=0),afn(t.d,t.c)<0&&(t.a=t.a-1&t.d.a.length-1,t.b=t.d.c),t.c=-1}function Jmt(t){return t.a<54?t.f<0?-1:t.f>0?1:0:(!t.c&&(t.c=VD(t.f)),t.c).e}function wf(t){if(!(t>=0))throw it(new Fn("tolerance ("+t+") must be >= 0"));return t}function K8(){return oft||(oft=new jue,o4(oft,lt(ct($4,1),De,130,0,[new Tp]))),oft}function so(){so=Z,OS=new zet(N_,0),tl=new zet("INPUT",1),nu=new zet("OUTPUT",2)}function oz(){oz=Z,ITt=new Fet("ARD",0),VV=new Fet("MSD",1),Llt=new Fet("MANUAL",2)}function ev(){ev=Z,RO=new Uet("BARYCENTER",0),FS=new Uet(E1e,1),TG=new Uet(T1e,2)}function DD(t,e){var n;if(n=t.gc(),e<0||e>n)throw it(new qm(e,n));return new wwt(t,e)}function tne(t,e){var n;return _t(e,42)?t.c.Mc(e):(n=ist(t,e),qz(t,e),n)}function bo(t,e,n){return b2(t,e),Qc(t,n),Rg(t,0),ry(t,1),qg(t,!0),zg(t,!0),t}function jl(t,e){if(t<0)throw it(new Fn(e+" cannot be negative but was: "+t));return t}function ene(t,e){var n,r;for(n=0,r=t.gc();n0?u(Ne(n.a,r-1),10):null}function G9(t,e){var n;n=t.k,t.k=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,2,n,t.k))}function uz(t,e){var n;n=t.f,t.f=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,8,n,t.f))}function lz(t,e){var n;n=t.i,t.i=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,7,n,t.i))}function nyt(t,e){var n;n=t.a,t.a=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,8,n,t.a))}function ryt(t,e){var n;n=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,0,n,t.b))}function iyt(t,e){var n;n=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,0,n,t.b))}function syt(t,e){var n;n=t.c,t.c=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,1,n,t.c))}function ayt(t,e){var n;n=t.c,t.c=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,1,n,t.c))}function dit(t,e){var n;n=t.c,t.c=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,4,n,t.c))}function oyt(t,e){var n;n=t.d,t.d=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,1,n,t.d))}function git(t,e){var n;n=t.D,t.D=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,2,n,t.D))}function pit(t,e){t.r>0&&t.c0&&t.g!=0&&pit(t.i,e/t.r*t.i.d))}function pcn(t,e,n){var r;t.b=e,t.a=n,r=(t.a&512)==512?new Vqt:new XL,t.c=Dvn(r,t.b,t.a)}function lne(t,e){return X0(t.e,e)?(to(),ait(e)?new qj(e,t):new BM(e,t)):new nUt(e,t)}function hz(t,e){return eXe(W9(t.a,e,Ar(_a(i0,Xd(Ar(_a(e==null?0:Hi(e),s0)),15)))))}function bcn(t,e,n){return Zm(t,new ge(e),new Kn,new be(n),lt(ct(fl,1),oe,132,0,[]))}function wcn(t){var e,n;return 0>t?new mbt:(e=t+1,n=new PJt(e,t),new Z2t(null,n))}function vcn(t,e){wn();var n;return n=new Lx(1),ra(t)?ko(n,t,e):au(n.f,t,e),new q(n)}function mcn(t,e){var n,r;return n=t.o+t.p,r=e.o+e.p,ne?(e<<=1,e>0?e:D_):e}function bit(t){switch(L2t(t.e!=3),t.e){case 2:return!1;case 0:return!0}return Can(t)}function fne(t,e){var n;return _t(e,8)?(n=u(e,8),t.a==n.a&&t.b==n.b):!1}function wit(t,e,n){var r,s,o;return o=e>>5,s=e&31,r=Ns(Vm(t.n[n][o],Ar(F0(s,1))),3),r}function xcn(t,e){var n,r;for(r=e.vc().Kc();r.Ob();)n=u(r.Pb(),42),aq(t,n.cd(),n.dd())}function kcn(t,e){var n;n=new vp,u(e.b,65),u(e.b,65),u(e.b,65),xu(e.a,new Awt(t,n,e))}function cyt(t,e){var n;n=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,21,n,t.b))}function uyt(t,e){var n;n=t.d,t.d=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,11,n,t.d))}function fz(t,e){var n;n=t.j,t.j=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,13,n,t.j))}function dne(t,e,n){var r,s,o;for(o=t.a.length-1,s=t.b,r=0;r>>31;r!=0&&(t[n]=r)}function Icn(t,e){wn();var n,r;for(r=new he,n=0;n0&&(this.g=this.ri(this.i+(this.i/8|0)+1),t.Qc(this.g))}function ss(t,e){Rj.call(this,E5e,t,e),this.b=this,this.a=ou(t.Tg(),yn(this.e.Tg(),this.c))}function Y9(t,e){var n,r;for(On(e),r=e.vc().Kc();r.Ob();)n=u(r.Pb(),42),t.zc(n.cd(),n.dd())}function qcn(t,e,n){var r;for(r=n.Kc();r.Ob();)if(!O$(t,e,r.Pb()))return!1;return!0}function Hcn(t,e,n,r,s){var o;return n&&(o=Gi(e.Tg(),t.c),s=n.gh(e,-1-(o==-1?r:o),null,s)),s}function Vcn(t,e,n,r,s){var o;return n&&(o=Gi(e.Tg(),t.c),s=n.ih(e,-1-(o==-1?r:o),null,s)),s}function Ine(t){var e;if(t.b==-2){if(t.e==0)e=-1;else for(e=0;t.a[e]==0;e++);t.b=e}return t.b}function One(t){switch(t.g){case 2:return ve(),Bn;case 4:return ve(),Hn;default:return t}}function Pne(t){switch(t.g){case 1:return ve(),mr;case 3:return ve(),Pn;default:return t}}function Gcn(t){var e,n,r;return t.j==(ve(),Pn)&&(e=uce(t),n=Nu(e,Hn),r=Nu(e,Bn),r||r&&n)}function Ucn(t){var e,n;return e=u(t.e&&t.e(),9),n=u(yvt(e,e.length),9),new sh(e,n,e.length)}function Wcn(t,e){vr(e,k1e,1),p3t(dXe(new er((VC(),new hrt(t,!1,!1,new aN))))),or(e)}function ID(t,e){return Nn(),ra(t)?kmt(t,Br(e)):Bm(t)?Unt(t,ye(e)):Nm(t)?Qen(t,Re(e)):t.wd(e)}function pyt(t,e){e.q=t,t.d=b.Math.max(t.d,e.r),t.b+=e.d+(t.a.c.length==0?0:t.c),le(t.a,e)}function Q8(t,e){var n,r,s,o;return s=t.c,n=t.c+t.b,o=t.d,r=t.d+t.a,e.a>s&&e.ao&&e.b1||t.Ob())return++t.a,t.g=0,e=t.i,t.Ob(),e;throw it(new lc)}function sun(t){FUt();var e;return GVt(Dht,t)||(e=new RQ,e.a=t,swt(Dht,t,e)),u(po(Dht,t),635)}function Lh(t){var e,n,r,s;return s=t,r=0,s<0&&(s+=C2,r=Z0),n=ps(s/m6),e=ps(s-n*m6),iu(e,n,r)}function OD(t){var e,n,r;for(r=0,n=new Mx(t.a);n.a>22),s=t.h+e.h+(r>>22),iu(n&hl,r&hl,s&Z0)}function tre(t,e){var n,r,s;return n=t.l-e.l,r=t.m-e.m+(n>>22),s=t.h-e.h+(r>>22),iu(n&hl,r&hl,s&Z0)}function BD(t){var e;return t<128?(e=(pKt(),hEt)[t],!e&&(e=hEt[t]=new hR(t)),e):new hR(t)}function Wi(t){var e;return _t(t,78)?t:(e=t&&t.__java$exception,e||(e=new Hre(t),aqt(e)),e)}function RD(t){if(_t(t,186))return u(t,118);if(t)return null;throw it(new Sx(Kde))}function ere(t,e){if(e==null)return!1;for(;t.a!=t.b;)if(yi(e,Mz(t)))return!0;return!1}function xyt(t){return t.a.Ob()?!0:t.a!=t.d?!1:(t.a=new emt(t.e.f),t.a.Ob())}function Ls(t,e){var n,r;return n=e.Pc(),r=n.length,r==0?!1:(Pwt(t.c,t.c.length,n),!0)}function yun(t,e,n){var r,s;for(s=e.vc().Kc();s.Ob();)r=u(s.Pb(),42),t.yc(r.cd(),r.dd(),n);return t}function nre(t,e){var n,r;for(r=new S(t.b);r.a=0,"Negative initial capacity"),Bj(e>=0,"Non-positive load factor"),Xu(this)}function Sit(t,e,n){return t>=128?!1:t<64?u9(Ns(F0(1,t),n),0):u9(Ns(F0(1,t-64),e),0)}function Lun(t,e){return!t||!e||t==e?!1:av(t.b.c,e.b.c+e.b.b)<0&&av(e.b.c,t.b.c+t.b.b)<0}function gre(t){var e,n,r;return n=t.n,r=t.o,e=t.d,new ah(n.a-e.b,n.b-e.d,r.a+(e.b+e.c),r.b+(e.d+e.a))}function Mun(t){var e,n,r,s;for(n=t.a,r=0,s=n.length;rr)throw it(new qm(e,r));return t.hi()&&(n=DQt(t,n)),t.Vh(e,n)}function zD(t,e,n){return n==null?(!t.q&&(t.q=new _r),Jx(t.q,e)):(!t.q&&(t.q=new _r),ki(t.q,e,n)),t}function Jt(t,e,n){return n==null?(!t.q&&(t.q=new _r),Jx(t.q,e)):(!t.q&&(t.q=new _r),ki(t.q,e,n)),t}function pre(t){var e,n;return n=new B$,Mo(n,t),Jt(n,(Yp(),I6),t),e=new _r,Pyn(t,n,e),a5n(t,n,e),n}function Oun(t){k4();var e,n,r;for(n=Nt(Ws,ee,8,2,0,1),r=0,e=0;e<2;e++)r+=.5,n[e]=g1n(r,t);return n}function bre(t,e){var n,r,s,o;for(n=!1,r=t.a[e].length,o=0;o>=1);return e}function vre(t){var e,n;return n=pI(t.h),n==32?(e=pI(t.m),e==32?pI(t.l)+32:e+20-10):n-12}function Q9(t){var e;return e=t.a[t.b],e==null?null:(ts(t.a,t.b,null),t.b=t.b+1&t.a.length-1,e)}function mre(t){var e,n;return e=t.t-t.k[t.o.p]*t.d+t.j[t.o.p]>t.f,n=t.u+t.e[t.o.p]*t.d>t.f*t.s*t.d,e||n}function _z(t,e,n){var r,s;return r=new Qrt(e,n),s=new zt,t.b=lue(t,t.b,r,s),s.b||++t.c,t.b.b=!1,s.d}function yre(t,e,n){var r,s,o,h;for(h=t_(e,n),o=0,s=h.Kc();s.Ob();)r=u(s.Pb(),11),ki(t.c,r,pe(o++))}function Xp(t){var e,n;for(n=new S(t.a.b);n.an&&(n=t[e]);return n}function xre(t,e,n){var r;return r=new he,R5t(t,e,r,(ve(),Hn),!0,!1),R5t(t,n,r,Bn,!1,!1),r}function Lit(t,e,n){var r,s,o,h;return o=null,h=e,s=Kw(h,"labels"),r=new zGt(t,n),o=(Zbn(r.a,r.b,s),s),o}function Fun(t,e,n,r){var s;return s=C5t(t,e,n,r),!s&&(s=Nln(t,n,r),s&&!C4(t,e,s))?null:s}function Nun(t,e,n,r){var s;return s=_5t(t,e,n,r),!s&&(s=Uit(t,n,r),s&&!C4(t,e,s))?null:s}function kre(t,e){var n;for(n=0;n1||e>=0&&t.b<3)}function qD(t){var e,n,r;for(e=new Pu,r=ei(t,0);r.b!=r.d.c;)n=u(ti(r),8),m8(e,0,new xo(n));return e}function g2(t){var e,n;for(n=new S(t.a.b);n.ar?1:0}function $yt(t,e){return Uce(t,e)?(ln(t.b,u(Q(e,(ae(),By)),21),e),ri(t.a,e),!0):!1}function Yun(t){var e,n;e=u(Q(t,(ae(),Ju)),10),e&&(n=e.c,mu(n.a,e),n.a.c.length==0&&mu(Na(e).b,n))}function Are(t){return $1?Nt(Zge,Mfe,572,0,0,1):u(P1(t.a,Nt(Zge,Mfe,572,t.a.c.length,0,1)),842)}function Kun(t,e,n,r){return c$(),new uet(lt(ct(P2,1),Hq,42,0,[(kst(t,e),new Lw(t,e)),(kst(n,r),new Lw(n,r))]))}function a4(t,e,n){var r,s;return s=(r=new iet,r),bo(s,e,n),Dr((!t.q&&(t.q=new fe(Wh,t,11,10)),t.q),s),s}function Oit(t){var e,n,r,s;for(s=xXe(Z4e,t),n=s.length,r=Nt(Ae,ee,2,n,6,1),e=0;e=t.b.c.length||(zyt(t,2*e+1),n=2*e+2,n=0&&t[r]===e[r];r--);return r<0?0:Cet(Ns(t[r],co),Ns(e[r],co))?-1:1}function Xun(t,e){var n,r;for(r=ei(t,0);r.b!=r.d.c;)n=u(ti(r),214),n.e.length>0&&(e.td(n),n.i&&Vln(n))}function Fit(t,e){var n,r;return r=u(Dn(t.a,4),126),n=Nt(Fft,lut,415,e,0,1),r!=null&&Dc(r,0,n,0,r.length),n}function Mre(t,e){var n;return n=new fat((t.f&256)!=0,t.i,t.a,t.d,(t.f&16)!=0,t.j,t.g,e),t.e!=null||(n.c=t),n}function Qun(t,e){var n,r;for(r=t.Zb().Cc().Kc();r.Ob();)if(n=u(r.Pb(),14),n.Hc(e))return!0;return!1}function Nit(t,e,n,r,s){var o,h;for(h=n;h<=s;h++)for(o=e;o<=r;o++)if(f4(t,o,h))return!0;return!1}function Dre(t,e,n){var r,s,o,h;for(On(n),h=!1,o=t.Zc(e),s=n.Kc();s.Ob();)r=s.Pb(),o.Rb(r),h=!0;return h}function Zun(t,e){var n;return t===e?!0:_t(e,83)?(n=u(e,83),H4t(Rw(t),n.vc())):!1}function Ire(t,e,n){var r,s;for(s=n.Kc();s.Ob();)if(r=u(s.Pb(),42),t.re(e,r.dd()))return!0;return!1}function Ore(t,e,n){return t.d[e.p][n.p]||(Yfn(t,e,n),t.d[e.p][n.p]=!0,t.d[n.p][e.p]=!0),t.a[e.p][n.p]}function sE(t,e){if(!t.ai()&&e==null)throw it(new Fn("The 'no null' constraint is violated"));return e}function aE(t,e){t.D==null&&t.B!=null&&(t.D=t.B,t.B=null),git(t,e==null?null:(On(e),e)),t.C&&t.yk(null)}function Jun(t,e){var n;return!t||t==e||!Us(e,(ae(),Pv))?!1:(n=u(Q(e,(ae(),Pv)),10),n!=t)}function Bit(t){switch(t.i){case 2:return!0;case 1:return!1;case-1:++t.c;default:return t.pl()}}function Pre(t){switch(t.i){case-2:return!0;case-1:return!1;case 1:--t.c;default:return t.ql()}}function Fre(t){TQt.call(this,"The given string does not match the expected format for individual spacings.",t)}function Sl(){Sl=Z,Ql=new uj("ELK",0),qAt=new uj("JSON",1),zAt=new uj("DOT",2),HAt=new uj("SVG",3)}function HD(){HD=Z,NG=new Yet(J0,0),k_t=new Yet("RADIAL_COMPACTION",1),E_t=new Yet("WEDGE_COMPACTION",2)}function O1(){O1=Z,BEt=new _et("CONCURRENT",0),Ul=new _et("IDENTITY_FINISH",1),Iy=new _et("UNORDERED",2)}function Rit(){Rit=Z,f7t=(jR(),Kut),h7t=new mn(o6t,f7t),Xpe=new Vi(c6t),Qpe=new Vi(u6t),Zpe=new Vi(l6t)}function oE(){oE=Z,CTt=new J5,_Tt=new ZK,l2e=new OL,u2e=new JK,c2e=new tX,TTt=(On(c2e),new gn)}function cE(){cE=Z,Aht=new Het("CONSERVATIVE",0),K9t=new Het("CONSERVATIVE_SOFT",1),PS=new Het("SLOPPY",2)}function Sz(){Sz=Z,MAt=new Ow(15),T4e=new eo((ui(),U2),MAt),QS=Y6,_At=o4e,SAt=G2,LAt=c5,AAt=XG}function jit(t,e,n){var r,s,o;for(r=new Zi,o=ei(n,0);o.b!=o.d.c;)s=u(ti(o),8),ri(r,new xo(s));Dre(t,e,r)}function tln(t){var e,n,r;for(e=0,r=Nt(Ws,ee,8,t.b,0,1),n=ei(t,0);n.b!=n.d.c;)r[e++]=u(ti(n),8);return r}function Hyt(t){var e;return e=(!t.a&&(t.a=new fe(ag,t,9,5)),t.a),e.i!=0?vXe(u(At(e,0),678)):null}function eln(t,e){var n;return n=Pa(t,e),Cet(Drt(t,e),0)|PXe(Drt(t,n),0)?n:Pa(qq,Drt(Vm(n,63),1))}function nln(t,e){var n;n=Ie((nst(),vG))!=null&&e.wg()!=null?Xt(ye(e.wg()))/Xt(ye(Ie(vG))):1,ki(t.b,e,n)}function rln(t,e){var n,r;return n=u(t.d.Bc(e),14),n?(r=t.e.hc(),r.Gc(n),t.e.d-=n.gc(),n.$b(),r):null}function Vyt(t,e){var n,r;if(r=t.c[e],r!=0)for(t.c[e]=0,t.d-=r,n=e+1;n0)return T8(e-1,t.a.c.length),Fg(t.a,e-1);throw it(new cqt)}function iln(t,e,n){if(e<0)throw it(new yo(sde+e));ee)throw it(new Fn(Wq+t+Dfe+e));if(t<0||e>n)throw it(new ibt(Wq+t+Yxt+e+Uxt+n))}function Rre(t){if(!t.a||!(t.a.i&8))throw it(new No("Enumeration class expected for layout option "+t.f))}function iy(t){var e;++t.j,t.i==0?t.g=null:t.ikH?t-n>kH:n-t>kH}function zit(t,e){return!t||e&&!t.j||_t(t,124)&&u(t,124).a.b==0?0:t.Re()}function Lz(t,e){return!t||e&&!t.k||_t(t,124)&&u(t,124).a.a==0?0:t.Se()}function VD(t){return rb(),t<0?t!=-1?new j3t(-1,-t):But:t<=10?CEt[ps(t)]:new j3t(1,t)}function Uyt(t){throw _it(),it(new eHt("Unexpected typeof result '"+t+"'; please report this bug to the GWT team"))}function Hre(t){oHt(),yj(this),d$(this),this.e=t,nue(this,t),this.g=t==null?_u:$o(t),this.a="",this.b=t,this.a=""}function Wyt(){this.a=new vZ,this.f=new X$t(this),this.b=new Q$t(this),this.i=new Z$t(this),this.e=new J$t(this)}function Vre(){dKe.call(this,new Mmt(ty(16))),jl(2,ffe),this.b=2,this.a=new Lvt(null,null,0,null),dM(this.a,this.a)}function Z9(){Z9=Z,vht=new jet("DUMMY_NODE_OVER",0),O9t=new jet("DUMMY_NODE_UNDER",1),yG=new jet("EQUAL",2)}function qit(){qit=Z,olt=_Qt(lt(ct(XS,1),oe,103,0,[(ao(),zh),Cf])),clt=_Qt(lt(ct(XS,1),oe,103,0,[rg,ng]))}function Hit(t){return(ve(),Au).Hc(t.j)?Xt(ye(Q(t,(ae(),k7)))):Yo(lt(ct(Ws,1),ee,8,0,[t.i.n,t.n,t.a])).b}function uln(t){var e,n,r,s;for(r=t.b.a,n=r.a.ec().Kc();n.Ob();)e=u(n.Pb(),561),s=new Nce(e,t.e,t.f),le(t.g,s)}function b2(t,e){var n,r,s;r=t.nk(e,null),s=null,e&&(s=(c8(),n=new xw,n),H8(s,t.r)),r=F1(t,s,r),r&&r.Fi()}function lln(t,e){var n,r;for(r=ul(t.d,1)!=0,n=!0;n;)n=!1,n=e.c.Tf(e.e,r),n=n|yI(t,e,r,!1),r=!r;hyt(t)}function Yyt(t,e){var n,r,s;return r=!1,n=e.q.d,e.ds&&(bae(e.q,s),r=n!=e.q.d)),r}function Gre(t,e){var n,r,s,o,h,d,v,k;return v=e.i,k=e.j,r=t.f,s=r.i,o=r.j,h=v-s,d=k-o,n=b.Math.sqrt(h*h+d*d),n}function Kyt(t,e){var n,r;return r=Hz(t),r||(n=(Fat(),woe(e)),r=new Jzt(n),Dr(r.Vk(),t)),r}function GD(t,e){var n,r;return n=u(t.c.Bc(e),14),n?(r=t.hc(),r.Gc(n),t.d-=n.gc(),n.$b(),t.mc(r)):t.jc()}function Ure(t,e){var n;for(n=0;n=t.c.b:t.a<=t.c.b))throw it(new lc);return e=t.a,t.a+=t.c.c,++t.b,pe(e)}function dln(t){var e;return e=new Cee(t),hD(t.a,Wbe,new yl(lt(ct(mO,1),De,369,0,[e]))),e.d&&le(e.f,e.d),e.f}function Vit(t){var e;return e=new b2t(t.a),Mo(e,t),Jt(e,(ae(),_i),t),e.o.a=t.g,e.o.b=t.f,e.n.a=t.i,e.n.b=t.j,e}function gln(t,e,n,r){var s,o;for(o=t.Kc();o.Ob();)s=u(o.Pb(),70),s.n.a=e.a+(r.a-s.o.a)/2,s.n.b=e.b,e.b+=s.o.b+n}function pln(t,e,n){var r,s;for(s=e.a.a.ec().Kc();s.Ob();)if(r=u(s.Pb(),57),sQt(t,r,n))return!0;return!1}function bln(t){var e,n;for(n=new S(t.r);n.a=0?e:-e;r>0;)r%2==0?(n*=n,r=r/2|0):(s*=n,r-=1);return e<0?1/s:s}function yln(t,e){var n,r,s;for(s=1,n=t,r=e>=0?e:-e;r>0;)r%2==0?(n*=n,r=r/2|0):(s*=n,r-=1);return e<0?1/s:s}function Jre(t){var e,n;if(t!=null)for(n=0;n0&&(n=u(Ne(t.a,t.a.c.length-1),570),$yt(n,e))||le(t.a,new IJt(e))}function Cln(t){df();var e,n;e=t.d.c-t.e.c,n=u(t.g,145),xu(n.b,new AC(e)),xu(n.c,new Yb(e)),va(n.i,new dR(e))}function rie(t){var e;return e=new Mp,e.a+="VerticalSegment ",hc(e,t.e),e.a+=" ",Gr(e,_2t(new vet,new S(t.k))),e.a}function _ln(t){var e;return e=u(Xw(t.c.c,""),229),e||(e=new Yx(o8(a8(new xm,""),"Other")),m2(t.c.c,"",e)),e}function J9(t){var e;return t.Db&64?mf(t):(e=new _h(mf(t)),e.a+=" (name: ",go(e,t.zb),e.a+=")",e.a)}function t3t(t,e,n){var r,s;return s=t.sb,t.sb=e,t.Db&4&&!(t.Db&1)&&(r=new Js(t,1,4,s,e),n?n.Ei(r):n=r),n}function Git(t,e){var n,r,s;for(n=0,s=Ko(t,e).Kc();s.Ob();)r=u(s.Pb(),11),n+=Q(r,(ae(),Ju))!=null?1:0;return n}function c4(t,e,n){var r,s,o;for(r=0,o=ei(t,0);o.b!=o.d.c&&(s=Xt(ye(ti(o))),!(s>n));)s>=e&&++r;return r}function Sln(t,e,n){var r,s;return r=new z0(t.e,3,13,null,(s=e.c,s||(dn(),W1)),Hg(t,e),!1),n?n.Ei(r):n=r,n}function Aln(t,e,n){var r,s;return r=new z0(t.e,4,13,(s=e.c,s||(dn(),W1)),null,Hg(t,e),!1),n?n.Ei(r):n=r,n}function e3t(t,e,n){var r,s;return s=t.r,t.r=e,t.Db&4&&!(t.Db&1)&&(r=new Js(t,1,8,s,t.r),n?n.Ei(r):n=r),n}function $g(t,e){var n,r;return n=u(e,676),r=n.vk(),!r&&n.wk(r=_t(e,88)?new JGt(t,u(e,26)):new yZt(t,u(e,148))),r}function UD(t,e,n){var r;t.qi(t.i+1),r=t.oi(e,n),e!=t.i&&Dc(t.g,e,t.g,e+1,t.i-e),ts(t.g,e,r),++t.i,t.bi(e,n),t.ci()}function Lln(t,e){var n;return e.a&&(n=e.a.a.length,t.a?Gr(t.a,t.b):t.a=new Ol(t.d),kZt(t.a,e.a,e.d.length,n)),t}function Mln(t,e){var n,r,s,o;if(e.vi(t.a),o=u(Dn(t.a,8),1936),o!=null)for(n=o,r=0,s=n.length;rn)throw it(new yo(Wq+t+Yxt+e+", size: "+n));if(t>e)throw it(new Fn(Wq+t+Dfe+e))}function fh(t,e,n){if(e<0)i5t(t,n);else{if(!n.Ij())throw it(new Fn(lb+n.ne()+X_));u(n,66).Nj().Vj(t,t.yh(),e)}}function Oln(t,e,n,r,s,o,h,d){var v;for(v=n;o=r||e=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t>=48&&t<=57?t-48:0}function lie(t){var e;return t.Db&64?mf(t):(e=new _h(mf(t)),e.a+=" (source: ",go(e,t.d),e.a+=")",e.a)}function Fln(t,e,n){var r,s;return s=t.a,t.a=e,t.Db&4&&!(t.Db&1)&&(r=new Js(t,1,5,s,t.a),n?T4t(n,r):n=r),n}function zg(t,e){var n;n=(t.Bb&256)!=0,e?t.Bb|=256:t.Bb&=-257,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,2,n,e))}function r3t(t,e){var n;n=(t.Bb&256)!=0,e?t.Bb|=256:t.Bb&=-257,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,8,n,e))}function Iz(t,e){var n;n=(t.Bb&256)!=0,e?t.Bb|=256:t.Bb&=-257,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,8,n,e))}function qg(t,e){var n;n=(t.Bb&512)!=0,e?t.Bb|=512:t.Bb&=-513,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,3,n,e))}function i3t(t,e){var n;n=(t.Bb&512)!=0,e?t.Bb|=512:t.Bb&=-513,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,9,n,e))}function e_(t,e){var n;return t.b==-1&&t.a&&(n=t.a.Gj(),t.b=n?t.c.Xg(t.a.aj(),n):Gi(t.c.Tg(),t.a)),t.c.Og(t.b,e)}function pe(t){var e,n;return t>-129&&t<128?(e=t+128,n=(cKt(),fEt)[e],!n&&(n=fEt[e]=new uM(t)),n):new uM(t)}function uE(t){var e,n;return t>-129&&t<128?(e=t+128,n=(gKt(),bEt)[e],!n&&(n=bEt[e]=new fR(t)),n):new fR(t)}function s3t(t){var e,n;return e=t.k,e==(Vn(),ks)?(n=u(Q(t,(ae(),oc)),61),n==(ve(),Pn)||n==mr):!1}function Nln(t,e,n){var r,s,o;return o=(s=_E(t.b,e),s),o&&(r=u(Pq(TD(t,o),""),26),r)?C5t(t,r,e,n):null}function Uit(t,e,n){var r,s,o;return o=(s=_E(t.b,e),s),o&&(r=u(Pq(TD(t,o),""),26),r)?_5t(t,r,e,n):null}function hie(t,e){var n,r;for(r=new nr(t);r.e!=r.i.gc();)if(n=u(dr(r),138),Vt(e)===Vt(n))return!0;return!1}function n_(t,e,n){var r;if(r=t.gc(),e>r)throw it(new qm(e,r));if(t.hi()&&t.Hc(n))throw it(new Fn(eO));t.Xh(e,n)}function Bln(t,e){var n;if(n=n4(t.i,e),n==null)throw it(new ud("Node did not exist in input."));return byt(e,n),null}function Rln(t,e){var n;if(n=mI(t,e),_t(n,322))return u(n,34);throw it(new Fn(lb+e+"' is not a valid attribute"))}function jln(t,e,n){var r,s;for(s=_t(e,99)&&u(e,18).Bb&Ka?new rnt(e,t):new tE(e,t),r=0;re?1:t==e?t==0?Ms(1/t,1/e):0:isNaN(t)?isNaN(e)?0:1:-1}function Yln(t,e){vr(e,"Sort end labels",1),ls(Ri(Wo(new Tn(null,new _n(t.b,16)),new cN),new K5),new AK),or(e)}function r_(t,e,n){var r,s;return t.ej()?(s=t.fj(),r=Jst(t,e,n),t.$i(t.Zi(7,pe(n),r,e,s)),r):Jst(t,e,n)}function Wit(t,e){var n,r,s;t.d==null?(++t.e,--t.f):(s=e.cd(),n=e.Sh(),r=(n&wi)%t.d.length,Dan(t,r,Lce(t,r,n,s)))}function lE(t,e){var n;n=(t.Bb&xf)!=0,e?t.Bb|=xf:t.Bb&=-1025,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,10,n,e))}function hE(t,e){var n;n=(t.Bb&Ey)!=0,e?t.Bb|=Ey:t.Bb&=-4097,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,12,n,e))}function fE(t,e){var n;n=(t.Bb&Hu)!=0,e?t.Bb|=Hu:t.Bb&=-8193,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,15,n,e))}function dE(t,e){var n;n=(t.Bb&Dy)!=0,e?t.Bb|=Dy:t.Bb&=-2049,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,11,n,e))}function Kln(t,e){var n;return n=Ms(t.b.c,e.b.c),n!=0||(n=Ms(t.a.a,e.a.a),n!=0)?n:Ms(t.a.b,e.a.b)}function Xln(t,e){var n;if(n=tr(t.k,e),n==null)throw it(new ud("Port did not exist in input."));return byt(e,n),null}function Qln(t){var e,n;for(n=Pce(Rl(t)).Kc();n.Ob();)if(e=Br(n.Pb()),k_(t,e))return san((HVt(),l5e),e);return null}function Zln(t,e){var n,r,s,o,h;for(h=ou(t.e.Tg(),e),o=0,n=u(t.g,119),s=0;s>10)+RI&ys,e[1]=(t&1023)+56320&ys,Mh(e,0,e.length)}function Pz(t){var e,n;return n=u(Q(t,(Te(),Wl)),103),n==(ao(),h0)?(e=Xt(ye(Q(t,rG))),e>=1?Cf:ng):n}function ehn(t){switch(u(Q(t,(Te(),eg)),218).g){case 1:return new YX;case 3:return new JX;default:return new WX}}function w2(t){if(t.c)w2(t.c);else if(t.d)throw it(new No("Stream already terminated, can't be modified or used"))}function Xit(t){var e;return t.Db&64?mf(t):(e=new _h(mf(t)),e.a+=" (identifier: ",go(e,t.k),e.a+=")",e.a)}function pie(t,e,n){var r,s;return r=(Sw(),s=new xp,s),iz(r,e),sz(r,n),t&&Dr((!t.a&&(t.a=new As(Gh,t,5)),t.a),r),r}function Qit(t,e,n,r){var s,o;return On(r),On(n),s=t.xc(e),o=s==null?n:MVt(u(s,15),u(n,14)),o==null?t.Bc(e):t.zc(e,o),o}function un(t){var e,n,r,s;return n=(e=u(Vf((r=t.gm,s=r.f,s==Hr?r:s)),9),new sh(e,u(ff(e,e.length),9),0)),vf(n,t),n}function nhn(t,e,n){var r,s;for(s=t.a.ec().Kc();s.Ob();)if(r=u(s.Pb(),10),ND(n,u(Ne(e,r.p),14)))return r;return null}function rhn(t,e,n){var r;try{Bun(t,e,n)}catch(s){throw s=Wi(s),_t(s,597)?(r=s,it(new dmt(r))):it(s)}return e}function Jp(t,e){var n;return Bo(t)&&Bo(e)&&(n=t-e,BI>1,t.k=n-1>>1}function Zit(){M4t();var t,e,n;n=Jxn+++Date.now(),t=ps(b.Math.floor(n*$I))&Uq,e=ps(n-t*Gxt),this.a=t^1502,this.b=e^Eot}function U0(t){var e,n,r;for(e=new he,r=new S(t.j);r.a34028234663852886e22?as:e<-34028234663852886e22?Cs:e}function bie(t){return t-=t>>1&1431655765,t=(t>>2&858993459)+(t&858993459),t=(t>>4)+t&252645135,t+=t>>8,t+=t>>16,t&63}function wie(t){var e,n,r,s;for(e=new QWt(t.Hd().gc()),s=0,r=e6(t.Hd().Kc());r.Ob();)n=r.Pb(),vin(e,n,pe(s++));return Hgn(e.a)}function uhn(t,e){var n,r,s;for(s=new _r,r=e.vc().Kc();r.Ob();)n=u(r.Pb(),42),ki(s,n.cd(),tun(t,u(n.dd(),15)));return s}function h3t(t,e){t.n.c.length==0&&le(t.n,new E$(t.s,t.t,t.i)),le(t.b,e),W3t(u(Ne(t.n,t.n.c.length-1),211),e),Sle(t,e)}function u4(t){return(t.c!=t.b.b||t.i!=t.g.b)&&(t.a.c=Nt(Qn,De,1,0,5,1),Ls(t.a,t.b),Ls(t.a,t.g),t.c=t.b.b,t.i=t.g.b),t.a}function Jit(t,e){var n,r,s;for(s=0,r=u(e.Kb(t),20).Kc();r.Ob();)n=u(r.Pb(),17),je(Re(Q(n,(ae(),q1))))||++s;return s}function lhn(t,e){var n,r,s;r=t4(e),s=Xt(ye(oy(r,(Te(),Tf)))),n=b.Math.max(0,s/2-.5),h_(e,n,1),le(t,new uGt(e,n))}function dh(){dh=Z,MO=new MM(J0,0),ES=new MM("FIRST",1),bb=new MM(C1e,2),TS=new MM("LAST",3),jy=new MM(_1e,4)}function W0(){W0=Z,Cft=new sj(N_,0),eP=new sj("POLYLINE",1),N7=new sj("ORTHOGONAL",2),X6=new sj("SPLINES",3)}function Fz(){Fz=Z,z_t=new Xet("ASPECT_RATIO_DRIVEN",0),Qht=new Xet("MAX_SCALE_DRIVEN",1),$_t=new Xet("AREA_DRIVEN",2)}function KD(){KD=Z,jG=new Qet("P1_STRUCTURE",0),$G=new Qet("P2_PROCESSING_ORDER",1),zG=new Qet("P3_EXECUTION",2)}function Nz(){Nz=Z,Ght=new Wet("OVERLAP_REMOVAL",0),Hht=new Wet("COMPACTION",1),Vht=new Wet("GRAPH_SIZE_CALCULATION",2)}function av(t,e){return k1(),wf(sb),b.Math.abs(t-e)<=sb||t==e||isNaN(t)&&isNaN(e)?0:te?1:Iw(isNaN(t),isNaN(e))}function vie(t,e){var n,r;for(n=ei(t,0);n.b!=n.d.c;){if(r=pM(ye(ti(n))),r==e)return;if(r>e){Ort(n);break}}eD(n,e)}function an(t,e){var n,r,s,o,h;if(n=e.f,m2(t.c.d,n,e),e.g!=null)for(s=e.g,o=0,h=s.length;oe&&r.ue(t[o-1],t[o])>0;--o)h=t[o],ts(t,o,t[o-1]),ts(t,o-1,h)}function gh(t,e,n,r){if(e<0)M5t(t,n,r);else{if(!n.Ij())throw it(new Fn(lb+n.ne()+X_));u(n,66).Nj().Tj(t,t.yh(),e,r)}}function Bz(t,e){if(e==t.d)return t.e;if(e==t.e)return t.d;throw it(new Fn("Node "+e+" not part of edge "+t))}function fhn(t,e){switch(e.g){case 2:return t.b;case 1:return t.c;case 4:return t.d;case 3:return t.a;default:return!1}}function mie(t,e){switch(e.g){case 2:return t.b;case 1:return t.c;case 4:return t.d;case 3:return t.a;default:return!1}}function f3t(t,e,n,r){switch(e){case 3:return t.f;case 4:return t.g;case 5:return t.i;case 6:return t.j}return n3t(t,e,n,r)}function dhn(t){return t.k!=(Vn(),Os)?!1:N8(new Tn(null,new jw(new ar(lr(Ds(t).a.Kc(),new z)))),new $N)}function ghn(t){return t.e==null?t:(!t.c&&(t.c=new fat((t.f&256)!=0,t.i,t.a,t.d,(t.f&16)!=0,t.j,t.g,null)),t.c)}function phn(t,e){return t.h==NI&&t.m==0&&t.l==0?(e&&(hb=iu(0,0,0)),yUt((q8(),aEt))):(e&&(hb=iu(t.l,t.m,t.h)),iu(0,0,0))}function $o(t){var e;return Array.isArray(t)&&t.im===Et?Ip(ol(t))+"@"+(e=Hi(t)>>>0,e.toString(16)):t.toString()}function i_(t){var e;this.a=(e=u(t.e&&t.e(),9),new sh(e,u(ff(e,e.length),9),0)),this.b=Nt(Qn,De,1,this.a.a.length,5,1)}function bhn(t){var e,n,r;for(this.a=new O0,r=new S(t);r.a0&&(Rr(e-1,t.length),t.charCodeAt(e-1)==58)&&!tst(t,oA,cA))}function tst(t,e,n){var r,s;for(r=0,s=t.length;r=s)return e.c+n;return e.c+e.b.gc()}function xhn(t,e){y8();var n,r,s,o;for(r=Ote(t),s=e,$8(r,0,r.length,s),n=0;n0&&(r+=s,++n);return n>1&&(r+=t.d*(n-1)),r}function g3t(t){var e,n,r;for(r=new Ag,r.a+="[",e=0,n=t.gc();e0&&this.b>0&&Kwt(this.c,this.b,this.a)}function w3t(t){nst(),this.c=A1(lt(ct(w6n,1),De,831,0,[eme])),this.b=new _r,this.a=t,ki(this.b,vG,1),xu(nme,new czt(this))}function yie(t,e){var n;return t.d?Tl(t.b,e)?u(tr(t.b,e),51):(n=e.Kf(),ki(t.b,e,n),n):e.Kf()}function v3t(t,e){var n;return Vt(t)===Vt(e)?!0:_t(e,91)?(n=u(e,91),t.e==n.e&&t.d==n.d&&oan(t,n.a)):!1}function a6(t){switch(ve(),t.g){case 4:return Pn;case 1:return Hn;case 3:return mr;case 2:return Bn;default:return Zo}}function m3t(t,e){switch(e){case 3:return t.f!=0;case 4:return t.g!=0;case 5:return t.i!=0;case 6:return t.j!=0}return vyt(t,e)}function Shn(t){switch(t.g){case 0:return new gZ;case 1:return new tB;default:throw it(new Fn(Ict+(t.f!=null?t.f:""+t.g)))}}function xie(t){switch(t.g){case 0:return new JN;case 1:return new eB;default:throw it(new Fn(Yot+(t.f!=null?t.f:""+t.g)))}}function kie(t){switch(t.g){case 0:return new Qpt;case 1:return new Oqt;default:throw it(new Fn(_H+(t.f!=null?t.f:""+t.g)))}}function Ahn(t){switch(t.g){case 1:return new uZ;case 2:return new jWt;default:throw it(new Fn(Ict+(t.f!=null?t.f:""+t.g)))}}function Lhn(t){var e,n;if(t.b)return t.b;for(n=$1?null:t.d;n;){if(e=$1?null:n.b,e)return e;n=$1?null:n.d}return d8(),NEt}function Mhn(t){var e,n,r;return t.e==0?0:(e=t.d<<5,n=t.a[t.d-1],t.e<0&&(r=Ine(t),r==t.d-1&&(--n,n=n|0)),e-=pI(n),e)}function Dhn(t){var e,n,r;return t>5,e=t&31,r=Nt(Cr,Xr,25,n+1,15,1),r[n]=1<3;)s*=10,--o;t=(t+(s>>1))/s|0}return r.i=t,!0}function Ohn(t){return qit(),Nn(),!!(mie(u(t.a,81).j,u(t.b,103))||u(t.a,81).d.e!=0&&mie(u(t.a,81).j,u(t.b,103)))}function Phn(t){V$(),u(t.We((ui(),xb)),174).Hc((ll(),iU))&&(u(t.We(Qy),174).Fc((Zu(),Q6)),u(t.We(xb),174).Mc(iU))}function Tie(t,e){var n,r;if(e){for(n=0;n=0;--r)for(e=n[r],s=0;s>1,this.k=e-1>>1}function $hn(t,e){vr(e,"End label post-processing",1),ls(Ri(Wo(new Tn(null,new _n(t.b,16)),new kK),new EK),new TK),or(e)}function zhn(t,e,n){var r,s;return r=Xt(t.p[e.i.p])+Xt(t.d[e.i.p])+e.n.b+e.a.b,s=Xt(t.p[n.i.p])+Xt(t.d[n.i.p])+n.n.b+n.a.b,s-r}function qhn(t,e,n){var r,s;for(r=Ns(n,co),s=0;yc(r,0)!=0&&s0&&(Rr(0,e.length),e.charCodeAt(0)==43)?e.substr(1):e))}function Vhn(t){var e;return t==null?null:new Rp((e=$c(t,!0),e.length>0&&(Rr(0,e.length),e.charCodeAt(0)==43)?e.substr(1):e))}function _3t(t,e){var n;return t.i>0&&(e.lengtht.i&&ts(e,t.i,null),e}function Zc(t,e,n){var r,s,o;return t.ej()?(r=t.i,o=t.fj(),UD(t,r,e),s=t.Zi(3,null,e,r,o),n?n.Ei(s):n=s):UD(t,t.i,e),n}function Ghn(t,e,n){var r,s;return r=new z0(t.e,4,10,(s=e.c,_t(s,88)?u(s,26):(dn(),Kh)),null,Hg(t,e),!1),n?n.Ei(r):n=r,n}function Uhn(t,e,n){var r,s;return r=new z0(t.e,3,10,null,(s=e.c,_t(s,88)?u(s,26):(dn(),Kh)),Hg(t,e),!1),n?n.Ei(r):n=r,n}function Sie(t){$m();var e;return e=new xo(u(t.e.We((ui(),c5)),8)),t.B.Hc((ll(),R7))&&(e.a<=0&&(e.a=20),e.b<=0&&(e.b=20)),e}function Aie(t){cy();var e;return(t.q?t.q:(wn(),wn(),u0))._b((Te(),Bv))?e=u(Q(t,Bv),197):e=u(Q(Na(t),AS),197),e}function oy(t,e){var n,r;return r=null,Us(t,(Te(),bG))&&(n=u(Q(t,bG),94),n.Xe(e)&&(r=n.We(e))),r==null&&(r=Q(Na(t),e)),r}function Lie(t,e){var n,r,s;return _t(e,42)?(n=u(e,42),r=n.cd(),s=sy(t.Rc(),r),pd(s,n.dd())&&(s!=null||t.Rc()._b(r))):!1}function ist(t,e){var n,r,s;return t.f>0?(t.qj(),r=e==null?0:Hi(e),s=(r&wi)%t.d.length,n=Lce(t,s,r,e),n!=-1):!1}function Xf(t,e){var n,r,s;return t.f>0&&(t.qj(),r=e==null?0:Hi(e),s=(r&wi)%t.d.length,n=l5t(t,s,r,e),n)?n.dd():null}function XD(t,e){var n,r,s,o;for(o=ou(t.e.Tg(),e),n=u(t.g,119),s=0;s1?S1(F0(e.a[1],32),Ns(e.a[0],co)):Ns(e.a[0],co),Yw(_a(e.e,n))))}function QD(t,e){var n;return Bo(t)&&Bo(e)&&(n=t%e,BI>5,e&=31,s=t.d+n+(e==0?0:1),r=Nt(Cr,Xr,25,s,15,1),W0n(r,t.a,n,e),o=new X3(t.e,s,r),N9(o),o}function A3t(t,e,n){var r,s;r=u(Nc(z7,e),117),s=u(Nc(gA,e),117),n?(ko(z7,t,r),ko(gA,t,s)):(ko(gA,t,r),ko(z7,t,s))}function Nie(t,e,n){var r,s,o;for(s=null,o=t.b;o;){if(r=t.a.ue(e,o.d),n&&r==0)return o;r>=0?o=o.a[1]:(s=o,o=o.a[0])}return s}function Bie(t,e,n){var r,s,o;for(s=null,o=t.b;o;){if(r=t.a.ue(e,o.d),n&&r==0)return o;r<=0?o=o.a[0]:(s=o,o=o.a[1])}return s}function Qhn(t,e,n,r){var s,o,h;return s=!1,I4n(t.f,n,r)&&(kfn(t.f,t.a[e][n],t.a[e][r]),o=t.a[e],h=o[r],o[r]=o[n],o[n]=h,s=!0),s}function L3t(t,e,n,r,s){var o,h,d;for(h=s;e.b!=e.c;)o=u(Hx(e),10),d=u(Ko(o,r).Xb(0),11),t.d[d.p]=h++,n.c[n.c.length]=d;return h}function M3t(t,e,n){var r,s,o,h,d;return h=t.k,d=e.k,r=n[h.g][d.g],s=ye(oy(t,r)),o=ye(oy(e,r)),b.Math.max((On(s),s),(On(o),o))}function Zhn(t,e,n){var r,s,o,h;for(r=n/t.c.length,s=0,h=new S(t);h.a2e3&&(Pge=t,JH=b.setTimeout(sXe,10))),ZH++==0?(Oon((nbt(),rEt)),!0):!1}function tfn(t,e){var n,r,s;for(r=new ar(lr(Ds(t).a.Kc(),new z));zr(r);)if(n=u(Mr(r),17),s=n.d.i,s.c==e)return!1;return!0}function D3t(t,e){var n,r;if(_t(e,245)){r=u(e,245);try{return n=t.vd(r),n==0}catch(s){if(s=Wi(s),!_t(s,205))throw it(s)}}return!1}function efn(){return Error.stackTraceLimit>0?(b.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error}function nfn(t,e){return k1(),k1(),wf(sb),(b.Math.abs(t-e)<=sb||t==e||isNaN(t)&&isNaN(e)?0:te?1:Iw(isNaN(t),isNaN(e)))>0}function I3t(t,e){return k1(),k1(),wf(sb),(b.Math.abs(t-e)<=sb||t==e||isNaN(t)&&isNaN(e)?0:te?1:Iw(isNaN(t),isNaN(e)))<0}function $ie(t,e){return k1(),k1(),wf(sb),(b.Math.abs(t-e)<=sb||t==e||isNaN(t)&&isNaN(e)?0:te?1:Iw(isNaN(t),isNaN(e)))<=0}function ast(t,e){for(var n=0;!e[n]||e[n]=="";)n++;for(var r=e[n++];nvot)return n.fh();if(r=n.Zg(),r||n==t)break}return r}function O3t(t){return C$(),_t(t,156)?u(tr(dP,Uge),288).vg(t):Tl(dP,ol(t))?u(tr(dP,ol(t)),288).vg(t):null}function ifn(t){if(Vz(XE,t))return Nn(),r7;if(Vz(Vct,t))return Nn(),F2;throw it(new Fn("Expecting true or false"))}function sfn(t,e){if(e.c==t)return e.d;if(e.d==t)return e.c;throw it(new Fn("Input edge is not connected to the input port."))}function Uie(t,e){return t.e>e.e?1:t.ee.d?t.e:t.d=48&&t<48+b.Math.min(10,10)?t-48:t>=97&&t<97?t-97+10:t>=65&&t<65?t-65+10:-1}function Yie(t,e){var n;return Vt(e)===Vt(t)?!0:!_t(e,21)||(n=u(e,21),n.gc()!=t.gc())?!1:t.Ic(n)}function afn(t,e){var n,r,s,o;return r=t.a.length-1,n=e-t.b&r,o=t.c-e&r,s=t.c-t.b&r,TWt(n=o?(sln(t,e),-1):(aln(t,e),1)}function ofn(t,e){var n,r;for(n=(Rr(e,t.length),t.charCodeAt(e)),r=e+1;re.e?1:t.fe.f?1:Hi(t)-Hi(e)}function Vz(t,e){return On(t),e==null?!1:hn(t,e)?!0:t.length==e.length&&hn(t.toLowerCase(),e.toLowerCase())}function bfn(t,e){var n,r,s,o;for(r=0,s=e.gc();r0&&yc(t,128)<0?(e=Ar(t)+128,n=(dKt(),dEt)[e],!n&&(n=dEt[e]=new Am(t)),n):new Am(t)}function Xie(t,e){var n,r;return n=e.Hh(t.a),n&&(r=Br(Xf((!n.b&&(n.b=new kl((dn(),Qa),cc,n)),n.b),ci)),r!=null)?r:e.ne()}function wfn(t,e){var n,r;return n=e.Hh(t.a),n&&(r=Br(Xf((!n.b&&(n.b=new kl((dn(),Qa),cc,n)),n.b),ci)),r!=null)?r:e.ne()}function vfn(t,e){_rt();var n,r;for(r=new ar(lr(U0(t).a.Kc(),new z));zr(r);)if(n=u(Mr(r),17),n.d.i==e||n.c.i==e)return n;return null}function N3t(t,e,n){this.c=t,this.f=new he,this.e=new Ca,this.j=new Gwt,this.n=new Gwt,this.b=e,this.g=new ah(e.c,e.d,e.b,e.a),this.a=n}function ost(t){var e,n,r,s;for(this.a=new O0,this.d=new Hs,this.e=0,n=t,r=0,s=n.length;r0):!1}function Jie(t){var e;Vt(qe(t,(ui(),s5)))===Vt((G0(),tU))&&(es(t)?(e=u(qe(es(t),s5),334),wo(t,s5,e)):wo(t,s5,ZS))}function kfn(t,e,n){var r,s;qst(t.e,e,n,(ve(),Bn)),qst(t.i,e,n,Hn),t.a&&(s=u(Q(e,(ae(),_i)),11),r=u(Q(n,_i),11),Irt(t.g,s,r))}function tse(t,e,n){var r,s,o;r=e.c.p,o=e.p,t.b[r][o]=new wQt(t,e),n&&(t.a[r][o]=new e8(e),s=u(Q(e,(ae(),Pv)),10),s&&ln(t.d,s,e))}function ese(t,e){var n,r,s;if(le(dV,t),e.Fc(t),n=u(tr(Jut,t),21),n)for(s=n.Kc();s.Ob();)r=u(s.Pb(),33),Ro(dV,r,0)!=-1||ese(r,e)}function Efn(t,e,n){var r;(Jge?(Lhn(t),!0):tpe||npe?(d8(),!0):epe&&(d8(),!1))&&(r=new LYt(e),r.b=n,_gn(t,r))}function cst(t,e){var n;n=!t.A.Hc((Al(),K2))||t.q==(ua(),Gc),t.u.Hc((Zu(),sg))?n?G5n(t,e):Dhe(t,e):t.u.Hc(Cb)&&(n?l5n(t,e):Ghe(t,e))}function bE(t,e){var n,r;if(++t.j,e!=null&&(n=(r=t.a.Cb,_t(r,97)?u(r,97).Jg():null),vbn(e,n))){o6(t.a,4,n);return}o6(t.a,4,u(e,126))}function nse(t,e,n){return new ah(b.Math.min(t.a,e.a)-n/2,b.Math.min(t.b,e.b)-n/2,b.Math.abs(t.a-e.a)+n,b.Math.abs(t.b-e.b)+n)}function Tfn(t,e){var n,r;return n=pu(t.a.c.p,e.a.c.p),n!=0?n:(r=pu(t.a.d.i.p,e.a.d.i.p),r!=0?r:pu(e.a.d.p,t.a.d.p))}function Cfn(t,e,n){var r,s,o,h;return o=e.j,h=n.j,o!=h?o.g-h.g:(r=t.f[e.p],s=t.f[n.p],r==0&&s==0?0:r==0?-1:s==0?1:Ms(r,s))}function rse(t,e,n){var r,s,o;if(!n[e.d])for(n[e.d]=!0,s=new S(u4(e));s.a=s)return s;for(e=e>0?e:0;er&&ts(e,r,null),e}function sse(t,e){var n,r;for(r=t.a.length,e.lengthr&&ts(e,r,null),e}function m2(t,e,n){var r,s,o;return s=u(tr(t.e,e),387),s?(o=awt(s,n),XUt(t,s),o):(r=new Owt(t,e,n),ki(t.e,e,r),kQt(r),null)}function Afn(t){var e;if(t==null)return null;if(e=k2n($c(t,!0)),e==null)throw it(new pet("Invalid hexBinary value: '"+t+"'"));return e}function JD(t){return rb(),yc(t,0)<0?yc(t,-1)!=0?new x4t(-1,z8(t)):But:yc(t,10)<=0?CEt[Ar(t)]:new x4t(1,t)}function lst(){return $q(),lt(ct($pe,1),oe,159,0,[Rpe,Bpe,jpe,Lpe,Ape,Mpe,Ope,Ipe,Dpe,Npe,Fpe,Ppe,_pe,Cpe,Spe,Epe,kpe,Tpe,ype,mpe,xpe,Uut])}function ase(t){var e;this.d=new he,this.j=new Ca,this.g=new Ca,e=t.g.b,this.f=u(Q(Na(e),(Te(),Wl)),103),this.e=Xt(ye(Wz(e,Wy)))}function ose(t){this.b=new he,this.e=new he,this.d=t,this.a=!qC(Ri(new Tn(null,new jw(new L1(t.b))),new Zt(new zN))).sd((Qb(),o7))}function Qf(){Qf=Z,qn=new OM("PARENTS",0),ea=new OM("NODES",1),Pd=new OM("EDGES",2),V2=new OM("PORTS",3),rp=new OM("LABELS",4)}function l4(){l4=Z,Eb=new FM("DISTRIBUTED",0),iP=new FM("JUSTIFIED",1),IAt=new FM("BEGIN",2),JS=new FM(qE,3),OAt=new FM("END",4)}function Lfn(t){var e;switch(e=t.yi(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 hst(t){switch(t.g){case 1:return ao(),rg;case 4:return ao(),zh;case 2:return ao(),Cf;case 3:return ao(),ng}return ao(),h0}function Mfn(t,e,n){var r;switch(r=n.q.getFullYear()-ab+ab,r<0&&(r=-r),e){case 1:t.a+=r;break;case 2:Jd(t,r%100,2);break;default:Jd(t,r,e)}}function ei(t,e){var n,r;if(Km(e,t.b),e>=t.b>>1)for(r=t.c,n=t.b;n>e;--n)r=r.b;else for(r=t.a.a,n=0;n=64&&e<128&&(s=S1(s,F0(1,e-64)));return s}function Wz(t,e){var n,r;return r=null,Us(t,(ui(),K6))&&(n=u(Q(t,K6),94),n.Xe(e)&&(r=n.We(e))),r==null&&Na(t)&&(r=Q(Na(t),e)),r}function lse(t,e){var n,r,s;s=e.d.i,r=s.k,!(r==(Vn(),Os)||r==z1)&&(n=new ar(lr(Ds(s).a.Kc(),new z)),zr(n)&&ki(t.k,e,u(Mr(n),17)))}function fst(t,e){var n,r,s;return r=yn(t.Tg(),e),n=e-t.Ah(),n<0?(s=t.Yg(r),s>=0?t.lh(s):Zst(t,r)):n<0?Zst(t,r):u(r,66).Nj().Sj(t,t.yh(),n)}function Ie(t){var e;if(_t(t.a,4)){if(e=O3t(t.a),e==null)throw it(new No(ode+t.b+"'. "+ade+(P0(gP),gP.k)+d8t));return e}else return t.a}function Ofn(t){var e;if(t==null)return null;if(e=J5n($c(t,!0)),e==null)throw it(new pet("Invalid base64Binary value: '"+t+"'"));return e}function dr(t){var e;try{return e=t.i.Xb(t.e),t.mj(),t.g=t.e++,e}catch(n){throw n=Wi(n),_t(n,73)?(t.mj(),it(new lc)):it(n)}}function dst(t){var e;try{return e=t.c.ki(t.e),t.mj(),t.g=t.e++,e}catch(n){throw n=Wi(n),_t(n,73)?(t.mj(),it(new lc)):it(n)}}function o_(){o_=Z,p7t=(ui(),hAt),Qut=HSt,Jpe=W6,g7t=U2,rbe=(sq(),WEt),nbe=GEt,ibe=KEt,ebe=VEt,tbe=(Rit(),h7t),Xut=Xpe,d7t=Qpe,fV=Zpe}function Yz(t){switch(kbt(),this.c=new he,this.d=t,t.g){case 0:case 2:this.a=Mvt(O7t),this.b=as;break;case 3:case 1:this.a=O7t,this.b=Cs}}function hse(t,e,n){var r,s;if(t.c)ku(t.c,t.c.i+e),Eu(t.c,t.c.j+n);else for(s=new S(t.b);s.a0&&(le(t.b,new GYt(e.a,n)),r=e.a.length,0r&&(e.a+=KUt(Nt(xh,yd,25,-r,15,1))))}function fse(t,e){var n,r,s;for(n=t.o,s=u(u(Ai(t.r,e),21),84).Kc();s.Ob();)r=u(s.Pb(),111),r.e.a=N1n(r,n.a),r.e.b=n.b*Xt(ye(r.b.We(uV)))}function Ffn(t,e){var n,r,s,o;return s=t.k,n=Xt(ye(Q(t,(ae(),Fv)))),o=e.k,r=Xt(ye(Q(e,Fv))),o!=(Vn(),ks)?-1:s!=ks?1:n==r?0:n=0?t.hh(e,n,r):(t.eh()&&(r=(s=t.Vg(),s>=0?t.Qg(r):t.eh().ih(t,-1-s,null,r))),t.Sg(e,n,r))}function R3t(t,e){switch(e){case 7:!t.e&&(t.e=new Cn(Ys,t,7,4)),xr(t.e);return;case 8:!t.d&&(t.d=new Cn(Ys,t,8,5)),xr(t.d);return}T3t(t,e)}function Zf(t,e){var n;n=t.Zc(e);try{return n.Pb()}catch(r){throw r=Wi(r),_t(r,109)?it(new yo("Can't get element "+e)):it(r)}}function j3t(t,e){this.e=t,e=0&&(n.d=t.t);break;case 3:t.t>=0&&(n.a=t.t)}t.C&&(n.b=t.C.b,n.c=t.C.c)}function u6(){u6=Z,dO=new QR(Kq,0),fO=new QR(Iot,1),gO=new QR(Oot,2),pO=new QR(Pot,3),dO.a=!1,fO.a=!0,gO.a=!1,pO.a=!0}function c_(){c_=Z,bO=new XR(Kq,0),lV=new XR(Iot,1),hV=new XR(Oot,2),wO=new XR(Pot,3),bO.a=!1,lV.a=!0,hV.a=!1,wO.a=!0}function $fn(t){var e;e=t.a;do e=u(Mr(new ar(lr(jo(e).a.Kc(),new z))),17).c.i,e.k==(Vn(),ta)&&t.b.Fc(e);while(e.k==(Vn(),ta));t.b=l2(t.b)}function zfn(t){var e,n,r;for(r=t.c.a,t.p=(Lr(r),new Bu(r)),n=new S(r);n.an.b)return!0}return!1}function gst(t,e){return ra(t)?!!Sge[e]:t.hm?!!t.hm[e]:Bm(t)?!!_ge[e]:Nm(t)?!!Cge[e]:!1}function wo(t,e,n){return n==null?(!t.o&&(t.o=new _l((Jc(),Sb),Hv,t,0)),qz(t.o,e)):(!t.o&&(t.o=new _l((Jc(),Sb),Hv,t,0)),aq(t.o,e,n)),t}function Gfn(t,e,n,r){var s,o;o=e.Xe((ui(),o5))?u(e.We(o5),21):t.j,s=Pln(o),s!=($q(),Uut)&&(n&&!P3t(s)||V4t(E2n(t,s,r),e))}function Xz(t,e,n,r){var s,o,h;return o=yn(t.Tg(),e),s=e-t.Ah(),s<0?(h=t.Yg(o),h>=0?t._g(h,n,!0):dv(t,o,n)):u(o,66).Nj().Pj(t,t.yh(),s,n,r)}function Ufn(t,e,n,r){var s,o,h;n.mh(e)&&(to(),ait(e)?(s=u(n.ah(e),153),bfn(t,s)):(o=(h=e,h?u(r,49).xh(h):null),o&&YYe(n.ah(e),o)))}function Wfn(t){switch(t.g){case 1:return rv(),hO;case 3:return rv(),lO;case 2:return rv(),Yut;case 4:return rv(),Wut;default:return null}}function $3t(t){switch(typeof t){case Vat:return Vg(t);case Nxt:return ps(t);case b6:return Nn(),t?1231:1237;default:return t==null?0:Pw(t)}}function Yfn(t,e,n){if(t.e)switch(t.b){case 1:Ern(t.c,e,n);break;case 0:Trn(t.c,e,n)}else tJt(t.c,e,n);t.a[e.p][n.p]=t.c.i,t.a[n.p][e.p]=t.c.e}function wse(t){var e,n;if(t==null)return null;for(n=Nt(l0,ee,193,t.length,0,2),e=0;e=0)return s;if(t.Fk()){for(r=0;r=s)throw it(new qm(e,s));if(t.hi()&&(r=t.Xc(n),r>=0&&r!=e))throw it(new Fn(eO));return t.mi(e,n)}function z3t(t,e){if(this.a=u(Lr(t),245),this.b=u(Lr(e),245),t.vd(e)>0||t==(cet(),_ut)||e==(oet(),Sut))throw it(new Fn("Invalid range: "+XZt(t,e)))}function vse(t){var e,n;for(this.b=new he,this.c=t,this.a=!1,n=new S(t.a);n.a0),(e&-e)==e)return ps(e*ul(t,31)*4656612873077393e-25);do n=ul(t,31),r=n%e;while(n-r+(e-1)<0);return ps(r)}function Vg(t){MYt();var e,n,r;return n=":"+t,r=aV[n],r!=null?ps((On(r),r)):(r=REt[n],e=r==null?$wn(t):ps((On(r),r)),prn(),aV[n]=e,e)}function yse(t,e,n){vr(n,"Compound graph preprocessor",1),t.a=new Uw,_he(t,e,null),S3n(t,e),uwn(t),Jt(e,(ae(),rCt),t.a),t.a=null,Xu(t.b),or(n)}function Qfn(t,e,n){switch(n.g){case 1:t.a=e.a/2,t.b=0;break;case 2:t.a=e.a,t.b=e.b/2;break;case 3:t.a=e.a/2,t.b=e.b;break;case 4:t.a=0,t.b=e.b/2}}function Zfn(t){var e,n,r;for(r=u(Ai(t.a,(b4(),qV)),15).Kc();r.Ob();)n=u(r.Pb(),101),e=t4t(n),_8(t,n,e[0],(nv(),Mv),0),_8(t,n,e[1],Dv,1)}function Jfn(t){var e,n,r;for(r=u(Ai(t.a,(b4(),HV)),15).Kc();r.Ob();)n=u(r.Pb(),101),e=t4t(n),_8(t,n,e[0],(nv(),Mv),0),_8(t,n,e[1],Dv,1)}function pst(t){switch(t.g){case 0:return null;case 1:return new yne;case 2:return new Zpt;default:throw it(new Fn(Ict+(t.f!=null?t.f:""+t.g)))}}function tI(t,e,n){var r,s;for(xun(t,e-t.s,n-t.t),s=new S(t.n);s.a1&&(o=Xfn(t,e)),o}function bst(t){var e;return t.f&&t.f.kh()&&(e=u(t.f,49),t.f=u(Zp(t,e),82),t.f!=e&&t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,9,8,e,t.f))),t.f}function wst(t){var e;return t.i&&t.i.kh()&&(e=u(t.i,49),t.i=u(Zp(t,e),82),t.i!=e&&t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,9,7,e,t.i))),t.i}function no(t){var e;return t.b&&t.b.Db&64&&(e=t.b,t.b=u(Zp(t,e),18),t.b!=e&&t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,9,21,e,t.b))),t.b}function Jz(t,e){var n,r,s;t.d==null?(++t.e,++t.f):(r=e.Sh(),bwn(t,t.f+1),s=(r&wi)%t.d.length,n=t.d[s],!n&&(n=t.d[s]=t.uj()),n.Fc(e),++t.f)}function V3t(t,e,n){var r;return e.Kj()?!1:e.Zj()!=-2?(r=e.zj(),r==null?n==null:yi(r,n)):e.Hj()==t.e.Tg()&&n==null}function tq(){var t;jl(16,bfe),t=hne(16),this.b=Nt(Lut,PI,317,t,0,1),this.c=Nt(Lut,PI,317,t,0,1),this.a=null,this.e=null,this.i=0,this.f=t-1,this.g=0}function Y0(t){cwt.call(this),this.k=(Vn(),Os),this.j=(jl(6,ky),new Xc(6)),this.b=(jl(2,ky),new Xc(2)),this.d=new net,this.f=new Hpt,this.a=t}function e1n(t){var e,n;t.c.length<=1||(e=vue(t,(ve(),mr)),aoe(t,u(e.a,19).a,u(e.b,19).a),n=vue(t,Bn),aoe(t,u(n.a,19).a,u(n.b,19).a))}function u_(){u_=Z,F9t=new LM("SIMPLE",0),xht=new LM(Xot,1),kht=new LM("LINEAR_SEGMENTS",2),DS=new LM("BRANDES_KOEPF",3),IS=new LM(q1e,4)}function G3t(t,e,n){jx(u(Q(e,(Te(),cs)),98))||(jmt(t,e,Gg(e,n)),jmt(t,e,Gg(e,(ve(),mr))),jmt(t,e,Gg(e,Pn)),wn(),Zs(e.j,new hM(t)))}function xse(t,e,n,r){var s,o,h;for(s=u(Ai(r?t.a:t.b,e),21),h=s.Kc();h.Ob();)if(o=u(h.Pb(),33),Tq(t,n,o))return!0;return!1}function vst(t){var e,n;for(n=new nr(t);n.e!=n.i.gc();)if(e=u(dr(n),87),e.e||(!e.d&&(e.d=new As(ho,e,1)),e.d).i!=0)return!0;return!1}function mst(t){var e,n;for(n=new nr(t);n.e!=n.i.gc();)if(e=u(dr(n),87),e.e||(!e.d&&(e.d=new As(ho,e,1)),e.d).i!=0)return!0;return!1}function n1n(t){var e,n,r;for(e=0,r=new S(t.c.a);r.a102?-1:t<=57?t-48:t<65?-1:t<=70?t-65+10:t<97?-1:t-97+10}function kst(t,e){if(t==null)throw it(new Sx("null key in entry: null="+e));if(e==null)throw it(new Sx("null value in entry: "+t+"=null"))}function r1n(t,e){for(var n,r;t.Ob();)if(!e.Ob()||(n=t.Pb(),r=e.Pb(),!(Vt(n)===Vt(r)||n!=null&&yi(n,r))))return!1;return!e.Ob()}function Ese(t,e){var n;return n=lt(ct(aa,1),vo,25,15,[zit(t.a[0],e),zit(t.a[1],e),zit(t.a[2],e)]),t.d&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function Tse(t,e){var n;return n=lt(ct(aa,1),vo,25,15,[Lz(t.a[0],e),Lz(t.a[1],e),Lz(t.a[2],e)]),t.d&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function x2(){x2=Z,Mlt=new AM("GREEDY",0),PTt=new AM(A1e,1),Dlt=new AM(Xot,2),vS=new AM("MODEL_ORDER",3),wS=new AM("GREEDY_MODEL_ORDER",4)}function Cse(t,e){var n,r,s;for(t.b[e.g]=1,r=ei(e.d,0);r.b!=r.d.c;)n=u(ti(r),188),s=n.c,t.b[s.g]==1?ri(t.a,n):t.b[s.g]==2?t.b[s.g]=1:Cse(t,s)}function i1n(t,e){var n,r,s;for(s=new Xc(e.gc()),r=e.Kc();r.Ob();)n=u(r.Pb(),286),n.c==n.f?EE(t,n,n.c):npn(t,n)||(s.c[s.c.length]=n);return s}function s1n(t,e,n){var r,s,o,h,d;for(d=t.r+e,t.r+=e,t.d+=n,r=n/t.n.c.length,s=0,h=new S(t.n);h.ao&&ts(e,o,null),e}function m1n(t,e){var n,r;if(r=t.gc(),e==null){for(n=0;n0&&(v+=s),k[C]=h,h+=d*(v+r)}function Ose(t){var e,n,r;for(r=t.f,t.n=Nt(aa,vo,25,r,15,1),t.d=Nt(aa,vo,25,r,15,1),e=0;e0?t.c:0),++s;t.b=r,t.d=o}function _1n(t,e){var n,r,s,o,h;for(r=0,s=0,n=0,h=new S(e);h.a0?t.g:0),++n;t.c=s,t.d=r}function Rse(t,e){var n;return n=lt(ct(aa,1),vo,25,15,[H3t(t,(Kf(),sc),e),H3t(t,eu,e),H3t(t,ac,e)]),t.f&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function S1n(t,e,n){var r;try{Sq(t,e+t.j,n+t.k,!1,!0)}catch(s){throw s=Wi(s),_t(s,73)?(r=s,it(new yo(r.g+Qq+e+Ya+n+")."))):it(s)}}function A1n(t,e,n){var r;try{Sq(t,e+t.j,n+t.k,!0,!1)}catch(s){throw s=Wi(s),_t(s,73)?(r=s,it(new yo(r.g+Qq+e+Ya+n+")."))):it(s)}}function jse(t){var e;Us(t,(Te(),Nv))&&(e=u(Q(t,Nv),21),e.Hc((py(),_f))?(e.Mc(_f),e.Fc(Sf)):e.Hc(Sf)&&(e.Mc(Sf),e.Fc(_f)))}function $se(t){var e;Us(t,(Te(),Nv))&&(e=u(Q(t,Nv),21),e.Hc((py(),Lf))?(e.Mc(Lf),e.Fc(Hh)):e.Hc(Hh)&&(e.Mc(Hh),e.Fc(Lf)))}function L1n(t,e,n){vr(n,"Self-Loop ordering",1),ls(wu(Ri(Ri(Wo(new Tn(null,new _n(e.b,16)),new mN),new rX),new iX),new sX),new Lm(t)),or(n)}function nI(t,e,n,r){var s,o;for(s=e;s0&&(s.b+=e),s}function rq(t,e){var n,r,s;for(s=new Ca,r=t.Kc();r.Ob();)n=u(r.Pb(),37),x_(n,0,s.b),s.b+=n.f.b+e,s.a=b.Math.max(s.a,n.f.a);return s.a>0&&(s.a+=e),s}function qse(t){var e,n,r;for(r=wi,n=new S(t.a);n.a>16==6?t.Cb.ih(t,5,i1,e):(r=no(u(yn((n=u(Dn(t,16),26),n||t.zh()),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function P1n(t){I8();var e=t.e;if(e&&e.stack){var n=e.stack,r=e+` +`;return n.substring(0,r.length)==r&&(n=n.substring(r.length)),n.split(` +`)}return[]}function F1n(t){var e;return e=(sne(),jge),e[t>>>28]|e[t>>24&15]<<4|e[t>>20&15]<<8|e[t>>16&15]<<12|e[t>>12&15]<<16|e[t>>8&15]<<20|e[t>>4&15]<<24|e[t&15]<<28}function Gse(t){var e,n,r;t.b==t.c&&(r=t.a.length,n=Dyt(b.Math.max(8,r))<<1,t.b!=0?(e=ff(t.a,n),dne(t,e,r),t.a=e,t.b=0):fqt(t.a,n),t.c=r)}function N1n(t,e){var n;return n=t.b,n.Xe((ui(),dl))?n.Hf()==(ve(),Bn)?-n.rf().a-Xt(ye(n.We(dl))):e+Xt(ye(n.We(dl))):n.Hf()==(ve(),Bn)?-n.rf().a:e}function rI(t){var e;return t.b.c.length!=0&&u(Ne(t.b,0),70).a?u(Ne(t.b,0),70).a:(e=grt(t),e??""+(t.c?Ro(t.c.a,t,0):-1))}function iq(t){var e;return t.f.c.length!=0&&u(Ne(t.f,0),70).a?u(Ne(t.f,0),70).a:(e=grt(t),e??""+(t.i?Ro(t.i.j,t,0):-1))}function B1n(t,e){var n,r;if(e<0||e>=t.gc())return null;for(n=e;n0?t.c:0),s=b.Math.max(s,e.d),++r;t.e=o,t.b=s}function j1n(t){var e,n;if(!t.b)for(t.b=D$(u(t.f,118).Ag().i),n=new nr(u(t.f,118).Ag());n.e!=n.i.gc();)e=u(dr(n),137),le(t.b,new get(e));return t.b}function $1n(t,e){var n,r,s;if(e.dc())return y8(),y8(),pP;for(n=new YWt(t,e.gc()),s=new nr(t);s.e!=s.i.gc();)r=dr(s),e.Hc(r)&&Dr(n,r);return n}function Z3t(t,e,n,r){return e==0?r?(!t.o&&(t.o=new _l((Jc(),Sb),Hv,t,0)),t.o):(!t.o&&(t.o=new _l((Jc(),Sb),Hv,t,0)),wD(t.o)):Xz(t,e,n,r)}function Mst(t){var e,n;if(t.rb)for(e=0,n=t.rb.i;e>22),s+=r>>22,s<0)?!1:(t.l=n&hl,t.m=r&hl,t.h=s&Z0,!0)}function V1n(t,e,n,r,s,o,h){var d,v;return!(e.Ae()&&(v=t.a.ue(n,r),v<0||!s&&v==0)||e.Be()&&(d=t.a.ue(n,o),d>0||!h&&d==0))}function G1n(t,e){oE();var n;if(n=t.j.g-e.j.g,n!=0)return 0;switch(t.j.g){case 2:return Jit(e,_Tt)-Jit(t,_Tt);case 4:return Jit(t,CTt)-Jit(e,CTt)}return 0}function U1n(t){switch(t.g){case 0:return Olt;case 1:return Plt;case 2:return Flt;case 3:return Nlt;case 4:return UV;case 5:return Blt;default:return null}}function _o(t,e,n){var r,s;return r=(s=new set,b2(s,e),Qc(s,n),Dr((!t.c&&(t.c=new fe(Vv,t,12,10)),t.c),s),s),Rg(r,0),ry(r,1),qg(r,!0),zg(r,!0),r}function l6(t,e){var n,r;if(e>=t.i)throw it(new nnt(e,t.i));return++t.j,n=t.g[e],r=t.i-e-1,r>0&&Dc(t.g,e+1,t.g,e,r),ts(t.g,--t.i,null),t.fi(e,n),t.ci(),n}function Use(t,e){var n,r;return t.Db>>16==17?t.Cb.ih(t,21,Uh,e):(r=no(u(yn((n=u(Dn(t,16),26),n||t.zh()),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function W1n(t){var e,n,r,s;for(wn(),Zs(t.c,t.a),s=new S(t.c);s.an.a.c.length))throw it(new Fn("index must be >= 0 and <= layer node count"));t.c&&mu(t.c.a,t),t.c=n,n&&Hm(n.a,e,t)}function Qse(t,e){var n,r,s;for(r=new ar(lr(U0(t).a.Kc(),new z));zr(r);)return n=u(Mr(r),17),s=u(e.Kb(n),10),new Wk(Lr(s.n.b+s.o.b/2));return PC(),PC(),Cut}function Zse(t,e){this.c=new _r,this.a=t,this.b=e,this.d=u(Q(t,(ae(),Q4)),304),Vt(Q(t,(Te(),h9t)))===Vt((xD(),WV))?this.e=new Lqt:this.e=new Aqt}function J1n(t,e){var n,r,s,o;for(o=0,r=new S(t);r.a>16==6?t.Cb.ih(t,6,Ys,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(Jc(),aU)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function i4t(t,e){var n,r;return t.Db>>16==7?t.Cb.ih(t,1,lP,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(Jc(),GAt)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function s4t(t,e){var n,r;return t.Db>>16==9?t.Cb.ih(t,9,rs,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(Jc(),WAt)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function tae(t,e){var n,r;return t.Db>>16==5?t.Cb.ih(t,9,pU,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(dn(),op)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function a4t(t,e){var n,r;return t.Db>>16==3?t.Cb.ih(t,0,fP,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(dn(),ap)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function eae(t,e){var n,r;return t.Db>>16==7?t.Cb.ih(t,6,i1,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(dn(),up)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function nae(){this.a=new oB,this.g=new tq,this.j=new tq,this.b=new _r,this.d=new tq,this.i=new tq,this.k=new _r,this.c=new _r,this.e=new _r,this.f=new _r}function rdn(t,e,n){var r,s,o;for(n<0&&(n=0),o=t.i,s=n;svot)return vE(t,r);if(r==t)return!0}}return!1}function sdn(t){switch(Cj(),t.q.g){case 5:$oe(t,(ve(),Pn)),$oe(t,mr);break;case 4:Fce(t,(ve(),Pn)),Fce(t,mr);break;default:Fhe(t,(ve(),Pn)),Fhe(t,mr)}}function adn(t){switch(Cj(),t.q.g){case 5:ece(t,(ve(),Hn)),ece(t,Bn);break;case 4:fse(t,(ve(),Hn)),fse(t,Bn);break;default:Nhe(t,(ve(),Hn)),Nhe(t,Bn)}}function odn(t){var e,n;e=u(Q(t,(Jf(),ybe)),19),e?(n=e.a,n==0?Jt(t,(Yp(),wV),new Zit):Jt(t,(Yp(),wV),new F$(n))):Jt(t,(Yp(),wV),new F$(1))}function cdn(t,e){var n;switch(n=t.i,e.g){case 1:return-(t.n.b+t.o.b);case 2:return t.n.a-n.o.a;case 3:return t.n.b-n.o.b;case 4:return-(t.n.a+t.o.a)}return 0}function udn(t,e){switch(t.g){case 0:return e==(dh(),bb)?BV:RV;case 1:return e==(dh(),bb)?BV:kO;case 2:return e==(dh(),bb)?kO:RV;default:return kO}}function sI(t,e){var n,r,s;for(mu(t.a,e),t.e-=e.r+(t.a.c.length==0?0:t.c),s=Ukt,r=new S(t.a);r.a>16==3?t.Cb.ih(t,12,rs,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(Jc(),VAt)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function c4t(t,e){var n,r;return t.Db>>16==11?t.Cb.ih(t,10,rs,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(Jc(),UAt)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function rae(t,e){var n,r;return t.Db>>16==10?t.Cb.ih(t,11,Uh,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(dn(),cp)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function iae(t,e){var n,r;return t.Db>>16==10?t.Cb.ih(t,12,Wh,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(dn(),i3)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function Dh(t){var e;return!(t.Bb&1)&&t.r&&t.r.kh()&&(e=u(t.r,49),t.r=u(Zp(t,e),138),t.r!=e&&t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,9,8,e,t.r))),t.r}function Ist(t,e,n){var r;return r=lt(ct(aa,1),vo,25,15,[O4t(t,(Kf(),sc),e,n),O4t(t,eu,e,n),O4t(t,ac,e,n)]),t.f&&(r[0]=b.Math.max(r[0],r[2]),r[2]=r[0]),r}function ldn(t,e){var n,r,s;if(s=i1n(t,e),s.c.length!=0)for(Zs(s,new WK),n=s.c.length,r=0;r>19,k=e.h>>19,v!=k?k-v:(s=t.h,d=e.h,s!=d?s-d:(r=t.m,h=e.m,r!=h?r-h:(n=t.l,o=e.l,n-o)))}function sq(){sq=Z,XEt=(Cq(),Vut),KEt=new mn(Qxt,XEt),YEt=(Q$(),Hut),WEt=new mn(Zxt,YEt),UEt=(Gz(),qut),GEt=new mn(Jxt,UEt),VEt=new mn(t6t,(Nn(),!0))}function h_(t,e,n){var r,s;r=e*n,_t(t.g,145)?(s=Xx(t),s.f.d?s.f.a||(t.d.a+=r+B1):(t.d.d-=r+B1,t.d.a+=r+B1)):_t(t.g,10)&&(t.d.d-=r,t.d.a+=2*r)}function sae(t,e,n){var r,s,o,h,d;for(s=t[n.g],d=new S(e.d);d.a0?t.g:0),++n;e.b=r,e.e=s}function aae(t){var e,n,r;if(r=t.b,AVt(t.i,r.length)){for(n=r.length*2,t.b=Nt(Lut,PI,317,n,0,1),t.c=Nt(Lut,PI,317,n,0,1),t.f=n-1,t.i=0,e=t.a;e;e=e.c)fI(t,e,e);++t.g}}function vdn(t,e,n,r){var s,o,h,d;for(s=0;sh&&(d=h/r),s>o&&(v=o/s),fd(t,b.Math.min(d,v)),t}function ydn(){Dq();var t,e;try{if(e=u(m4t((Pp(),Yh),ZE),2014),e)return e}catch(n){if(n=Wi(n),_t(n,102))t=n,avt((Pr(),t));else throw it(n)}return new ax}function xdn(){Qte();var t,e;try{if(e=u(m4t((Pp(),Yh),O2),2024),e)return e}catch(n){if(n=Wi(n),_t(n,102))t=n,avt((Pr(),t));else throw it(n)}return new _m}function kdn(){Dq();var t,e;try{if(e=u(m4t((Pp(),Yh),Bh),1941),e)return e}catch(n){if(n=Wi(n),_t(n,102))t=n,avt((Pr(),t));else throw it(n)}return new aJ}function Edn(t,e,n){var r,s;return s=t.e,t.e=e,t.Db&4&&!(t.Db&1)&&(r=new Js(t,1,4,s,e),n?n.Ei(r):n=r),s!=e&&(e?n=PE(t,vq(t,e),n):n=PE(t,t.a,n)),n}function oae(){BR.call(this),this.e=-1,this.a=!1,this.p=Sa,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=Sa}function Tdn(t,e){var n,r,s;if(r=t.b.d.d,t.a||(r+=t.b.d.a),s=e.b.d.d,e.a||(s+=e.b.d.a),n=Ms(r,s),n==0){if(!t.a&&e.a)return-1;if(!e.a&&t.a)return 1}return n}function Cdn(t,e){var n,r,s;if(r=t.b.b.d,t.a||(r+=t.b.b.a),s=e.b.b.d,e.a||(s+=e.b.b.a),n=Ms(r,s),n==0){if(!t.a&&e.a)return-1;if(!e.a&&t.a)return 1}return n}function _dn(t,e){var n,r,s;if(r=t.b.g.d,t.a||(r+=t.b.g.a),s=e.b.g.d,e.a||(s+=e.b.g.a),n=Ms(r,s),n==0){if(!t.a&&e.a)return-1;if(!e.a&&t.a)return 1}return n}function l4t(){l4t=Z,Pbe=Ku(bi(bi(bi(new Vs,(Wa(),qc),(ro(),hTt)),qc,fTt),Io,dTt),Io,tTt),Nbe=bi(bi(new Vs,qc,W7t),qc,eTt),Fbe=Ku(new Vs,Io,rTt)}function Sdn(t){var e,n,r,s,o;for(e=u(Q(t,(ae(),kS)),83),o=t.n,r=e.Cc().Kc();r.Ob();)n=u(r.Pb(),306),s=n.i,s.c+=o.a,s.d+=o.b,n.c?Eue(n):Tue(n);Jt(t,kS,null)}function Adn(t,e,n){var r,s;switch(s=t.b,r=s.d,e.g){case 1:return-r.d-n;case 2:return s.o.a+r.c+n;case 3:return s.o.b+r.a+n;case 4:return-r.b-n;default:return-1}}function Ldn(t){var e,n,r,s,o;if(r=0,s=VE,t.b)for(e=0;e<360;e++)n=e*.017453292519943295,txt(t,t.d,0,0,O4,n),o=t.b.ig(t.d),o0&&(h=(o&wi)%t.d.length,s=l5t(t,h,o,e),s)?(d=s.ed(n),d):(r=t.tj(o,e,n),t.c.Fc(r),null)}function d4t(t,e){var n,r,s,o;switch($g(t,e)._k()){case 3:case 2:{for(n=T4(e),s=0,o=n.i;s=0;r--)if(hn(t[r].d,e)||hn(t[r].d,n)){t.length>=r+1&&t.splice(0,r+1);break}return t}function aI(t,e){var n;return Bo(t)&&Bo(e)&&(n=t/e,BI0&&(t.b+=2,t.a+=r):(t.b+=1,t.a+=b.Math.min(r,s))}function gae(t,e){var n,r;if(r=!1,ra(e)&&(r=!0,Vx(t,new Um(Br(e)))),r||_t(e,236)&&(r=!0,Vx(t,(n=mwt(u(e,236)),new EC(n)))),!r)throw it(new fet(A8t))}function Wdn(t,e,n,r){var s,o,h;return s=new z0(t.e,1,10,(h=e.c,_t(h,88)?u(h,26):(dn(),Kh)),(o=n.c,_t(o,88)?u(o,26):(dn(),Kh)),Hg(t,e),!1),r?r.Ei(s):r=s,r}function b4t(t){var e,n;switch(u(Q(Na(t),(Te(),r9t)),420).g){case 0:return e=t.n,n=t.o,new $e(e.a+n.a/2,e.b+n.b/2);case 1:return new xo(t.n);default:return null}}function oI(){oI=Z,YV=new t9(J0,0),qTt=new t9("LEFTUP",1),VTt=new t9("RIGHTUP",2),zTt=new t9("LEFTDOWN",3),HTt=new t9("RIGHTDOWN",4),Rlt=new t9("BALANCED",5)}function Ydn(t,e,n){var r,s,o;if(r=Ms(t.a[e.p],t.a[n.p]),r==0){if(s=u(Q(e,(ae(),R6)),15),o=u(Q(n,R6),15),s.Hc(n))return-1;if(o.Hc(e))return 1}return r}function Kdn(t){switch(t.g){case 1:return new hZ;case 2:return new fZ;case 3:return new lZ;case 0:return null;default:throw it(new Fn(Ict+(t.f!=null?t.f:""+t.g)))}}function w4t(t,e,n){switch(e){case 1:!t.n&&(t.n=new fe(qo,t,1,7)),xr(t.n),!t.n&&(t.n=new fe(qo,t,1,7)),is(t.n,u(n,14));return;case 2:G9(t,Br(n));return}Byt(t,e,n)}function v4t(t,e,n){switch(e){case 3:Jw(t,Xt(ye(n)));return;case 4:tv(t,Xt(ye(n)));return;case 5:ku(t,Xt(ye(n)));return;case 6:Eu(t,Xt(ye(n)));return}w4t(t,e,n)}function oq(t,e,n){var r,s,o;o=(r=new set,r),s=F1(o,e,null),s&&s.Fi(),Qc(o,n),Dr((!t.c&&(t.c=new fe(Vv,t,12,10)),t.c),o),Rg(o,0),ry(o,1),qg(o,!0),zg(o,!0)}function m4t(t,e){var n,r,s;return n=KC(t.g,e),_t(n,235)?(s=u(n,235),s.Qh()==null,s.Nh()):_t(n,498)?(r=u(n,1938),s=r.b,s):null}function Xdn(t,e,n,r){var s,o;return Lr(e),Lr(n),o=u(x9(t.d,e),19),nee(!!o,"Row %s not in %s",e,t.e),s=u(x9(t.b,n),19),nee(!!s,"Column %s not in %s",n,t.c),ore(t,o.a,s.a,r)}function pae(t,e,n,r,s,o,h){var d,v,k,C,M;if(C=s[o],k=o==h-1,d=k?r:0,M=Nse(d,C),r!=10&<(ct(t,h-o),e[o],n[o],d,M),!k)for(++o,v=0;v1||d==-1?(o=u(v,15),s.Wb(rfn(t,o))):s.Wb(yat(t,u(v,56)))))}function r0n(t,e,n,r){nVt();var s=Tut;function o(){for(var h=0;hLct)return n;s>-1e-6&&++n}return n}function k4t(t,e){var n;e!=t.b?(n=null,t.b&&(n=m$(t.b,t,-4,n)),e&&(n=c6(e,t,-4,n)),n=Qre(t,e,n),n&&n.Fi()):t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,3,e,e))}function vae(t,e){var n;e!=t.f?(n=null,t.f&&(n=m$(t.f,t,-1,n)),e&&(n=c6(e,t,-1,n)),n=Zre(t,e,n),n&&n.Fi()):t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,0,e,e))}function mae(t){var e,n,r;if(t==null)return null;if(n=u(t,15),n.dc())return"";for(r=new Ag,e=n.Kc();e.Ob();)go(r,(Ii(),Br(e.Pb()))),r.a+=" ";return int(r,r.a.length-1)}function yae(t){var e,n,r;if(t==null)return null;if(n=u(t,15),n.dc())return"";for(r=new Ag,e=n.Kc();e.Ob();)go(r,(Ii(),Br(e.Pb()))),r.a+=" ";return int(r,r.a.length-1)}function h0n(t,e,n){var r,s;return r=t.c[e.c.p][e.p],s=t.c[n.c.p][n.p],r.a!=null&&s.a!=null?Unt(r.a,s.a):r.a!=null?-1:s.a!=null?1:0}function f0n(t,e){var n,r,s,o,h,d;if(e)for(o=e.a.length,n=new e2(o),d=(n.b-n.a)*n.c<0?(Fp(),Ib):new jp(n);d.Ob();)h=u(d.Pb(),19),s=P8(e,h.a),r=new xzt(t),ern(r.a,s)}function d0n(t,e){var n,r,s,o,h,d;if(e)for(o=e.a.length,n=new e2(o),d=(n.b-n.a)*n.c<0?(Fp(),Ib):new jp(n);d.Ob();)h=u(d.Pb(),19),s=P8(e,h.a),r=new fzt(t),trn(r.a,s)}function g0n(t){var e;if(t!=null&&t.length>0&&wa(t,t.length-1)==33)try{return e=woe(Pl(t,0,t.length-1)),e.e==null}catch(n){if(n=Wi(n),!_t(n,32))throw it(n)}return!1}function xae(t,e,n){var r,s,o;return r=e.ak(),o=e.dd(),s=r.$j()?Gp(t,3,r,null,o,DE(t,r,o,_t(r,99)&&(u(r,18).Bb&Ka)!=0),!0):Gp(t,1,r,r.zj(),o,-1,!0),n?n.Ei(s):n=s,n}function p0n(){var t,e,n;for(e=0,t=0;t<1;t++){if(n=g5t((Rr(t,1),"X".charCodeAt(t))),n==0)throw it(new Nr("Unknown Option: "+"X".substr(t)));e|=n}return e}function b0n(t,e,n){var r,s,o;switch(r=Na(e),s=Pz(r),o=new Mc,Uo(o,e),n.g){case 1:Bs(o,YD(a6(s)));break;case 2:Bs(o,a6(s))}return Jt(o,(Te(),Vy),ye(Q(t,Vy))),o}function E4t(t){var e,n;return e=u(Mr(new ar(lr(jo(t.a).a.Kc(),new z))),17),n=u(Mr(new ar(lr(Ds(t.a).a.Kc(),new z))),17),je(Re(Q(e,(ae(),q1))))||je(Re(Q(n,q1)))}function b4(){b4=Z,$V=new SM("ONE_SIDE",0),qV=new SM("TWO_SIDES_CORNER",1),HV=new SM("TWO_SIDES_OPPOSING",2),zV=new SM("THREE_SIDES",3),jV=new SM("FOUR_SIDES",4)}function Nst(t,e,n,r,s){var o,h;o=u(Bl(Ri(e.Oc(),new VX),c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[(O1(),Ul)]))),15),h=u(h2(t.b,n,r),15),s==0?h.Wc(0,o):h.Gc(o)}function w0n(t,e){var n,r,s,o,h;for(o=new S(e.a);o.a0&&Wse(this,this.c-1,(ve(),Hn)),this.c0&&t[0].length>0&&(this.c=je(Re(Q(Na(t[0][0]),(ae(),sCt))))),this.a=Nt(Tme,ee,2018,t.length,0,2),this.b=Nt(Cme,ee,2019,t.length,0,2),this.d=new Vre}function k0n(t){return t.c.length==0?!1:(An(0,t.c.length),u(t.c[0],17)).c.i.k==(Vn(),ta)?!0:N8(wu(new Tn(null,new _n(t,16)),new mQ),new yQ)}function E0n(t,e,n){return vr(n,"Tree layout",1),L$(t.b),Kd(t.b,(wE(),AG),AG),Kd(t.b,RS,RS),Kd(t.b,$O,$O),Kd(t.b,jS,jS),t.a=Fq(t.b,e),Zwn(t,e,Rc(n,1)),or(n),e}function Eae(t,e){var n,r,s,o,h,d,v;for(d=wy(e),o=e.f,v=e.g,h=b.Math.sqrt(o*o+v*v),s=0,r=new S(d);r.a=0?(n=aI(t,Gq),r=QD(t,Gq)):(e=Vm(t,1),n=aI(e,5e8),r=QD(e,5e8),r=Pa(F0(r,1),Ns(t,1))),S1(F0(r,32),Ns(n,co))}function _ae(t,e,n){var r,s;switch(r=(Zn(e.b!=0),u(lh(e,e.a.a),8)),n.g){case 0:r.b=0;break;case 2:r.b=t.f;break;case 3:r.a=0;break;default:r.a=t.g}return s=ei(e,0),eD(s,r),e}function Sae(t,e,n,r){var s,o,h,d,v;switch(v=t.b,o=e.d,h=o.j,d=B3t(h,v.d[h.g],n),s=Li(nc(o.n),o.a),o.j.g){case 1:case 3:d.a+=s.a;break;case 2:case 4:d.b+=s.b}fs(r,d,r.c.b,r.c)}function F0n(t,e,n){var r,s,o,h;for(h=Ro(t.e,e,0),o=new zpt,o.b=n,r=new da(t.e,h);r.b1;e>>=1)e&1&&(r=e4(r,n)),n.d==1?n=e4(n,n):n=new Qie(ale(n.a,n.d,Nt(Cr,Xr,25,n.d<<1,15,1)));return r=e4(r,n),r}function M4t(){M4t=Z;var t,e,n,r;for(DEt=Nt(aa,vo,25,25,15,1),IEt=Nt(aa,vo,25,33,15,1),r=152587890625e-16,e=32;e>=0;e--)IEt[e]=r,r*=.5;for(n=1,t=24;t>=0;t--)DEt[t]=n,n*=.5}function z0n(t){var e,n;if(je(Re(qe(t,(Te(),Hy))))){for(n=new ar(lr(K0(t).a.Kc(),new z));zr(n);)if(e=u(Mr(n),79),fv(e)&&je(Re(qe(e,j2))))return!0}return!1}function Aae(t,e){var n,r,s;Fs(t.f,e)&&(e.b=t,r=e.c,Ro(t.j,r,0)!=-1||le(t.j,r),s=e.d,Ro(t.j,s,0)!=-1||le(t.j,s),n=e.a.b,n.c.length!=0&&(!t.i&&(t.i=new ase(t)),run(t.i,n)))}function q0n(t){var e,n,r,s,o;return n=t.c.d,r=n.j,s=t.d.d,o=s.j,r==o?n.p=0&&hn(t.substr(e,3),"GMT")||e>=0&&hn(t.substr(e,3),"UTC"))&&(n[0]=e+3),rxt(t,n,r)}function V0n(t,e){var n,r,s,o,h;for(o=t.g.a,h=t.g.b,r=new S(t.d);r.an;o--)t[o]|=e[o-n-1]>>>h,t[o-1]=e[o-n-1]<=t.f)break;o.c[o.c.length]=n}return o}function I4t(t){var e,n,r,s;for(e=null,s=new S(t.wf());s.a0&&Dc(t.g,e,t.g,e+r,d),h=n.Kc(),t.i+=r,s=0;so&&ann(k,Tee(n[d],LEt))&&(s=d,o=v);return s>=0&&(r[0]=e+o),s}function Q0n(t,e){var n;if(n=xUt(t.b.Hf(),e.b.Hf()),n!=0)return n;switch(t.b.Hf().g){case 1:case 2:return pu(t.b.sf(),e.b.sf());case 3:case 4:return pu(e.b.sf(),t.b.sf())}return 0}function Z0n(t){var e,n,r;for(r=t.e.c.length,t.a=t2(Cr,[ee,Xr],[48,25],15,[r,r],2),n=new S(t.c);n.a>4&15,o=t[r]&15,h[s++]=YAt[n],h[s++]=YAt[o];return Mh(h,0,h.length)}function egn(t,e,n){var r,s,o;return r=e.ak(),o=e.dd(),s=r.$j()?Gp(t,4,r,o,null,DE(t,r,o,_t(r,99)&&(u(r,18).Bb&Ka)!=0),!0):Gp(t,r.Kj()?2:1,r,o,r.zj(),-1,!0),n?n.Ei(s):n=s,n}function Cu(t){var e,n;return t>=Ka?(e=RI+(t-Ka>>10&1023)&ys,n=56320+(t-Ka&1023)&ys,String.fromCharCode(e)+(""+String.fromCharCode(n))):String.fromCharCode(t&ys)}function ngn(t,e){$m();var n,r,s,o;return s=u(u(Ai(t.r,e),21),84),s.gc()>=2?(r=u(s.Kc().Pb(),111),n=t.u.Hc((Zu(),nA)),o=t.u.Hc(Q6),!r.a&&!n&&(s.gc()==2||o)):!1}function Dae(t,e,n,r,s){var o,h,d;for(o=gue(t,e,n,r,s),d=!1;!o;)bq(t,s,!0),d=!0,o=gue(t,e,n,r,s);d&&bq(t,s,!1),h=Cit(s),h.c.length!=0&&(t.d&&t.d.lg(h),Dae(t,s,n,r,h))}function hq(){hq=Z,Sft=new a9(J0,0),kAt=new a9("DIRECTED",1),TAt=new a9("UNDIRECTED",2),yAt=new a9("ASSOCIATION",3),EAt=new a9("GENERALIZATION",4),xAt=new a9("DEPENDENCY",5)}function rgn(t,e){var n;if(!T1(t))throw it(new No(_de));switch(n=T1(t),e.g){case 1:return-(t.j+t.f);case 2:return t.i-n.g;case 3:return t.j-n.f;case 4:return-(t.i+t.g)}return 0}function xE(t,e){var n,r;for(On(e),r=t.b.c.length,le(t.b,e);r>0;){if(n=r,r=(r-1)/2|0,t.a.ue(Ne(t.b,r),e)<=0)return ch(t.b,n,e),!0;ch(t.b,n,Ne(t.b,r))}return ch(t.b,r,e),!0}function O4t(t,e,n,r){var s,o;if(s=0,n)s=Lz(t.a[n.g][e.g],r);else for(o=0;o=d)}function P4t(t,e,n,r){var s;if(s=!1,ra(r)&&(s=!0,E8(e,n,Br(r))),s||Nm(r)&&(s=!0,P4t(t,e,n,r)),s||_t(r,236)&&(s=!0,r2(e,n,u(r,236))),!s)throw it(new fet(A8t))}function sgn(t,e){var n,r,s;if(n=e.Hh(t.a),n&&(s=Xf((!n.b&&(n.b=new kl((dn(),Qa),cc,n)),n.b),Nh),s!=null)){for(r=1;r<($u(),vLt).length;++r)if(hn(vLt[r],s))return r}return 0}function agn(t,e){var n,r,s;if(n=e.Hh(t.a),n&&(s=Xf((!n.b&&(n.b=new kl((dn(),Qa),cc,n)),n.b),Nh),s!=null)){for(r=1;r<($u(),mLt).length;++r)if(hn(mLt[r],s))return r}return 0}function Iae(t,e){var n,r,s,o;if(On(e),o=t.a.gc(),o0?1:0;o.a[s]!=n;)o=o.a[s],s=t.a.ue(n.d,o.d)>0?1:0;o.a[s]=r,r.b=n.b,r.a[0]=n.a[0],r.a[1]=n.a[1],n.a[0]=null,n.a[1]=null}function ugn(t){Zu();var e,n;return e=ji(sg,lt(ct(eU,1),oe,273,0,[Cb])),!(OD(k$(e,t))>1||(n=ji(nA,lt(ct(eU,1),oe,273,0,[eA,Q6])),OD(k$(n,t))>1))}function N4t(t,e){var n;n=Nc((Pp(),Yh),t),_t(n,498)?ko(Yh,t,new QGt(this,e)):ko(Yh,t,this),Hst(this,e),e==(c8(),aLt)?(this.wb=u(this,1939),u(e,1941)):this.wb=(Hp(),Ln)}function lgn(t){var e,n,r;if(t==null)return null;for(e=null,n=0;n=Wg?"error":r>=900?"warn":r>=800?"info":"log"),vXt(n,t.a),t.b&&N5t(e,n,t.b,"Exception: ",!0))}function Q(t,e){var n,r;return r=(!t.q&&(t.q=new _r),tr(t.q,e)),r??(n=e.wg(),_t(n,4)&&(n==null?(!t.q&&(t.q=new _r),Jx(t.q,e)):(!t.q&&(t.q=new _r),ki(t.q,e,n))),n)}function Wa(){Wa=Z,Dd=new _M("P1_CYCLE_BREAKING",0),gb=new _M("P2_LAYERING",1),cu=new _M("P3_NODE_ORDERING",2),qc=new _M("P4_NODE_PLACEMENT",3),Io=new _M("P5_EDGE_ROUTING",4)}function Nae(t,e){var n,r,s,o,h;for(s=e==1?clt:olt,r=s.a.ec().Kc();r.Ob();)for(n=u(r.Pb(),103),h=u(Ai(t.f.c,n),21).Kc();h.Ob();)o=u(h.Pb(),46),mu(t.b.b,o.b),mu(t.b.a,u(o.b,81).d)}function hgn(t,e){H9();var n;if(t.c==e.c){if(t.b==e.b||Ncn(t.b,e.b)){if(n=GXe(t.b)?1:-1,t.a&&!e.a)return n;if(!t.a&&e.a)return-n}return pu(t.b.g,e.b.g)}else return Ms(t.c,e.c)}function fgn(t,e){var n;vr(e,"Hierarchical port position processing",1),n=t.b,n.c.length>0&&ele((An(0,n.c.length),u(n.c[0],29)),t),n.c.length>1&&ele(u(Ne(n,n.c.length-1),29),t),or(e)}function Bae(t,e){var n,r,s;if(R4t(t,e))return!0;for(r=new S(e);r.a=s||e<0)throw it(new yo(iut+e+D2+s));if(n>=s||n<0)throw it(new yo(sut+n+D2+s));return e!=n?r=(o=t.Ti(n),t.Hi(e,o),o):r=t.Oi(n),r}function $ae(t){var e,n,r;if(r=t,t)for(e=0,n=t.Ug();n;n=n.Ug()){if(++e>vot)return $ae(n);if(r=n,n==t)throw it(new No("There is a cycle in the containment hierarchy of "+t))}return r}function eb(t){var e,n,r;for(r=new f2(Ya,"[","]"),n=t.Kc();n.Ob();)e=n.Pb(),$0(r,Vt(e)===Vt(t)?"(this Collection)":e==null?_u:$o(e));return r.a?r.e.length==0?r.a.a:r.a.a+(""+r.e):r.c}function R4t(t,e){var n,r;if(r=!1,e.gc()<2)return!1;for(n=0;nr&&(Rr(e-1,t.length),t.charCodeAt(e-1)<=32);)--e;return r>0||e1&&(t.j.b+=t.e)):(t.j.a+=n.a,t.j.b=b.Math.max(t.j.b,n.b),t.d.c.length>1&&(t.j.a+=t.e))}function nb(){nb=Z,y2e=lt(ct(Xa,1),xc,61,0,[(ve(),Pn),Hn,mr]),m2e=lt(ct(Xa,1),xc,61,0,[Hn,mr,Bn]),x2e=lt(ct(Xa,1),xc,61,0,[mr,Bn,Pn]),k2e=lt(ct(Xa,1),xc,61,0,[Bn,Pn,Hn])}function ggn(t,e,n,r){var s,o,h,d,v,k,C;if(h=t.c.d,d=t.d.d,h.j!=d.j)for(C=t.b,s=h.j,v=null;s!=d.j;)v=e==0?Oz(s):o3t(s),o=B3t(s,C.d[s.g],n),k=B3t(v,C.d[v.g],n),ri(r,Li(o,k)),s=v}function pgn(t,e,n,r){var s,o,h,d,v;return h=Yse(t.a,e,n),d=u(h.a,19).a,o=u(h.b,19).a,r&&(v=u(Q(e,(ae(),Ju)),10),s=u(Q(n,Ju),10),v&&s&&(tJt(t.b,v,s),d+=t.b.i,o+=t.b.e)),d>o}function qae(t){var e,n,r,s,o,h,d,v,k;for(this.a=wse(t),this.b=new he,n=t,r=0,s=n.length;rynt(t.d).c?(t.i+=t.g.c,sst(t.d)):ynt(t.d).c>ynt(t.g).c?(t.e+=t.d.c,sst(t.g)):(t.i+=mKt(t.g),t.e+=mKt(t.d),sst(t.g),sst(t.d))}function vgn(t,e,n){var r,s,o,h;for(o=e.q,h=e.r,new i2((Uf(),mb),e,o,1),new i2(mb,o,h,1),s=new S(n);s.ad&&(v=d/r),s>o&&(k=o/s),h=b.Math.min(v,k),t.a+=h*(e.a-t.a),t.b+=h*(e.b-t.b)}function kgn(t,e,n,r,s){var o,h;for(h=!1,o=u(Ne(n.b,0),33);Byn(t,e,o,r,s)&&(h=!0,e0n(n,o),n.b.c.length!=0);)o=u(Ne(n.b,0),33);return n.b.c.length==0&&sI(n.j,n),h&&nq(e.q),h}function Egn(t,e){k4();var n,r,s,o;if(e.b<2)return!1;for(o=ei(e,0),n=u(ti(o),8),r=n;o.b!=o.d.c;){if(s=u(ti(o),8),cat(t,r,s))return!0;r=s}return!!cat(t,r,n)}function $4t(t,e,n,r){var s,o;return n==0?(!t.o&&(t.o=new _l((Jc(),Sb),Hv,t,0)),Oj(t.o,e,r)):(o=u(yn((s=u(Dn(t,16),26),s||t.zh()),n),66),o.Nj().Rj(t,su(t),n-Jn(t.zh()),e,r))}function Hst(t,e){var n;e!=t.sb?(n=null,t.sb&&(n=u(t.sb,49).ih(t,1,sA,n)),e&&(n=u(e,49).gh(t,1,sA,n)),n=t3t(t,e,n),n&&n.Fi()):t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,4,e,e))}function Tgn(t,e){var n,r,s,o;if(e)s=H0(e,"x"),n=new vzt(t),V8(n.a,(On(s),s)),o=H0(e,"y"),r=new mzt(t),U8(r.a,(On(o),o));else throw it(new ud("All edge sections need an end point."))}function Cgn(t,e){var n,r,s,o;if(e)s=H0(e,"x"),n=new pzt(t),G8(n.a,(On(s),s)),o=H0(e,"y"),r=new bzt(t),W8(r.a,(On(o),o));else throw it(new ud("All edge sections need a start point."))}function _gn(t,e){var n,r,s,o,h,d,v;for(r=Are(t),o=0,d=r.length;o>22-e,s=t.h<>22-e):e<44?(n=0,r=t.l<>44-e):(n=0,r=0,s=t.l<t)throw it(new Fn("k must be smaller than n"));return e==0||e==t?1:t==0?0:g4t(t)/(g4t(e)*g4t(t-e))}function z4t(t,e){var n,r,s,o;for(n=new l2t(t);n.g==null&&!n.c?Hvt(n):n.g==null||n.i!=0&&u(n.g[n.i-1],47).Ob();)if(o=u(wq(n),56),_t(o,160))for(r=u(o,160),s=0;s>4],e[n*2+1]=yU[o&15];return Mh(e,0,e.length)}function Hgn(t){c$();var e,n,r;switch(r=t.c.length,r){case 0:return Age;case 1:return e=u(Ioe(new S(t)),42),den(e.cd(),e.dd());default:return n=u(P1(t,Nt(P2,Hq,42,t.c.length,0,1)),165),new uet(n)}}function Vgn(t){var e,n,r,s,o,h;for(e=new B3,n=new B3,Up(e,t),Up(n,t);n.b!=n.c;)for(s=u(Hx(n),37),h=new S(s.a);h.a0&&kI(t,n,e),s):_bn(t,e,n)}function Xae(t,e,n){var r,s,o,h;if(e.b!=0){for(r=new Zi,h=ei(e,0);h.b!=h.d.c;)o=u(ti(h),86),Ua(r,Eyt(o)),s=o.e,s.a=u(Q(o,(fc(),$ht)),19).a,s.b=u(Q(o,o_t),19).a;Xae(t,r,Rc(n,r.b/t.a|0))}}function Qae(t,e){var n,r,s,o,h;if(t.e<=e||Zin(t,t.g,e))return t.g;for(o=t.r,r=t.g,h=t.r,s=(o-r)/2+r;r+11&&(t.e.b+=t.a)):(t.e.a+=n.a,t.e.b=b.Math.max(t.e.b,n.b),t.d.c.length>1&&(t.e.a+=t.a))}function Kgn(t){var e,n,r,s;switch(s=t.i,e=s.b,r=s.j,n=s.g,s.a.g){case 0:n.a=(t.g.b.o.a-r.a)/2;break;case 1:n.a=e.d.n.a+e.d.a.a;break;case 2:n.a=e.d.n.a+e.d.a.a-r.a;break;case 3:n.b=e.d.n.b+e.d.a.b}}function Zae(t,e,n,r,s){if(rr&&(t.a=r),t.bs&&(t.b=s),t}function Xgn(t){if(_t(t,149))return Cwn(u(t,149));if(_t(t,229))return khn(u(t,229));if(_t(t,23))return Lgn(u(t,23));throw it(new Fn(L8t+eb(new yl(lt(ct(Qn,1),De,1,5,[t])))))}function Qgn(t,e,n,r,s){var o,h,d;for(o=!0,h=0;h>>s|n[h+r+1]<>>s,++h}return o}function G4t(t,e,n,r){var s,o,h;if(e.k==(Vn(),ta)){for(o=new ar(lr(jo(e).a.Kc(),new z));zr(o);)if(s=u(Mr(o),17),h=s.c.i.k,h==ta&&t.c.a[s.c.i.c.p]==r&&t.c.a[e.c.p]==n)return!0}return!1}function Zgn(t,e){var n,r,s,o;return e&=63,n=t.h&Z0,e<22?(o=n>>>e,s=t.m>>e|n<<22-e,r=t.l>>e|t.m<<22-e):e<44?(o=0,s=n>>>e-22,r=t.m>>e-22|t.h<<44-e):(o=0,s=0,r=n>>>e-44),iu(r&hl,s&hl,o&Z0)}function Jae(t,e,n,r){var s;this.b=r,this.e=t==(ev(),FS),s=e[n],this.d=t2(pl,[ee,o0],[177,25],16,[s.length,s.length],2),this.a=t2(Cr,[ee,Xr],[48,25],15,[s.length,s.length],2),this.c=new S4t(e,n)}function Jgn(t){var e,n,r;for(t.k=new Wvt((ve(),lt(ct(Xa,1),xc,61,0,[Zo,Pn,Hn,mr,Bn])).length,t.j.c.length),r=new S(t.j);r.a=n)return EE(t,e,r.p),!0;return!1}function eoe(t){var e;return t.Db&64?Vst(t):(e=new Ol(v8t),!t.a||Gr(Gr((e.a+=' "',e),t.a),'"'),Gr(Aw(Gr(Aw(Gr(Aw(Gr(Aw((e.a+=" (",e),t.i),","),t.j)," | "),t.g),","),t.f),")"),e.a)}function noe(t,e,n){var r,s,o,h,d;for(d=ou(t.e.Tg(),e),s=u(t.g,119),r=0,h=0;hn?J4t(t,n,"start index"):e<0||e>n?J4t(e,n,"end index"):y_("end index (%s) must not be less than start index (%s)",lt(ct(Qn,1),De,1,5,[pe(e),pe(t)]))}function ioe(t,e){var n,r,s,o;for(r=0,s=t.length;r0&&soe(t,o,n));e.p=0}function Xe(t){var e;this.c=new Zi,this.f=t.e,this.e=t.d,this.i=t.g,this.d=t.c,this.b=t.b,this.k=t.j,this.a=t.a,t.i?this.j=t.i:this.j=(e=u(Vf(ip),9),new sh(e,u(ff(e,e.length),9),0)),this.g=t.f}function spn(t){var e,n,r,s;for(e=qp(Gr(new Ol("Predicates."),"and"),40),n=!0,s=new mx(t);s.b0?d[h-1]:Nt(l0,Yg,10,0,0,1),s=d[h],k=h=0?t.Bh(s):i5t(t,r);else throw it(new Fn(lb+r.ne()+X_));else throw it(new Fn(Bde+e+Rde));else fh(t,n,r)}function U4t(t){var e,n;if(n=null,e=!1,_t(t,204)&&(e=!0,n=u(t,204).a),e||_t(t,258)&&(e=!0,n=""+u(t,258).a),e||_t(t,483)&&(e=!0,n=""+u(t,483).a),!e)throw it(new fet(A8t));return n}function uoe(t,e){var n,r;if(t.f){for(;e.Ob();)if(n=u(e.Pb(),72),r=n.ak(),_t(r,99)&&u(r,18).Bb&dc&&(!t.e||r.Gj()!=j7||r.aj()!=0)&&n.dd()!=null)return e.Ub(),!0;return!1}else return e.Ob()}function loe(t,e){var n,r;if(t.f){for(;e.Sb();)if(n=u(e.Ub(),72),r=n.ak(),_t(r,99)&&u(r,18).Bb&dc&&(!t.e||r.Gj()!=j7||r.aj()!=0)&&n.dd()!=null)return e.Pb(),!0;return!1}else return e.Sb()}function W4t(t,e,n){var r,s,o,h,d,v;for(v=ou(t.e.Tg(),e),r=0,d=t.i,s=u(t.g,119),h=0;h1&&(e.c[e.c.length]=o))}function upn(t){var e,n,r,s;for(n=new Zi,Ua(n,t.o),r=new qpt;n.b!=0;)e=u(n.b==0?null:(Zn(n.b!=0),lh(n,n.a.a)),508),s=Hhe(t,e,!0),s&&le(r.a,e);for(;r.a.c.length!=0;)e=u(Nre(r),508),Hhe(t,e,!1)}function Ug(){Ug=Z,_St=new Ox(N_,0),La=new Ox("BOOLEAN",1),gc=new Ox("INT",2),I7=new Ox("STRING",3),Oo=new Ox("DOUBLE",4),us=new Ox("ENUM",5),U6=new Ox("ENUMSET",6),V1=new Ox("OBJECT",7)}function g_(t,e){var n,r,s,o,h;r=b.Math.min(t.c,e.c),o=b.Math.min(t.d,e.d),s=b.Math.max(t.c+t.b,e.c+e.b),h=b.Math.max(t.d+t.a,e.d+e.a),s=(s/2|0))for(this.e=r?r.c:null,this.d=s;n++0;)Vvt(this);this.b=e,this.a=null}function fpn(t,e){var n,r;e.a?Fwn(t,e):(n=u(Cnt(t.b,e.b),57),n&&n==t.a[e.b.f]&&n.a&&n.a!=e.b.a&&n.c.Fc(e.b),r=u(Tnt(t.b,e.b),57),r&&t.a[r.f]==e.b&&r.a&&r.a!=e.b.a&&e.b.c.Fc(r),fnt(t.b,e.b))}function foe(t,e){var n,r;if(n=u(po(t.b,e),124),u(u(Ai(t.r,e),21),84).dc()){n.n.b=0,n.n.c=0;return}n.n.b=t.C.b,n.n.c=t.C.c,t.A.Hc((Al(),K2))&&Nue(t,e),r=qfn(t,e),lat(t,e)==(l4(),Eb)&&(r+=2*t.w),n.a.a=r}function doe(t,e){var n,r;if(n=u(po(t.b,e),124),u(u(Ai(t.r,e),21),84).dc()){n.n.d=0,n.n.a=0;return}n.n.d=t.C.d,n.n.a=t.C.a,t.A.Hc((Al(),K2))&&Bue(t,e),r=Hfn(t,e),lat(t,e)==(l4(),Eb)&&(r+=2*t.w),n.a.b=r}function dpn(t,e){var n,r,s,o;for(o=new he,r=new S(e);r.an.a&&(r.Hc((hy(),WO))?s=(e.a-n.a)/2:r.Hc(YO)&&(s=e.a-n.a)),e.b>n.b&&(r.Hc((hy(),XO))?o=(e.b-n.b)/2:r.Hc(KO)&&(o=e.b-n.b)),F4t(t,s,o)}function xoe(t,e,n,r,s,o,h,d,v,k,C,M,j){_t(t.Cb,88)&&gy(sl(u(t.Cb,88)),4),Qc(t,n),t.f=h,hE(t,d),dE(t,v),lE(t,k),fE(t,C),qg(t,M),gE(t,j),zg(t,!0),Rg(t,s),t.ok(o),b2(t,e),r!=null&&(t.i=null,fz(t,r))}function koe(t){var e,n;if(t.f){for(;t.n>0;){if(e=u(t.k.Xb(t.n-1),72),n=e.ak(),_t(n,99)&&u(n,18).Bb&dc&&(!t.e||n.Gj()!=j7||n.aj()!=0)&&e.dd()!=null)return!0;--t.n}return!1}else return t.n>0}function J4t(t,e,n){if(t<0)return y_(afe,lt(ct(Qn,1),De,1,5,[n,pe(t)]));if(e<0)throw it(new Fn(ofe+e));return y_("%s (%s) must not be greater than size (%s)",lt(ct(Qn,1),De,1,5,[n,pe(t),pe(e)]))}function t5t(t,e,n,r,s,o){var h,d,v,k;if(h=r-n,h<7){hhn(e,n,r,o);return}if(v=n+s,d=r+s,k=v+(d-v>>1),t5t(e,t,v,k,-s,o),t5t(e,t,k,d,-s,o),o.ue(t[k-1],t[k])<=0){for(;n=0?t.sh(o,n):M5t(t,s,n);else throw it(new Fn(lb+s.ne()+X_));else throw it(new Fn(Bde+e+Rde));else gh(t,r,s,n)}function Eoe(t){var e,n,r,s;if(n=u(t,49).qh(),n)try{if(r=null,e=_E((Pp(),Yh),sle(ghn(n))),e&&(s=e.rh(),s&&(r=s.Wk(kKe(n.e)))),r&&r!=t)return Eoe(r)}catch(o){if(o=Wi(o),!_t(o,60))throw it(o)}return t}function au(t,e,n){var r,s,o,h;if(h=e==null?0:t.b.se(e),s=(r=t.a.get(h),r??new Array),s.length==0)t.a.set(h,s);else if(o=jre(t,e,s),o)return o.ed(n);return ts(s,s.length,new KR(e,n)),++t.c,w$(t.b),null}function Toe(t,e){var n,r;return L$(t.a),Kd(t.a,(pz(),FG),FG),Kd(t.a,D7,D7),r=new Vs,bi(r,D7,(Nz(),Ght)),Vt(qe(e,(uy(),Yht)))!==Vt((HD(),NG))&&bi(r,D7,Hht),bi(r,D7,Vht),TUt(t.a,r),n=Fq(t.a,e),n}function Coe(t){if(!t)return cHt(),Bge;var e=t.valueOf?t.valueOf():t;if(e!==t){var n=Put[typeof e];return n?n(e):Uyt(typeof e)}else return t instanceof Array||t instanceof b.Array?new wx(t):new Qk(t)}function _oe(t,e,n){var r,s,o;switch(o=t.o,r=u(po(t.p,n),244),s=r.i,s.b=gI(r),s.a=dI(r),s.b=b.Math.max(s.b,o.a),s.b>o.a&&!e&&(s.b=o.a),s.c=-(s.b-o.a)/2,n.g){case 1:s.d=-s.a;break;case 3:s.d=o.b}Eat(r),Tat(r)}function Soe(t,e,n){var r,s,o;switch(o=t.o,r=u(po(t.p,n),244),s=r.i,s.b=gI(r),s.a=dI(r),s.a=b.Math.max(s.a,o.b),s.a>o.b&&!e&&(s.a=o.b),s.d=-(s.a-o.b)/2,n.g){case 4:s.c=-s.b;break;case 2:s.c=o.a}Eat(r),Tat(r)}function Apn(t,e){var n,r,s,o,h;if(!e.dc()){if(s=u(e.Xb(0),128),e.gc()==1){tue(t,s,s,1,0,e);return}for(n=1;n0)try{s=ql(e,Sa,wi)}catch(o){throw o=Wi(o),_t(o,127)?(r=o,it(new W$(r))):it(o)}return n=(!t.a&&(t.a=new Ztt(t)),t.a),s=0?u(At(n,s),56):null}function Ipn(t,e){if(t<0)return y_(afe,lt(ct(Qn,1),De,1,5,["index",pe(t)]));if(e<0)throw it(new Fn(ofe+e));return y_("%s (%s) must be less than size (%s)",lt(ct(Qn,1),De,1,5,["index",pe(t),pe(e)]))}function Opn(t){var e,n,r,s,o;if(t==null)return _u;for(o=new f2(Ya,"[","]"),n=t,r=0,s=n.length;r0)for(h=t.c.d,d=t.d.d,s=fd(ia(new $e(d.a,d.b),h),1/(r+1)),o=new $e(h.a,h.b),n=new S(t.a);n.a=0?t._g(n,!0,!0):dv(t,s,!0),153)),u(r,215).ol(e);else throw it(new Fn(lb+e.ne()+X_))}function s5t(t){var e,n;return t>-0x800000000000&&t<0x800000000000?t==0?0:(e=t<0,e&&(t=-t),n=ps(b.Math.floor(b.Math.log(t)/.6931471805599453)),(!e||t!=b.Math.pow(2,n))&&++n,n):Jne(Tu(t))}function Upn(t){var e,n,r,s,o,h,d;for(o=new O0,n=new S(t);n.a2&&d.e.b+d.j.b<=2&&(s=d,r=h),o.a.zc(s,o),s.q=r);return o}function Foe(t,e){var n,r,s;return r=new Y0(t),Mo(r,e),Jt(r,(ae(),eG),e),Jt(r,(Te(),cs),(ua(),Gc)),Jt(r,Id,(t0(),UG)),D0(r,(Vn(),ks)),n=new Mc,Uo(n,r),Bs(n,(ve(),Bn)),s=new Mc,Uo(s,r),Bs(s,Hn),r}function Noe(t){switch(t.g){case 0:return new det((ev(),RO));case 1:return new VB;case 2:return new ltt;default:throw it(new Fn("No implementation is available for the crossing minimizer "+(t.f!=null?t.f:""+t.g)))}}function Boe(t,e){var n,r,s,o,h;for(t.c[e.p]=!0,le(t.a,e),h=new S(e.j);h.a=o)h.$b();else for(s=h.Kc(),r=0;r0?rbt():h<0&&zoe(t,e,-h),!0):!1}function dI(t){var e,n,r,s,o,h,d;if(d=0,t.b==0){for(h=Ese(t,!0),e=0,r=h,s=0,o=r.length;s0&&(d+=n,++e);e>1&&(d+=t.c*(e-1))}else d=bHt(Sne(l$(Ri(Qnt(t.a),new Ml),new ha)));return d>0?d+t.n.d+t.n.a:0}function gI(t){var e,n,r,s,o,h,d;if(d=0,t.b==0)d=bHt(Sne(l$(Ri(Qnt(t.a),new th),new Fa)));else{for(h=Tse(t,!0),e=0,r=h,s=0,o=r.length;s0&&(d+=n,++e);e>1&&(d+=t.c*(e-1))}return d>0?d+t.n.b+t.n.c:0}function tbn(t,e){var n,r,s,o;for(o=u(po(t.b,e),124),n=o.a,s=u(u(Ai(t.r,e),21),84).Kc();s.Ob();)r=u(s.Pb(),111),r.c&&(n.a=b.Math.max(n.a,Vwt(r.c)));if(n.a>0)switch(e.g){case 2:o.n.c=t.s;break;case 4:o.n.b=t.s}}function ebn(t,e){var n,r,s;return n=u(Q(e,(Jf(),c7)),19).a-u(Q(t,c7),19).a,n==0?(r=ia(nc(u(Q(t,(Yp(),vO)),8)),u(Q(t,dS),8)),s=ia(nc(u(Q(e,vO),8)),u(Q(e,dS),8)),Ms(r.a*r.b,s.a*s.b)):n}function nbn(t,e){var n,r,s;return n=u(Q(e,(gv(),PG)),19).a-u(Q(t,PG),19).a,n==0?(r=ia(nc(u(Q(t,(fc(),zO)),8)),u(Q(t,$S),8)),s=ia(nc(u(Q(e,zO),8)),u(Q(e,$S),8)),Ms(r.a*r.b,s.a*s.b)):n}function qoe(t){var e,n;return n=new Mp,n.a+="e_",e=hun(t),e!=null&&(n.a+=""+e),t.c&&t.d&&(Gr((n.a+=" ",n),iq(t.c)),Gr(hc((n.a+="[",n),t.c.i),"]"),Gr((n.a+=Uot,n),iq(t.d)),Gr(hc((n.a+="[",n),t.d.i),"]")),n.a}function Hoe(t){switch(t.g){case 0:return new ZL;case 1:return new ctt;case 2:return new ott;case 3:return new GB;default:throw it(new Fn("No implementation is available for the layout phase "+(t.f!=null?t.f:""+t.g)))}}function o5t(t,e,n,r,s){var o;switch(o=0,s.g){case 1:o=b.Math.max(0,e.b+t.b-(n.b+r));break;case 3:o=b.Math.max(0,-t.b-r);break;case 2:o=b.Math.max(0,-t.a-r);break;case 4:o=b.Math.max(0,e.a+t.a-(n.a+r))}return o}function rbn(t,e,n){var r,s,o,h,d;if(n)for(s=n.a.length,r=new e2(s),d=(r.b-r.a)*r.c<0?(Fp(),Ib):new jp(r);d.Ob();)h=u(d.Pb(),19),o=P8(n,h.a),k8t in o.a||nut in o.a?gmn(t,o,e):yxn(t,o,e),zQe(u(tr(t.b,pE(o)),79))}function c5t(t){var e,n;switch(t.b){case-1:return!0;case 0:return n=t.t,n>1||n==-1?(t.b=-1,!0):(e=Dh(t),e&&(to(),e.Cj()==j0e)?(t.b=-1,!0):(t.b=1,!1));default:case 1:return!1}}function ibn(t,e){var n,r,s,o,h;for(r=(!e.s&&(e.s=new fe(Mu,e,21,17)),e.s),o=null,s=0,h=r.i;s=0&&r=0?t._g(n,!0,!0):dv(t,s,!0),153)),u(r,215).ll(e);throw it(new Fn(lb+e.ne()+Wct))}function ubn(){Tbt();var t;return T5e?u(_E((Pp(),Yh),Bh),1939):(ii(P2,new jf),V4n(),t=u(_t(Nc((Pp(),Yh),Bh),547)?Nc(Yh,Bh):new LXt,547),T5e=!0,$xn(t),Gxn(t),ki((Ebt(),sLt),t,new oJ),ko(Yh,Bh,t),t)}function lbn(t,e){var n,r,s,o;t.j=-1,xl(t.e)?(n=t.i,o=t.i!=0,gD(t,e),r=new z0(t.e,3,t.c,null,e,n,o),s=e.Qk(t.e,t.c,null),s=xae(t,e,s),s?(s.Ei(r),s.Fi()):mi(t.e,r)):(gD(t,e),s=e.Qk(t.e,t.c,null),s&&s.Fi())}function gq(t,e){var n,r,s;if(s=0,r=e[0],r>=t.length)return-1;for(n=(Rr(r,t.length),t.charCodeAt(r));n>=48&&n<=57&&(s=s*10+(n-48),++r,!(r>=t.length));)n=(Rr(r,t.length),t.charCodeAt(r));return r>e[0]?e[0]=r:s=-1,s}function hbn(t){var e,n,r,s,o;return s=u(t.a,19).a,o=u(t.b,19).a,n=s,r=o,e=b.Math.max(b.Math.abs(s),b.Math.abs(o)),s<=0&&s==o?(n=0,r=o-1):s==-e&&o!=e?(n=o,r=s,o>=0&&++n):(n=-o,r=s),new fa(pe(n),pe(r))}function fbn(t,e,n,r){var s,o,h,d,v,k;for(s=0;s=0&&k>=0&&v=t.i)throw it(new yo(iut+e+D2+t.i));if(n>=t.i)throw it(new yo(sut+n+D2+t.i));return r=t.g[n],e!=n&&(e>16),e=r>>16&16,n=16-e,t=t>>e,r=t-256,e=r>>16&8,n+=e,t<<=e,r=t-Ey,e=r>>16&4,n+=e,t<<=e,r=t-md,e=r>>16&2,n+=e,t<<=e,r=t>>14,e=r&~(r>>1),n+2-e)}function gbn(t){Ux();var e,n,r,s;for(dV=new he,Jut=new _r,Zut=new he,e=(!t.a&&(t.a=new fe(rs,t,10,11)),t.a),U5n(e),s=new nr(e);s.e!=s.i.gc();)r=u(dr(s),33),Ro(dV,r,0)==-1&&(n=new he,le(Zut,n),ese(r,n));return Zut}function pbn(t,e,n){var r,s,o,h;t.a=n.b.d,_t(e,352)?(s=x4(u(e,79),!1,!1),o=lI(s),r=new Ea(t),va(o,r),CI(o,s),e.We((ui(),a5))!=null&&va(u(e.We(a5),74),r)):(h=u(e,470),h.Hg(h.Dg()+t.a.a),h.Ig(h.Eg()+t.a.b))}function Goe(t,e){var n,r,s,o,h,d,v,k;for(k=Xt(ye(Q(e,(Te(),LS)))),v=t[0].n.a+t[0].o.a+t[0].d.c+k,d=1;d=0?n:(d=D9(ia(new $e(h.c+h.b/2,h.d+h.a/2),new $e(o.c+o.b/2,o.d+o.a/2))),-(dle(o,h)-1)*d)}function wbn(t,e,n){var r;ls(new Tn(null,(!n.a&&(n.a=new fe(Ji,n,6,6)),new _n(n.a,16))),new LGt(t,e)),ls(new Tn(null,(!n.n&&(n.n=new fe(qo,n,1,7)),new _n(n.n,16))),new MGt(t,e)),r=u(qe(n,(ui(),a5)),74),r&&dyt(r,t,e)}function dv(t,e,n){var r,s,o;if(o=C4(($u(),ya),t.Tg(),e),o)return to(),u(o,66).Oj()||(o=Kx(To(ya,o))),s=(r=t.Yg(o),u(r>=0?t._g(r,!0,!0):dv(t,o,!0),153)),u(s,215).hl(e,n);throw it(new Fn(lb+e.ne()+Wct))}function l5t(t,e,n,r){var s,o,h,d,v;if(s=t.d[e],s){if(o=s.g,v=s.i,r!=null){for(d=0;d=n&&(r=e,k=(v.c+v.a)/2,h=k-n,v.c<=k-n&&(s=new Dnt(v.c,h),Hm(t,r++,s)),d=k+n,d<=v.a&&(o=new Dnt(d,v.a),Km(r,t.c.length),XC(t.c,r,o)))}function h5t(t){var e;if(!t.c&&t.g==null)t.d=t.si(t.f),Dr(t,t.d),e=t.d;else{if(t.g==null)return!0;if(t.i==0)return!1;e=u(t.g[t.i-1],47)}return e==t.b&&null.km>=null.jm()?(wq(t),h5t(t)):e.Ob()}function xbn(t,e,n){var r,s,o,h,d;if(d=n,!d&&(d=qwt(new r8,0)),vr(d,c1e,1),dhe(t.c,e),h=F4n(t.a,e),h.gc()==1)Kle(u(h.Xb(0),37),d);else for(o=1/h.gc(),s=h.Kc();s.Ob();)r=u(s.Pb(),37),Kle(r,Rc(d,o));LKe(t.a,h,e),Fvn(e),or(d)}function Yoe(t){if(this.a=t,t.c.i.k==(Vn(),ks))this.c=t.c,this.d=u(Q(t.c.i,(ae(),oc)),61);else if(t.d.i.k==ks)this.c=t.d,this.d=u(Q(t.d.i,(ae(),oc)),61);else throw it(new Fn("Edge "+t+" is not an external edge."))}function Koe(t,e){var n,r,s;s=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,3,s,t.b)),e?e!=t&&(Qc(t,e.zb),hit(t,e.d),n=(r=e.c,r??e.zb),dit(t,n==null||hn(n,e.zb)?null:n)):(Qc(t,null),hit(t,0),dit(t,null))}function Xoe(t){var e,n;if(t.f){for(;t.n=h)throw it(new qm(e,h));return s=n[e],h==1?r=null:(r=Nt(Fft,lut,415,h-1,0,1),Dc(n,0,r,0,e),o=h-e-1,o>0&&Dc(n,e+1,r,e,o)),bE(t,r),moe(t,e,s),s}function d6(){d6=Z,tk=u(At(Wt((fbt(),pc).qb),6),34),J6=u(At(Wt(pc.qb),3),34),zft=u(At(Wt(pc.qb),4),34),qft=u(At(Wt(pc.qb),5),18),cq(tk),cq(J6),cq(zft),cq(qft),A5e=new yl(lt(ct(Mu,1),B4,170,0,[tk,J6]))}function tce(t,e){var n;this.d=new OC,this.b=e,this.e=new xo(e.qf()),n=t.u.Hc((Zu(),sP)),t.u.Hc(sg)?t.D?this.a=n&&!e.If():this.a=!0:t.u.Hc(Cb)?n?this.a=!(e.zf().Kc().Ob()||e.Bf().Kc().Ob()):this.a=!1:this.a=!1}function ece(t,e){var n,r,s,o;for(n=t.o.a,o=u(u(Ai(t.r,e),21),84).Kc();o.Ob();)s=u(o.Pb(),111),s.e.a=(r=s.b,r.Xe((ui(),dl))?r.Hf()==(ve(),Bn)?-r.rf().a-Xt(ye(r.We(dl))):n+Xt(ye(r.We(dl))):r.Hf()==(ve(),Bn)?-r.rf().a:n)}function nce(t,e){var n,r,s,o;n=u(Q(t,(Te(),Wl)),103),o=u(qe(e,C7),61),s=u(Q(t,cs),98),s!=(ua(),G1)&&s!=Tb?o==(ve(),Zo)&&(o=uxt(e,n),o==Zo&&(o=a6(n))):(r=Yle(e),r>0?o=a6(n):o=YD(a6(n))),wo(e,C7,o)}function Cbn(t,e){var n,r,s,o,h;for(h=t.j,e.a!=e.b&&Zs(h,new ex),s=h.c.length/2|0,r=0;r0&&kI(t,n,e),o):r.a!=null?(kI(t,e,n),-1):s.a!=null?(kI(t,n,e),1):0}function rce(t,e){var n,r,s,o;t.ej()?(n=t.Vi(),o=t.fj(),++t.j,t.Hi(n,t.oi(n,e)),r=t.Zi(3,null,e,n,o),t.bj()?(s=t.cj(e,null),s?(s.Ei(r),s.Fi()):t.$i(r)):t.$i(r)):(mXt(t,e),t.bj()&&(s=t.cj(e,null),s&&s.Fi()))}function pq(t,e){var n,r,s,o,h;for(h=ou(t.e.Tg(),e),s=new ox,n=u(t.g,119),o=t.i;--o>=0;)r=n[o],h.rl(r.ak())&&Dr(s,r);!Uhe(t,s)&&xl(t.e)&&n8(t,e.$j()?Gp(t,6,e,(wn(),io),null,-1,!1):Gp(t,e.Kj()?2:1,e,null,null,-1,!1))}function TE(){TE=Z;var t,e;for(D6=Nt(j4,ee,91,32,0,1),lS=Nt(j4,ee,91,32,0,1),t=1,e=0;e<=18;e++)D6[e]=JD(t),lS[e]=JD(F0(t,e)),t=_a(t,5);for(;eh)||e.q&&(r=e.C,h=r.c.c.a-r.o.a/2,s=r.n.a-n,s>h)))}function Abn(t,e){var n;vr(e,"Partition preprocessing",1),n=u(Bl(Ri(Wo(Ri(new Tn(null,new _n(t.a,16)),new QK),new wN),new Z5),c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[(O1(),Ul)]))),15),ls(n.Oc(),new vN),or(e)}function ice(t){_rt();var e,n,r,s,o,h,d;for(n=new a2,s=new S(t.e.b);s.a1?t.e*=Xt(t.a):t.f/=Xt(t.a),uln(t),gfn(t),Xvn(t),Jt(t.b,(o_(),fV),t.g)}function cce(t,e,n){var r,s,o,h,d,v;for(r=0,v=n,e||(r=n*(t.c.length-1),v*=-1),o=new S(t);o.a=0?(e||(e=new $C,r>0&&go(e,t.substr(0,r))),e.a+="\\",S8(e,n&ys)):e&&S8(e,n&ys);return e?e.a:t}function Bbn(t){var e;if(!t.a)throw it(new No("IDataType class expected for layout option "+t.f));if(e=Gsn(t.a),e==null)throw it(new No("Couldn't create new instance of property '"+t.f+"'. "+ade+(P0(gP),gP.k)+d8t));return u(e,414)}function eat(t){var e,n,r,s,o;return o=t.eh(),o&&o.kh()&&(s=Zp(t,o),s!=o)?(n=t.Vg(),r=(e=t.Vg(),e>=0?t.Qg(null):t.eh().ih(t,-1-e,null,null)),t.Rg(u(s,49),n),r&&r.Fi(),t.Lg()&&t.Mg()&&n>-1&&mi(t,new Js(t,9,n,o,s)),s):o}function dce(t){var e,n,r,s,o,h,d,v;for(h=0,o=t.f.e,r=0;r>5,s>=t.d)return t.e<0;if(n=t.a[s],e=1<<(e&31),t.e<0){if(r=Ine(t),s>16)),15).Xc(o),d0&&(!(Bp(t.a.c)&&e.n.d)&&!(b8(t.a.c)&&e.n.b)&&(e.g.d+=b.Math.max(0,r/2-.5)),!(Bp(t.a.c)&&e.n.a)&&!(b8(t.a.c)&&e.n.c)&&(e.g.a-=r-1))}function bce(t){var e,n,r,s,o;if(s=new he,o=ule(t,s),e=u(Q(t,(ae(),Ju)),10),e)for(r=new S(e.j);r.a>e,o=t.m>>e|n<<22-e,s=t.l>>e|t.m<<22-e):e<44?(h=r?Z0:0,o=n>>e-22,s=t.m>>e-22|n<<44-e):(h=r?Z0:0,o=r?hl:0,s=n>>e-44),iu(s&hl,o&hl,h&Z0)}function nat(t){var e,n,r,s,o,h;for(this.c=new he,this.d=t,r=as,s=as,e=Cs,n=Cs,h=ei(t,0);h.b!=h.d.c;)o=u(ti(h),8),r=b.Math.min(r,o.a),s=b.Math.min(s,o.b),e=b.Math.max(e,o.a),n=b.Math.max(n,o.b);this.a=new ah(r,s,e-r,n-s)}function mce(t,e){var n,r,s,o,h,d;for(o=new S(t.b);o.a0&&_t(e,42)&&(t.a.qj(),k=u(e,42),v=k.cd(),o=v==null?0:Hi(v),h=rwt(t.a,o),n=t.a.d[h],n)){for(r=u(n.g,367),C=n.i,d=0;d=2)for(n=s.Kc(),e=ye(n.Pb());n.Ob();)o=e,e=ye(n.Pb()),r=b.Math.min(r,(On(e),e-(On(o),o)));return r}function Ybn(t,e){var n,r,s,o,h;r=new Zi,fs(r,e,r.c.b,r.c);do for(n=(Zn(r.b!=0),u(lh(r,r.a.a),86)),t.b[n.g]=1,o=ei(n.d,0);o.b!=o.d.c;)s=u(ti(o),188),h=s.c,t.b[h.g]==1?ri(t.a,s):t.b[h.g]==2?t.b[h.g]=1:fs(r,h,r.c.b,r.c);while(r.b!=0)}function Kbn(t,e){var n,r,s;if(Vt(e)===Vt(Lr(t)))return!0;if(!_t(e,15)||(r=u(e,15),s=t.gc(),s!=r.gc()))return!1;if(_t(r,54)){for(n=0;n0&&(s=n),h=new S(t.f.e);h.a0?(e-=1,n-=1):r>=0&&s<0?(e+=1,n+=1):r>0&&s>=0?(e-=1,n+=1):(e+=1,n-=1),new fa(pe(e),pe(n))}function d2n(t,e){return t.ce.c?1:t.be.b?1:t.a!=e.a?Hi(t.a)-Hi(e.a):t.d==($9(),BS)&&e.d==NS?-1:t.d==NS&&e.d==BS?1:0}function _ce(t,e){var n,r,s,o,h;return o=e.a,o.c.i==e.b?h=o.d:h=o.c,o.c.i==e.b?r=o.c:r=o.d,s=zhn(t.a,h,r),s>0&&s0):s<0&&-s0):!1}function g2n(t,e,n,r){var s,o,h,d,v,k,C,M;for(s=(e-t.d)/t.c.c.length,o=0,t.a+=n,t.d=e,M=new S(t.c);M.a>24;return h}function b2n(t){if(t.pe()){var e=t.c;e.qe()?t.o="["+e.n:e.pe()?t.o="["+e.ne():t.o="[L"+e.ne()+";",t.b=e.me()+"[]",t.k=e.oe()+"[]";return}var n=t.j,r=t.d;r=r.split("/"),t.o=ast(".",[n,ast("$",r)]),t.b=ast(".",[n,ast(".",r)]),t.k=r[r.length-1]}function w2n(t,e){var n,r,s,o,h;for(h=null,o=new S(t.e.a);o.a=0;e-=2)for(n=0;n<=e;n+=2)(t.b[n]>t.b[n+2]||t.b[n]===t.b[n+2]&&t.b[n+1]>t.b[n+3])&&(r=t.b[n+2],t.b[n+2]=t.b[n],t.b[n]=r,r=t.b[n+3],t.b[n+3]=t.b[n+1],t.b[n+1]=r);t.c=!0}}function Sce(t,e){var n,r,s,o,h,d,v,k;for(h=e==1?clt:olt,o=h.a.ec().Kc();o.Ob();)for(s=u(o.Pb(),103),v=u(Ai(t.f.c,s),21).Kc();v.Ob();)switch(d=u(v.Pb(),46),r=u(d.b,81),k=u(d.a,189),n=k.c,s.g){case 2:case 1:r.g.d+=n;break;case 4:case 3:r.g.c+=n}}function y2n(t,e){var n,r,s,o,h,d,v,k,C;for(k=-1,C=0,h=t,d=0,v=h.length;d0&&++C;++k}return C}function mf(t){var e,n;return n=new Ol(Ip(t.gm)),n.a+="@",Gr(n,(e=Hi(t)>>>0,e.toString(16))),t.kh()?(n.a+=" (eProxyURI: ",hc(n,t.qh()),t.$g()&&(n.a+=" eClass: ",hc(n,t.$g())),n.a+=")"):t.$g()&&(n.a+=" (eClass: ",hc(n,t.$g()),n.a+=")"),n.a}function v_(t){var e,n,r,s;if(t.e)throw it(new No((P0(zut),Sot+zut.k+Aot)));for(t.d==(ao(),h0)&&Bq(t,zh),n=new S(t.a.a);n.a>24}return n}function E2n(t,e,n){var r,s,o;if(s=u(po(t.i,e),306),!s)if(s=new Aee(t.d,e,n),zx(t.i,e,s),P3t(e))jQe(t.a,e.c,e.b,s);else switch(o=lpn(e),r=u(po(t.p,o),244),o.g){case 1:case 3:s.j=!0,het(r,e.b,s);break;case 4:case 2:s.k=!0,het(r,e.c,s)}return s}function T2n(t,e,n,r){var s,o,h,d,v,k;if(d=new ox,v=ou(t.e.Tg(),e),s=u(t.g,119),to(),u(e,66).Oj())for(h=0;h=0)return s;for(o=1,d=new S(e.j);d.a0&&e.ue((An(s-1,t.c.length),u(t.c[s-1],10)),o)>0;)ch(t,s,(An(s-1,t.c.length),u(t.c[s-1],10))),--s;An(s,t.c.length),t.c[s]=o}n.a=new _r,n.b=new _r}function C2n(t,e,n){var r,s,o,h,d,v,k,C;for(C=(r=u(e.e&&e.e(),9),new sh(r,u(ff(r,r.length),9),0)),v=vy(n,"[\\[\\]\\s,]+"),o=v,h=0,d=o.length;h0&&(!(Bp(t.a.c)&&e.n.d)&&!(b8(t.a.c)&&e.n.b)&&(e.g.d-=b.Math.max(0,r/2-.5)),!(Bp(t.a.c)&&e.n.a)&&!(b8(t.a.c)&&e.n.c)&&(e.g.a+=b.Math.max(0,r-1)))}function Ice(t,e,n){var r,s;if((t.c-t.b&t.a.length-1)==2)e==(ve(),Pn)||e==Hn?(nz(u(Q9(t),15),(zl(),f0)),nz(u(Q9(t),15),kb)):(nz(u(Q9(t),15),(zl(),kb)),nz(u(Q9(t),15),f0));else for(s=new O9(t);s.a!=s.b;)r=u(Mz(s),15),nz(r,n)}function S2n(t,e){var n,r,s,o,h,d,v;for(s=x8(new Tpt(t)),d=new da(s,s.c.length),o=x8(new Tpt(e)),v=new da(o,o.c.length),h=null;d.b>0&&v.b>0&&(n=(Zn(d.b>0),u(d.a.Xb(d.c=--d.b),33)),r=(Zn(v.b>0),u(v.a.Xb(v.c=--v.b),33)),n==r);)h=n;return h}function ul(t,e){var n,r,s,o,h,d;return o=t.a*Eot+t.b*1502,d=t.b*Eot+11,n=b.Math.floor(d*$I),o+=n,d-=n*Gxt,o%=Gxt,t.a=o,t.b=d,e<=24?b.Math.floor(t.a*DEt[e]):(s=t.a*(1<=2147483648&&(r-=mot),r)}function Oce(t,e,n){var r,s,o,h;rZt(t,e)>rZt(t,n)?(r=Ko(n,(ve(),Hn)),t.d=r.dc()?0:Nnt(u(r.Xb(0),11)),h=Ko(e,Bn),t.b=h.dc()?0:Nnt(u(h.Xb(0),11))):(s=Ko(n,(ve(),Bn)),t.d=s.dc()?0:Nnt(u(s.Xb(0),11)),o=Ko(e,Hn),t.b=o.dc()?0:Nnt(u(o.Xb(0),11)))}function Pce(t){var e,n,r,s,o,h,d;if(t&&(e=t.Hh(Bh),e&&(h=Br(Xf((!e.b&&(e.b=new kl((dn(),Qa),cc,e)),e.b),"conversionDelegates")),h!=null))){for(d=new he,r=vy(h,"\\w+"),s=0,o=r.length;st.c));h++)s.a>=t.s&&(o<0&&(o=h),d=h);return v=(t.s+t.c)/2,o>=0&&(r=lmn(t,e,o,d),v=mXe((An(r,e.c.length),u(e.c[r],329))),ybn(e,r,n)),v}function sat(){sat=Z,l3e=new eo((ui(),W6),1.3),G_t=GSt,Z_t=new Ow(15),w3e=new eo(U2,Z_t),m3e=new eo(W2,15),h3e=YG,g3e=G2,p3e=c5,b3e=xb,d3e=o5,K_t=tP,v3e=Qy,Q_t=(y5t(),o3e),Y_t=s3e,X_t=a3e,J_t=c3e,U_t=i3e,W_t=KG,f3e=WSt,HO=r3e,V_t=n3e,tSt=u3e}function Ir(t,e,n){var r,s,o,h,d,v,k;for(h=(o=new lB,o),oyt(h,(On(e),e)),k=(!h.b&&(h.b=new kl((dn(),Qa),cc,h)),h.b),v=1;v0&&r4n(this,s)}function S5t(t,e,n,r,s,o){var h,d,v;if(!s[e.b]){for(s[e.b]=!0,h=r,!h&&(h=new B$),le(h.e,e),v=o[e.b].Kc();v.Ob();)d=u(v.Pb(),282),!(d.d==n||d.c==n)&&(d.c!=e&&S5t(t,d.c,e,h,s,o),d.d!=e&&S5t(t,d.d,e,h,s,o),le(h.c,d),Ls(h.d,d.b));return h}return null}function M2n(t){var e,n,r,s,o,h,d;for(e=0,s=new S(t.e);s.a=2}function D2n(t,e){var n,r,s,o;for(vr(e,"Self-Loop pre-processing",1),r=new S(t.a);r.a1||(e=ji(_f,lt(ct(lo,1),oe,93,0,[ig,Sf])),OD(k$(e,t))>1)||(r=ji(Lf,lt(ct(lo,1),oe,93,0,[d0,Hh])),OD(k$(r,t))>1))}function P2n(t,e){var n,r,s;return n=e.Hh(t.a),n&&(s=Br(Xf((!n.b&&(n.b=new kl((dn(),Qa),cc,n)),n.b),"affiliation")),s!=null)?(r=Tj(s,Cu(35)),r==-1?Uit(t,C9(t,Rl(e.Hj())),s):r==0?Uit(t,null,s.substr(1)):Uit(t,s.substr(0,r),s.substr(r+1))):null}function F2n(t){var e,n,r;try{return t==null?_u:$o(t)}catch(s){if(s=Wi(s),_t(s,102))return e=s,r=Ip(ol(t))+"@"+(n=(Gd(),$3t(t)>>>0),n.toString(16)),Efn(kun(),(d8(),"Exception during lenientFormat for "+r),e),"<"+r+" threw "+Ip(e.gm)+">";throw it(s)}}function Bce(t){switch(t.g){case 0:return new ett;case 1:return new qB;case 2:return new jVt;case 3:return new BL;case 4:return new aYt;case 5:return new ntt;default:throw it(new Fn("No implementation is available for the layerer "+(t.f!=null?t.f:""+t.g)))}}function A5t(t,e,n){var r,s,o;for(o=new S(t.t);o.a0&&(r.b.n-=r.c,r.b.n<=0&&r.b.u>0&&ri(e,r.b));for(s=new S(t.i);s.a0&&(r.a.u-=r.c,r.a.u<=0&&r.a.n>0&&ri(n,r.a))}function wq(t){var e,n,r,s,o;if(t.g==null&&(t.d=t.si(t.f),Dr(t,t.d),t.c))return o=t.f,o;if(e=u(t.g[t.i-1],47),s=e.Pb(),t.e=e,n=t.si(s),n.Ob())t.d=n,Dr(t,n);else for(t.d=null;!e.Ob()&&(ts(t.g,--t.i,null),t.i!=0);)r=u(t.g[t.i-1],47),e=r;return s}function N2n(t,e){var n,r,s,o,h,d;if(r=e,s=r.ak(),X0(t.e,s)){if(s.hi()&&O$(t,s,r.dd()))return!1}else for(d=ou(t.e.Tg(),s),n=u(t.g,119),o=0;o1||n>1)return 2;return e+n==1?2:0}function jce(t,e,n){var r,s,o,h,d;for(vr(n,"ELK Force",1),je(Re(qe(e,(Jf(),y7t))))||y$((r=new rr((Pm(),new Mm(e))),r)),d=pre(e),odn(d),$un(t,u(Q(d,m7t),424)),h=Ale(t.a,d),o=h.Kc();o.Ob();)s=u(o.Pb(),231),kmn(t.b,s,Rc(n,1/h.gc()));d=zhe(h),Rhe(d),or(n)}function H2n(t,e){var n,r,s,o,h;if(vr(e,"Breaking Point Processor",1),u5n(t),je(Re(Q(t,(Te(),S9t))))){for(s=new S(t.b);s.a=0?t._g(r,!0,!0):dv(t,o,!0),153)),u(s,215).ml(e,n)}else throw it(new Fn(lb+e.ne()+X_))}function W2n(t,e){var n,r,s,o,h;for(n=new he,s=Wo(new Tn(null,new _n(t,16)),new ZQ),o=Wo(new Tn(null,new _n(t,16)),new JQ),h=yon(Fan(l$(_wn(lt(ct(n6n,1),De,833,0,[s,o])),new tZ))),r=1;r=2*e&&le(n,new Dnt(h[r-1]+e,h[r]-e));return n}function Y2n(t,e,n){vr(n,"Eades radial",1),n.n&&e&&gf(n,pf(e),(Sl(),Ql)),t.d=u(qe(e,(m9(),HS)),33),t.c=Xt(ye(qe(e,(uy(),RG)))),t.e=pst(u(qe(e,qO),293)),t.a=Shn(u(qe(e,D_t),426)),t.b=Kdn(u(qe(e,M_t),340)),Ldn(t),n.n&&e&&gf(n,pf(e),(Sl(),Ql))}function K2n(t,e,n){var r,s,o,h,d,v,k,C;if(n)for(o=n.a.length,r=new e2(o),d=(r.b-r.a)*r.c<0?(Fp(),Ib):new jp(r);d.Ob();)h=u(d.Pb(),19),s=P8(n,h.a),s&&(v=Wsn(t,(k=(Sw(),C=new Gpt,C),e&&D5t(k,e),k),s),G9(v,R0(s,Ad)),lq(s,v),e5t(s,v),Lit(t,s,v))}function mq(t){var e,n,r,s,o,h;if(!t.j){if(h=new tC,e=uA,o=e.a.zc(t,e),o==null){for(r=new nr(Ao(t));r.e!=r.i.gc();)n=u(dr(r),26),s=mq(n),is(h,s),Dr(h,n);e.a.Bc(t)!=null}iy(h),t.j=new V3((u(At(Wt((Hp(),Ln).o),11),18),h.i),h.g),sl(t).b&=-33}return t.j}function X2n(t){var e,n,r,s;if(t==null)return null;if(r=$c(t,!0),s=oO.length,hn(r.substr(r.length-s,s),oO)){if(n=r.length,n==4){if(e=(Rr(0,r.length),r.charCodeAt(0)),e==43)return CLt;if(e==45)return G5e}else if(n==3)return CLt}return new Ppt(r)}function Q2n(t){var e,n,r;return n=t.l,n&n-1||(r=t.m,r&r-1)||(e=t.h,e&e-1)||e==0&&r==0&&n==0?-1:e==0&&r==0&&n!=0?tyt(n):e==0&&r!=0&&n==0?tyt(r)+22:e!=0&&r==0&&n==0?tyt(e)+44:-1}function Z2n(t,e){var n,r,s,o,h;for(vr(e,"Edge joining",1),n=je(Re(Q(t,(Te(),dht)))),s=new S(t.b);s.a1)for(s=new S(t.a);s.a0),o.a.Xb(o.c=--o.b),zm(o,s),Zn(o.b3&&Jd(t,0,e-3))}function nwn(t){var e,n,r,s;return Vt(Q(t,(Te(),qy)))===Vt((G0(),sp))?!t.e&&Vt(Q(t,DO))!==Vt((eE(),TO)):(r=u(Q(t,eht),292),s=je(Re(Q(t,nht)))||Vt(Q(t,_S))===Vt((n6(),EO)),e=u(Q(t,VCt),19).a,n=t.a.c.length,!s&&r!=(eE(),TO)&&(e==0||e>n))}function rwn(t){var e,n;for(n=0;n0);n++);if(n>0&&n0);e++);return e>0&&n>16!=6&&e){if(vE(t,e))throw it(new Fn(Q_+sce(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?r4t(t,r):t.Cb.ih(t,-1-n,null,r))),e&&(r=c6(e,t,6,r)),r=ewt(t,e,r),r&&r.Fi()}else t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,6,e,e))}function D5t(t,e){var n,r;if(e!=t.Cb||t.Db>>16!=9&&e){if(vE(t,e))throw it(new Fn(Q_+zue(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?s4t(t,r):t.Cb.ih(t,-1-n,null,r))),e&&(r=c6(e,t,9,r)),r=nwt(t,e,r),r&&r.Fi()}else t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,9,e,e))}function oat(t,e){var n,r;if(e!=t.Cb||t.Db>>16!=3&&e){if(vE(t,e))throw it(new Fn(Q_+$le(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?o4t(t,r):t.Cb.ih(t,-1-n,null,r))),e&&(r=c6(e,t,12,r)),r=twt(t,e,r),r&&r.Fi()}else t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,3,e,e))}function SE(t){var e,n,r,s,o;if(r=Dh(t),o=t.j,o==null&&r)return t.$j()?null:r.zj();if(_t(r,148)){if(n=r.Aj(),n&&(s=n.Nh(),s!=t.i)){if(e=u(r,148),e.Ej())try{t.g=s.Kh(e,o)}catch(h){if(h=Wi(h),_t(h,78))t.g=null;else throw it(h)}t.i=s}return t.g}return null}function qce(t){var e;return e=new he,le(e,new Dx(new $e(t.c,t.d),new $e(t.c+t.b,t.d))),le(e,new Dx(new $e(t.c,t.d),new $e(t.c,t.d+t.a))),le(e,new Dx(new $e(t.c+t.b,t.d+t.a),new $e(t.c+t.b,t.d))),le(e,new Dx(new $e(t.c+t.b,t.d+t.a),new $e(t.c,t.d+t.a))),e}function Hce(t,e,n,r){var s,o,h;if(h=p4t(e,n),r.c[r.c.length]=e,t.j[h.p]==-1||t.j[h.p]==2||t.a[e.p])return r;for(t.j[h.p]=-1,o=new ar(lr(U0(h).a.Kc(),new z));zr(o);)if(s=u(Mr(o),17),!(!(!Ga(s)&&!(!Ga(s)&&s.c.i.c==s.d.i.c))||s==e))return Hce(t,s,h,r);return r}function iwn(t,e,n){var r,s,o;for(o=e.a.ec().Kc();o.Ob();)s=u(o.Pb(),79),r=u(tr(t.b,s),266),!r&&(es(e0(s))==es(tb(s))?mvn(t,s,n):e0(s)==es(tb(s))?tr(t.c,s)==null&&tr(t.b,tb(s))!=null&&khe(t,s,n,!1):tr(t.d,s)==null&&tr(t.b,e0(s))!=null&&khe(t,s,n,!0))}function swn(t,e){var n,r,s,o,h,d,v;for(s=t.Kc();s.Ob();)for(r=u(s.Pb(),10),d=new Mc,Uo(d,r),Bs(d,(ve(),Hn)),Jt(d,(ae(),nG),(Nn(),!0)),h=e.Kc();h.Ob();)o=u(h.Pb(),10),v=new Mc,Uo(v,o),Bs(v,Bn),Jt(v,nG,!0),n=new Vw,Jt(n,nG,!0),Oa(n,d),oa(n,v)}function awn(t,e,n,r){var s,o,h,d;s=Rie(t,e,n),o=Rie(t,n,e),h=u(tr(t.c,e),112),d=u(tr(t.c,n),112),sr.b.g&&(o.c[o.c.length]=r);return o}function AE(){AE=Z,i5=new DM("CANDIDATE_POSITION_LAST_PLACED_RIGHT",0),G6=new DM("CANDIDATE_POSITION_LAST_PLACED_BELOW",1),GS=new DM("CANDIDATE_POSITION_WHOLE_DRAWING_RIGHT",2),VS=new DM("CANDIDATE_POSITION_WHOLE_DRAWING_BELOW",3),US=new DM("WHOLE_DRAWING",4)}function own(t,e){if(_t(e,239))return Bln(t,u(e,33));if(_t(e,186))return Xln(t,u(e,118));if(_t(e,354))return urn(t,u(e,137));if(_t(e,352))return Oyn(t,u(e,79));if(e)return null;throw it(new Fn(L8t+eb(new yl(lt(ct(Qn,1),De,1,5,[e])))))}function cwn(t){var e,n,r,s,o,h,d;for(o=new Zi,s=new S(t.d.a);s.a1)for(e=Fw((n=new Xb,++t.b,n),t.d),d=ei(o,0);d.b!=d.d.c;)h=u(ti(d),121),yf(lf(uf(hf(cf(new Ch,1),0),e),h))}function I5t(t,e){var n,r;if(e!=t.Cb||t.Db>>16!=11&&e){if(vE(t,e))throw it(new Fn(Q_+X5t(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?c4t(t,r):t.Cb.ih(t,-1-n,null,r))),e&&(r=c6(e,t,10,r)),r=lwt(t,e,r),r&&r.Fi()}else t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,11,e,e))}function uwn(t){var e,n,r,s;for(r=new p2(new Cg(t.b).a);r.b;)n=Zw(r),s=u(n.cd(),11),e=u(n.dd(),10),Jt(e,(ae(),_i),s),Jt(s,Ju,e),Jt(s,SO,(Nn(),!0)),Bs(s,u(Q(e,oc),61)),Q(e,oc),Jt(s.i,(Te(),cs),(ua(),B7)),u(Q(Na(s.i),Vc),21).Fc((oo(),y7))}function lwn(t,e,n){var r,s,o,h,d,v;if(o=0,h=0,t.c)for(v=new S(t.d.i.j);v.ao.a?-1:s.av){for(C=t.d,t.d=Nt(XAt,R8t,63,2*v+4,0,1),o=0;o=9223372036854776e3?(q8(),sEt):(s=!1,t<0&&(s=!0,t=-t),r=0,t>=C2&&(r=ps(t/C2),t-=r*C2),n=0,t>=m6&&(n=ps(t/m6),t-=n*m6),e=ps(t),o=iu(e,n,r),s&&Ait(o),o)}function ywn(t,e){var n,r,s,o;for(n=!e||!t.u.Hc((Zu(),sg)),o=0,s=new S(t.e.Cf());s.a=-e&&r==e?new fa(pe(n-1),pe(r)):new fa(pe(n),pe(r-1))}function Yce(){return ro(),lt(ct(l6n,1),oe,77,0,[J7t,X7t,gS,glt,vTt,CV,FV,h7,bTt,oTt,gTt,l7,wTt,iTt,mTt,V7t,LV,plt,EV,IV,xTt,DV,G7t,pTt,kTt,OV,yTt,TV,eTt,fTt,hTt,NV,Y7t,kV,SV,W7t,u7,uTt,sTt,dTt,pS,Q7t,K7t,lTt,aTt,AV,PV,U7t,MV,cTt,_V,nTt,tTt,xO,xV,rTt,Z7t])}function Twn(t,e,n){t.d=0,t.b=0,e.k==(Vn(),Hc)&&n.k==Hc&&u(Q(e,(ae(),_i)),10)==u(Q(n,_i),10)&&(eit(e).j==(ve(),Pn)?Oce(t,e,n):Oce(t,n,e)),e.k==Hc&&n.k==ta?eit(e).j==(ve(),Pn)?t.d=1:t.b=1:n.k==Hc&&e.k==ta&&(eit(n).j==(ve(),Pn)?t.b=1:t.d=1),h1n(t,e,n)}function Cwn(t){var e,n,r,s,o,h,d,v,k,C,M;return M=D4t(t),e=t.a,v=e!=null,v&&E8(M,"category",t.a),s=wM(new Sm(t.d)),h=!s,h&&(k=new Eg,Yf(M,"knownOptions",k),n=new Nzt(k),va(new Sm(t.d),n)),o=wM(t.g),d=!o,d&&(C=new Eg,Yf(M,"supportedFeatures",C),r=new Bzt(C),va(t.g,r)),M}function _wn(t){var e,n,r,s,o,h,d,v,k;for(r=!1,e=336,n=0,o=new XWt(t.length),d=t,v=0,k=d.length;v>16!=7&&e){if(vE(t,e))throw it(new Fn(Q_+eoe(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?i4t(t,r):t.Cb.ih(t,-1-n,null,r))),e&&(r=u(e,49).gh(t,1,lP,r)),r=nvt(t,e,r),r&&r.Fi()}else t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,7,e,e))}function Kce(t,e){var n,r;if(e!=t.Cb||t.Db>>16!=3&&e){if(vE(t,e))throw it(new Fn(Q_+lie(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?a4t(t,r):t.Cb.ih(t,-1-n,null,r))),e&&(r=u(e,49).gh(t,0,fP,r)),r=rvt(t,e,r),r&&r.Fi()}else t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,3,e,e))}function uat(t,e){TE();var n,r,s,o,h,d,v,k,C;return e.d>t.d&&(d=t,t=e,e=d),e.d<63?bvn(t,e):(h=(t.d&-2)<<4,k=bmt(t,h),C=bmt(e,h),r=Cat(t,Qx(k,h)),s=Cat(e,Qx(C,h)),v=uat(k,C),n=uat(r,s),o=uat(Cat(k,r),Cat(s,C)),o=Oat(Oat(o,v),n),o=Qx(o,h),v=Qx(v,h<<1),Oat(Oat(v,o),n))}function Awn(t,e,n){var r,s,o,h,d;for(h=t_(t,n),d=Nt(l0,Yg,10,e.length,0,1),r=0,o=h.Kc();o.Ob();)s=u(o.Pb(),11),je(Re(Q(s,(ae(),SO))))&&(d[r++]=u(Q(s,Ju),10));if(r=0;o+=n?1:-1)h=h|e.c.Sf(v,o,n,r&&!je(Re(Q(e.j,(ae(),Ov))))&&!je(Re(Q(e.j,(ae(),X4))))),h=h|e.q._f(v,o,n),h=h|Pue(t,v[o],n,r);return Fs(t.c,e),h}function xq(t,e,n){var r,s,o,h,d,v,k,C,M,j;for(C=OZt(t.j),M=0,j=C.length;M1&&(t.a=!0),Ven(u(n.b,65),Li(nc(u(e.b,65).c),fd(ia(nc(u(n.b,65).a),u(e.b,65).a),s))),WQt(t,e),Xce(t,n)}function Qce(t){var e,n,r,s,o,h,d;for(o=new S(t.a.a);o.a0&&o>0?h.p=e++:r>0?h.p=n++:o>0?h.p=s++:h.p=n++}wn(),Zs(t.j,new DL)}function Own(t){var e,n;n=null,e=u(Ne(t.g,0),17);do{if(n=e.d.i,Us(n,(ae(),$h)))return u(Q(n,$h),11).i;if(n.k!=(Vn(),Os)&&zr(new ar(lr(Ds(n).a.Kc(),new z))))e=u(Mr(new ar(lr(Ds(n).a.Kc(),new z))),17);else if(n.k!=Os)return null}while(n&&n.k!=(Vn(),Os));return n}function Pwn(t,e){var n,r,s,o,h,d,v,k,C;for(d=e.j,h=e.g,v=u(Ne(d,d.c.length-1),113),C=(An(0,d.c.length),u(d.c[0],113)),k=Ast(t,h,v,C),o=1;ok&&(v=n,C=s,k=r);e.a=C,e.c=v}function Fwn(t,e){var n,r;if(r=tD(t.b,e.b),!r)throw it(new No("Invalid hitboxes for scanline constraint calculation."));(ire(e.b,u(FZe(t.b,e.b),57))||ire(e.b,u(PZe(t.b,e.b),57)))&&(Gd(),e.b+""),t.a[e.b.f]=u(Cnt(t.b,e.b),57),n=u(Tnt(t.b,e.b),57),n&&(t.a[n.f]=e.b)}function yf(t){if(!t.a.d||!t.a.e)throw it(new No((P0(fpe),fpe.k+" must have a source and target "+(P0(a7t),a7t.k)+" specified.")));if(t.a.d==t.a.e)throw it(new No("Network simplex does not support self-loops: "+t.a+" "+t.a.d+" "+t.a.e));return _j(t.a.d.g,t.a),_j(t.a.e.b,t.a),t.a}function Nwn(t,e,n){var r,s,o,h,d,v,k;for(k=new Op(new F$t(t)),h=lt(ct(Jbe,1),h1e,11,0,[e,n]),d=0,v=h.length;dv-t.b&&dv-t.a&&d0&&++H;++j}return H}function Uwn(t,e){var n,r,s,o,h;for(h=u(Q(e,(gv(),d_t)),425),o=ei(e.b,0);o.b!=o.d.c;)if(s=u(ti(o),86),t.b[s.g]==0){switch(h.g){case 0:Cse(t,s);break;case 1:Ybn(t,s)}t.b[s.g]=2}for(r=ei(t.a,0);r.b!=r.d.c;)n=u(ti(r),188),ay(n.b.d,n,!0),ay(n.c.b,n,!0);Jt(e,(fc(),a_t),t.a)}function ou(t,e){to();var n,r,s,o;return e?e==(Ii(),H5e)||(e==D5e||e==X2||e==M5e)&&t!=ELt?new Axt(t,e):(r=u(e,677),n=r.pk(),n||(M8(To(($u(),ya),e)),n=r.pk()),o=(!n.i&&(n.i=new _r),n.i),s=u(ec(Lo(o.f,t)),1942),!s&&ki(o,t,s=new Axt(t,e)),s):S5e}function Wwn(t,e){var n,r,s,o,h,d,v,k,C;for(v=u(Q(t,(ae(),_i)),11),k=Yo(lt(ct(Ws,1),ee,8,0,[v.i.n,v.n,v.a])).a,C=t.i.n.b,n=wd(t.e),s=n,o=0,h=s.length;o0?o.a?(d=o.b.rf().a,n>d&&(s=(n-d)/2,o.d.b=s,o.d.c=s)):o.d.c=t.s+n:S9(t.u)&&(r=I4t(o.b),r.c<0&&(o.d.b=-r.c),r.c+r.b>o.b.rf().a&&(o.d.c=r.c+r.b-o.b.rf().a))}function Qwn(t,e){var n,r,s,o;for(vr(e,"Semi-Interactive Crossing Minimization Processor",1),n=!1,s=new S(t.b);s.a=0){if(e==n)return new fa(pe(-e-1),pe(-e-1));if(e==-n)return new fa(pe(-e),pe(n+1))}return b.Math.abs(e)>b.Math.abs(n)?e<0?new fa(pe(-e),pe(n)):new fa(pe(-e),pe(n+1)):new fa(pe(e+1),pe(n))}function tvn(t){var e,n;n=u(Q(t,(Te(),uu)),163),e=u(Q(t,(ae(),B2)),303),n==(dh(),bb)?(Jt(t,uu,MO),Jt(t,B2,(q0(),Y4))):n==jy?(Jt(t,uu,MO),Jt(t,B2,(q0(),F6))):e==(q0(),Y4)?(Jt(t,uu,bb),Jt(t,B2,CO)):e==F6&&(Jt(t,uu,jy),Jt(t,B2,CO))}function kq(){kq=Z,jO=new jQ,Zme=bi(new Vs,(Wa(),cu),(ro(),EV)),eye=Ku(bi(new Vs,cu,DV),Io,MV),nye=uv(uv(VR(Ku(bi(new Vs,Dd,FV),Io,PV),qc),OV),NV),Jme=Ku(bi(bi(bi(new Vs,gb,CV),qc,SV),qc,u7),Io,_V),tye=Ku(bi(bi(new Vs,qc,u7),qc,kV),Io,xV)}function m_(){m_=Z,sye=bi(Ku(new Vs,(Wa(),Io),(ro(),nTt)),cu,EV),uye=uv(uv(VR(Ku(bi(new Vs,Dd,FV),Io,PV),qc),OV),NV),aye=Ku(bi(bi(bi(new Vs,gb,CV),qc,SV),qc,u7),Io,_V),cye=bi(bi(new Vs,cu,DV),Io,MV),oye=Ku(bi(bi(new Vs,qc,u7),qc,kV),Io,xV)}function evn(t,e,n,r,s){var o,h;(!Ga(e)&&e.c.i.c==e.d.i.c||!fne(Yo(lt(ct(Ws,1),ee,8,0,[s.i.n,s.n,s.a])),n))&&!Ga(e)&&(e.c==s?m8(e.a,0,new xo(n)):ri(e.a,new xo(n)),r&&!I0(t.a,n)&&(h=u(Q(e,(Te(),So)),74),h||(h=new Pu,Jt(e,So,h)),o=new xo(n),fs(h,o,h.c.b,h.c),Fs(t.a,o)))}function nvn(t){var e,n;for(n=new ar(lr(jo(t).a.Kc(),new z));zr(n);)if(e=u(Mr(n),17),e.c.i.k!=(Vn(),Ll))throw it(new R3(Kot+rI(t)+"' 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 rvn(t,e,n){var r,s,o,h,d,v,k;if(s=bie(t.Db&254),s==0)t.Eb=n;else{if(s==1)d=Nt(Qn,De,1,2,5,1),o=Sst(t,e),o==0?(d[0]=n,d[1]=t.Eb):(d[0]=t.Eb,d[1]=n);else for(d=Nt(Qn,De,1,s+1,5,1),h=u2(t.Eb),r=2,v=0,k=0;r<=128;r<<=1)r==e?d[k++]=n:t.Db&r&&(d[k++]=h[v++]);t.Eb=d}t.Db|=e}function Jce(t,e,n){var r,s,o,h;for(this.b=new he,s=0,r=0,h=new S(t);h.a0&&(o=u(Ne(this.b,0),167),s+=o.o,r+=o.p),s*=2,r*=2,e>1?s=ps(b.Math.ceil(s*e)):r=ps(b.Math.ceil(r/e)),this.a=new C3t(s,r)}function tue(t,e,n,r,s,o){var h,d,v,k,C,M,j,H,G,K,tt,gt;for(C=r,e.j&&e.o?(H=u(tr(t.f,e.A),57),K=H.d.c+H.d.b,--C):K=e.a.c+e.a.b,M=s,n.q&&n.o?(H=u(tr(t.f,n.C),57),k=H.d.c,++M):k=n.a.c,tt=k-K,v=b.Math.max(2,M-C),d=tt/v,G=K+d,j=C;j=0;h+=s?1:-1){for(d=e[h],v=r==(ve(),Hn)?s?Ko(d,r):l2(Ko(d,r)):s?l2(Ko(d,r)):Ko(d,r),o&&(t.c[d.p]=v.gc()),M=v.Kc();M.Ob();)C=u(M.Pb(),11),t.d[C.p]=k++;Ls(n,v)}}function eue(t,e,n){var r,s,o,h,d,v,k,C;for(o=Xt(ye(t.b.Kc().Pb())),k=Xt(ye(fun(e.b))),r=fd(nc(t.a),k-n),s=fd(nc(e.a),n-o),C=Li(r,s),fd(C,1/(k-o)),this.a=C,this.b=new he,d=!0,h=t.b.Kc(),h.Pb();h.Ob();)v=Xt(ye(h.Pb())),d&&v-n>Lct&&(this.b.Fc(n),d=!1),this.b.Fc(v);d&&this.b.Fc(n)}function ivn(t){var e,n,r,s;if(pmn(t,t.n),t.d.c.length>0){for(RC(t.c);w5t(t,u(J(new S(t.e.a)),121))>5,e&=31,r>=t.d)return t.e<0?(rb(),But):(rb(),s7);if(o=t.d-r,s=Nt(Cr,Xr,25,o+1,15,1),Qgn(s,o,t.a,r,e),t.e<0){for(n=0;n0&&t.a[n]<<32-e){for(n=0;n=0?!1:(n=C4(($u(),ya),s,e),n?(r=n.Zj(),(r>1||r==-1)&&Hw(To(ya,n))!=3):!0)):!1}function cvn(t,e,n,r){var s,o,h,d,v;return d=Do(u(At((!e.b&&(e.b=new Cn(br,e,4,7)),e.b),0),82)),v=Do(u(At((!e.c&&(e.c=new Cn(br,e,5,8)),e.c),0),82)),es(d)==es(v)||ey(v,d)?null:(h=cD(e),h==n?r:(o=u(tr(t.a,h),10),o&&(s=o.e,s)?s:null))}function uvn(t,e){var n;switch(n=u(Q(t,(Te(),uG)),276),vr(e,"Label side selection ("+n+")",1),n.g){case 0:mce(t,(zl(),f0));break;case 1:mce(t,(zl(),kb));break;case 2:Ple(t,(zl(),f0));break;case 3:Ple(t,(zl(),kb));break;case 4:pue(t,(zl(),f0));break;case 5:pue(t,(zl(),kb))}or(e)}function j5t(t,e,n){var r,s,o,h,d,v;if(r=YKe(n,t.length),h=t[r],h[0].k==(Vn(),ks))for(o=mHt(n,h.length),v=e.j,s=0;s0&&(n[0]+=t.d,h-=n[0]),n[2]>0&&(n[2]+=t.d,h-=n[2]),o=b.Math.max(0,h),n[1]=b.Math.max(n[1],h),vmt(t,eu,s.c+r.b+n[0]-(n[1]-h)/2,n),e==eu&&(t.c.b=o,t.c.c=s.c+r.b+(o-h)/2)}function fue(){this.c=Nt(aa,vo,25,(ve(),lt(ct(Xa,1),xc,61,0,[Zo,Pn,Hn,mr,Bn])).length,15,1),this.b=Nt(aa,vo,25,lt(ct(Xa,1),xc,61,0,[Zo,Pn,Hn,mr,Bn]).length,15,1),this.a=Nt(aa,vo,25,lt(ct(Xa,1),xc,61,0,[Zo,Pn,Hn,mr,Bn]).length,15,1),Abt(this.c,as),Abt(this.b,Cs),Abt(this.a,Cs)}function jc(t,e,n){var r,s,o,h;if(e<=n?(s=e,o=n):(s=n,o=e),r=0,t.b==null)t.b=Nt(Cr,Xr,25,2,15,1),t.b[0]=s,t.b[1]=o,t.c=!0;else{if(r=t.b.length,t.b[r-1]+1==s){t.b[r-1]=o;return}h=Nt(Cr,Xr,25,r+2,15,1),Dc(t.b,0,h,0,r),t.b=h,t.b[r-1]>=s&&(t.c=!1,t.a=!1),t.b[r++]=s,t.b[r]=o,t.c||v4(t)}}function wvn(t,e,n){var r,s,o,h,d,v,k;for(k=e.d,t.a=new Xc(k.c.length),t.c=new _r,d=new S(k);d.a=0?t._g(k,!1,!0):dv(t,n,!1),58));t:for(o=M.Kc();o.Ob();){for(s=u(o.Pb(),56),C=0;C1;)by(s,s.i-1);return r}function kvn(t,e){var n,r,s,o,h,d,v;for(vr(e,"Comment post-processing",1),o=new S(t.b);o.at.d[h.p]&&(n+=fmt(t.b,o),Up(t.a,pe(o)));for(;!BC(t.a);)Hmt(t.b,u(Hx(t.a),19).a)}return n}function bue(t,e,n){var r,s,o,h;for(o=(!e.a&&(e.a=new fe(rs,e,10,11)),e.a).i,s=new nr((!e.a&&(e.a=new fe(rs,e,10,11)),e.a));s.e!=s.i.gc();)r=u(dr(s),33),(!r.a&&(r.a=new fe(rs,r,10,11)),r.a).i==0||(o+=bue(t,r,!1));if(n)for(h=es(e);h;)o+=(!h.a&&(h.a=new fe(rs,h,10,11)),h.a).i,h=es(h);return o}function by(t,e){var n,r,s,o;return t.ej()?(r=null,s=t.fj(),t.ij()&&(r=t.kj(t.pi(e),null)),n=t.Zi(4,o=l6(t,e),null,e,s),t.bj()&&o!=null&&(r=t.dj(o,r)),r?(r.Ei(n),r.Fi()):t.$i(n),o):(o=l6(t,e),t.bj()&&o!=null&&(r=t.dj(o,null),r&&r.Fi()),o)}function Tvn(t){var e,n,r,s,o,h,d,v,k,C;for(k=t.a,e=new Hs,v=0,r=new S(t.d);r.ad.d&&(C=d.d+d.a+k));n.c.d=C,e.a.zc(n,e),v=b.Math.max(v,n.c.d+n.c.a)}return v}function oo(){oo=Z,KV=new Fm("COMMENTS",0),vh=new Fm("EXTERNAL_PORTS",1),yS=new Fm("HYPEREDGES",2),XV=new Fm("HYPERNODES",3),y7=new Fm("NON_FREE_PORTS",4),W4=new Fm("NORTH_SOUTH_PORTS",5),xS=new Fm(M1e,6),v7=new Fm("CENTER_LABELS",7),m7=new Fm("END_LABELS",8),QV=new Fm("PARTITIONS",9)}function wy(t){var e,n,r,s,o;for(s=new he,e=new E9((!t.a&&(t.a=new fe(rs,t,10,11)),t.a)),r=new ar(lr(K0(t).a.Kc(),new z));zr(r);)n=u(Mr(r),79),_t(At((!n.b&&(n.b=new Cn(br,n,4,7)),n.b),0),186)||(o=Do(u(At((!n.c&&(n.c=new Cn(br,n,5,8)),n.c),0),82)),e.a._b(o)||(s.c[s.c.length]=o));return s}function Cvn(t){var e,n,r,s,o,h;for(o=new Hs,e=new E9((!t.a&&(t.a=new fe(rs,t,10,11)),t.a)),s=new ar(lr(K0(t).a.Kc(),new z));zr(s);)r=u(Mr(s),79),_t(At((!r.b&&(r.b=new Cn(br,r,4,7)),r.b),0),186)||(h=Do(u(At((!r.c&&(r.c=new Cn(br,r,5,8)),r.c),0),82)),e.a._b(h)||(n=o.a.zc(h,o),n==null));return o}function _vn(t,e,n,r,s){return r<0?(r=w4(t,s,lt(ct(Ae,1),ee,2,6,[Qat,Zat,Jat,tot,w6,eot,not,rot,iot,sot,aot,oot]),e),r<0&&(r=w4(t,s,lt(ct(Ae,1),ee,2,6,["Jan","Feb","Mar","Apr",w6,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e)),r<0?!1:(n.k=r,!0)):r>0?(n.k=r-1,!0):!1}function Svn(t,e,n,r,s){return r<0?(r=w4(t,s,lt(ct(Ae,1),ee,2,6,[Qat,Zat,Jat,tot,w6,eot,not,rot,iot,sot,aot,oot]),e),r<0&&(r=w4(t,s,lt(ct(Ae,1),ee,2,6,["Jan","Feb","Mar","Apr",w6,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e)),r<0?!1:(n.k=r,!0)):r>0?(n.k=r-1,!0):!1}function Avn(t,e,n,r,s,o){var h,d,v,k;if(d=32,r<0){if(e[0]>=t.length||(d=wa(t,e[0]),d!=43&&d!=45)||(++e[0],r=gq(t,e),r<0))return!1;d==45&&(r=-r)}return d==32&&e[0]-n==2&&s.b==2&&(v=new BR,k=v.q.getFullYear()-ab+ab-80,h=k%100,o.a=r==h,r+=(k/100|0)*100+(r=k&&(v=r);v&&(C=b.Math.max(C,v.a.o.a)),C>j&&(M=k,j=C)}return M}function Dvn(t,e,n){var r,s,o;if(t.e=n,t.d=0,t.b=0,t.f=1,t.i=e,(t.e&16)==16&&(t.i=wmn(t.i)),t.j=t.i.length,fi(t),o=cv(t),t.d!=t.j)throw it(new Nr(qr((Pr(),Zde))));if(t.g){for(r=0;rJ1e?Zs(v,t.b):r<=J1e&&r>tde?Zs(v,t.d):r<=tde&&r>ede?Zs(v,t.c):r<=ede&&Zs(v,t.a),o=yue(t,v,o);return s}function rb(){rb=Z;var t;for(eV=new Ng(1,1),Rut=new Ng(1,10),s7=new Ng(0,0),But=new Ng(-1,1),CEt=lt(ct(j4,1),ee,91,0,[s7,eV,new Ng(1,2),new Ng(1,3),new Ng(1,4),new Ng(1,5),new Ng(1,6),new Ng(1,7),new Ng(1,8),new Ng(1,9),Rut]),nV=Nt(j4,ee,91,32,0,1),t=0;t1,d&&(r=new $e(s,n.b),ri(e.a,r)),V9(e.a,lt(ct(Ws,1),ee,8,0,[j,M]))}function Cue(t){Mw(t,new k2(_w(Ew(Cw(Tw(new kg,AH),"ELK Randomizer"),'Distributes the nodes randomly on the plane, leading to very obfuscating layouts. Can be useful to demonstrate the power of "real" layout algorithms.'),new ZZ))),xe(t,AH,xv,FAt),xe(t,AH,Cy,15),xe(t,AH,tH,pe(0)),xe(t,AH,E6,GE)}function q5t(){q5t=Z;var t,e,n,r,s,o;for(dA=Nt(Gu,N4,25,255,15,1),yU=Nt(xh,yd,25,16,15,1),e=0;e<255;e++)dA[e]=-1;for(n=57;n>=48;n--)dA[n]=n-48<<24>>24;for(r=70;r>=65;r--)dA[r]=r-65+10<<24>>24;for(s=102;s>=97;s--)dA[s]=s-97+10<<24>>24;for(o=0;o<10;o++)yU[o]=48+o&ys;for(t=10;t<=15;t++)yU[t]=65+t-10&ys}function Tq(t,e,n){var r,s,o,h,d,v,k,C;return d=e.i-t.g/2,v=n.i-t.g/2,k=e.j-t.g/2,C=n.j-t.g/2,o=e.g+t.g/2,h=n.g+t.g/2,r=e.f+t.g/2,s=n.f+t.g/2,d>19)return"-"+_ue(rE(t));for(n=t,r="";!(n.l==0&&n.m==0&&n.h==0);){if(s=Vrt(Gq),n=yxt(n,s,!0),e=""+RHt(hb),!(n.l==0&&n.m==0&&n.h==0))for(o=9-e.length;o>0;o--)e="0"+e;r=e+r}return r}function Bvn(){if(!Object.create||!Object.getOwnPropertyNames)return!1;var t="__proto__",e=Object.create(null);if(e[t]!==void 0)return!1;var n=Object.getOwnPropertyNames(e);return!(n.length!=0||(e[t]=42,e[t]!==42)||Object.getOwnPropertyNames(e).length==0)}function Rvn(t){var e,n,r,s,o,h,d;for(e=!1,n=0,s=new S(t.d.b);s.a=t.a||!L4t(e,n))return-1;if(F8(u(r.Kb(e),20)))return 1;for(s=0,h=u(r.Kb(e),20).Kc();h.Ob();)if(o=u(h.Pb(),17),v=o.c.i==e?o.d.i:o.c.i,d=V5t(t,v,n,r),d==-1||(s=b.Math.max(s,d),s>t.c-1))return-1;return s+1}function Sue(t,e){var n,r,s,o,h,d;if(Vt(e)===Vt(t))return!0;if(!_t(e,15)||(r=u(e,15),d=t.gc(),r.gc()!=d))return!1;if(h=r.Kc(),t.ni()){for(n=0;n0){if(t.qj(),e!=null){for(o=0;o>24;case 97:case 98:case 99:case 100:case 101:case 102:return t-97+10<<24>>24;case 65:case 66:case 67:case 68:case 69:case 70:return t-65+10<<24>>24;default:throw it(new ld("Invalid hexadecimal"))}}function qvn(t,e,n){var r,s,o,h;for(vr(n,"Processor order nodes",2),t.a=Xt(ye(Q(e,(gv(),g_t)))),s=new Zi,h=ei(e.b,0);h.b!=h.d.c;)o=u(ti(h),86),je(Re(Q(o,(fc(),Xy))))&&fs(s,o,s.c.b,s.c);r=(Zn(s.b!=0),u(s.a.a.c,86)),Wle(t,r),!n.b&&pit(n,1),K5t(t,r,0-Xt(ye(Q(r,(fc(),IG))))/2,0),!n.b&&pit(n,1),or(n)}function Cq(){Cq=Z,i7t=new z3("SPIRAL",0),t7t=new z3("LINE_BY_LINE",1),e7t=new z3("MANHATTAN",2),JEt=new z3("JITTER",3),Vut=new z3("QUADRANTS_LINE_BY_LINE",4),r7t=new z3("QUADRANTS_MANHATTAN",5),n7t=new z3("QUADRANTS_JITTER",6),ZEt=new z3("COMBINE_LINE_BY_LINE_MANHATTAN",7),QEt=new z3("COMBINE_JITTER_MANHATTAN",8)}function Lue(t,e,n,r){var s,o,h,d,v,k;for(v=Ost(t,n),k=Ost(e,n),s=!1;v&&k&&(r||R1n(v,k,n));)h=Ost(v,n),d=Ost(k,n),kD(e),kD(t),o=v.c,Bat(v,!1),Bat(k,!1),n?(ly(e,k.p,o),e.p=k.p,ly(t,v.p+1,o),t.p=v.p):(ly(t,v.p,o),t.p=v.p,ly(e,k.p+1,o),e.p=k.p),Eo(v,null),Eo(k,null),v=h,k=d,s=!0;return s}function Hvn(t,e,n,r){var s,o,h,d,v;for(s=!1,o=!1,d=new S(r.j);d.a=e.length)throw it(new yo("Greedy SwitchDecider: Free layer not in graph."));this.c=e[t],this.e=new YM(r),mit(this.e,this.c,(ve(),Bn)),this.i=new YM(r),mit(this.i,this.c,Hn),this.f=new SKt(this.c),this.a=!o&&s.i&&!s.s&&this.c[0].k==(Vn(),ks),this.a&&apn(this,t,e.length)}function Due(t,e){var n,r,s,o,h,d;o=!t.B.Hc((ll(),cP)),h=t.B.Hc(Aft),t.a=new _ie(h,o,t.c),t.n&&Pvt(t.a.n,t.n),het(t.g,(Kf(),eu),t.a),e||(r=new a_(1,o,t.c),r.n.a=t.k,zx(t.p,(ve(),Pn),r),s=new a_(1,o,t.c),s.n.d=t.k,zx(t.p,mr,s),d=new a_(0,o,t.c),d.n.c=t.k,zx(t.p,Bn,d),n=new a_(0,o,t.c),n.n.b=t.k,zx(t.p,Hn,n))}function Gvn(t){var e,n,r;switch(e=u(Q(t.d,(Te(),eg)),218),e.g){case 2:n=xxn(t);break;case 3:n=(r=new he,ls(Ri(wu(Wo(Wo(new Tn(null,new _n(t.d.b,16)),new NX),new BX),new HT),new _X),new Utt(r)),r);break;default:throw it(new No("Compaction not supported for "+e+" edges."))}H3n(t,n),va(new Sm(t.g),new Vtt(t))}function Uvn(t,e){var n;return n=new ka,e&&Mo(n,u(tr(t.a,lP),94)),_t(e,470)&&Mo(n,u(tr(t.a,hP),94)),_t(e,354)?(Mo(n,u(tr(t.a,qo),94)),n):(_t(e,82)&&Mo(n,u(tr(t.a,br),94)),_t(e,239)?(Mo(n,u(tr(t.a,rs),94)),n):_t(e,186)?(Mo(n,u(tr(t.a,gl),94)),n):(_t(e,352)&&Mo(n,u(tr(t.a,Ys),94)),n))}function Jf(){Jf=Z,c7=new eo((ui(),ZG),pe(1)),bV=new eo(W2,80),kbe=new eo(fAt,5),dbe=new eo(W6,GE),ybe=new eo(Eft,pe(1)),xbe=new eo(Tft,(Nn(),!0)),x7t=new Ow(50),vbe=new eo(U2,x7t),v7t=KG,k7t=KS,gbe=new eo(gft,!1),y7t=tP,wbe=xb,bbe=G2,pbe=o5,mbe=Qy,m7t=(q4t(),abe),nlt=lbe,pV=sbe,elt=obe,E7t=ube}function Wvn(t){var e,n,r,s,o,h,d,v;for(v=new OJt,d=new S(t.a);d.a0&&e=0)return!1;if(e.p=n.b,le(n.e,e),s==(Vn(),ta)||s==Hc){for(h=new S(e.j);h.a1||h==-1)&&(o|=16),s.Bb&dc&&(o|=64)),n.Bb&Ka&&(o|=Dy),o|=xf):_t(e,457)?o|=512:(r=e.Bj(),r&&r.i&1&&(o|=256)),t.Bb&512&&(o|=128),o}function y_(t,e){var n,r,s,o,h;for(t=t==null?_u:(On(t),t),s=0;st.d[d.p]&&(n+=fmt(t.b,o),Up(t.a,pe(o)))):++h;for(n+=t.b.d*h;!BC(t.a);)Hmt(t.b,u(Hx(t.a),19).a)}return n}function nmn(t,e){var n;return t.f==$ft?(n=Hw(To(($u(),ya),e)),t.e?n==4&&e!=(d6(),tk)&&e!=(d6(),J6)&&e!=(d6(),zft)&&e!=(d6(),qft):n==2):t.d&&(t.d.Hc(e)||t.d.Hc(Kx(To(($u(),ya),e)))||t.d.Hc(C4(($u(),ya),t.b,e)))?!0:t.f&&O5t(($u(),t.f),rD(To(ya,e)))?(n=Hw(To(ya,e)),t.e?n==4:n==2):!1}function rmn(t,e,n,r){var s,o,h,d,v,k,C,M;return h=u(qe(n,(ui(),Y6)),8),v=h.a,C=h.b+t,s=b.Math.atan2(C,v),s<0&&(s+=O4),s+=e,s>O4&&(s-=O4),d=u(qe(r,Y6),8),k=d.a,M=d.b+t,o=b.Math.atan2(M,k),o<0&&(o+=O4),o+=e,o>O4&&(o-=O4),k1(),wf(1e-10),b.Math.abs(s-o)<=1e-10||s==o||isNaN(s)&&isNaN(o)?0:so?1:Iw(isNaN(s),isNaN(o))}function gat(t){var e,n,r,s,o,h,d;for(d=new _r,r=new S(t.a.b);r.a=t.o)throw it(new Opt);d=e>>5,h=e&31,o=F0(1,Ar(F0(h,1))),s?t.n[n][d]=S1(t.n[n][d],o):t.n[n][d]=Ns(t.n[n][d],Rwt(o)),o=F0(o,1),r?t.n[n][d]=S1(t.n[n][d],o):t.n[n][d]=Ns(t.n[n][d],Rwt(o))}catch(v){throw v=Wi(v),_t(v,320)?it(new yo(Fot+t.o+"*"+t.p+Not+e+Ya+n+Bot)):it(v)}}function K5t(t,e,n,r){var s,o,h;e&&(o=Xt(ye(Q(e,(fc(),np))))+r,h=n+Xt(ye(Q(e,IG)))/2,Jt(e,$ht,pe(Ar(Tu(b.Math.round(o))))),Jt(e,o_t,pe(Ar(Tu(b.Math.round(h))))),e.d.b==0||K5t(t,u(xj((s=ei(new Lp(e).a.d,0),new Ex(s))),86),n+Xt(ye(Q(e,IG)))+t.a,r+Xt(ye(Q(e,M7)))),Q(e,jht)!=null&&K5t(t,u(Q(e,jht),86),n,r))}function smn(t,e){var n,r,s,o,h,d,v,k,C,M,j;for(v=Na(e.a),s=Xt(ye(Q(v,(Te(),q2))))*2,C=Xt(ye(Q(v,t5))),k=b.Math.max(s,C),o=Nt(aa,vo,25,e.f-e.c+1,15,1),r=-k,n=0,d=e.b.Kc();d.Ob();)h=u(d.Pb(),10),r+=t.a[h.c.p]+k,o[n++]=r;for(r+=t.a[e.a.c.p]+k,o[n++]=r,j=new S(e.e);j.a0&&(r=(!t.n&&(t.n=new fe(qo,t,1,7)),u(At(t.n,0),137)).a,!r||Gr(Gr((e.a+=' "',e),r),'"'))),Gr(Aw(Gr(Aw(Gr(Aw(Gr(Aw((e.a+=" (",e),t.i),","),t.j)," | "),t.g),","),t.f),")"),e.a)}function zue(t){var e,n,r;return t.Db&64?Vst(t):(e=new Ol(y8t),n=t.k,n?Gr(Gr((e.a+=' "',e),n),'"'):(!t.n&&(t.n=new fe(qo,t,1,7)),t.n.i>0&&(r=(!t.n&&(t.n=new fe(qo,t,1,7)),u(At(t.n,0),137)).a,!r||Gr(Gr((e.a+=' "',e),r),'"'))),Gr(Aw(Gr(Aw(Gr(Aw(Gr(Aw((e.a+=" (",e),t.i),","),t.j)," | "),t.g),","),t.f),")"),e.a)}function bat(t,e){var n,r,s,o,h,d,v;if(e==null||e.length==0)return null;if(s=u(Nc(t.a,e),149),!s){for(r=(d=new v1(t.b).a.vc().Kc(),new m1(d));r.a.Ob();)if(n=(o=u(r.a.Pb(),42),u(o.dd(),149)),h=n.c,v=e.length,hn(h.substr(h.length-v,v),e)&&(e.length==h.length||wa(h,h.length-e.length-1)==46)){if(s)return null;s=n}s&&ko(t.a,e,s)}return s}function cmn(t,e){var n,r,s,o;return n=new eh,r=u(Bl(wu(new Tn(null,new _n(t.f,16)),n),Zm(new on,new ni,new di,new Ee,lt(ct(fl,1),oe,132,0,[(O1(),Iy),Ul]))),21),s=r.gc(),r=u(Bl(wu(new Tn(null,new _n(e.f,16)),n),Zm(new on,new ni,new di,new Ee,lt(ct(fl,1),oe,132,0,[Iy,Ul]))),21),o=r.gc(),ss.p?(Bs(o,mr),o.d&&(d=o.o.b,e=o.a.b,o.a.b=d-e)):o.j==mr&&s.p>t.p&&(Bs(o,Pn),o.d&&(d=o.o.b,e=o.a.b,o.a.b=-(d-e)));break}return s}function lmn(t,e,n,r){var s,o,h,d,v,k,C,M,j,H,G;if(o=n,n1,d&&(r=new $e(s,n.b),ri(e.a,r)),V9(e.a,lt(ct(Ws,1),ee,8,0,[j,M]))}function wat(t,e,n){var r,s,o,h,d,v;if(e)if(n<=-1){if(r=yn(e.Tg(),-1-n),_t(r,99))return u(r,18);for(h=u(e.ah(r),153),d=0,v=h.gc();d0){for(s=v.length;s>0&&v[s-1]=="";)--s;s=40,h&&xyn(t),C3n(t),ivn(t),n=fie(t),r=0;n&&r0&&ri(t.f,o)):(t.c[h]-=k+1,t.c[h]<=0&&t.a[h]>0&&ri(t.e,o))))}function Nmn(t){var e,n,r,s,o,h,d,v,k;for(d=new Op(u(Lr(new jd),62)),k=Cs,n=new S(t.d);n.a=0&&vn?e:n;k<=M;++k)k==n?d=r++:(o=s[k],C=G.rl(o.ak()),k==e&&(v=k==M&&!C?r-1:r),C&&++r);return j=u(r_(t,e,n),72),d!=v&&n8(t,new mD(t.e,7,h,pe(d),H.dd(),v)),j}}else return u(Jst(t,e,n),72);return u(r_(t,e,n),72)}function $mn(t,e){var n,r,s,o,h,d,v;for(vr(e,"Port order processing",1),v=u(Q(t,(Te(),v9t)),421),r=new S(t.b);r.a=0&&(d=H1n(t,h),!(d&&(k<22?v.l|=1<>>1,h.m=C>>>1|(M&1)<<21,h.l=j>>>1|(C&1)<<21,--k;return n&&Ait(v),o&&(r?(hb=rE(t),s&&(hb=tre(hb,(q8(),aEt)))):hb=iu(t.l,t.m,t.h)),v}function Hmn(t,e){var n,r,s,o,h,d,v,k,C,M;for(k=t.e[e.c.p][e.p]+1,v=e.c.a.c.length+1,d=new S(t.a);d.a0&&(Rr(0,t.length),t.charCodeAt(0)==45||(Rr(0,t.length),t.charCodeAt(0)==43))?1:0,r=h;rn)throw it(new ld(yv+t+'"'));return d}function Vmn(t){var e,n,r,s,o,h,d;for(h=new Zi,o=new S(t.a);o.a1)&&e==1&&u(t.a[t.b],10).k==(Vn(),Ll)?p6(u(t.a[t.b],10),(zl(),f0)):r&&(!n||(t.c-t.b&t.a.length-1)>1)&&e==1&&u(t.a[t.c-1&t.a.length-1],10).k==(Vn(),Ll)?p6(u(t.a[t.c-1&t.a.length-1],10),(zl(),kb)):(t.c-t.b&t.a.length-1)==2?(p6(u(Q9(t),10),(zl(),f0)),p6(u(Q9(t),10),kb)):R2n(t,s),lmt(t)}function Wmn(t,e,n){var r,s,o,h,d;for(o=0,s=new nr((!t.a&&(t.a=new fe(rs,t,10,11)),t.a));s.e!=s.i.gc();)r=u(dr(s),33),h="",(!r.n&&(r.n=new fe(qo,r,1,7)),r.n).i==0||(h=u(At((!r.n&&(r.n=new fe(qo,r,1,7)),r.n),0),137).a),d=new Dit(o++,e,h),Mo(d,r),Jt(d,(fc(),qS),r),d.e.b=r.j+r.f/2,d.f.a=b.Math.max(r.g,1),d.e.a=r.i+r.g/2,d.f.b=b.Math.max(r.f,1),ri(e.b,d),au(n.f,r,d)}function Ymn(t){var e,n,r,s,o;r=u(Q(t,(ae(),_i)),33),o=u(qe(r,(Te(),$2)),174).Hc((Al(),K2)),t.e||(s=u(Q(t,Vc),21),e=new $e(t.f.a+t.d.b+t.d.c,t.f.b+t.d.d+t.d.a),s.Hc((oo(),vh))?(wo(r,cs,(ua(),Gc)),wv(r,e.a,e.b,!1,!0)):je(Re(qe(r,uht)))||wv(r,e.a,e.b,!0,!0)),o?wo(r,$2,un(K2)):wo(r,$2,(n=u(Vf(rA),9),new sh(n,u(ff(n,n.length),9),0)))}function rxt(t,e,n){var r,s,o,h;if(e[0]>=t.length)return n.o=0,!0;switch(wa(t,e[0])){case 43:s=1;break;case 45:s=-1;break;default:return n.o=0,!0}if(++e[0],o=e[0],h=gq(t,e),h==0&&e[0]==o)return!1;if(e[0]=0&&d!=n&&(o=new Js(t,1,d,h,null),r?r.Ei(o):r=o),n>=0&&(o=new Js(t,1,n,d==n?h:null,e),r?r.Ei(o):r=o)),r}function sle(t){var e,n,r;if(t.b==null){if(r=new Ag,t.i!=null&&(go(r,t.i),r.a+=":"),t.f&256){for(t.f&256&&t.a!=null&&(lrn(t.i)||(r.a+="//"),go(r,t.a)),t.d!=null&&(r.a+="/",go(r,t.d)),t.f&16&&(r.a+="/"),e=0,n=t.j.length;ej?!1:(M=(v=__(r,j,!1),v.a),C+d+M<=e.b&&(vD(n,o-n.s),n.c=!0,vD(r,o-n.s),tI(r,n.s,n.t+n.d+d),r.k=!0,pyt(n.q,r),H=!0,s&&(az(e,r),r.j=e,t.c.length>h&&(sI((An(h,t.c.length),u(t.c[h],200)),r),(An(h,t.c.length),u(t.c[h],200)).a.c.length==0&&Fg(t,h)))),H)}function nyn(t,e){var n,r,s,o,h,d;if(vr(e,"Partition midprocessing",1),s=new Uw,ls(Ri(new Tn(null,new _n(t.a,16)),new KK),new mw(s)),s.d!=0){for(d=u(Bl(ZQt((o=s.i,new Tn(null,(o||(s.i=new K3(s,s.c))).Nc()))),c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[(O1(),Ul)]))),15),r=d.Kc(),n=u(r.Pb(),19);r.Ob();)h=u(r.Pb(),19),swn(u(Ai(s,n),21),u(Ai(s,h),21)),n=h;or(e)}}function cle(t,e,n){var r,s,o,h,d,v,k,C;if(e.p==0){for(e.p=1,h=n,h||(s=new he,o=(r=u(Vf(Xa),9),new sh(r,u(ff(r,r.length),9),0)),h=new fa(s,o)),u(h.a,15).Fc(e),e.k==(Vn(),ks)&&u(h.b,21).Fc(u(Q(e,(ae(),oc)),61)),v=new S(e.j);v.a0){if(s=u(t.Ab.g,1934),e==null){for(o=0;o1)for(r=new S(s);r.an.s&&dd&&(d=s,C.c=Nt(Qn,De,1,0,5,1)),s==d&&le(C,new fa(n.c.i,n)));wn(),Zs(C,t.c),Hm(t.b,v.p,C)}}function cyn(t,e){var n,r,s,o,h,d,v,k,C;for(h=new S(e.b);h.ad&&(d=s,C.c=Nt(Qn,De,1,0,5,1)),s==d&&le(C,new fa(n.d.i,n)));wn(),Zs(C,t.c),Hm(t.f,v.p,C)}}function lle(t){Mw(t,new k2(_w(Ew(Cw(Tw(new kg,Tv),"ELK Box"),"Algorithm for packing of unconnected boxes, i.e. graphs without edges."),new qZ))),xe(t,Tv,xv,PSt),xe(t,Tv,Cy,15),xe(t,Tv,VI,pe(0)),xe(t,Tv,CH,Ie(DSt)),xe(t,Tv,D4,Ie(e4e)),xe(t,Tv,T6,Ie(n4e)),xe(t,Tv,E6,cde),xe(t,Tv,GI,Ie(ISt)),xe(t,Tv,C6,Ie(OSt)),xe(t,Tv,g8t,Ie(lft)),xe(t,Tv,mH,Ie(t4e))}function hle(t,e){var n,r,s,o,h,d,v,k,C;if(s=t.i,h=s.o.a,o=s.o.b,h<=0&&o<=0)return ve(),Zo;switch(k=t.n.a,C=t.n.b,d=t.o.a,n=t.o.b,e.g){case 2:case 1:if(k<0)return ve(),Bn;if(k+d>h)return ve(),Hn;break;case 4:case 3:if(C<0)return ve(),Pn;if(C+n>o)return ve(),mr}return v=(k+d/2)/h,r=(C+n/2)/o,v+r<=1&&v-r<=0?(ve(),Bn):v+r>=1&&v-r>=0?(ve(),Hn):r<.5?(ve(),Pn):(ve(),mr)}function uyn(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K;for(n=!1,C=Xt(ye(Q(e,(Te(),$v)))),G=sb*C,s=new S(e.b);s.av+G&&(K=M.g+j.g,j.a=(j.g*j.a+M.g*M.a)/K,j.g=K,M.f=j,n=!0)),o=d,M=j;return n}function fle(t,e,n,r,s,o,h){var d,v,k,C,M,j;for(j=new Fx,k=e.Kc();k.Ob();)for(d=u(k.Pb(),839),M=new S(d.wf());M.a0?d.a?(k=d.b.rf().b,s>k&&(t.v||d.c.d.c.length==1?(h=(s-k)/2,d.d.d=h,d.d.a=h):(n=u(Ne(d.c.d,0),181).rf().b,r=(n-k)/2,d.d.d=b.Math.max(0,r),d.d.a=s-r-k))):d.d.a=t.t+s:S9(t.u)&&(o=I4t(d.b),o.d<0&&(d.d.d=-o.d),o.d+o.a>d.b.rf().b&&(d.d.a=o.d+o.a-d.b.rf().b))}function fyn(t,e){var n;switch(_D(t)){case 6:return ra(e);case 7:return Bm(e);case 8:return Nm(e);case 3:return Array.isArray(e)&&(n=_D(e),!(n>=14&&n<=16));case 11:return e!=null&&typeof e===Gat;case 12:return e!=null&&(typeof e===MI||typeof e==Gat);case 0:return gst(e,t.__elementTypeId$);case 2:return Znt(e)&&e.im!==Et;case 1:return Znt(e)&&e.im!==Et||gst(e,t.__elementTypeId$);default:return!0}}function dle(t,e){var n,r,s,o;return r=b.Math.min(b.Math.abs(t.c-(e.c+e.b)),b.Math.abs(t.c+t.b-e.c)),o=b.Math.min(b.Math.abs(t.d-(e.d+e.a)),b.Math.abs(t.d+t.a-e.d)),n=b.Math.abs(t.c+t.b/2-(e.c+e.b/2)),n>t.b/2+e.b/2||(s=b.Math.abs(t.d+t.a/2-(e.d+e.a/2)),s>t.a/2+e.a/2)?1:n==0&&s==0?0:n==0?o/s+1:s==0?r/n+1:b.Math.min(r/n,o/s)+1}function gle(t,e){var n,r,s,o,h,d;return s=Jmt(t),d=Jmt(e),s==d?t.e==e.e&&t.a<54&&e.a<54?t.fe.f?1:0:(r=t.e-e.e,n=(t.d>0?t.d:b.Math.floor((t.a-1)*Cfe)+1)-(e.d>0?e.d:b.Math.floor((e.a-1)*Cfe)+1),n>r+1?s:n0&&(h=e4(h,Nle(r))),Uie(o,h))):s0&&t.d!=(q9(),slt)&&(d+=h*(r.d.a+t.a[e.b][r.b]*(e.d.a-r.d.a)/n)),n>0&&t.d!=(q9(),rlt)&&(v+=h*(r.d.b+t.a[e.b][r.b]*(e.d.b-r.d.b)/n)));switch(t.d.g){case 1:return new $e(d/o,e.d.b);case 2:return new $e(e.d.a,v/o);default:return new $e(d/o,v/o)}}function ple(t,e){oE();var n,r,s,o,h;if(h=u(Q(t.i,(Te(),cs)),98),o=t.j.g-e.j.g,o!=0||!(h==(ua(),Y2)||h==g0||h==Gc))return 0;if(h==(ua(),Y2)&&(n=u(Q(t,tp),19),r=u(Q(e,tp),19),n&&r&&(s=n.a-r.a,s!=0)))return s;switch(t.j.g){case 1:return Ms(t.n.a,e.n.a);case 2:return Ms(t.n.b,e.n.b);case 3:return Ms(e.n.a,t.n.a);case 4:return Ms(e.n.b,t.n.b);default:throw it(new No(E6t))}}function ble(t){var e,n,r,s,o,h;for(n=(!t.a&&(t.a=new As(Gh,t,5)),t.a).i+2,h=new Xc(n),le(h,new $e(t.j,t.k)),ls(new Tn(null,(!t.a&&(t.a=new As(Gh,t,5)),new _n(t.a,16))),new lzt(h)),le(h,new $e(t.b,t.c)),e=1;e0&&($D(v,!1,(ao(),zh)),$D(v,!0,Cf)),xu(e.g,new oGt(t,n)),ki(t.g,e,n)}function vle(){vle=Z;var t;for(gEt=lt(ct(Cr,1),Xr,25,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]),Fut=Nt(Cr,Xr,25,37,15,1),$ge=lt(ct(Cr,1),Xr,25,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]),pEt=Nt(Ob,wot,25,37,14,1),t=2;t<=36;t++)Fut[t]=ps(b.Math.pow(t,gEt[t])),pEt[t]=aI(qq,Fut[t])}function gyn(t){var e;if((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a).i!=1)throw it(new Fn(Sde+(!t.a&&(t.a=new fe(Ji,t,6,6)),t.a).i));return e=new Pu,RD(u(At((!t.b&&(t.b=new Cn(br,t,4,7)),t.b),0),82))&&Ua(e,tfe(t,RD(u(At((!t.b&&(t.b=new Cn(br,t,4,7)),t.b),0),82)),!1)),RD(u(At((!t.c&&(t.c=new Cn(br,t,5,8)),t.c),0),82))&&Ua(e,tfe(t,RD(u(At((!t.c&&(t.c=new Cn(br,t,5,8)),t.c),0),82)),!0)),e}function mle(t,e){var n,r,s,o,h;for(e.d?s=t.a.c==(bd(),zv)?jo(e.b):Ds(e.b):s=t.a.c==(bd(),ep)?jo(e.b):Ds(e.b),o=!1,r=new ar(lr(s.a.Kc(),new z));zr(r);)if(n=u(Mr(r),17),h=je(t.a.f[t.a.g[e.b.p].p]),!(!h&&!Ga(n)&&n.c.i.c==n.d.i.c)&&!(je(t.a.n[t.a.g[e.b.p].p])||je(t.a.n[t.a.g[e.b.p].p]))&&(o=!0,I0(t.b,t.a.g[T1n(n,e.b).p])))return e.c=!0,e.a=n,e;return e.c=o,e.a=null,e}function pyn(t,e,n,r,s){var o,h,d,v,k,C,M;for(wn(),Zs(t,new XZ),d=new da(t,0),M=new he,o=0;d.bo*2?(C=new rz(M),k=Ru(h)/El(h),v=zat(C,e,new Cx,n,r,s,k),Li(Gf(C.e),v),M.c=Nt(Qn,De,1,0,5,1),o=0,M.c[M.c.length]=C,M.c[M.c.length]=h,o=Ru(C)*El(C)+Ru(h)*El(h)):(M.c[M.c.length]=h,o+=Ru(h)*El(h));return M}function sxt(t,e,n){var r,s,o,h,d,v,k;if(r=n.gc(),r==0)return!1;if(t.ej())if(v=t.fj(),y3t(t,e,n),h=r==1?t.Zi(3,null,n.Kc().Pb(),e,v):t.Zi(5,null,n,e,v),t.bj()){for(d=r<100?null:new Dp(r),o=e+r,s=e;s0){for(h=0;h>16==-15&&t.Cb.nh()&&rit(new Jrt(t.Cb,9,13,n,t.c,Hg(al(u(t.Cb,59)),t))):_t(t.Cb,88)&&t.Db>>16==-23&&t.Cb.nh()&&(e=t.c,_t(e,88)||(e=(dn(),Kh)),_t(n,88)||(n=(dn(),Kh)),rit(new Jrt(t.Cb,9,10,n,e,Hg(Lc(u(t.Cb,26)),t)))))),t.c}function byn(t,e){var n,r,s,o,h,d,v,k,C,M;for(vr(e,"Hypernodes processing",1),s=new S(t.b);s.an);return s}function xle(t,e){var n,r,s;r=ul(t.d,1)!=0,!je(Re(Q(e.j,(ae(),Ov))))&&!je(Re(Q(e.j,X4)))||Vt(Q(e.j,(Te(),wb)))===Vt((V0(),vb))?e.c.Tf(e.e,r):r=je(Re(Q(e.j,Ov))),yI(t,e,r,!0),je(Re(Q(e.j,X4)))&&Jt(e.j,X4,(Nn(),!1)),je(Re(Q(e.j,Ov)))&&(Jt(e.j,Ov,(Nn(),!1)),Jt(e.j,X4,!0)),n=Kst(t,e);do{if(hyt(t),n==0)return 0;r=!r,s=n,yI(t,e,r,!1),n=Kst(t,e)}while(s>n);return s}function kle(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G;if(e==n)return!0;if(e=p5t(t,e),n=p5t(t,n),r=xst(e),r){if(C=xst(n),C!=r)return C?(v=r.Dj(),G=C.Dj(),v==G&&v!=null):!1;if(h=(!e.d&&(e.d=new As(ho,e,1)),e.d),o=h.i,j=(!n.d&&(n.d=new As(ho,n,1)),n.d),o==j.i){for(k=0;k0,d=Bz(e,o),N2t(n?d.b:d.g,e),u4(d).c.length==1&&fs(r,d,r.c.b,r.c),s=new fa(o,e),Up(t.o,s),mu(t.e.a,o))}function _le(t,e){var n,r,s,o,h,d,v;return r=b.Math.abs(e$(t.b).a-e$(e.b).a),d=b.Math.abs(e$(t.b).b-e$(e.b).b),s=0,v=0,n=1,h=1,r>t.b.b/2+e.b.b/2&&(s=b.Math.min(b.Math.abs(t.b.c-(e.b.c+e.b.b)),b.Math.abs(t.b.c+t.b.b-e.b.c)),n=1-s/r),d>t.b.a/2+e.b.a/2&&(v=b.Math.min(b.Math.abs(t.b.d-(e.b.d+e.b.a)),b.Math.abs(t.b.d+t.b.a-e.b.d)),h=1-v/d),o=b.Math.min(n,h),(1-o)*b.Math.sqrt(r*r+d*d)}function kyn(t){var e,n,r,s;for($at(t,t.e,t.f,(Gw(),yb),!0,t.c,t.i),$at(t,t.e,t.f,yb,!1,t.c,t.i),$at(t,t.e,t.f,r5,!0,t.c,t.i),$at(t,t.e,t.f,r5,!1,t.c,t.i),Tyn(t,t.c,t.e,t.f,t.i),r=new da(t.i,0);r.b=65;n--)Y1[n]=n-65<<24>>24;for(r=122;r>=97;r--)Y1[r]=r-97+26<<24>>24;for(s=57;s>=48;s--)Y1[s]=s-48+52<<24>>24;for(Y1[43]=62,Y1[47]=63,o=0;o<=25;o++)lp[o]=65+o&ys;for(h=26,v=0;h<=51;++h,v++)lp[h]=97+v&ys;for(t=52,d=0;t<=61;++t,d++)lp[t]=48+d&ys;lp[62]=43,lp[63]=47}function Eyn(t,e){var n,r,s,o,h,d,v,k,C,M,j,H;if(t.dc())return new Ca;for(k=0,M=0,s=t.Kc();s.Ob();)r=u(s.Pb(),37),o=r.f,k=b.Math.max(k,o.a),M+=o.a*o.b;for(k=b.Math.max(k,b.Math.sqrt(M)*Xt(ye(Q(u(t.Kc().Pb(),37),(Te(),rG))))),j=0,H=0,v=0,n=e,d=t.Kc();d.Ob();)h=u(d.Pb(),37),C=h.f,j+C.a>k&&(j=0,H+=v+e,v=0),x_(h,j,H),n=b.Math.max(n,j+C.a),v=b.Math.max(v,C.b),j+=C.a+e;return new $e(n+e,H+v+e)}function Tyn(t,e,n,r,s){var o,h,d,v,k,C,M;for(h=new S(e);h.ao)return ve(),Hn;break;case 4:case 3:if(v<0)return ve(),Pn;if(v+t.f>s)return ve(),mr}return h=(d+t.g/2)/o,n=(v+t.f/2)/s,h+n<=1&&h-n<=0?(ve(),Bn):h+n>=1&&h-n>=0?(ve(),Hn):n<.5?(ve(),Pn):(ve(),mr)}function Cyn(t,e,n,r,s){var o,h;if(o=Pa(Ns(e[0],co),Ns(r[0],co)),t[0]=Ar(o),o=$p(o,32),n>=s){for(h=1;h0&&(s.b[h++]=0,s.b[h++]=o.b[0]-1),e=1;e0&&(oM(v,v.d-s.d),s.c==(Uf(),mb)&&bpt(v,v.a-s.d),v.d<=0&&v.i>0&&fs(e,v,e.c.b,e.c)));for(o=new S(t.f);o.a0&&(TC(d,d.i-s.d),s.c==(Uf(),mb)&&ww(d,d.b-s.d),d.i<=0&&d.d>0&&fs(n,d,n.c.b,n.c)))}function _yn(t,e,n){var r,s,o,h,d,v,k,C;for(vr(n,"Processor compute fanout",1),Xu(t.b),Xu(t.a),d=null,o=ei(e.b,0);!d&&o.b!=o.d.c;)k=u(ti(o),86),je(Re(Q(k,(fc(),Xy))))&&(d=k);for(v=new Zi,fs(v,d,v.c.b,v.c),Bhe(t,v),C=ei(e.b,0);C.b!=C.d.c;)k=u(ti(C),86),h=Br(Q(k,(fc(),zS))),s=Nc(t.b,h)!=null?u(Nc(t.b,h),19).a:0,Jt(k,MG,pe(s)),r=1+(Nc(t.a,h)!=null?u(Nc(t.a,h),19).a:0),Jt(k,pye,pe(r));or(n)}function Syn(t,e,n,r,s){var o,h,d,v,k,C,M,j,H,G;for(j=l0n(t,n),v=0;v0),r.a.Xb(r.c=--r.b),M>j+v&&Cl(r);for(h=new S(H);h.a0),r.a.Xb(r.c=--r.b)}}function Ayn(){gi();var t,e,n,r,s,o;if(Vft)return Vft;for(t=new Nl(4),yy(t,ib(kut,!0)),L_(t,ib("M",!0)),L_(t,ib("C",!0)),o=new Nl(4),r=0;r<11;r++)jc(o,r,r);return e=new Nl(4),yy(e,ib("M",!0)),jc(e,4448,4607),jc(e,65438,65439),s=new d9(2),E2(s,t),E2(s,pA),n=new d9(2),n.$l(Yj(o,ib("L",!0))),n.$l(e),n=new Xm(3,n),n=new mvt(s,n),Vft=n,Vft}function Lyn(t){var e,n;if(e=Br(qe(t,(ui(),YS))),!qne(e,t)&&!o2(t,O7)&&((!t.a&&(t.a=new fe(rs,t,10,11)),t.a).i!=0||je(Re(qe(t,ZO)))))if(e==null||fy(e).length==0){if(!qne(Gn,t))throw n=Gr(Gr(new Ol("Unable to load default layout algorithm "),Gn)," for unconfigured node "),Nq(t,n),it(new R3(n.a))}else throw n=Gr(Gr(new Ol("Layout algorithm '"),e),"' not found for "),Nq(t,n),it(new R3(n.a))}function Eat(t){var e,n,r,s,o,h,d,v,k,C,M,j,H;if(n=t.i,e=t.n,t.b==0)for(H=n.c+e.b,j=n.b-e.b-e.c,h=t.a,v=0,C=h.length;v0&&(M-=r[0]+t.c,r[0]+=t.c),r[2]>0&&(M-=r[2]+t.c),r[1]=b.Math.max(r[1],M),Xj(t.a[1],n.c+e.b+r[0]-(r[1]-M)/2,r[1]);for(o=t.a,d=0,k=o.length;d0?(t.n.c.length-1)*t.i:0,r=new S(t.n);r.a1)for(r=ei(s,0);r.b!=r.d.c;)for(n=u(ti(r),231),o=0,v=new S(n.e);v.a0&&(e[0]+=t.c,M-=e[0]),e[2]>0&&(M-=e[2]+t.c),e[1]=b.Math.max(e[1],M),Qj(t.a[1],r.d+n.d+e[0]-(e[1]-M)/2,e[1]);else for(G=r.d+n.d,H=r.a-n.d-n.a,h=t.a,v=0,C=h.length;v=0&&o!=n))throw it(new Fn(eO));for(s=0,v=0;v0||av(s.b.d,t.b.d+t.b.a)==0&&r.b<0||av(s.b.d+s.b.a,t.b.d)==0&&r.b>0){d=0;break}}else d=b.Math.min(d,Moe(t,s,r));d=b.Math.min(d,Mle(t,o,d,r))}return d}function CI(t,e){var n,r,s,o,h,d,v;if(t.b<2)throw it(new Fn("The vector chain must contain at least a source and a target point."));for(s=(Zn(t.b!=0),u(t.a.a.c,8)),vj(e,s.a,s.b),v=new Nx((!e.a&&(e.a=new As(Gh,e,5)),e.a)),h=ei(t,1);h.aXt(E1(h.g,h.d[0]).a)?(Zn(v.b>0),v.a.Xb(v.c=--v.b),zm(v,h),s=!0):d.e&&d.e.gc()>0&&(o=(!d.e&&(d.e=new he),d.e).Mc(e),k=(!d.e&&(d.e=new he),d.e).Mc(n),(o||k)&&((!d.e&&(d.e=new he),d.e).Fc(h),++h.c));s||(r.c[r.c.length]=h)}function Ole(t){var e,n,r;if(G3(u(Q(t,(Te(),cs)),98)))for(n=new S(t.j);n.a>>0,"0"+e.toString(16)),r="\\x"+Pl(n,n.length-2,n.length)):t>=Ka?(n=(e=t>>>0,"0"+e.toString(16)),r="\\v"+Pl(n,n.length-6,n.length)):r=""+String.fromCharCode(t&ys)}return r}function Cat(t,e){var n,r,s,o,h,d,v,k,C,M;if(h=t.e,v=e.e,v==0)return t;if(h==0)return e.e==0?e:new X3(-e.e,e.d,e.a);if(o=t.d,d=e.d,o+d==2)return n=Ns(t.a[0],co),r=Ns(e.a[0],co),h<0&&(n=z8(n)),v<0&&(r=z8(r)),JD(Jp(n,r));if(s=o!=d?o>d?1:-1:qyt(t.a,e.a,o),s==-1)M=-v,C=h==v?Wrt(e.a,d,t.a,o):Krt(e.a,d,t.a,o);else if(M=h,h==v){if(s==0)return rb(),s7;C=Wrt(t.a,o,e.a,d)}else C=Krt(t.a,o,e.a,d);return k=new X3(M,C.length,C),N9(k),k}function fxt(t){var e,n,r,s,o,h;for(this.e=new he,this.a=new he,n=t.b-1;n<3;n++)m8(t,0,u(Zf(t,0),8));if(t.b<4)throw it(new Fn("At (least dimension + 1) control points are necessary!"));for(this.b=3,this.d=!0,this.c=!1,x2n(this,t.b+this.b-1),h=new he,o=new S(this.e),e=0;e=e.o&&n.f<=e.f||e.a*.5<=n.f&&e.a*1.5>=n.f){if(h=u(Ne(e.n,e.n.c.length-1),211),h.e+h.d+n.g+s<=r&&(o=u(Ne(e.n,e.n.c.length-1),211),o.f-t.f+n.f<=t.b||t.a.c.length==1))return h3t(e,n),!0;if(e.s+n.g<=r&&(e.t+e.d+n.f+s<=t.b||t.a.c.length==1))return le(e.b,n),d=u(Ne(e.n,e.n.c.length-1),211),le(e.n,new E$(e.s,d.f+d.a+e.i,e.i)),W3t(u(Ne(e.n,e.n.c.length-1),211),n),Sle(e,n),!0}return!1}function Fle(t,e,n){var r,s,o,h;return t.ej()?(s=null,o=t.fj(),r=t.Zi(1,h=sit(t,e,n),n,e,o),t.bj()&&!(t.ni()&&h!=null?yi(h,n):Vt(h)===Vt(n))?(h!=null&&(s=t.dj(h,s)),s=t.cj(n,s),t.ij()&&(s=t.lj(h,n,s)),s?(s.Ei(r),s.Fi()):t.$i(r)):(t.ij()&&(s=t.lj(h,n,s)),s?(s.Ei(r),s.Fi()):t.$i(r)),h):(h=sit(t,e,n),t.bj()&&!(t.ni()&&h!=null?yi(h,n):Vt(h)===Vt(n))&&(s=null,h!=null&&(s=t.dj(h,null)),s=t.cj(n,s),s&&s.Fi()),h)}function E_(t,e){var n,r,s,o,h,d,v,k;e%=24,t.q.getHours()!=e&&(r=new b.Date(t.q.getTime()),r.setDate(r.getDate()+1),d=t.q.getTimezoneOffset()-r.getTimezoneOffset(),d>0&&(v=d/60|0,k=d%60,s=t.q.getDate(),n=t.q.getHours(),n+v>=24&&++s,o=new b.Date(t.q.getFullYear(),t.q.getMonth(),s,e+v,t.q.getMinutes()+k,t.q.getSeconds(),t.q.getMilliseconds()),t.q.setTime(o.getTime()))),h=t.q.getTime(),t.q.setTime(h+36e5),t.q.getHours()!=e&&t.q.setTime(h)}function Ryn(t,e){var n,r,s,o,h;if(vr(e,"Path-Like Graph Wrapping",1),t.b.c.length==0){or(e);return}if(s=new m5t(t),h=(s.i==null&&(s.i=fyt(s,new VN)),Xt(s.i)*s.f),n=h/(s.i==null&&(s.i=fyt(s,new VN)),Xt(s.i)),s.b>n){or(e);return}switch(u(Q(t,(Te(),ght)),337).g){case 2:o=new UN;break;case 0:o=new HN;break;default:o=new WN}if(r=o.Vf(t,s),!o.Wf())switch(u(Q(t,wG),338).g){case 2:r=Doe(s,r);break;case 1:r=Mae(s,r)}F3n(t,s,r),or(e)}function jyn(t,e){var n,r,s,o;if(Ein(t.d,t.e),t.c.a.$b(),Xt(ye(Q(e.j,(Te(),aG))))!=0||Xt(ye(Q(e.j,aG)))!=0)for(n=VE,Vt(Q(e.j,wb))!==Vt((V0(),vb))&&Jt(e.j,(ae(),Ov),(Nn(),!0)),o=u(Q(e.j,MS),19).a,s=0;ss&&++k,le(h,(An(d+k,e.c.length),u(e.c[d+k],19))),v+=(An(d+k,e.c.length),u(e.c[d+k],19)).a-r,++n;n1&&(v>Ru(d)*El(d)/2||h.b==0)&&(M=new rz(j),C=Ru(d)/El(d),k=zat(M,e,new Cx,n,r,s,C),Li(Gf(M.e),k),d=M,H.c[H.c.length]=M,v=0,j.c=Nt(Qn,De,1,0,5,1)));return Ls(H,j),H}function qyn(t,e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K;if(n.mh(e)&&(C=(H=e,H?u(r,49).xh(H):null),C))if(K=n.bh(e,t.a),G=e.t,G>1||G==-1)if(M=u(K,69),j=u(C,69),M.dc())j.$b();else for(h=!!no(e),o=0,d=t.a?M.Kc():M.Zh();d.Ob();)k=u(d.Pb(),56),s=u(Xw(t,k),56),s?(h?(v=j.Xc(s),v==-1?j.Xh(o,s):o!=v&&j.ji(o,s)):j.Xh(o,s),++o):t.b&&!h&&(j.Xh(o,k),++o);else K==null?C.Wb(null):(s=Xw(t,K),s==null?t.b&&!no(e)&&C.Wb(K):C.Wb(s))}function Hyn(t,e){var n,r,s,o,h,d,v,k;for(n=new NK,s=new ar(lr(jo(e).a.Kc(),new z));zr(s);)if(r=u(Mr(s),17),!Ga(r)&&(d=r.c.i,L4t(d,yV))){if(k=V5t(t,d,yV,mV),k==-1)continue;n.b=b.Math.max(n.b,k),!n.a&&(n.a=new he),le(n.a,d)}for(h=new ar(lr(Ds(e).a.Kc(),new z));zr(h);)if(o=u(Mr(h),17),!Ga(o)&&(v=o.d.i,L4t(v,mV))){if(k=V5t(t,v,mV,yV),k==-1)continue;n.d=b.Math.max(n.d,k),!n.c&&(n.c=new he),le(n.c,v)}return n}function Nle(t){TE();var e,n,r,s;if(e=ps(t),t1e6)throw it(new _R("power of ten too big"));if(t<=wi)return Qx(bI(D6[1],e),e);for(r=bI(D6[1],wi),s=r,n=Tu(t-wi),e=ps(t%wi);yc(n,wi)>0;)s=e4(s,r),n=Jp(n,wi);for(s=e4(s,bI(D6[1],e)),s=Qx(s,wi),n=Tu(t-wi);yc(n,wi)>0;)s=Qx(s,wi),n=Jp(n,wi);return s=Qx(s,e),s}function Vyn(t,e){var n,r,s,o,h,d,v,k,C;for(vr(e,"Hierarchical port dummy size processing",1),v=new he,C=new he,r=Xt(ye(Q(t,(Te(),J4)))),n=r*2,o=new S(t.b);o.ak&&r>k)C=d,k=Xt(e.p[d.p])+Xt(e.d[d.p])+d.o.b+d.d.a;else{s=!1,n.n&&Jb(n,"bk node placement breaks on "+d+" which should have been after "+C);break}if(!s)break}return n.n&&Jb(n,e+" is feasible: "+s),s}function Kyn(t,e,n,r){var s,o,h,d,v,k,C;for(d=-1,C=new S(t);C.a=tt&&t.e[v.p]>G*t.b||St>=n*tt)&&(j.c[j.c.length]=d,d=new he,Ua(h,o),o.a.$b(),k-=C,H=b.Math.max(H,k*t.b+K),k+=St,Mt=St,St=0,C=0,K=0);return new fa(H,j)}function Jyn(t){var e,n,r,s,o,h,d,v,k,C,M,j,H;for(n=(k=new v1(t.c.b).a.vc().Kc(),new m1(k));n.a.Ob();)e=(d=u(n.a.Pb(),42),u(d.dd(),149)),s=e.a,s==null&&(s=""),r=CZe(t.c,s),!r&&s.length==0&&(r=_ln(t)),r&&!ay(r.c,e,!1)&&ri(r.c,e);for(h=ei(t.a,0);h.b!=h.d.c;)o=u(ti(h),478),C=Hrt(t.c,o.a),H=Hrt(t.c,o.b),C&&H&&ri(C.c,new fa(H,o.c));for(Ah(t.a),j=ei(t.b,0);j.b!=j.d.c;)M=u(ti(j),478),e=TZe(t.c,M.a),v=Hrt(t.c,M.b),e&&v&&gXe(e,v,M.c);Ah(t.b)}function t3n(t,e,n){var r,s,o,h,d,v,k,C,M,j,H;o=new Qk(t),h=new nae,s=(dD(h.g),dD(h.j),Xu(h.b),dD(h.d),dD(h.i),Xu(h.k),Xu(h.c),Xu(h.e),H=joe(h,o,null),Ace(h,o),H),e&&(k=new Qk(e),d=l3n(k),z4t(s,lt(ct(CSt,1),De,527,0,[d]))),j=!1,M=!1,n&&(k=new Qk(n),IH in k.a&&(j=B0(k,IH).ge().a),Qde in k.a&&(M=B0(k,Qde).ge().a)),C=yHt(Kee(new r8,j),M),Wgn(new CZ,s,C),IH in o.a&&Yf(o,IH,null),(j||M)&&(v=new _x,Ile(C,v,j,M),Yf(o,IH,v)),r=new Szt(h),zun(new l2t(s),r)}function e3n(t,e,n){var r,s,o,h,d,v,k,C,M;for(h=new oae,k=lt(ct(Cr,1),Xr,25,15,[0]),s=-1,o=0,r=0,v=0;v0){if(s<0&&C.a&&(s=v,o=k[0],r=0),s>=0){if(d=C.b,v==s&&(d-=r++,d==0))return 0;if(!jhe(e,k,C,d,h)){v=s-1,k[0]=o;continue}}else if(s=-1,!jhe(e,k,C,0,h))return 0}else{if(s=-1,wa(C.c,0)==32){if(M=k[0],aee(e,k),k[0]>M)continue}else if(Frn(e,C.c,k[0])){k[0]+=C.c.length;continue}return 0}return F5n(h,n)?k[0]:0}function C_(t){var e,n,r,s,o,h,d,v;if(!t.f){if(v=new M0,d=new M0,e=uA,h=e.a.zc(t,e),h==null){for(o=new nr(Ao(t));o.e!=o.i.gc();)s=u(dr(o),26),is(v,C_(s));e.a.Bc(t)!=null,e.a.gc()==0}for(r=(!t.s&&(t.s=new fe(Mu,t,21,17)),new nr(t.s));r.e!=r.i.gc();)n=u(dr(r),170),_t(n,99)&&Dr(d,u(n,18));iy(d),t.r=new ZYt(t,(u(At(Wt((Hp(),Ln).o),6),18),d.i),d.g),is(v,t.r),iy(v),t.f=new V3((u(At(Wt(Ln.o),5),18),v.i),v.g),sl(t).b&=-3}return t.f}function n3n(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G;for(h=t.o,r=Nt(Cr,Xr,25,h,15,1),s=Nt(Cr,Xr,25,h,15,1),n=t.p,e=Nt(Cr,Xr,25,n,15,1),o=Nt(Cr,Xr,25,n,15,1),k=0;k=0&&!f4(t,C,M);)--M;s[C]=M}for(H=0;H=0&&!f4(t,d,G);)--d;o[G]=d}for(v=0;ve[j]&&jr[v]&&Sq(t,v,j,!1,!0)}function dxt(t){var e,n,r,s,o,h,d,v;n=je(Re(Q(t,(Jf(),gbe)))),o=t.a.c.d,d=t.a.d.d,n?(h=fd(ia(new $e(d.a,d.b),o),.5),v=fd(nc(t.e),.5),e=ia(Li(new $e(o.a,o.b),h),v),H2t(t.d,e)):(s=Xt(ye(Q(t.a,kbe))),r=t.d,o.a>=d.a?o.b>=d.b?(r.a=d.a+(o.a-d.a)/2+s,r.b=d.b+(o.b-d.b)/2-s-t.e.b):(r.a=d.a+(o.a-d.a)/2+s,r.b=o.b+(d.b-o.b)/2+s):o.b>=d.b?(r.a=o.a+(d.a-o.a)/2+s,r.b=d.b+(o.b-d.b)/2+s):(r.a=o.a+(d.a-o.a)/2+s,r.b=o.b+(d.b-o.b)/2-s-t.e.b))}function $c(t,e){var n,r,s,o,h,d,v;if(t==null)return null;if(o=t.length,o==0)return"";for(v=Nt(xh,yd,25,o,15,1),Lmt(0,o,t.length),Lmt(0,o,v.length),iXt(t,0,o,v,0),n=null,d=e,s=0,h=0;s0?Pl(n.a,0,o-1):""):t.substr(0,o-1):n?n.a:t}function jle(t){Mw(t,new k2(_w(Ew(Cw(Tw(new kg,A2),"ELK DisCo"),"Layouter for arranging unconnected subgraphs. The subgraphs themselves are, by default, not laid out."),new yg))),xe(t,A2,jot,Ie(p7t)),xe(t,A2,$ot,Ie(Qut)),xe(t,A2,E6,Ie(Jpe)),xe(t,A2,xv,Ie(g7t)),xe(t,A2,Zxt,Ie(rbe)),xe(t,A2,Jxt,Ie(nbe)),xe(t,A2,Qxt,Ie(ibe)),xe(t,A2,t6t,Ie(ebe)),xe(t,A2,o6t,Ie(tbe)),xe(t,A2,c6t,Ie(Xut)),xe(t,A2,u6t,Ie(d7t)),xe(t,A2,l6t,Ie(fV))}function gxt(t,e,n,r){var s,o,h,d,v,k,C,M,j;if(o=new Y0(t),D0(o,(Vn(),Hc)),Jt(o,(Te(),cs),(ua(),Gc)),s=0,e){for(h=new Mc,Jt(h,(ae(),_i),e),Jt(o,_i,e.i),Bs(h,(ve(),Bn)),Uo(h,o),j=wd(e.e),k=j,C=0,M=k.length;C0)if(n-=r.length-e,n>=0){for(s.a+="0.";n>N2.length;n-=N2.length)wKt(s,N2);JWt(s,N2,ps(n)),Gr(s,r.substr(e))}else n=e-n,Gr(s,Pl(r,e,ps(n))),s.a+=".",Gr(s,RM(r,ps(n)));else{for(Gr(s,r.substr(e));n<-N2.length;n+=N2.length)wKt(s,N2);JWt(s,N2,ps(-n))}return s.a}function pxt(t,e,n,r){var s,o,h,d,v,k,C,M,j;return v=ia(new $e(n.a,n.b),t),k=v.a*e.b-v.b*e.a,C=e.a*r.b-e.b*r.a,M=(v.a*r.b-v.b*r.a)/C,j=k/C,C==0?k==0?(s=Li(new $e(n.a,n.b),fd(new $e(r.a,r.b),.5)),o=Wp(t,s),h=Wp(Li(new $e(t.a,t.b),e),s),d=b.Math.sqrt(r.a*r.a+r.b*r.b)*.5,o=0&&M<=1&&j>=0&&j<=1?Li(new $e(t.a,t.b),fd(new $e(e.a,e.b),M)):null}function i3n(t,e,n){var r,s,o,h,d;if(r=u(Q(t,(Te(),tht)),21),n.a>e.a&&(r.Hc((hy(),WO))?t.c.a+=(n.a-e.a)/2:r.Hc(YO)&&(t.c.a+=n.a-e.a)),n.b>e.b&&(r.Hc((hy(),XO))?t.c.b+=(n.b-e.b)/2:r.Hc(KO)&&(t.c.b+=n.b-e.b)),u(Q(t,(ae(),Vc)),21).Hc((oo(),vh))&&(n.a>e.a||n.b>e.b))for(d=new S(t.a);d.ae.a&&(r.Hc((hy(),WO))?t.c.a+=(n.a-e.a)/2:r.Hc(YO)&&(t.c.a+=n.a-e.a)),n.b>e.b&&(r.Hc((hy(),XO))?t.c.b+=(n.b-e.b)/2:r.Hc(KO)&&(t.c.b+=n.b-e.b)),u(Q(t,(ae(),Vc)),21).Hc((oo(),vh))&&(n.a>e.a||n.b>e.b))for(h=new S(t.a);h.ae&&(s=0,o+=C.b+n,M.c[M.c.length]=C,C=new Zvt(o,n),r=new Iit(0,C.f,C,n),az(C,r),s=0),r.b.c.length==0||v.f>=r.o&&v.f<=r.f||r.a*.5<=v.f&&r.a*1.5>=v.f?h3t(r,v):(h=new Iit(r.s+r.r+n,C.f,C,n),az(C,h),h3t(h,v)),s=v.i+v.g;return M.c[M.c.length]=C,M}function T4(t){var e,n,r,s,o,h,d,v;if(!t.a){if(t.o=null,v=new Wzt(t),e=new Ep,n=uA,d=n.a.zc(t,n),d==null){for(h=new nr(Ao(t));h.e!=h.i.gc();)o=u(dr(h),26),is(v,T4(o));n.a.Bc(t)!=null,n.a.gc()==0}for(s=(!t.s&&(t.s=new fe(Mu,t,21,17)),new nr(t.s));s.e!=s.i.gc();)r=u(dr(s),170),_t(r,322)&&Dr(e,u(r,34));iy(e),t.k=new QYt(t,(u(At(Wt((Hp(),Ln).o),7),18),e.i),e.g),is(v,t.k),iy(v),t.a=new V3((u(At(Wt(Ln.o),4),18),v.i),v.g),sl(t).b&=-2}return t.a}function c3n(t,e,n,r,s,o,h){var d,v,k,C,M,j;return M=!1,v=Wce(n.q,e.f+e.b-n.q.f),j=s-(n.q.e+v-h),j=(An(o,t.c.length),u(t.c[o],200)).e,C=(d=__(r,j,!1),d.a),C>e.b&&!k)?!1:((k||C<=e.b)&&(k&&C>e.b?(n.d=C,vD(n,Qae(n,C))):(bae(n.q,v),n.c=!0),vD(r,s-(n.s+n.r)),tI(r,n.q.e+n.q.d,e.f),az(e,r),t.c.length>o&&(sI((An(o,t.c.length),u(t.c[o],200)),r),(An(o,t.c.length),u(t.c[o],200)).a.c.length==0&&Fg(t,o)),M=!0),M)}function bxt(t,e,n,r){var s,o,h,d,v,k,C;if(C=ou(t.e.Tg(),e),s=0,o=u(t.g,119),v=null,to(),u(e,66).Oj()){for(d=0;dt.o.a&&(C=(v-t.o.a)/2,d.b=b.Math.max(d.b,C),d.c=b.Math.max(d.c,C))}}function l3n(t){var e,n,r,s,o,h,d,v;for(o=new vZt,YXe(o,(i6(),G3e)),r=(s=yit(t,Nt(Ae,ee,2,0,6,1)),new mx(new yl(new Eet(t,s).b)));r.b0?t.i:0)>e&&v>0&&(o=0,h+=v+t.i,s=b.Math.max(s,j),r+=v+t.i,v=0,j=0,n&&(++M,le(t.n,new E$(t.s,h,t.i))),d=0),j+=k.g+(d>0?t.i:0),v=b.Math.max(v,k.f),n&&W3t(u(Ne(t.n,M),211),k),o+=k.g+(d>0?t.i:0),++d;return s=b.Math.max(s,j),r+=v,n&&(t.r=s,t.d=r,Q3t(t.j)),new ah(t.s,t.t,s,r)}function Dc(t,e,n,r,s){Gd();var o,h,d,v,k,C,M,j,H;if(bvt(t,"src"),bvt(n,"dest"),j=ol(t),v=ol(n),jwt((j.i&4)!=0,"srcType is not an array"),jwt((v.i&4)!=0,"destType is not an array"),M=j.c,h=v.c,jwt(M.i&1?M==h:(h.i&1)==0,"Array types don't match"),H=t.length,k=n.length,e<0||r<0||s<0||e+s>H||r+s>k)throw it(new Dpt);if(!(M.i&1)&&j!=v)if(C=u2(t),o=u2(n),Vt(t)===Vt(n)&&er;)ts(o,d,C[--e]);else for(d=r+s;r0&&n5t(t,e,n,r,s,!0)}function Lat(){Lat=Z,qge=lt(ct(Cr,1),Xr,25,15,[Sa,1162261467,D_,1220703125,362797056,1977326743,D_,387420489,Gq,214358881,429981696,815730721,1475789056,170859375,268435456,410338673,612220032,893871739,128e7,1801088541,113379904,148035889,191102976,244140625,308915776,387420489,481890304,594823321,729e6,887503681,D_,1291467969,1544804416,1838265625,60466176]),Hge=lt(ct(Cr,1),Xr,25,15,[-1,-1,31,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5])}function h3n(t){var e,n,r,s,o,h,d,v;for(s=new S(t.b);s.a=t.b.length?(o[s++]=h.b[r++],o[s++]=h.b[r++]):r>=h.b.length?(o[s++]=t.b[n++],o[s++]=t.b[n++]):h.b[r]0?t.i:0)),++e;for(Ehn(t.n,v),t.d=n,t.r=r,t.g=0,t.f=0,t.e=0,t.o=as,t.p=as,o=new S(t.b);o.a0&&(s=(!t.n&&(t.n=new fe(qo,t,1,7)),u(At(t.n,0),137)).a,!s||Gr(Gr((e.a+=' "',e),s),'"'))),n=(!t.b&&(t.b=new Cn(br,t,4,7)),!(t.b.i<=1&&(!t.c&&(t.c=new Cn(br,t,5,8)),t.c.i<=1))),n?e.a+=" [":e.a+=" ",Gr(e,_2t(new vet,new nr(t.b))),n&&(e.a+="]"),e.a+=Uot,n&&(e.a+="["),Gr(e,_2t(new vet,new nr(t.c))),n&&(e.a+="]"),e.a)}function Mat(t,e){var n,r,s,o,h,d,v;if(t.a){if(d=t.a.ne(),v=null,d!=null?e.a+=""+d:(h=t.a.Dj(),h!=null&&(o=hd(h,Cu(91)),o!=-1?(v=h.substr(o),e.a+=""+Pl(h==null?_u:(On(h),h),0,o)):e.a+=""+h)),t.d&&t.d.i!=0){for(s=!0,e.a+="<",r=new nr(t.d);r.e!=r.i.gc();)n=u(dr(r),87),s?s=!1:e.a+=Ya,Mat(n,e);e.a+=">"}v!=null&&(e.a+=""+v)}else t.e?(d=t.e.zb,d!=null&&(e.a+=""+d)):(e.a+="?",t.b?(e.a+=" super ",Mat(t.b,e)):t.f&&(e.a+=" extends ",Mat(t.f,e)))}function g3n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn;for(Kt=t.c,ue=e.c,n=Ro(Kt.a,t,0),r=Ro(ue.a,e,0),St=u(ov(t,(so(),tl)).Kc().Pb(),11),Qe=u(ov(t,nu).Kc().Pb(),11),Rt=u(ov(e,tl).Kc().Pb(),11),Rn=u(ov(e,nu).Kc().Pb(),11),gt=wd(St.e),_e=wd(Qe.g),Mt=wd(Rt.e),We=wd(Rn.g),ly(t,r,ue),h=Mt,C=0,G=h.length;CC?new i2((Uf(),Ky),n,e,k-C):k>0&&C>0&&(new i2((Uf(),Ky),e,n,0),new i2(Ky,n,e,0))),h)}function qle(t,e){var n,r,s,o,h,d;for(h=new p2(new Cg(t.f.b).a);h.b;){if(o=Zw(h),s=u(o.cd(),594),e==1){if(s.gf()!=(ao(),rg)&&s.gf()!=ng)continue}else if(s.gf()!=(ao(),zh)&&s.gf()!=Cf)continue;switch(r=u(u(o.dd(),46).b,81),d=u(u(o.dd(),46).a,189),n=d.c,s.gf().g){case 2:r.g.c=t.e.a,r.g.b=b.Math.max(1,r.g.b+n);break;case 1:r.g.c=r.g.c+n,r.g.b=b.Math.max(1,r.g.b-n);break;case 4:r.g.d=t.e.b,r.g.a=b.Math.max(1,r.g.a+n);break;case 3:r.g.d=r.g.d+n,r.g.a=b.Math.max(1,r.g.a-n)}}}function p3n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K;for(d=Nt(Cr,Xr,25,e.b.c.length,15,1),k=Nt(flt,oe,267,e.b.c.length,0,1),v=Nt(l0,Yg,10,e.b.c.length,0,1),M=t.a,j=0,H=M.length;j0&&v[r]&&(G=W3(t.b,v[r],s)),K=b.Math.max(K,s.c.c.b+G);for(o=new S(C.e);o.a1)throw it(new Fn(aO));v||(o=Zd(e,r.Kc().Pb()),h.Fc(o))}return Syt(t,W4t(t,e,n),h)}function v3n(t,e){var n,r,s,o;for(ecn(e.b.j),ls(wu(new Tn(null,new _n(e.d,16)),new XX),new QX),o=new S(e.d);o.at.o.b||(n=Ko(t,Hn),d=e.d+e.a+(n.gc()-1)*h,d>t.o.b)))}function Oat(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G;if(h=t.e,v=e.e,h==0)return e;if(v==0)return t;if(o=t.d,d=e.d,o+d==2)return n=Ns(t.a[0],co),r=Ns(e.a[0],co),h==v?(C=Pa(n,r),G=Ar(C),H=Ar(Vm(C,32)),H==0?new Ng(h,G):new X3(h,2,lt(ct(Cr,1),Xr,25,15,[G,H]))):JD(h<0?Jp(r,n):Jp(n,r));if(h==v)j=h,M=o>=d?Krt(t.a,o,e.a,d):Krt(e.a,d,t.a,o);else{if(s=o!=d?o>d?1:-1:qyt(t.a,e.a,o),s==0)return rb(),s7;s==1?(j=h,M=Wrt(t.a,o,e.a,d)):(j=v,M=Wrt(e.a,d,t.a,o))}return k=new X3(j,M.length,M),N9(k),k}function Pat(t,e,n,r,s,o,h){var d,v,k,C,M,j,H;return M=je(Re(Q(e,(Te(),l9t)))),j=null,o==(so(),tl)&&r.c.i==n?j=r.c:o==nu&&r.d.i==n&&(j=r.d),k=h,!k||!M||j?(C=(ve(),Zo),j?C=j.j:G3(u(Q(n,cs),98))&&(C=o==tl?Bn:Hn),v=k3n(t,e,n,o,C,r),d=Grt((Na(n),r)),o==tl?(Oa(d,u(Ne(v.j,0),11)),oa(d,s)):(Oa(d,s),oa(d,u(Ne(v.j,0),11))),k=new oie(r,d,v,u(Q(v,(ae(),_i)),11),o,!j)):(le(k.e,r),H=b.Math.max(Xt(ye(Q(k.d,Jg))),Xt(ye(Q(r,Jg)))),Jt(k.d,Jg,H)),ln(t.a,r,new Fj(k.d,e,o)),k}function Pq(t,e){var n,r,s,o,h,d,v,k,C,M;if(C=null,t.d&&(C=u(Nc(t.d,e),138)),!C){if(o=t.a.Mh(),M=o.i,!t.d||HC(t.d)!=M){for(v=new _r,t.d&&Y9(v,t.d),k=v.f.c+v.g.c,d=k;d0?(H=(G-1)*n,d&&(H+=r),C&&(H+=r),H=t.b[s+1])s+=2;else if(n0)for(r=new Bu(u(Ai(t.a,o),21)),wn(),Zs(r,new Si(e)),s=new da(o.b,0);s.bKt)?(v=2,h=wi):v==0?(v=1,h=_e):(v=0,h=_e)):(H=_e>=h||h-_e0?1:Iw(isNaN(r),isNaN(0)))>=0^(wf(_d),(b.Math.abs(d)<=_d||d==0||isNaN(d)&&isNaN(0)?0:d<0?-1:d>0?1:Iw(isNaN(d),isNaN(0)))>=0)?b.Math.max(d,r):(wf(_d),(b.Math.abs(r)<=_d||r==0||isNaN(r)&&isNaN(0)?0:r<0?-1:r>0?1:Iw(isNaN(r),isNaN(0)))>0?b.Math.sqrt(d*d+r*r):-b.Math.sqrt(d*d+r*r))}function E2(t,e){var n,r,s,o,h,d;if(e){if(!t.a&&(t.a=new ER),t.e==2){kR(t.a,e);return}if(e.e==1){for(s=0;s=Ka?go(n,l3t(r)):S8(n,r&ys),h=new krt(10,null,0),unn(t.a,h,d-1)):(n=(h.bm().length+o,new $C),go(n,h.bm())),e.e==0?(r=e._l(),r>=Ka?go(n,l3t(r)):S8(n,r&ys)):go(n,e.bm()),u(h,521).b=n.a}}function Xle(t){var e,n,r,s,o;return t.g!=null?t.g:t.a<32?(t.g=W5n(Tu(t.f),ps(t.e)),t.g):(s=Hat((!t.c&&(t.c=VD(t.f)),t.c),0),t.e==0?s:(e=(!t.c&&(t.c=VD(t.f)),t.c).e<0?2:1,n=s.length,r=-t.e+n-e,o=new Mp,o.a+=""+s,t.e>0&&r>=-6?r>=0?uD(o,n-ps(t.e),String.fromCharCode(46)):(o.a=Pl(o.a,0,e-1)+"0."+RM(o.a,e-1),uD(o,e+1,Mh(N2,0,-ps(r)-1))):(n-e>=1&&(uD(o,e,String.fromCharCode(46)),++n),uD(o,n,String.fromCharCode(69)),r>0&&uD(o,++n,String.fromCharCode(43)),uD(o,++n,""+_9(Tu(r)))),t.g=o.a,t.g))}function F3n(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt;if(!n.dc()){for(d=0,j=0,r=n.Kc(),G=u(r.Pb(),19).a;d1&&(v=k.mg(v,t.a,d));return v.c.length==1?u(Ne(v,v.c.length-1),220):v.c.length==2?T3n((An(0,v.c.length),u(v.c[0],220)),(An(1,v.c.length),u(v.c[1],220)),h,o):null}function Qle(t){var e,n,r,s,o,h;for(xu(t.a,new xi),n=new S(t.a);n.a=b.Math.abs(r.b)?(r.b=0,o.d+o.a>h.d&&o.dh.c&&o.c0){if(e=new n2t(t.i,t.g),n=t.i,o=n<100?null:new Dp(n),t.ij())for(r=0;r0){for(d=t.g,k=t.i,z9(t),o=k<100?null:new Dp(k),r=0;r>13|(t.m&15)<<9,s=t.m>>4&8191,o=t.m>>17|(t.h&255)<<5,h=(t.h&1048320)>>8,d=e.l&8191,v=e.l>>13|(e.m&15)<<9,k=e.m>>4&8191,C=e.m>>17|(e.h&255)<<5,M=(e.h&1048320)>>8,We=n*d,Qe=r*d,Rn=s*d,zn=o*d,hr=h*d,v!=0&&(Qe+=n*v,Rn+=r*v,zn+=s*v,hr+=o*v),k!=0&&(Rn+=n*k,zn+=r*k,hr+=s*k),C!=0&&(zn+=n*C,hr+=r*C),M!=0&&(hr+=n*M),H=We&hl,G=(Qe&511)<<13,j=H+G,tt=We>>22,gt=Qe>>9,Mt=(Rn&262143)<<4,St=(zn&31)<<17,K=tt+gt+Mt+St,Kt=Rn>>18,ue=zn>>5,_e=(hr&4095)<<8,Rt=Kt+ue+_e,K+=j>>22,j&=hl,Rt+=K>>22,K&=hl,Rt&=Z0,iu(j,K,Rt)}function Zle(t){var e,n,r,s,o,h,d;if(d=u(Ne(t.j,0),11),d.g.c.length!=0&&d.e.c.length!=0)throw it(new No("Interactive layout does not support NORTH/SOUTH ports with incoming _and_ outgoing edges."));if(d.g.c.length!=0){for(o=as,n=new S(d.g);n.a4)if(t.wj(e)){if(t.rk()){if(s=u(e,49),r=s.Ug(),v=r==t.e&&(t.Dk()?s.Og(s.Vg(),t.zk())==t.Ak():-1-s.Vg()==t.aj()),t.Ek()&&!v&&!r&&s.Zg()){for(o=0;o0&&(k=t.n.a/o);break;case 2:case 4:s=t.i.o.b,s>0&&(k=t.n.b/s)}Jt(t,(ae(),Fv),k)}if(v=t.o,h=t.a,r)h.a=r.a,h.b=r.b,t.d=!0;else if(e!=G1&&e!=Tb&&d!=Zo)switch(d.g){case 1:h.a=v.a/2;break;case 2:h.a=v.a,h.b=v.b/2;break;case 3:h.a=v.a/2,h.b=v.b;break;case 4:h.b=v.b/2}else h.a=v.a/2,h.b=v.b/2}function A_(t){var e,n,r,s,o,h,d,v,k,C;if(t.ej())if(C=t.Vi(),v=t.fj(),C>0)if(e=new gyt(t.Gi()),n=C,o=n<100?null:new Dp(n),VM(t,n,e.g),s=n==1?t.Zi(4,At(e,0),null,0,v):t.Zi(6,e,null,-1,v),t.bj()){for(r=new nr(e);r.e!=r.i.gc();)o=t.dj(dr(r),o);o?(o.Ei(s),o.Fi()):t.$i(s)}else o?(o.Ei(s),o.Fi()):t.$i(s);else VM(t,t.Vi(),t.Wi()),t.$i(t.Zi(6,(wn(),io),null,-1,v));else if(t.bj())if(C=t.Vi(),C>0){for(d=t.Wi(),k=C,VM(t,C,d),o=k<100?null:new Dp(k),r=0;rt.d[h.p]&&(n+=fmt(t.b,o)*u(v.b,19).a,Up(t.a,pe(o)));for(;!BC(t.a);)Hmt(t.b,u(Hx(t.a),19).a)}return n}function W3n(t,e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt;for(M=new xo(u(qe(t,(fq(),OSt)),8)),M.a=b.Math.max(M.a-n.b-n.c,0),M.b=b.Math.max(M.b-n.d-n.a,0),s=ye(qe(t,MSt)),(s==null||(On(s),s<=0))&&(s=1.3),d=new he,G=new nr((!t.a&&(t.a=new fe(rs,t,10,11)),t.a));G.e!=G.i.gc();)H=u(dr(G),33),h=new LWt(H),d.c[d.c.length]=h;switch(j=u(qe(t,lft),311),j.g){case 3:tt=pyn(d,e,M.a,M.b,(k=r,On(s),k));break;case 1:tt=zyn(d,e,M.a,M.b,(C=r,On(s),C));break;default:tt=X3n(d,e,M.a,M.b,(v=r,On(s),v))}o=new rz(tt),K=zat(o,e,n,M.a,M.b,r,(On(s),s)),wv(t,K.a,K.b,!1,!0)}function Y3n(t,e){var n,r,s,o;n=e.b,o=new Bu(n.j),s=0,r=n.j,r.c=Nt(Qn,De,1,0,5,1),$w(u(h2(t.b,(ve(),Pn),(nv(),Dv)),15),n),s=nI(o,s,new jX,r),$w(u(h2(t.b,Pn,pb),15),n),s=nI(o,s,new VT,r),$w(u(h2(t.b,Pn,Mv),15),n),$w(u(h2(t.b,Hn,Dv),15),n),$w(u(h2(t.b,Hn,pb),15),n),s=nI(o,s,new PN,r),$w(u(h2(t.b,Hn,Mv),15),n),$w(u(h2(t.b,mr,Dv),15),n),s=nI(o,s,new FN,r),$w(u(h2(t.b,mr,pb),15),n),s=nI(o,s,new NN,r),$w(u(h2(t.b,mr,Mv),15),n),$w(u(h2(t.b,Bn,Dv),15),n),s=nI(o,s,new qX,r),$w(u(h2(t.b,Bn,pb),15),n),$w(u(h2(t.b,Bn,Mv),15),n)}function K3n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K;for(vr(e,"Layer size calculation",1),C=as,k=Cs,s=!1,d=new S(t.b);d.a.5?gt-=h*2*(G-.5):G<.5&&(gt+=o*2*(.5-G)),s=d.d.b,gttt.a-K-C&&(gt=tt.a-K-C),d.n.a=e+gt}}function X3n(t,e,n,r,s){var o,h,d,v,k,C,M,j,H,G,K,tt;for(d=Nt(aa,vo,25,t.c.length,15,1),j=new n$(new sB),e4t(j,t),k=0,K=new he;j.b.c.length!=0;)if(h=u(j.b.c.length==0?null:Ne(j.b,0),157),k>1&&Ru(h)*El(h)/2>d[0]){for(o=0;od[o];)++o;G=new Qd(K,0,o+1),M=new rz(G),C=Ru(h)/El(h),v=zat(M,e,new Cx,n,r,s,C),Li(Gf(M.e),v),R8(xE(j,M)),H=new Qd(K,o+1,K.c.length),e4t(j,H),K.c=Nt(Qn,De,1,0,5,1),k=0,AKt(d,d.length,0)}else tt=j.b.c.length==0?null:Ne(j.b,0),tt!=null&&vit(j,0),k>0&&(d[k]=d[k-1]),d[k]+=Ru(h)*El(h),++k,K.c[K.c.length]=h;return K}function Q3n(t){var e,n,r,s,o;if(r=u(Q(t,(Te(),uu)),163),r==(dh(),bb)){for(n=new ar(lr(jo(t).a.Kc(),new z));zr(n);)if(e=u(Mr(n),17),!jJt(e))throw it(new R3(Kot+rI(t)+"' has its layer constraint set to FIRST_SEPARATE, but has at least one incoming edge. FIRST_SEPARATE nodes must not have incoming edges."))}else if(r==jy){for(o=new ar(lr(Ds(t).a.Kc(),new z));zr(o);)if(s=u(Mr(o),17),!jJt(s))throw it(new R3(Kot+rI(t)+"' has its layer constraint set to LAST_SEPARATE, but has at least one outgoing edge. LAST_SEPARATE nodes must not have outgoing edges."))}}function Z3n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G;for(vr(e,"Label dummy removal",1),r=Xt(ye(Q(t,(Te(),V6)))),s=Xt(ye(Q(t,Wy))),k=u(Q(t,Wl),103),v=new S(t.b);v.a0&&soe(t,d,M);for(s=new S(M);s.a>19&&(e=rE(e),v=!v),h=Q2n(e),o=!1,s=!1,r=!1,t.h==NI&&t.m==0&&t.l==0)if(s=!0,o=!0,h==-1)t=yUt((q8(),sEt)),r=!0,v=!v;else return d=v5t(t,h),v&&Ait(d),n&&(hb=iu(0,0,0)),d;else t.h>>19&&(o=!0,t=rE(t),r=!0,v=!v);return h!=-1?Run(t,h,v,o,n):u4t(t,e)<0?(n&&(o?hb=rE(t):hb=iu(t.l,t.m,t.h)),iu(0,0,0)):qmn(r?t:iu(t.l,t.m,t.h),e,v,o,s,n)}function Fq(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G;if(t.e&&t.c.ce.f||e.g>t.f)){for(n=0,r=0,h=t.w.a.ec().Kc();h.Ob();)s=u(h.Pb(),11),$it(Yo(lt(ct(Ws,1),ee,8,0,[s.i.n,s.n,s.a])).b,e.g,e.f)&&++n;for(d=t.r.a.ec().Kc();d.Ob();)s=u(d.Pb(),11),$it(Yo(lt(ct(Ws,1),ee,8,0,[s.i.n,s.n,s.a])).b,e.g,e.f)&&--n;for(v=e.w.a.ec().Kc();v.Ob();)s=u(v.Pb(),11),$it(Yo(lt(ct(Ws,1),ee,8,0,[s.i.n,s.n,s.a])).b,t.g,t.f)&&++r;for(o=e.r.a.ec().Kc();o.Ob();)s=u(o.Pb(),11),$it(Yo(lt(ct(Ws,1),ee,8,0,[s.i.n,s.n,s.a])).b,t.g,t.f)&&--r;n=0)return s=ohn(t,e.substr(1,h-1)),C=e.substr(h+1,v-(h+1)),nxn(t,C,s)}else{if(n=-1,lEt==null&&(lEt=new RegExp("\\d")),lEt.test(String.fromCharCode(d))&&(n=bwt(e,Cu(46),v-1),n>=0)){r=u(Urt(t,Dee(t,e.substr(1,n-1)),!1),58),k=0;try{k=ql(e.substr(n+1),Sa,wi)}catch(j){throw j=Wi(j),_t(j,127)?(o=j,it(new W$(o))):it(j)}if(k=0)return n;switch(Hw(To(t,n))){case 2:{if(hn("",$g(t,n.Hj()).ne())){if(v=rD(To(t,n)),d=M8(To(t,n)),C=C5t(t,e,v,d),C)return C;for(s=Z5t(t,e),h=0,M=s.gc();h1)throw it(new Fn(aO));for(C=ou(t.e.Tg(),e),r=u(t.g,119),h=0;h1,k=new L1(j.b);Go(k.a)||Go(k.b);)v=u(Go(k.a)?J(k.a):J(k.b),17),M=v.c==j?v.d:v.c,b.Math.abs(Yo(lt(ct(Ws,1),ee,8,0,[M.i.n,M.n,M.a])).b-h.b)>1&&evn(t,v,h,o,j)}}function l4n(t){var e,n,r,s,o,h;if(s=new da(t.e,0),r=new da(t.a,0),t.d)for(n=0;nLct;){for(o=e,h=0;b.Math.abs(e-o)0),s.a.Xb(s.c=--s.b),Syn(t,t.b-h,o,r,s),Zn(s.b0),r.a.Xb(r.c=--r.b)}if(!t.d)for(n=0;n0?(t.f[C.p]=H/(C.e.c.length+C.g.c.length),t.c=b.Math.min(t.c,t.f[C.p]),t.b=b.Math.max(t.b,t.f[C.p])):d&&(t.f[C.p]=H)}}function f4n(t){t.b=null,t.bb=null,t.fb=null,t.qb=null,t.a=null,t.c=null,t.d=null,t.e=null,t.f=null,t.n=null,t.M=null,t.L=null,t.Q=null,t.R=null,t.K=null,t.db=null,t.eb=null,t.g=null,t.i=null,t.j=null,t.k=null,t.gb=null,t.o=null,t.p=null,t.q=null,t.r=null,t.$=null,t.ib=null,t.S=null,t.T=null,t.t=null,t.s=null,t.u=null,t.v=null,t.w=null,t.B=null,t.A=null,t.C=null,t.D=null,t.F=null,t.G=null,t.H=null,t.I=null,t.J=null,t.P=null,t.Z=null,t.U=null,t.V=null,t.W=null,t.X=null,t.Y=null,t._=null,t.ab=null,t.cb=null,t.hb=null,t.nb=null,t.lb=null,t.mb=null,t.ob=null,t.pb=null,t.jb=null,t.kb=null,t.N=!1,t.O=!1}function d4n(t,e,n){var r,s,o,h;for(vr(n,"Graph transformation ("+t.a+")",1),h=Ww(e.a),o=new S(e.b);o.a0&&(t.a=v+(H-1)*o,e.c.b+=t.a,e.f.b+=t.a)),G.a.gc()!=0&&(j=new ert(1,o),H=Txt(j,e,G,K,e.f.b+v-e.c.b),H>0&&(e.f.b+=v+(H-1)*o))}function OE(t,e){var n,r,s,o;o=t.F,e==null?(t.F=null,aE(t,null)):(t.F=(On(e),e),r=hd(e,Cu(60)),r!=-1?(s=e.substr(0,r),hd(e,Cu(46))==-1&&!hn(s,b6)&&!hn(s,tS)&&!hn(s,FH)&&!hn(s,eS)&&!hn(s,nS)&&!hn(s,rS)&&!hn(s,iS)&&!hn(s,sS)&&(s=$0e),n=Tj(e,Cu(62)),n!=-1&&(s+=""+e.substr(n+1)),aE(t,s)):(s=e,hd(e,Cu(46))==-1&&(r=hd(e,Cu(91)),r!=-1&&(s=e.substr(0,r)),!hn(s,b6)&&!hn(s,tS)&&!hn(s,FH)&&!hn(s,eS)&&!hn(s,nS)&&!hn(s,rS)&&!hn(s,iS)&&!hn(s,sS)?(s=$0e,r!=-1&&(s+=""+e.substr(r))):s=e),aE(t,s),s==e&&(t.F=t.D))),t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,5,o,e))}function p4n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St;if(K=e.b.c.length,!(K<3)){for(H=Nt(Cr,Xr,25,K,15,1),M=0,C=new S(e.b);C.ah)&&Fs(t.b,u(tt.b,17));++d}o=h}}}function xxt(t,e){var n;if(e==null||hn(e,_u)||e.length==0&&t.k!=(Ug(),U6))return null;switch(t.k.g){case 1:return Vz(e,XE)?(Nn(),r7):Vz(e,Vct)?(Nn(),F2):null;case 2:try{return pe(ql(e,Sa,wi))}catch(r){if(r=Wi(r),_t(r,127))return null;throw it(r)}case 4:try{return dy(e)}catch(r){if(r=Wi(r),_t(r,127))return null;throw it(r)}case 3:return e;case 5:return Rre(t),Voe(t,e);case 6:return Rre(t),C2n(t,t.a,e);case 7:try{return n=Bbn(t),n.Jf(e),n}catch(r){if(r=Wi(r),_t(r,32))return null;throw it(r)}default:throw it(new No("Invalid type set for this layout option."))}}function b4n(t){H9();var e,n,r,s,o,h,d;for(d=new pqt,n=new S(t);n.a=d.b.c)&&(d.b=e),(!d.c||e.c<=d.c.c)&&(d.d=d.c,d.c=e),(!d.e||e.d>=d.e.d)&&(d.e=e),(!d.f||e.d<=d.f.d)&&(d.f=e);return r=new Yz((nE(),Lv)),hD(t,Ube,new yl(lt(ct(mO,1),De,369,0,[r]))),h=new Yz(Fy),hD(t,Gbe,new yl(lt(ct(mO,1),De,369,0,[h]))),s=new Yz(Py),hD(t,Vbe,new yl(lt(ct(mO,1),De,369,0,[s]))),o=new Yz(z4),hD(t,Hbe,new yl(lt(ct(mO,1),De,369,0,[o]))),aat(r.c,Lv),aat(s.c,Py),aat(o.c,z4),aat(h.c,Fy),d.a.c=Nt(Qn,De,1,0,5,1),Ls(d.a,r.c),Ls(d.a,l2(s.c)),Ls(d.a,o.c),Ls(d.a,l2(h.c)),d}function kxt(t){var e;switch(t.d){case 1:{if(t.hj())return t.o!=-2;break}case 2:{if(t.hj())return t.o==-2;break}case 3:case 5:case 4:case 6:case 7:return t.o>-2;default:return!1}switch(e=t.gj(),t.p){case 0:return e!=null&&je(Re(e))!=u9(t.k,0);case 1:return e!=null&&u(e,217).a!=Ar(t.k)<<24>>24;case 2:return e!=null&&u(e,172).a!=(Ar(t.k)&ys);case 6:return e!=null&&u9(u(e,162).a,t.k);case 5:return e!=null&&u(e,19).a!=Ar(t.k);case 7:return e!=null&&u(e,184).a!=Ar(t.k)<<16>>16;case 3:return e!=null&&Xt(ye(e))!=t.j;case 4:return e!=null&&u(e,155).a!=t.j;default:return e==null?t.n!=null:!yi(e,t.n)}}function AI(t,e,n){var r,s,o,h;return t.Fk()&&t.Ek()&&(h=Wnt(t,u(n,56)),Vt(h)!==Vt(n))?(t.Oi(e),t.Ui(e,Ite(t,e,h)),t.rk()&&(o=(s=u(n,49),t.Dk()?t.Bk()?s.ih(t.b,no(u(yn(vu(t.b),t.aj()),18)).n,u(yn(vu(t.b),t.aj()).Yj(),26).Bj(),null):s.ih(t.b,Gi(s.Tg(),no(u(yn(vu(t.b),t.aj()),18))),null,null):s.ih(t.b,-1-t.aj(),null,null)),!u(h,49).eh()&&(o=(r=u(h,49),t.Dk()?t.Bk()?r.gh(t.b,no(u(yn(vu(t.b),t.aj()),18)).n,u(yn(vu(t.b),t.aj()).Yj(),26).Bj(),o):r.gh(t.b,Gi(r.Tg(),no(u(yn(vu(t.b),t.aj()),18))),null,o):r.gh(t.b,-1-t.aj(),null,o))),o&&o.Fi()),xl(t.b)&&t.$i(t.Zi(9,n,h,e,!1)),h):n}function nhe(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt;for(C=Xt(ye(Q(t,(Te(),jv)))),r=Xt(ye(Q(t,x9t))),j=new Yu,Jt(j,jv,C+r),k=e,gt=k.d,K=k.c.i,Mt=k.d.i,tt=o2t(K.c),St=o2t(Mt.c),s=new he,M=tt;M<=St;M++)d=new Y0(t),D0(d,(Vn(),ta)),Jt(d,(ae(),_i),k),Jt(d,cs,(ua(),Gc)),Jt(d,bG,j),H=u(Ne(t.b,M),29),M==tt?ly(d,H.a.c.length-n,H):Eo(d,H),Rt=Xt(ye(Q(k,Jg))),Rt<0&&(Rt=0,Jt(k,Jg,Rt)),d.o.b=Rt,G=b.Math.floor(Rt/2),h=new Mc,Bs(h,(ve(),Bn)),Uo(h,d),h.n.b=G,v=new Mc,Bs(v,Hn),Uo(v,d),v.n.b=G,oa(k,h),o=new Vw,Mo(o,k),Jt(o,So,null),Oa(o,v),oa(o,gt),mdn(d,k,o),s.c[s.c.length]=o,k=o;return s}function Bat(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St;for(v=u(Gg(t,(ve(),Bn)).Kc().Pb(),11).e,H=u(Gg(t,Hn).Kc().Pb(),11).g,d=v.c.length,St=_1(u(Ne(t.j,0),11));d-- >0;){for(K=(An(0,v.c.length),u(v.c[0],17)),s=(An(0,H.c.length),u(H.c[0],17)),Mt=s.d.e,o=Ro(Mt,s,0),Esn(K,s.d,o),Oa(s,null),oa(s,null),G=K.a,e&&ri(G,new xo(St)),r=ei(s.a,0);r.b!=r.d.c;)n=u(ti(r),8),ri(G,new xo(n));for(gt=K.b,j=new S(s.b);j.a0&&(h=b.Math.max(h,Mne(t.C.b+r.d.b,s))),C=r,M=s,j=o;t.C&&t.C.c>0&&(H=j+t.C.c,k&&(H+=C.d.c),h=b.Math.max(h,(k1(),wf(B1),b.Math.abs(M-1)<=B1||M==1||isNaN(M)&&isNaN(1)?0:H/(1-M)))),n.n.b=0,n.a.a=h}function ihe(t,e){var n,r,s,o,h,d,v,k,C,M,j,H;if(n=u(po(t.b,e),124),v=u(u(Ai(t.r,e),21),84),v.dc()){n.n.d=0,n.n.a=0;return}for(k=t.u.Hc((Zu(),sg)),h=0,t.A.Hc((Al(),K2))&&Bue(t,e),d=v.Kc(),C=null,j=0,M=0;d.Ob();)r=u(d.Pb(),111),o=Xt(ye(r.b.We((Cj(),uV)))),s=r.b.rf().b,C?(H=M+C.d.a+t.w+r.d.d,h=b.Math.max(h,(k1(),wf(B1),b.Math.abs(j-o)<=B1||j==o||isNaN(j)&&isNaN(o)?0:H/(o-j)))):t.C&&t.C.d>0&&(h=b.Math.max(h,Mne(t.C.d+r.d.d,o))),C=r,j=o,M=s;t.C&&t.C.a>0&&(H=M+t.C.a,k&&(H+=C.d.a),h=b.Math.max(h,(k1(),wf(B1),b.Math.abs(j-1)<=B1||j==1||isNaN(j)&&isNaN(1)?0:H/(1-j)))),n.n.d=0,n.a.b=h}function she(t,e,n){var r,s,o,h,d,v;for(this.g=t,d=e.d.length,v=n.d.length,this.d=Nt(l0,Yg,10,d+v,0,1),h=0;h0?lit(this,this.f/this.a):E1(e.g,e.d[0]).a!=null&&E1(n.g,n.d[0]).a!=null?lit(this,(Xt(E1(e.g,e.d[0]).a)+Xt(E1(n.g,n.d[0]).a))/2):E1(e.g,e.d[0]).a!=null?lit(this,E1(e.g,e.d[0]).a):E1(n.g,n.d[0]).a!=null&&lit(this,E1(n.g,n.d[0]).a)}function w4n(t,e){var n,r,s,o,h,d,v,k,C,M;for(t.a=new dXt(Ucn(XS)),r=new S(e.a);r.a=1&&(tt-h>0&&M>=0?(v.n.a+=K,v.n.b+=o*h):tt-h<0&&C>=0&&(v.n.a+=K*tt,v.n.b+=o));t.o.a=e.a,t.o.b=e.b,Jt(t,(Te(),$2),(Al(),r=u(Vf(rA),9),new sh(r,u(ff(r,r.length),9),0)))}function x4n(t,e,n,r,s,o){var h;if(!(e==null||!tst(e,nLt,rLt)))throw it(new Fn("invalid scheme: "+e));if(!t&&!(n!=null&&hd(n,Cu(35))==-1&&n.length>0&&(Rr(0,n.length),n.charCodeAt(0)!=47)))throw it(new Fn("invalid opaquePart: "+n));if(t&&!(e!=null&&yM(gU,e.toLowerCase()))&&!(n==null||!tst(n,oA,cA)))throw it(new Fn(S0e+n));if(t&&e!=null&&yM(gU,e.toLowerCase())&&!g0n(n))throw it(new Fn(S0e+n));if(!vhn(r))throw it(new Fn("invalid device: "+r));if(!hln(s))throw h=s==null?"invalid segments: null":"invalid segment: "+oln(s),it(new Fn(h));if(!(o==null||hd(o,Cu(35))==-1))throw it(new Fn("invalid query: "+o))}function k4n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt;for(vr(e,"Calculate Graph Size",1),e.n&&t&&gf(e,pf(t),(Sl(),Ql)),d=VE,v=VE,o=Ukt,h=Ukt,M=new nr((!t.a&&(t.a=new fe(rs,t,10,11)),t.a));M.e!=M.i.gc();)k=u(dr(M),33),G=k.i,K=k.j,gt=k.g,r=k.f,s=u(qe(k,(ui(),JO)),142),d=b.Math.min(d,G-s.b),v=b.Math.min(v,K-s.d),o=b.Math.max(o,G+gt+s.c),h=b.Math.max(h,K+r+s.a);for(H=u(qe(t,(ui(),U2)),116),j=new $e(d-H.b,v-H.d),C=new nr((!t.a&&(t.a=new fe(rs,t,10,11)),t.a));C.e!=C.i.gc();)k=u(dr(C),33),ku(k,k.i-j.a),Eu(k,k.j-j.b);tt=o-d+(H.b+H.c),n=h-v+(H.d+H.a),tv(t,tt),Jw(t,n),e.n&&t&&gf(e,pf(t),(Sl(),Ql))}function che(t){var e,n,r,s,o,h,d,v,k,C;for(r=new he,h=new S(t.e.a);h.a0){Kz(t,n,0),n.a+=String.fromCharCode(r),s=ofn(e,o),Kz(t,n,s),o+=s-1;continue}r==39?o+11)for(K=Nt(Cr,Xr,25,t.b.b.c.length,15,1),M=0,k=new S(t.b.b);k.a=d&&s<=v)d<=s&&o<=v?(n[C++]=s,n[C++]=o,r+=2):d<=s?(n[C++]=s,n[C++]=v,t.b[r]=v+1,h+=2):o<=v?(n[C++]=d,n[C++]=o,r+=2):(n[C++]=d,n[C++]=v,t.b[r]=v+1);else if(vsb)&&d<10);ubt(t.c,new W5),uhe(t),hnn(t.c),m4n(t.f)}function _4n(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt;if(je(Re(Q(n,(Te(),Hy)))))for(d=new S(n.j);d.a=2){for(v=ei(n,0),h=u(ti(v),8),d=u(ti(v),8);d.a0&&$D(k,!0,(ao(),Cf)),d.k==(Vn(),ks)&&NXt(k),ki(t.f,d,e)}}function M4n(t,e,n){var r,s,o,h,d,v,k,C,M,j;switch(vr(n,"Node promotion heuristic",1),t.g=e,N5n(t),t.q=u(Q(e,(Te(),oht)),260),C=u(Q(t.g,o9t),19).a,o=new pN,t.q.g){case 2:case 1:IE(t,o);break;case 3:for(t.q=(y4(),EG),IE(t,o),v=0,d=new S(t.a);d.at.j&&(t.q=FO,IE(t,o));break;case 4:for(t.q=(y4(),EG),IE(t,o),k=0,s=new S(t.b);s.at.k&&(t.q=NO,IE(t,o));break;case 6:j=ps(b.Math.ceil(t.f.length*C/100)),IE(t,new _p(j));break;case 5:M=ps(b.Math.ceil(t.d*C/100)),IE(t,new Hf(M));break;default:IE(t,o)}Evn(t,e),or(n)}function hhe(t,e,n){var r,s,o,h;this.j=t,this.e=_4t(t),this.o=this.j.e,this.i=!!this.o,this.p=this.i?u(Ne(n,Na(this.o).p),214):null,s=u(Q(t,(ae(),Vc)),21),this.g=s.Hc((oo(),vh)),this.b=new he,this.d=new Oie(this.e),h=u(Q(this.j,$6),230),this.q=cun(e,h,this.e),this.k=new PQt(this),o=A1(lt(ct(g2e,1),De,225,0,[this,this.d,this.k,this.q])),e==(ev(),RO)&&!je(Re(Q(t,(Te(),$y))))?(r=new A4t(this.e),o.c[o.c.length]=r,this.c=new rmt(r,h,u(this.q,402))):e==RO&&je(Re(Q(t,(Te(),$y))))?(r=new A4t(this.e),o.c[o.c.length]=r,this.c=new bne(r,h,u(this.q,402))):this.c=new gGt(e,this),le(o,this.c),Ule(o,this.e),this.s=fxn(this.k)}function D4n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt;for(M=u(xj((h=ei(new Lp(e).a.d,0),new Ex(h))),86),G=M?u(Q(M,(fc(),Rht)),86):null,s=1;M&&G;){for(v=0,Rt=0,n=M,r=G,d=0;d=t.i?(++t.i,le(t.a,pe(1)),le(t.b,C)):(r=t.c[e.p][1],ch(t.a,k,pe(u(Ne(t.a,k),19).a+1-r)),ch(t.b,k,Xt(ye(Ne(t.b,k)))+C-r*t.e)),(t.q==(y4(),FO)&&(u(Ne(t.a,k),19).a>t.j||u(Ne(t.a,k-1),19).a>t.j)||t.q==NO&&(Xt(ye(Ne(t.b,k)))>t.k||Xt(ye(Ne(t.b,k-1)))>t.k))&&(v=!1),h=new ar(lr(jo(e).a.Kc(),new z));zr(h);)o=u(Mr(h),17),d=o.c.i,t.f[d.p]==k&&(M=fhe(t,d),s=s+u(M.a,19).a,v=v&&je(Re(M.b)));return t.f[e.p]=k,s=s+t.c[e.p][0],new fa(pe(s),(Nn(),!!v))}function Txt(t,e,n,r,s){var o,h,d,v,k,C,M,j,H,G,K,tt,gt;for(M=new _r,h=new he,Poe(t,n,t.d.fg(),h,M),Poe(t,r,t.d.gg(),h,M),t.b=.2*(K=Ece(Wo(new Tn(null,new _n(h,16)),new eZ)),tt=Ece(Wo(new Tn(null,new _n(h,16)),new nZ)),b.Math.min(K,tt)),o=0,d=0;d=2&&(gt=Gce(h,!0,j),!t.e&&(t.e=new K$t(t)),ufn(t.e,gt,h,t.b)),Cae(h,j),W4n(h),H=-1,C=new S(h);C.ad)}function O4n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K;for(n=u(Q(t,(Te(),cs)),98),h=t.f,o=t.d,d=h.a+o.b+o.c,v=0-o.d-t.c.b,C=h.b+o.d+o.a-t.c.b,k=new he,M=new he,s=new S(e);s.a0),u(C.a.Xb(C.c=--C.b),17));o!=r&&C.b>0;)t.a[o.p]=!0,t.a[r.p]=!0,o=(Zn(C.b>0),u(C.a.Xb(C.c=--C.b),17));C.b>0&&Cl(C)}}function bhe(t,e,n){var r,s,o,h,d,v,k,C,M;if(t.a!=e.Aj())throw it(new Fn(QE+e.ne()+Cv));if(r=$g(($u(),ya),e).$k(),r)return r.Aj().Nh().Ih(r,n);if(h=$g(ya,e).al(),h){if(n==null)return null;if(d=u(n,15),d.dc())return"";for(M=new Ag,o=d.Kc();o.Ob();)s=o.Pb(),go(M,h.Aj().Nh().Ih(h,s)),M.a+=" ";return int(M,M.a.length-1)}if(C=$g(ya,e).bl(),!C.dc()){for(k=C.Kc();k.Ob();)if(v=u(k.Pb(),148),v.wj(n))try{if(M=v.Aj().Nh().Ih(v,n),M!=null)return M}catch(j){if(j=Wi(j),!_t(j,102))throw it(j)}throw it(new Fn("Invalid value: '"+n+"' for datatype :"+e.ne()))}return u(e,834).Fj(),n==null?null:_t(n,172)?""+u(n,172).a:ol(n)==tV?VUt(aA[0],u(n,199)):$o(n)}function j4n(t){var e,n,r,s,o,h,d,v,k,C;for(k=new Zi,d=new Zi,o=new S(t);o.a-1){for(s=ei(d,0);s.b!=s.d.c;)r=u(ti(s),128),r.v=h;for(;d.b!=0;)for(r=u(Dst(d,0),128),n=new S(r.i);n.a0&&(n+=v.n.a+v.o.a/2,++M),G=new S(v.j);G.a0&&(n/=M),gt=Nt(aa,vo,25,r.a.c.length,15,1),d=0,k=new S(r.a);k.a=d&&s<=v)d<=s&&o<=v?r+=2:d<=s?(t.b[r]=v+1,h+=2):o<=v?(n[C++]=s,n[C++]=d-1,r+=2):(n[C++]=s,n[C++]=d-1,t.b[r]=v+1,h+=2);else if(v0?s-=864e5:s+=864e5,v=new X2t(Pa(Tu(e.q.getTime()),s))),C=new Im,k=t.a.length,o=0;o=97&&r<=122||r>=65&&r<=90){for(h=o+1;h=k)throw it(new Fn("Missing trailing '"));h+10&&n.c==0&&(!e&&(e=new he),e.c[e.c.length]=n);if(e)for(;e.c.length!=0;){if(n=u(Fg(e,0),233),n.b&&n.b.c.length>0){for(o=(!n.b&&(n.b=new he),new S(n.b));o.aRo(t,n,0))return new fa(s,n)}else if(Xt(E1(s.g,s.d[0]).a)>Xt(E1(n.g,n.d[0]).a))return new fa(s,n)}for(d=(!n.e&&(n.e=new he),n.e).Kc();d.Ob();)h=u(d.Pb(),233),v=(!h.b&&(h.b=new he),h.b),Km(0,v.c.length),XC(v.c,0,n),h.c==v.c.length&&(e.c[e.c.length]=h)}return null}function xhe(t,e){var n,r,s,o,h,d,v,k,C;if(t==null)return _u;if(v=e.a.zc(t,e),v!=null)return"[...]";for(n=new f2(Ya,"[","]"),s=t,o=0,h=s.length;o=14&&C<=16))?e.a._b(r)?(n.a?Gr(n.a,n.b):n.a=new Ol(n.d),h9(n.a,"[...]")):(d=u2(r),k=new E9(e),$0(n,xhe(d,k))):_t(r,177)?$0(n,Npn(u(r,177))):_t(r,190)?$0(n,C0n(u(r,190))):_t(r,195)?$0(n,Fgn(u(r,195))):_t(r,2012)?$0(n,_0n(u(r,2012))):_t(r,48)?$0(n,Fpn(u(r,48))):_t(r,364)?$0(n,Kpn(u(r,364))):_t(r,832)?$0(n,Ppn(u(r,832))):_t(r,104)&&$0(n,Opn(u(r,104))):$0(n,r==null?_u:$o(r));return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c}function khe(t,e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St;for(d=x4(e,!1,!1),gt=lI(d),r&&(gt=qD(gt)),St=Xt(ye(qe(e,(o_(),Qut)))),tt=(Zn(gt.b!=0),u(gt.a.a.c,8)),M=u(Zf(gt,1),8),gt.b>2?(C=new he,Ls(C,new Qd(gt,1,gt.b)),o=efe(C,St+t.a),Mt=new nat(o),Mo(Mt,e),n.c[n.c.length]=Mt):r?Mt=u(tr(t.b,e0(e)),266):Mt=u(tr(t.b,tb(e)),266),v=e0(e),r&&(v=tb(e)),h=epn(tt,v),k=St+t.a,h.a?(k+=b.Math.abs(tt.b-M.b),K=new $e(M.a,(M.b+tt.b)/2)):(k+=b.Math.abs(tt.a-M.a),K=new $e((M.a+tt.a)/2,M.b)),r?ki(t.d,e,new K3t(Mt,h,K,k)):ki(t.c,e,new K3t(Mt,h,K,k)),ki(t.b,e,Mt),G=(!e.n&&(e.n=new fe(qo,e,1,7)),e.n),H=new nr(G);H.e!=H.i.gc();)j=u(dr(H),137),s=xI(t,j,!0,0,0),n.c[n.c.length]=s}function W4n(t){var e,n,r,s,o,h,d,v,k,C;for(k=new he,d=new he,h=new S(t);h.a-1){for(o=new S(d);o.a0)&&(aR(v,b.Math.min(v.o,s.o-1)),TC(v,v.i-1),v.i==0&&(d.c[d.c.length]=v))}}function PE(t,e,n){var r,s,o,h,d,v,k;if(k=t.c,!e&&(e=oLt),t.c=e,t.Db&4&&!(t.Db&1)&&(v=new Js(t,1,2,k,t.c),n?n.Ei(v):n=v),k!=e){if(_t(t.Cb,284))t.Db>>16==-10?n=u(t.Cb,284).nk(e,n):t.Db>>16==-15&&(!e&&(e=(dn(),W1)),!k&&(k=(dn(),W1)),t.Cb.nh()&&(v=new z0(t.Cb,1,13,k,e,Hg(al(u(t.Cb,59)),t),!1),n?n.Ei(v):n=v));else if(_t(t.Cb,88))t.Db>>16==-23&&(_t(e,88)||(e=(dn(),Kh)),_t(k,88)||(k=(dn(),Kh)),t.Cb.nh()&&(v=new z0(t.Cb,1,10,k,e,Hg(Lc(u(t.Cb,26)),t),!1),n?n.Ei(v):n=v));else if(_t(t.Cb,444))for(d=u(t.Cb,836),h=(!d.b&&(d.b=new mR(new aet)),d.b),o=(r=new p2(new Cg(h.a).a),new yR(r));o.a.b;)s=u(Zw(o.a).cd(),87),n=PE(s,vq(s,d),n)}return n}function Y4n(t,e){var n,r,s,o,h,d,v,k,C,M,j;for(h=je(Re(qe(t,(Te(),Hy)))),j=u(qe(t,Gy),21),v=!1,k=!1,M=new nr((!t.c&&(t.c=new fe(gl,t,9,9)),t.c));M.e!=M.i.gc()&&(!v||!k);){for(o=u(dr(M),118),d=0,s=zp(D1(lt(ct(j1,1),De,20,0,[(!o.d&&(o.d=new Cn(Ys,o,8,5)),o.d),(!o.e&&(o.e=new Cn(Ys,o,7,4)),o.e)])));zr(s)&&(r=u(Mr(s),79),C=h&&fv(r)&&je(Re(qe(r,j2))),n=Jle((!r.b&&(r.b=new Cn(br,r,4,7)),r.b),o)?t==es(Do(u(At((!r.c&&(r.c=new Cn(br,r,5,8)),r.c),0),82))):t==es(Do(u(At((!r.b&&(r.b=new Cn(br,r,4,7)),r.b),0),82))),!((C||n)&&(++d,d>1))););(d>0||j.Hc((Zu(),sg))&&(!o.n&&(o.n=new fe(qo,o,1,7)),o.n).i>0)&&(v=!0),d>1&&(k=!0)}v&&e.Fc((oo(),vh)),k&&e.Fc((oo(),yS))}function Ehe(t){var e,n,r,s,o,h,d,v,k,C,M,j;if(j=u(qe(t,(ui(),G2)),21),j.dc())return null;if(d=0,h=0,j.Hc((Al(),oP))){for(C=u(qe(t,KS),98),r=2,n=2,s=2,o=2,e=es(t)?u(qe(es(t),qv),103):u(qe(t,qv),103),k=new nr((!t.c&&(t.c=new fe(gl,t,9,9)),t.c));k.e!=k.i.gc();)if(v=u(dr(k),118),M=u(qe(v,u5),61),M==(ve(),Zo)&&(M=uxt(v,e),wo(v,u5,M)),C==(ua(),Gc))switch(M.g){case 1:r=b.Math.max(r,v.i+v.g);break;case 2:n=b.Math.max(n,v.j+v.f);break;case 3:s=b.Math.max(s,v.i+v.g);break;case 4:o=b.Math.max(o,v.j+v.f)}else switch(M.g){case 1:r+=v.g+2;break;case 2:n+=v.f+2;break;case 3:s+=v.g+2;break;case 4:o+=v.f+2}d=b.Math.max(r,s),h=b.Math.max(n,o)}return wv(t,d,h,!0,!0)}function Rat(t,e,n,r,s){var o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt;for(Mt=u(Bl(ez(Ri(new Tn(null,new _n(e.d,16)),new t8(n)),new lM(n)),c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[(O1(),Ul)]))),15),M=wi,C=Sa,v=new S(e.b.j);v.a0,k?k&&(j=gt.p,h?++j:--j,M=u(Ne(gt.c.a,j),10),r=gre(M),H=!(cat(r,ue,n[0])||UKt(r,ue,n[0]))):H=!0),G=!1,Kt=e.D.i,Kt&&Kt.c&&d.e&&(C=h&&Kt.p>0||!h&&Kt.p0&&(e.a+=Ya),Nq(u(dr(d),160),e);for(e.a+=Uot,v=new Nx((!r.c&&(r.c=new Cn(br,r,5,8)),r.c));v.e!=v.i.gc();)v.e>0&&(e.a+=Ya),Nq(u(dr(v),160),e);e.a+=")"}}function t5n(t,e,n){var r,s,o,h,d,v,k,C,M,j,H;if(o=u(Q(t,(ae(),_i)),79),!!o){for(r=t.a,s=new xo(n),Li(s,Vdn(t)),J8(t.d.i,t.c.i)?(j=t.c,M=Yo(lt(ct(Ws,1),ee,8,0,[j.n,j.a])),ia(M,n)):M=_1(t.c),fs(r,M,r.a,r.a.a),H=_1(t.d),Q(t,Qlt)!=null&&Li(H,u(Q(t,Qlt),8)),fs(r,H,r.c.b,r.c),ny(r,s),h=x4(o,!0,!0),uz(h,u(At((!o.b&&(o.b=new Cn(br,o,4,7)),o.b),0),82)),lz(h,u(At((!o.c&&(o.c=new Cn(br,o,5,8)),o.c),0),82)),CI(r,h),C=new S(t.b);C.a=0){for(v=null,d=new da(C.a,k+1);d.bh?1:Iw(isNaN(0),isNaN(h)))<0&&(wf(_d),(b.Math.abs(h-1)<=_d||h==1||isNaN(h)&&isNaN(1)?0:h<1?-1:h>1?1:Iw(isNaN(h),isNaN(1)))<0)&&(wf(_d),(b.Math.abs(0-d)<=_d||d==0||isNaN(0)&&isNaN(d)?0:0d?1:Iw(isNaN(0),isNaN(d)))<0)&&(wf(_d),(b.Math.abs(d-1)<=_d||d==1||isNaN(d)&&isNaN(1)?0:d<1?-1:d>1?1:Iw(isNaN(d),isNaN(1)))<0)),o)}function n5n(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue;for(M=new Svt(new Dt(t));M.b!=M.c.a.d;)for(C=Ate(M),d=u(C.d,56),e=u(C.e,56),h=d.Tg(),K=0,Rt=(h.i==null&&vd(h),h.i).length;K=0&&K=k.c.c.length?C=omt((Vn(),Os),ta):C=omt((Vn(),ta),ta),C*=2,o=n.a.g,n.a.g=b.Math.max(o,o+(C-o)),h=n.b.g,n.b.g=b.Math.max(h,h+(C-h)),s=e}}function s5n(t,e,n,r,s){var o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt;for(Kt=VYt(t),C=new he,d=t.c.length,M=d-1,j=d+1;Kt.a.c!=0;){for(;n.b!=0;)St=(Zn(n.b!=0),u(lh(n,n.a.a),112)),P9(Kt.a,St)!=null,St.g=M--,lxt(St,e,n,r);for(;e.b!=0;)Rt=(Zn(e.b!=0),u(lh(e,e.a.a),112)),P9(Kt.a,Rt)!=null,Rt.g=j++,lxt(Rt,e,n,r);for(k=Sa,gt=(h=new y9(new w9(new y(Kt.a).a).b),new g(h));TM(gt.a.a);){if(tt=(o=Lj(gt.a),u(o.cd(),112)),!r&&tt.b>0&&tt.a<=0){C.c=Nt(Qn,De,1,0,5,1),C.c[C.c.length]=tt;break}K=tt.i-tt.d,K>=k&&(K>k&&(C.c=Nt(Qn,De,1,0,5,1),k=K),C.c[C.c.length]=tt)}C.c.length!=0&&(v=u(Ne(C,Zz(s,C.c.length)),112),P9(Kt.a,v)!=null,v.g=j++,lxt(v,e,n,r),C.c=Nt(Qn,De,1,0,5,1))}for(Mt=t.c.length+1,G=new S(t);G.a0&&(j.d+=C.n.d,j.d+=C.d),j.a>0&&(j.a+=C.n.a,j.a+=C.d),j.b>0&&(j.b+=C.n.b,j.b+=C.d),j.c>0&&(j.c+=C.n.c,j.c+=C.d),j}function Che(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G;for(j=n.d,M=n.c,o=new $e(n.f.a+n.d.b+n.d.c,n.f.b+n.d.d+n.d.a),h=o.b,k=new S(t.a);k.a0&&(t.c[e.c.p][e.p].d+=ul(t.i,24)*$I*.07000000029802322-.03500000014901161,t.c[e.c.p][e.p].a=t.c[e.c.p][e.p].d/t.c[e.c.p][e.p].b)}}function d5n(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt;for(G=new S(t);G.ar.d,r.d=b.Math.max(r.d,e),d&&n&&(r.d=b.Math.max(r.d,r.a),r.a=r.d+s);break;case 3:n=e>r.a,r.a=b.Math.max(r.a,e),d&&n&&(r.a=b.Math.max(r.a,r.d),r.d=r.a+s);break;case 2:n=e>r.c,r.c=b.Math.max(r.c,e),d&&n&&(r.c=b.Math.max(r.b,r.c),r.b=r.c+s);break;case 4:n=e>r.b,r.b=b.Math.max(r.b,e),d&&n&&(r.b=b.Math.max(r.b,r.c),r.c=r.b+s)}}}function w5n(t){var e,n,r,s,o,h,d,v,k,C,M;for(k=new S(t);k.a0||C.j==Bn&&C.e.c.length-C.g.c.length<0)){e=!1;break}for(s=new S(C.g);s.a=k&&Kt>=tt&&(j+=G.n.b+K.n.b+K.a.b-Rt,++d));if(n)for(h=new S(Mt.e);h.a=k&&Kt>=tt&&(j+=G.n.b+K.n.b+K.a.b-Rt,++d))}d>0&&(ue+=j/d,++H)}H>0?(e.a=s*ue/H,e.g=H):(e.a=0,e.g=0)}function m5n(t,e){var n,r,s,o,h,d,v,k,C,M,j;for(s=new S(t.a.b);s.aCs||e.o==H2&&C0&&ku(gt,Rt*ue),Kt>0&&Eu(gt,Kt*_e);for(K9(t.b,new hw),e=new he,d=new p2(new Cg(t.c).a);d.b;)h=Zw(d),r=u(h.cd(),79),n=u(h.dd(),395).a,s=x4(r,!1,!1),M=_ae(e0(r),lI(s),n),CI(M,s),St=Rae(r),St&&Ro(e,St,0)==-1&&(e.c[e.c.length]=St,VXt(St,(Zn(M.b!=0),u(M.a.a.c,8)),n));for(tt=new p2(new Cg(t.d).a);tt.b;)K=Zw(tt),r=u(K.cd(),79),n=u(K.dd(),395).a,s=x4(r,!1,!1),M=_ae(tb(r),qD(lI(s)),n),M=qD(M),CI(M,s),St=jae(r),St&&Ro(e,St,0)==-1&&(e.c[e.c.length]=St,VXt(St,(Zn(M.b!=0),u(M.c.b.c,8)),n))}function Ahe(t,e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e;if(n.c.length!=0){for(H=new he,j=new S(n);j.a1)for(H=new vxt(G,St,r),va(St,new xGt(t,H)),h.c[h.c.length]=H,M=St.a.ec().Kc();M.Ob();)C=u(M.Pb(),46),mu(o,C.b);if(d.a.gc()>1)for(H=new vxt(G,d,r),va(d,new kGt(t,H)),h.c[h.c.length]=H,M=d.a.ec().Kc();M.Ob();)C=u(M.Pb(),46),mu(o,C.b)}}function Mhe(t){Mw(t,new k2(MR(_w(Ew(Cw(Tw(new kg,Sd),"ELK Radial"),'A radial layout provider which is based on the algorithm of Peter Eades published in "Drawing free trees.", published by International Institute for Advanced Study of Social Information Science, Fujitsu Limited in 1991. The radial layouter takes a tree and places the nodes in radial order around the root. The nodes of the same tree level are placed on the same radius.'),new dZ),Sd))),xe(t,Sd,yH,Ie(Qye)),xe(t,Sd,Cy,Ie(Zye)),xe(t,Sd,D4,Ie(Wye)),xe(t,Sd,C6,Ie(Yye)),xe(t,Sd,T6,Ie(Kye)),xe(t,Sd,UE,Ie(Uye)),xe(t,Sd,j_,Ie(L_t)),xe(t,Sd,WE,Ie(Xye)),xe(t,Sd,Pct,Ie(Wht)),xe(t,Sd,Oct,Ie(Yht)),xe(t,Sd,Zkt,Ie(M_t)),xe(t,Sd,Ykt,Ie(BG)),xe(t,Sd,Kkt,Ie(RG)),xe(t,Sd,Xkt,Ie(qO)),xe(t,Sd,Qkt,Ie(D_t))}function Sxt(t){var e;if(this.r=nrn(new bc,new Cc),this.b=new i_(u(Lr(Xa),290)),this.p=new i_(u(Lr(Xa),290)),this.i=new i_(u(Lr($pe),290)),this.e=t,this.o=new xo(t.rf()),this.D=t.Df()||je(Re(t.We((ui(),ZO)))),this.A=u(t.We((ui(),G2)),21),this.B=u(t.We(xb),21),this.q=u(t.We(KS),98),this.u=u(t.We(Qy),21),!ugn(this.u))throw it(new R3("Invalid port label placement: "+this.u));if(this.v=je(Re(t.We(uAt))),this.j=u(t.We(o5),21),!O2n(this.j))throw it(new R3("Invalid node label placement: "+this.j));this.n=u(l_(t,XSt),116),this.k=Xt(ye(l_(t,JG))),this.d=Xt(ye(l_(t,dAt))),this.w=Xt(ye(l_(t,vAt))),this.s=Xt(ye(l_(t,gAt))),this.t=Xt(ye(l_(t,pAt))),this.C=u(l_(t,bAt),142),this.c=2*this.d,e=!this.B.Hc((ll(),cP)),this.f=new a_(0,e,0),this.g=new a_(1,e,0),het(this.f,(Kf(),eu),this.g)}function A5n(t,e,n,r,s){var o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn;for(St=0,G=0,H=0,j=1,Mt=new nr((!t.a&&(t.a=new fe(rs,t,10,11)),t.a));Mt.e!=Mt.i.gc();)tt=u(dr(Mt),33),j+=j0(new ar(lr(K0(tt).a.Kc(),new z))),We=tt.g,G=b.Math.max(G,We),M=tt.f,H=b.Math.max(H,M),St+=We*M;for(K=(!t.a&&(t.a=new fe(rs,t,10,11)),t.a).i,h=St+2*r*r*j*K,o=b.Math.sqrt(h),v=b.Math.max(o*n,G),d=b.Math.max(o/n,H),gt=new nr((!t.a&&(t.a=new fe(rs,t,10,11)),t.a));gt.e!=gt.i.gc();)tt=u(dr(gt),33),Qe=s.b+(ul(e,26)*I_+ul(e,27)*O_)*(v-tt.g),Rn=s.b+(ul(e,26)*I_+ul(e,27)*O_)*(d-tt.f),ku(tt,Qe),Eu(tt,Rn);for(_e=v+(s.b+s.c),ue=d+(s.d+s.a),Kt=new nr((!t.a&&(t.a=new fe(rs,t,10,11)),t.a));Kt.e!=Kt.i.gc();)for(Rt=u(dr(Kt),33),C=new ar(lr(K0(Rt).a.Kc(),new z));zr(C);)k=u(Mr(C),79),w_(k)||Lxn(k,e,_e,ue);_e+=s.b+s.c,ue+=s.d+s.a,wv(t,_e,ue,!1,!0)}function Rq(t){var e,n,r,s,o,h,d,v,k,C,M;if(t==null)throw it(new ld(_u));if(k=t,o=t.length,v=!1,o>0&&(e=(Rr(0,t.length),t.charCodeAt(0)),(e==45||e==43)&&(t=t.substr(1),--o,v=e==45)),o==0)throw it(new ld(yv+k+'"'));for(;t.length>0&&(Rr(0,t.length),t.charCodeAt(0)==48);)t=t.substr(1),--o;if(o>(vle(),$ge)[10])throw it(new ld(yv+k+'"'));for(s=0;s0&&(M=-parseInt(t.substr(0,r),10),t=t.substr(r),o-=r,n=!1);o>=h;){if(r=parseInt(t.substr(0,h),10),t=t.substr(h),o-=h,n)n=!1;else{if(yc(M,d)<0)throw it(new ld(yv+k+'"'));M=_a(M,C)}M=Jp(M,r)}if(yc(M,0)>0)throw it(new ld(yv+k+'"'));if(!v&&(M=z8(M),yc(M,0)<0))throw it(new ld(yv+k+'"'));return M}function Axt(t,e){oKt();var n,r,s,o,h,d,v;if(this.a=new v2t(this),this.b=t,this.c=e,this.f=Xnt(To(($u(),ya),e)),this.f.dc())if((d=d4t(ya,t))==e)for(this.e=!0,this.d=new he,this.f=new Ok,this.f.Fc(O2),u(Pq(TD(ya,Rl(t)),""),26)==t&&this.f.Fc(C9(ya,Rl(t))),s=vat(ya,t).Kc();s.Ob();)switch(r=u(s.Pb(),170),Hw(To(ya,r))){case 4:{this.d.Fc(r);break}case 5:{this.f.Gc(Xnt(To(ya,r)));break}}else if(to(),u(e,66).Oj())for(this.e=!0,this.f=null,this.d=new he,h=0,v=(t.i==null&&vd(t),t.i).length;h=0&&h0&&(u(po(t.b,e),124).a.b=n)}function L5n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt;for(vr(e,"Comment pre-processing",1),n=0,v=new S(t.a);v.a0&&(v=(Rr(0,e.length),e.charCodeAt(0)),v!=64)){if(v==37&&(M=e.lastIndexOf("%"),k=!1,M!=0&&(M==j-1||(k=(Rr(M+1,e.length),e.charCodeAt(M+1)==46))))){if(h=e.substr(1,M-1),St=hn("%",h)?null:Mxt(h),r=0,k)try{r=ql(e.substr(M+2),Sa,wi)}catch(Rt){throw Rt=Wi(Rt),_t(Rt,127)?(d=Rt,it(new W$(d))):it(Rt)}for(tt=lyt(t.Wg());tt.Ob();)if(G=kz(tt),_t(G,510)&&(s=u(G,590),Mt=s.d,(St==null?Mt==null:hn(St,Mt))&&r--==0))return s;return null}if(C=e.lastIndexOf("."),H=C==-1?e:e.substr(0,C),n=0,C!=-1)try{n=ql(e.substr(C+1),Sa,wi)}catch(Rt){if(Rt=Wi(Rt),_t(Rt,127))H=e;else throw it(Rt)}for(H=hn("%",H)?null:Mxt(H),K=lyt(t.Wg());K.Ob();)if(G=kz(K),_t(G,191)&&(o=u(G,191),gt=o.ne(),(H==null?gt==null:hn(H,gt))&&n--==0))return o;return null}return ehe(t,e)}function I5n(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn;for(ue=new he,G=new S(t.b);G.a=e.length)return{done:!0};var s=e[r++];return{value:[s,n.get(s)],done:!1}}}},Bvn()||(t.prototype.createObject=function(){return{}},t.prototype.get=function(e){return this.obj[":"+e]},t.prototype.set=function(e,n){this.obj[":"+e]=n},t.prototype[kot]=function(e){delete this.obj[":"+e]},t.prototype.keys=function(){var e=[];for(var n in this.obj)n.charCodeAt(0)==58&&e.push(n.substring(1));return e}),t}function P5n(t){cxt();var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt;if(t==null)return null;if(M=t.length*8,M==0)return"";for(d=M%24,H=M/24|0,j=d!=0?H+1:H,o=null,o=Nt(xh,yd,25,j*4,15,1),k=0,C=0,e=0,n=0,r=0,h=0,s=0,v=0;v>24,k=(e&3)<<24>>24,G=e&-128?(e>>2^192)<<24>>24:e>>2<<24>>24,K=n&-128?(n>>4^240)<<24>>24:n>>4<<24>>24,tt=r&-128?(r>>6^252)<<24>>24:r>>6<<24>>24,o[h++]=lp[G],o[h++]=lp[K|k<<4],o[h++]=lp[C<<2|tt],o[h++]=lp[r&63];return d==8?(e=t[s],k=(e&3)<<24>>24,G=e&-128?(e>>2^192)<<24>>24:e>>2<<24>>24,o[h++]=lp[G],o[h++]=lp[k<<4],o[h++]=61,o[h++]=61):d==16&&(e=t[s],n=t[s+1],C=(n&15)<<24>>24,k=(e&3)<<24>>24,G=e&-128?(e>>2^192)<<24>>24:e>>2<<24>>24,K=n&-128?(n>>4^240)<<24>>24:n>>4<<24>>24,o[h++]=lp[G],o[h++]=lp[K|k<<4],o[h++]=lp[C<<2],o[h++]=61),Mh(o,0,o.length)}function F5n(t,e){var n,r,s,o,h,d,v;if(t.e==0&&t.p>0&&(t.p=-(t.p-1)),t.p>Sa&&umt(e,t.p-ab),h=e.q.getDate(),oD(e,1),t.k>=0&&win(e,t.k),t.c>=0?oD(e,t.c):t.k>=0?(v=new Myt(e.q.getFullYear()-ab,e.q.getMonth(),35),r=35-v.q.getDate(),oD(e,b.Math.min(r,h))):oD(e,h),t.f<0&&(t.f=e.q.getHours()),t.b>0&&t.f<12&&(t.f+=12),AQe(e,t.f==24&&t.g?0:t.f),t.j>=0&&Aan(e,t.j),t.n>=0&&Uan(e,t.n),t.i>=0&&aUt(e,Pa(_a(aI(Tu(e.q.getTime()),Wg),Wg),t.i)),t.a&&(s=new BR,umt(s,s.q.getFullYear()-ab-80),Cet(Tu(e.q.getTime()),Tu(s.q.getTime()))&&umt(e,s.q.getFullYear()-ab+100)),t.d>=0){if(t.c==-1)n=(7+t.d-e.q.getDay())%7,n>3&&(n-=7),d=e.q.getMonth(),oD(e,e.q.getDate()+n),e.q.getMonth()!=d&&oD(e,e.q.getDate()+(n>0?-7:7));else if(e.q.getDay()!=t.d)return!1}return t.o>Sa&&(o=e.q.getTimezoneOffset(),aUt(e,Pa(Tu(e.q.getTime()),(t.o-o)*60*Wg))),!0}function Ohe(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt;if(s=Q(e,(ae(),_i)),!!_t(s,239)){for(G=u(s,33),K=e.e,j=new xo(e.c),o=e.d,j.a+=o.b,j.b+=o.d,Rt=u(qe(G,(Te(),pG)),174),Nu(Rt,(ll(),nU))&&(H=u(qe(G,d9t),116),cpt(H,o.a),Mtt(H,o.d),upt(H,o.b),gpt(H,o.c)),n=new he,C=new S(e.a);C.a0&&le(t.p,C),le(t.o,C);e-=r,H=v+e,k+=e*t.e,ch(t.a,d,pe(H)),ch(t.b,d,k),t.j=b.Math.max(t.j,H),t.k=b.Math.max(t.k,k),t.d+=e,e+=K}}function ve(){ve=Z;var t;Zo=new NM(N_,0),Pn=new NM(Kq,1),Hn=new NM(Iot,2),mr=new NM(Oot,3),Bn=new NM(Pot,4),U1=(wn(),new s8((t=u(Vf(Xa),9),new sh(t,u(ff(t,t.length),9),0)))),Mf=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[]))),mh=jg(ji(Hn,lt(ct(Xa,1),xc,61,0,[]))),Kl=jg(ji(mr,lt(ct(Xa,1),xc,61,0,[]))),Vh=jg(ji(Bn,lt(ct(Xa,1),xc,61,0,[]))),Au=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[mr]))),lu=jg(ji(Hn,lt(ct(Xa,1),xc,61,0,[Bn]))),Df=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[Bn]))),el=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[Hn]))),Xl=jg(ji(mr,lt(ct(Xa,1),xc,61,0,[Bn]))),yh=jg(ji(Hn,lt(ct(Xa,1),xc,61,0,[mr]))),nl=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[Hn,Bn]))),Su=jg(ji(Hn,lt(ct(Xa,1),xc,61,0,[mr,Bn]))),Lu=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[mr,Bn]))),Vu=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[Hn,mr]))),Uc=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[Hn,mr,Bn])))}function Bhe(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St;if(e.b!=0){for(H=new Zi,d=null,G=null,r=ps(b.Math.floor(b.Math.log(e.b)*b.Math.LOG10E)+1),v=0,St=ei(e,0);St.b!=St.d.c;)for(gt=u(ti(St),86),Vt(G)!==Vt(Q(gt,(fc(),zS)))&&(G=Br(Q(gt,zS)),v=0),G!=null?d=G+iZt(v++,r):d=iZt(v++,r),Jt(gt,zS,d),tt=(s=ei(new Lp(gt).a.d,0),new Ex(s));OR(tt.a);)K=u(ti(tt.a),188).c,fs(H,K,H.c.b,H.c),Jt(K,zS,d);for(j=new _r,h=0;h=v){Zn(gt.b>0),gt.a.Xb(gt.c=--gt.b);break}else K.a>k&&(s?(Ls(s.b,K.b),s.a=b.Math.max(s.a,K.a),Cl(gt)):(le(K.b,M),K.c=b.Math.min(K.c,k),K.a=b.Math.max(K.a,v),s=K));s||(s=new kqt,s.c=k,s.a=v,zm(gt,s),le(s.b,M))}for(d=e.b,C=0,tt=new S(r);tt.ad?1:0:(t.b&&(t.b._b(o)&&(s=u(t.b.xc(o),19).a),t.b._b(v)&&(d=u(t.b.xc(v),19).a)),sd?1:0)):e.e.c.length!=0&&n.g.c.length!=0?1:-1}function j5n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e;for(vr(e,S1e,1),K=new he,ue=new he,k=new S(t.b);k.a0&&(St-=H),mxt(h,St),C=0,j=new S(h.a);j.a0),d.a.Xb(d.c=--d.b)),v=.4*r*C,!o&&d.be.d.c){if(H=t.c[e.a.d],tt=t.c[M.a.d],H==tt)continue;yf(lf(uf(hf(cf(new Ch,1),100),H),tt))}}}}}function Mxt(t){Fat();var e,n,r,s,o,h,d,v;if(t==null)return null;if(s=hd(t,Cu(37)),s<0)return t;for(v=new Ol(t.substr(0,s)),e=Nt(Gu,N4,25,4,15,1),d=0,r=0,h=t.length;ss+2&&Sit((Rr(s+1,t.length),t.charCodeAt(s+1)),tLt,eLt)&&Sit((Rr(s+2,t.length),t.charCodeAt(s+2)),tLt,eLt))if(n=fen((Rr(s+1,t.length),t.charCodeAt(s+1)),(Rr(s+2,t.length),t.charCodeAt(s+2))),s+=2,r>0?(n&192)==128?e[d++]=n<<24>>24:r=0:n>=128&&((n&224)==192?(e[d++]=n<<24>>24,r=2):(n&240)==224?(e[d++]=n<<24>>24,r=3):(n&248)==240&&(e[d++]=n<<24>>24,r=4)),r>0){if(d==r){switch(d){case 2:{qp(v,((e[0]&31)<<6|e[1]&63)&ys);break}case 3:{qp(v,((e[0]&15)<<12|(e[1]&63)<<6|e[2]&63)&ys);break}}d=0,r=0}}else{for(o=0;o0){if(h+r>t.length)return!1;d=gq(t.substr(0,h+r),e)}else d=gq(t,e);switch(o){case 71:return d=w4(t,h,lt(ct(Ae,1),ee,2,6,[mfe,yfe]),e),s.e=d,!0;case 77:return _vn(t,e,s,d,h);case 76:return Svn(t,e,s,d,h);case 69:return vpn(t,e,h,s);case 99:return mpn(t,e,h,s);case 97:return d=w4(t,h,lt(ct(Ae,1),ee,2,6,["AM","PM"]),e),s.b=d,!0;case 121:return Avn(t,e,h,d,n,s);case 100:return d<=0?!1:(s.c=d,!0);case 83:return d<0?!1:Ihn(d,h,e[0],s);case 104:d==12&&(d=0);case 75:case 72:return d<0?!1:(s.f=d,s.g=!1,!0);case 107:return d<0?!1:(s.f=d,s.g=!0,!0);case 109:return d<0?!1:(s.j=d,!0);case 115:return d<0?!1:(s.n=d,!0);case 90:if(hue&&(G.c=ue-G.b),le(h.d,new Hnt(G,a3t(h,G))),Mt=e==Pn?b.Math.max(Mt,K.b+k.b.rf().b):b.Math.min(Mt,K.b));for(Mt+=e==Pn?t.t:-t.t,St=k3t((h.e=Mt,h)),St>0&&(u(po(t.b,e),124).a.b=St),C=j.Kc();C.Ob();)k=u(C.Pb(),111),!(!k.c||k.c.d.c.length<=0)&&(G=k.c.i,G.c-=k.e.a,G.d-=k.e.b)}function U5n(t){var e,n,r,s,o,h,d,v,k,C,M,j,H;for(e=new _r,v=new nr(t);v.e!=v.i.gc();){for(d=u(dr(v),33),n=new Hs,ki(Jut,d,n),H=new bm,s=u(Bl(new Tn(null,new jw(new ar(lr(wI(d).a.Kc(),new z)))),LKt(H,c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[(O1(),Ul)])))),83),Zee(n,u(s.xc((Nn(),!0)),14),new Ek),r=u(Bl(Ri(u(s.xc(!1),15).Lc(),new E3),c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[Ul]))),15),h=r.Kc();h.Ob();)o=u(h.Pb(),79),j=Rae(o),j&&(k=u(ec(Lo(e.f,j)),21),k||(k=iue(j),au(e.f,j,k)),Ua(n,k));for(s=u(Bl(new Tn(null,new jw(new ar(lr(K0(d).a.Kc(),new z)))),LKt(H,c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[Ul])))),83),Zee(n,u(s.xc(!0),14),new Il),r=u(Bl(Ri(u(s.xc(!1),15).Lc(),new L0),c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[Ul]))),15),M=r.Kc();M.Ob();)C=u(M.Pb(),79),j=jae(C),j&&(k=u(ec(Lo(e.f,j)),21),k||(k=iue(j),au(e.f,j,k)),Ua(n,k))}}function W5n(t,e){Lat();var n,r,s,o,h,d,v,k,C,M,j,H,G,K;if(v=yc(t,0)<0,v&&(t=z8(t)),yc(t,0)==0)switch(e){case 0:return"0";case 1:return $E;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return H=new Mp,e<0?H.a+="0E+":H.a+="0E",H.a+=e==Sa?"2147483648":""+-e,H.a}C=18,M=Nt(xh,yd,25,C+1,15,1),n=C,K=t;do k=K,K=aI(K,10),M[--n]=Ar(Pa(48,Jp(k,_a(K,10))))&ys;while(yc(K,0)!=0);if(s=Jp(Jp(Jp(C,n),e),1),e==0)return v&&(M[--n]=45),Mh(M,n,C-n);if(e>0&&yc(s,-6)>=0){if(yc(s,0)>=0){for(o=n+Ar(s),d=C-1;d>=o;d--)M[d+1]=M[d];return M[++o]=46,v&&(M[--n]=45),Mh(M,n,C-n+1)}for(h=2;Cet(h,Pa(z8(s),1));h++)M[--n]=48;return M[--n]=46,M[--n]=48,v&&(M[--n]=45),Mh(M,n,C-n)}return G=n+1,r=C,j=new Im,v&&(j.a+="-"),r-G>=1?(qp(j,M[n]),j.a+=".",j.a+=Mh(M,n+1,C-n-1)):j.a+=Mh(M,n,C-n),j.a+="E",yc(s,0)>0&&(j.a+="+"),j.a+=""+_9(s),j.a}function Y5n(t,e,n){var r,s,o,h,d,v,k,C,M,j,H;if(t.e.a.$b(),t.f.a.$b(),t.c.c=Nt(Qn,De,1,0,5,1),t.i.c=Nt(Qn,De,1,0,5,1),t.g.a.$b(),e)for(h=new S(e.a);h.a=1&&(Kt-k>0&&G>=0?(ku(M,M.i+Rt),Eu(M,M.j+v*k)):Kt-k<0&&H>=0&&(ku(M,M.i+Rt*Kt),Eu(M,M.j+v)));return wo(t,(ui(),G2),(Al(),o=u(Vf(rA),9),new sh(o,u(ff(o,o.length),9),0))),new $e(ue,C)}function $he(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G;if(H=es(Do(u(At((!t.b&&(t.b=new Cn(br,t,4,7)),t.b),0),82))),G=es(Do(u(At((!t.c&&(t.c=new Cn(br,t,5,8)),t.c),0),82))),M=H==G,d=new Ca,e=u(qe(t,(Sz(),_At)),74),e&&e.b>=2){if((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a).i==0)n=(Sw(),s=new ad,s),Dr((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a),n);else if((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a).i>1)for(j=new Nx((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a));j.e!=j.i.gc();)f_(j);CI(e,u(At((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a),0),202))}if(M)for(r=new nr((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a));r.e!=r.i.gc();)for(n=u(dr(r),202),k=new nr((!n.a&&(n.a=new As(Gh,n,5)),n.a));k.e!=k.i.gc();)v=u(dr(k),469),d.a=b.Math.max(d.a,v.a),d.b=b.Math.max(d.b,v.b);for(h=new nr((!t.n&&(t.n=new fe(qo,t,1,7)),t.n));h.e!=h.i.gc();)o=u(dr(h),137),C=u(qe(o,QS),8),C&&x1(o,C.a,C.b),M&&(d.a=b.Math.max(d.a,o.i+o.g),d.b=b.Math.max(d.b,o.j+o.f));return d}function K5n(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We;for(St=e.c.length,s=new E4(t.a,n,null,null),We=Nt(aa,vo,25,St,15,1),K=Nt(aa,vo,25,St,15,1),G=Nt(aa,vo,25,St,15,1),tt=0,d=0;dWe[v]&&(tt=v),M=new S(t.a.b);M.aH&&(o&&(Zb(ue,j),Zb(We,pe(k.b-1))),pi=n.b,js+=j+e,j=0,C=b.Math.max(C,n.b+n.c+hr)),ku(d,pi),Eu(d,js),C=b.Math.max(C,pi+hr+n.c),j=b.Math.max(j,M),pi+=hr+e;if(C=b.Math.max(C,r),zn=js+j+n.a,znEd,Qe=b.Math.abs(j.b-G.b)>Ed,(!n&&We&&Qe||n&&(We||Qe))&&ri(tt.a,Rt)),Ua(tt.a,r),r.b==0?j=Rt:j=(Zn(r.b!=0),u(r.c.b.c,8)),dun(H,M,K),Lne(s)==_e&&(Na(_e.i)!=s.a&&(K=new Ca,Y4t(K,Na(_e.i),Mt)),Jt(tt,Qlt,K)),Bgn(H,tt,Mt),C.a.zc(H,C);Oa(tt,Kt),oa(tt,_e)}for(k=C.a.ec().Kc();k.Ob();)v=u(k.Pb(),17),Oa(v,null),oa(v,null);or(e)}function zhe(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt;if(t.gc()==1)return u(t.Xb(0),231);if(t.gc()<=0)return new B$;for(s=t.Kc();s.Ob();){for(n=u(s.Pb(),231),G=0,C=wi,M=wi,v=Sa,k=Sa,H=new S(n.e);H.ad&&(St=0,Rt+=h+gt,h=0),Fmn(K,n,St,Rt),e=b.Math.max(e,St+tt.a),h=b.Math.max(h,tt.b),St+=tt.a+gt;return K}function qhe(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G;switch(C=new Pu,t.a.g){case 3:j=u(Q(e.e,(ae(),R2)),15),H=u(Q(e.j,R2),15),G=u(Q(e.f,R2),15),n=u(Q(e.e,Z4),15),r=u(Q(e.j,Z4),15),s=u(Q(e.f,Z4),15),h=new he,Ls(h,j),H.Jc(new cQ),Ls(h,_t(H,152)?Zx(u(H,152)):_t(H,131)?u(H,131).a:_t(H,54)?new kw(H):new Om(H)),Ls(h,G),o=new he,Ls(o,n),Ls(o,_t(r,152)?Zx(u(r,152)):_t(r,131)?u(r,131).a:_t(r,54)?new kw(r):new Om(r)),Ls(o,s),Jt(e.f,R2,h),Jt(e.f,Z4,o),Jt(e.f,hCt,e.f),Jt(e.e,R2,null),Jt(e.e,Z4,null),Jt(e.j,R2,null),Jt(e.j,Z4,null);break;case 1:Ua(C,e.e.a),ri(C,e.i.n),Ua(C,l2(e.j.a)),ri(C,e.a.n),Ua(C,e.f.a);break;default:Ua(C,e.e.a),Ua(C,l2(e.j.a)),Ua(C,e.f.a)}Ah(e.f.a),Ua(e.f.a,C),Oa(e.f,e.e.c),d=u(Q(e.e,(Te(),So)),74),k=u(Q(e.j,So),74),v=u(Q(e.f,So),74),(d||k||v)&&(M=new Pu,wvt(M,v),wvt(M,k),wvt(M,d),Jt(e.f,So,M)),Oa(e.j,null),oa(e.j,null),Oa(e.e,null),oa(e.e,null),Eo(e.a,null),Eo(e.i,null),e.g&&qhe(t,e.g)}function J5n(t){cxt();var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt;if(t==null||(o=K$(t),G=$ln(o),G%4!=0))return null;if(K=G/4|0,K==0)return Nt(Gu,N4,25,0,15,1);for(M=null,e=0,n=0,r=0,s=0,h=0,d=0,v=0,k=0,H=0,j=0,C=0,M=Nt(Gu,N4,25,K*3,15,1);H>4)<<24>>24,M[j++]=((n&15)<<4|r>>2&15)<<24>>24,M[j++]=(r<<6|s)<<24>>24}return!vM(h=o[C++])||!vM(d=o[C++])?null:(e=Y1[h],n=Y1[d],v=o[C++],k=o[C++],Y1[v]==-1||Y1[k]==-1?v==61&&k==61?n&15?null:(tt=Nt(Gu,N4,25,H*3+1,15,1),Dc(M,0,tt,0,H*3),tt[j]=(e<<2|n>>4)<<24>>24,tt):v!=61&&k==61?(r=Y1[v],r&3?null:(tt=Nt(Gu,N4,25,H*3+2,15,1),Dc(M,0,tt,0,H*3),tt[j++]=(e<<2|n>>4)<<24>>24,tt[j]=((n&15)<<4|r>>2&15)<<24>>24,tt)):null:(r=Y1[v],s=Y1[k],M[j++]=(e<<2|n>>4)<<24>>24,M[j++]=((n&15)<<4|r>>2&15)<<24>>24,M[j++]=(r<<6|s)<<24>>24,M))}function txn(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt;for(vr(e,S1e,1),G=u(Q(t,(Te(),eg)),218),s=new S(t.b);s.a=2){for(K=!0,j=new S(o.j),n=u(J(j),11),H=null;j.a0&&(s=u(Ne(tt.c.a,ue-1),10),h=t.i[s.p],We=b.Math.ceil(W3(t.n,s,tt)),o=Kt.a.e-tt.d.d-(h.a.e+s.o.b+s.d.a)-We),k=as,ue0&&_e.a.e.e-_e.a.a-(_e.b.e.e-_e.b.a)<0,G=St.a.e.e-St.a.a-(St.b.e.e-St.b.a)<0&&_e.a.e.e-_e.a.a-(_e.b.e.e-_e.b.a)>0,H=St.a.e.e+St.b.a<_e.b.e.e+_e.a.a,j=St.a.e.e+St.b.a>_e.b.e.e+_e.a.a,Rt=0,!K&&!G&&(j?o+M>0?Rt=M:k-r>0&&(Rt=r):H&&(o+d>0?Rt=d:k-Mt>0&&(Rt=Mt))),Kt.a.e+=Rt,Kt.b&&(Kt.d.e+=Rt),!1))}function Vhe(t,e,n){var r,s,o,h,d,v,k,C,M,j;if(r=new ah(e.qf().a,e.qf().b,e.rf().a,e.rf().b),s=new Fx,t.c)for(h=new S(e.wf());h.ak&&(r.a+=KUt(Nt(xh,yd,25,-k,15,1))),r.a+="Is",hd(v,Cu(32))>=0)for(s=0;s=r.o.b/2}else Mt=!M;Mt?(gt=u(Q(r,(ae(),z6)),15),gt?j?o=gt:(s=u(Q(r,N6),15),s?gt.gc()<=s.gc()?o=gt:o=s:(o=new he,Jt(r,N6,o))):(o=new he,Jt(r,z6,o))):(s=u(Q(r,(ae(),N6)),15),s?M?o=s:(gt=u(Q(r,z6),15),gt?s.gc()<=gt.gc()?o=s:o=gt:(o=new he,Jt(r,z6,o))):(o=new he,Jt(r,N6,o))),o.Fc(t),Jt(t,(ae(),ZV),n),e.d==n?(oa(e,null),n.e.c.length+n.g.c.length==0&&Uo(n,null),Yun(n)):(Oa(e,null),n.e.c.length+n.g.c.length==0&&Uo(n,null)),Ah(e.a)}function ixn(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr,pi;for(Mt=new da(t.b,0),C=e.Kc(),G=0,k=u(C.Pb(),19).a,Kt=0,n=new Hs,_e=new O0;Mt.b=t.a&&(r=Hyn(t,Mt),C=b.Math.max(C,r.b),Rt=b.Math.max(Rt,r.d),le(d,new fa(Mt,r)));for(We=new he,k=0;k0),tt.a.Xb(tt.c=--tt.b),Qe=new Sh(t.b),zm(tt,Qe),Zn(tt.b0?(k=0,tt&&(k+=d),k+=(Qe-1)*h,St&&(k+=d),We&&St&&(k=b.Math.max(k,qwn(St,h,Mt,_e))),k0){for(j=C<100?null:new Dp(C),k=new gyt(e),G=k.g,gt=Nt(Cr,Xr,25,C,15,1),r=0,Rt=new Qw(C),s=0;s=0;)if(H!=null?yi(H,G[v]):Vt(H)===Vt(G[v])){gt.length<=r&&(tt=gt,gt=Nt(Cr,Xr,25,2*gt.length,15,1),Dc(tt,0,gt,0,r)),gt[r++]=s,Dr(Rt,G[v]);break t}if(H=H,Vt(H)===Vt(d))break}}if(k=Rt,G=Rt.g,C=r,r>gt.length&&(tt=gt,gt=Nt(Cr,Xr,25,r,15,1),Dc(tt,0,gt,0,r)),r>0){for(St=!0,o=0;o=0;)l6(t,gt[h]);if(r!=C){for(s=C;--s>=r;)l6(k,s);tt=gt,gt=Nt(Cr,Xr,25,r,15,1),Dc(tt,0,gt,0,r)}e=k}}}else for(e=$1n(t,e),s=t.i;--s>=0;)e.Hc(t.g[s])&&(l6(t,s),St=!0);if(St){if(gt!=null){for(n=e.gc(),M=n==1?F9(t,4,e.Kc().Pb(),null,gt[0],K):F9(t,6,e,gt,gt[0],K),j=n<100?null:new Dp(n),s=e.Kc();s.Ob();)H=s.Pb(),j=vwt(t,u(H,72),j);j?(j.Ei(M),j.Fi()):mi(t.e,M)}else{for(j=JZe(e.gc()),s=e.Kc();s.Ob();)H=s.Pb(),j=vwt(t,u(H,72),j);j&&j.Fi()}return!0}else return!1}function uxn(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St;for(n=new vse(e),n.a||Umn(e),k=Wvn(e),v=new Uw,tt=new fue,K=new S(e.a);K.a0||n.o==H1&&s0?(M=u(Ne(j.c.a,h-1),10),We=W3(t.b,j,M),tt=j.n.b-j.d.d-(M.n.b+M.o.b+M.d.a+We)):tt=j.n.b-j.d.d,k=b.Math.min(tt,k),hh?LE(t,e,n):LE(t,n,e),sh?1:0}return r=u(Q(e,(ae(),Tc)),19).a,o=u(Q(n,Tc),19).a,r>o?LE(t,e,n):LE(t,n,e),ro?1:0}function Dxt(t,e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt;if(je(Re(qe(e,(ui(),QG)))))return wn(),wn(),io;if(k=(!e.a&&(e.a=new fe(rs,e,10,11)),e.a).i!=0,M=Qpn(e),C=!M.dc(),k||C){if(s=u(qe(e,O7),149),!s)throw it(new R3("Resolved algorithm is not set; apply a LayoutAlgorithmResolver before computing layout."));if(Mt=t2t(s,(CE(),lU)),Jie(e),!k&&C&&!Mt)return wn(),wn(),io;if(v=new he,Vt(qe(e,s5))===Vt((G0(),sp))&&(t2t(s,cU)||t2t(s,oU)))for(H=Fue(t,e),G=new Zi,Ua(G,(!e.a&&(e.a=new fe(rs,e,10,11)),e.a));G.b!=0;)j=u(G.b==0?null:(Zn(G.b!=0),lh(G,G.a.a)),33),Jie(j),gt=Vt(qe(j,s5))===Vt(ZS),gt||o2(j,YS)&&!gmt(s,qe(j,O7))?(d=Dxt(t,j,n,r),Ls(v,d),wo(j,s5,ZS),Zue(j)):Ua(G,(!j.a&&(j.a=new fe(rs,j,10,11)),j.a));else for(H=(!e.a&&(e.a=new fe(rs,e,10,11)),e.a).i,h=new nr((!e.a&&(e.a=new fe(rs,e,10,11)),e.a));h.e!=h.i.gc();)o=u(dr(h),33),d=Dxt(t,o,n,r),Ls(v,d),Zue(o);for(tt=new S(v);tt.a=0?H=a6(d):H=YD(a6(d)),t.Ye(C7,H)),k=new Ca,j=!1,t.Xe(Rv)?(H2t(k,u(t.We(Rv),8)),j=!0):RQe(k,h.a/2,h.b/2),H.g){case 4:Jt(C,uu,(dh(),bb)),Jt(C,tG,(d2(),U4)),C.o.b=h.b,K<0&&(C.o.a=-K),Bs(M,(ve(),Hn)),j||(k.a=h.a),k.a-=h.a;break;case 2:Jt(C,uu,(dh(),jy)),Jt(C,tG,(d2(),w7)),C.o.b=h.b,K<0&&(C.o.a=-K),Bs(M,(ve(),Bn)),j||(k.a=0);break;case 1:Jt(C,B2,(q0(),Y4)),C.o.a=h.a,K<0&&(C.o.b=-K),Bs(M,(ve(),mr)),j||(k.b=h.b),k.b-=h.b;break;case 3:Jt(C,B2,(q0(),F6)),C.o.a=h.a,K<0&&(C.o.b=-K),Bs(M,(ve(),Pn)),j||(k.b=0)}if(H2t(M.n,k),Jt(C,Rv,k),e==Y2||e==g0||e==Gc){if(G=0,e==Y2&&t.Xe(tp))switch(H.g){case 1:case 2:G=u(t.We(tp),19).a;break;case 3:case 4:G=-u(t.We(tp),19).a}else switch(H.g){case 4:case 2:G=o.b,e==g0&&(G/=s.b);break;case 1:case 3:G=o.a,e==g0&&(G/=s.a)}Jt(C,Fv,G)}return Jt(C,oc,H),C}function fxn(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe;if(n=Xt(ye(Q(t.a.j,(Te(),GCt)))),n<-1||!t.a.i||jx(u(Q(t.a.o,cs),98))||Ko(t.a.o,(ve(),Hn)).gc()<2&&Ko(t.a.o,Bn).gc()<2)return!0;if(t.a.c.Rf())return!1;for(Kt=0,Rt=0,St=new he,v=t.a.e,k=0,C=v.length;k=n}function dxn(){dbt();function t(r){var s=this;this.dispatch=function(o){var h=o.data;switch(h.cmd){case"algorithms":var d=x3t((wn(),new T(new v1(Ab.b))));r.postMessage({id:h.id,data:d});break;case"categories":var v=x3t((wn(),new T(new v1(Ab.c))));r.postMessage({id:h.id,data:v});break;case"options":var k=x3t((wn(),new T(new v1(Ab.d))));r.postMessage({id:h.id,data:k});break;case"register":y4n(h.algorithms),r.postMessage({id:h.id});break;case"layout":t3n(h.graph,h.layoutOptions||{},h.options||{}),r.postMessage({id:h.id,data:h.graph});break}},this.saveDispatch=function(o){try{s.dispatch(o)}catch(h){r.postMessage({id:o.data.id,error:h})}}}function e(r){var s=this;this.dispatcher=new t({postMessage:function(o){s.onmessage({data:o})}}),this.postMessage=function(o){setTimeout(function(){s.dispatcher.saveDispatch({data:o})},0)}}if(typeof document===_ot&&typeof self!==_ot){var n=new t(self);self.onmessage=n.saveDispatch}else typeof p!==_ot&&p.exports&&(Object.defineProperty(w,"__esModule",{value:!0}),p.exports={default:e,Worker:e})}function gxn(t){t.N||(t.N=!0,t.b=ic(t,0),ns(t.b,0),ns(t.b,1),ns(t.b,2),t.bb=ic(t,1),ns(t.bb,0),ns(t.bb,1),t.fb=ic(t,2),ns(t.fb,3),ns(t.fb,4),Fi(t.fb,5),t.qb=ic(t,3),ns(t.qb,0),Fi(t.qb,1),Fi(t.qb,2),ns(t.qb,3),ns(t.qb,4),Fi(t.qb,5),ns(t.qb,6),t.a=oi(t,4),t.c=oi(t,5),t.d=oi(t,6),t.e=oi(t,7),t.f=oi(t,8),t.g=oi(t,9),t.i=oi(t,10),t.j=oi(t,11),t.k=oi(t,12),t.n=oi(t,13),t.o=oi(t,14),t.p=oi(t,15),t.q=oi(t,16),t.s=oi(t,17),t.r=oi(t,18),t.t=oi(t,19),t.u=oi(t,20),t.v=oi(t,21),t.w=oi(t,22),t.B=oi(t,23),t.A=oi(t,24),t.C=oi(t,25),t.D=oi(t,26),t.F=oi(t,27),t.G=oi(t,28),t.H=oi(t,29),t.J=oi(t,30),t.I=oi(t,31),t.K=oi(t,32),t.M=oi(t,33),t.L=oi(t,34),t.P=oi(t,35),t.Q=oi(t,36),t.R=oi(t,37),t.S=oi(t,38),t.T=oi(t,39),t.U=oi(t,40),t.V=oi(t,41),t.X=oi(t,42),t.W=oi(t,43),t.Y=oi(t,44),t.Z=oi(t,45),t.$=oi(t,46),t._=oi(t,47),t.ab=oi(t,48),t.cb=oi(t,49),t.db=oi(t,50),t.eb=oi(t,51),t.gb=oi(t,52),t.hb=oi(t,53),t.ib=oi(t,54),t.jb=oi(t,55),t.kb=oi(t,56),t.lb=oi(t,57),t.mb=oi(t,58),t.nb=oi(t,59),t.ob=oi(t,60),t.pb=oi(t,61))}function pxn(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt;if(Mt=0,e.f.a==0)for(tt=new S(t);tt.ak&&(An(k,e.c.length),u(e.c[k],200)).a.c.length==0;)mu(e,(An(k,e.c.length),e.c[k]));if(!v){--o;continue}if(eyn(e,C,s,v,j,n,k,r)){M=!0;continue}if(j){if(c3n(e,C,s,v,n,k,r)){M=!0;continue}else if(Yyt(C,s)){s.c=!0,M=!0;continue}}else if(Yyt(C,s)){s.c=!0,M=!0;continue}if(M)continue}if(Yyt(C,s)){s.c=!0,M=!0,v&&(v.k=!1);continue}else nq(s.q)}return M}function zat(t,e,n,r,s,o,h){var d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr,pi,js;for(K=0,Rn=0,k=new S(t.b);k.aK&&(o&&(Zb(ue,H),Zb(We,pe(C.b-1)),le(t.d,G),d.c=Nt(Qn,De,1,0,5,1)),pi=n.b,js+=H+e,H=0,M=b.Math.max(M,n.b+n.c+hr)),d.c[d.c.length]=v,hse(v,pi,js),M=b.Math.max(M,pi+hr+n.c),H=b.Math.max(H,j),pi+=hr+e,G=v;if(Ls(t.a,d),le(t.d,u(Ne(d,d.c.length-1),157)),M=b.Math.max(M,r),zn=js+H+n.a,zn1&&(h=b.Math.min(h,b.Math.abs(u(Zf(d.a,1),8).b-C.b)))));else for(K=new S(e.j);K.as&&(o=j.a-s,h=wi,r.c=Nt(Qn,De,1,0,5,1),s=j.a),j.a>=s&&(r.c[r.c.length]=d,d.a.b>1&&(h=b.Math.min(h,b.Math.abs(u(Zf(d.a,d.a.b-2),8).b-j.b)))));if(r.c.length!=0&&o>e.o.a/2&&h>e.o.b/2){for(H=new Mc,Uo(H,e),Bs(H,(ve(),Pn)),H.n.a=e.o.a/2,gt=new Mc,Uo(gt,e),Bs(gt,mr),gt.n.a=e.o.a/2,gt.n.b=e.o.b,v=new S(r);v.a=k.b?Oa(d,gt):Oa(d,H)):(k=u(hen(d.a),8),tt=d.a.b==0?_1(d.c):u(Aj(d.a),8),tt.b>=k.b?oa(d,gt):oa(d,H)),M=u(Q(d,(Te(),So)),74),M&&ay(M,k,!0);e.n.a=s-e.o.a/2}}function yxn(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr,pi,js,Zl,Xh;if(Rn=null,hr=e,zn=ZZt(t,YZt(n),hr),G9(zn,R0(hr,Ad)),pi=u(n4(t.g,f6(B0(hr,Xct))),33),j=B0(hr,"sourcePort"),r=null,j&&(r=f6(j)),js=u(n4(t.j,r),118),!pi)throw d=pE(hr),G="An edge must have a source node (edge id: '"+d,K=G+JE,it(new ud(K));if(js&&!pd(T1(js),pi))throw v=R0(hr,Ad),tt="The source port of an edge must be a port of the edge's source node (edge id: '"+v,gt=tt+JE,it(new ud(gt));if(We=(!zn.b&&(zn.b=new Cn(br,zn,4,7)),zn.b),o=null,js?o=js:o=pi,Dr(We,o),Zl=u(n4(t.g,f6(B0(hr,M8t))),33),H=B0(hr,"targetPort"),s=null,H&&(s=f6(H)),Xh=u(n4(t.j,s),118),!Zl)throw M=pE(hr),Mt="An edge must have a target node (edge id: '"+M,St=Mt+JE,it(new ud(St));if(Xh&&!pd(T1(Xh),Zl))throw k=R0(hr,Ad),Rt="The target port of an edge must be a port of the edge's target node (edge id: '"+k,Kt=Rt+JE,it(new ud(Kt));if(Qe=(!zn.c&&(zn.c=new Cn(br,zn,5,8)),zn.c),h=null,Xh?h=Xh:h=Zl,Dr(Qe,h),(!zn.b&&(zn.b=new Cn(br,zn,4,7)),zn.b).i==0||(!zn.c&&(zn.c=new Cn(br,zn,5,8)),zn.c).i==0)throw C=R0(hr,Ad),ue=Vde+C,_e=ue+JE,it(new ud(_e));return lq(hr,zn),l2n(hr,zn),Rn=Lit(t,hr,zn),Rn}function Khe(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn;return M=Eyn(bu(t,(ve(),U1)),e),G=d4(bu(t,Mf),e),Rt=d4(bu(t,Kl),e),We=rq(bu(t,Vh),e),j=rq(bu(t,mh),e),Mt=d4(bu(t,Df),e),K=d4(bu(t,el),e),ue=d4(bu(t,Xl),e),Kt=d4(bu(t,yh),e),Qe=rq(bu(t,lu),e),gt=d4(bu(t,Au),e),St=d4(bu(t,nl),e),_e=d4(bu(t,Su),e),Rn=rq(bu(t,Lu),e),H=rq(bu(t,Vu),e),tt=d4(bu(t,Uc),e),n=s4(lt(ct(aa,1),vo,25,15,[Mt.a,We.a,ue.a,Rn.a])),r=s4(lt(ct(aa,1),vo,25,15,[G.a,M.a,Rt.a,tt.a])),s=gt.a,o=s4(lt(ct(aa,1),vo,25,15,[K.a,j.a,Kt.a,H.a])),k=s4(lt(ct(aa,1),vo,25,15,[Mt.b,G.b,K.b,St.b])),v=s4(lt(ct(aa,1),vo,25,15,[We.b,M.b,j.b,tt.b])),C=Qe.b,d=s4(lt(ct(aa,1),vo,25,15,[ue.b,Rt.b,Kt.b,_e.b])),Bg(bu(t,U1),n+s,k+C),Bg(bu(t,Uc),n+s,k+C),Bg(bu(t,Mf),n+s,0),Bg(bu(t,Kl),n+s,k+C+v),Bg(bu(t,Vh),0,k+C),Bg(bu(t,mh),n+s+r,k+C),Bg(bu(t,el),n+s+r,0),Bg(bu(t,Xl),0,k+C+v),Bg(bu(t,yh),n+s+r,k+C+v),Bg(bu(t,lu),0,k),Bg(bu(t,Au),n,0),Bg(bu(t,Su),0,k+C+v),Bg(bu(t,Vu),n+s+r,0),h=new Ca,h.a=s4(lt(ct(aa,1),vo,25,15,[n+r+s+o,Qe.a,St.a,_e.a])),h.b=s4(lt(ct(aa,1),vo,25,15,[k+v+C+d,gt.b,Rn.b,H.b])),h}function xxn(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt;for(K=new he,j=new S(t.d.b);j.as.d.d+s.d.a?C.f.d=!0:(C.f.d=!0,C.f.a=!0))),r.b!=r.d.c&&(e=n);C&&(o=u(tr(t.f,h.d.i),57),e.bo.d.d+o.d.a?C.f.d=!0:(C.f.d=!0,C.f.a=!0))}for(d=new ar(lr(jo(H).a.Kc(),new z));zr(d);)h=u(Mr(d),17),h.a.b!=0&&(e=u(Aj(h.a),8),h.d.j==(ve(),Pn)&&(tt=new T_(e,new $e(e.a,s.d.d),s,h),tt.f.a=!0,tt.a=h.d,K.c[K.c.length]=tt),h.d.j==mr&&(tt=new T_(e,new $e(e.a,s.d.d+s.d.a),s,h),tt.f.d=!0,tt.a=h.d,K.c[K.c.length]=tt))}return K}function kxn(t,e,n){var r,s,o,h,d,v,k,C,M;if(vr(n,"Network simplex node placement",1),t.e=e,t.n=u(Q(e,(ae(),Q4)),304),j3n(t),m0n(t),ls(Wo(new Tn(null,new _n(t.e.b,16)),new EQ),new q$t(t)),ls(Ri(Wo(Ri(Wo(new Tn(null,new _n(t.e.b,16)),new WT),new OQ),new PQ),new FQ),new z$t(t)),je(Re(Q(t.e,(Te(),SS))))&&(h=Rc(n,1),vr(h,"Straight Edges Pre-Processing",1),i5n(t),or(h)),t1n(t.f),o=u(Q(e,MS),19).a*t.f.a.c.length,mat(abt(obt(Mnt(t.f),o),!1),Rc(n,1)),t.d.a.gc()!=0){for(h=Rc(n,1),vr(h,"Flexible Where Space Processing",1),d=u(Nw(t$(wu(new Tn(null,new _n(t.f.a,16)),new TQ),new wQ)),19).a,v=u(Nw(Jj(wu(new Tn(null,new _n(t.f.a,16)),new CQ),new vQ)),19).a,k=v-d,C=Fw(new Xb,t.f),M=Fw(new Xb,t.f),yf(lf(uf(cf(hf(new Ch,2e4),k),C),M)),ls(Ri(Ri(Qnt(t.i),new _Q),new SQ),new jXt(d,C,k,M)),s=t.d.a.ec().Kc();s.Ob();)r=u(s.Pb(),213),r.g=1;mat(abt(obt(Mnt(t.f),o),!1),Rc(h,1)),or(h)}je(Re(Q(e,SS)))&&(h=Rc(n,1),vr(h,"Straight Edges Post-Processing",1),upn(t),or(h)),q4n(t),t.e=null,t.f=null,t.i=null,t.c=null,Xu(t.k),t.j=null,t.a=null,t.o=null,t.d.a.$b(),or(n)}function Exn(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt;for(d=new S(t.a.b);d.a0)if(r=M.gc(),k=ps(b.Math.floor((r+1)/2))-1,s=ps(b.Math.ceil((r+1)/2))-1,e.o==H1)for(C=s;C>=k;C--)e.a[Rt.p]==Rt&&(K=u(M.Xb(C),46),G=u(K.a,10),!I0(n,K.b)&&H>t.b.e[G.p]&&(e.a[G.p]=Rt,e.g[Rt.p]=e.g[G.p],e.a[Rt.p]=e.g[Rt.p],e.f[e.g[Rt.p].p]=(Nn(),!!(je(e.f[e.g[Rt.p].p])&Rt.k==(Vn(),ta))),H=t.b.e[G.p]));else for(C=k;C<=s;C++)e.a[Rt.p]==Rt&&(gt=u(M.Xb(C),46),tt=u(gt.a,10),!I0(n,gt.b)&&H=G&&(Mt>G&&(H.c=Nt(Qn,De,1,0,5,1),G=Mt),H.c[H.c.length]=h);H.c.length!=0&&(j=u(Ne(H,Zz(e,H.c.length)),128),zn.a.Bc(j)!=null,j.s=K++,A5t(j,Qe,ue),H.c=Nt(Qn,De,1,0,5,1))}for(Rt=t.c.length+1,d=new S(t);d.aRn.s&&(Cl(n),mu(Rn.i,r),r.c>0&&(r.a=Rn,le(Rn.t,r),r.b=_e,le(_e.i,r)))}function Ixt(t){var e,n,r,s,o;switch(e=t.c,e){case 11:return t.Ml();case 12:return t.Ol();case 14:return t.Ql();case 15:return t.Tl();case 16:return t.Rl();case 17:return t.Ul();case 21:return fi(t),gi(),gi(),pA;case 10:switch(t.a){case 65:return t.yl();case 90:return t.Dl();case 122:return t.Kl();case 98:return t.El();case 66:return t.zl();case 60:return t.Jl();case 62:return t.Hl()}}switch(o=vxn(t),e=t.c,e){case 3:return t.Zl(o);case 4:return t.Xl(o);case 5:return t.Yl(o);case 0:if(t.a==123&&t.d=48&&e<=57){for(r=e-48;s=48&&e<=57;)if(r=r*10+e-48,r<0)throw it(new Nr(qr((Pr(),N8t))))}else throw it(new Nr(qr((Pr(),v0e))));if(n=r,e==44){if(s>=t.j)throw it(new Nr(qr((Pr(),y0e))));if((e=wa(t.i,s++))>=48&&e<=57){for(n=e-48;s=48&&e<=57;)if(n=n*10+e-48,n<0)throw it(new Nr(qr((Pr(),N8t))));if(r>n)throw it(new Nr(qr((Pr(),x0e))))}else n=-1}if(e!=125)throw it(new Nr(qr((Pr(),m0e))));t.sl(s)?(o=(gi(),gi(),new Xm(9,o)),t.d=s+1):(o=(gi(),gi(),new Xm(3,o)),t.d=s),o.dm(r),o.cm(n),fi(t)}}return o}function Xhe(t,e,n,r,s){var o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn;for(K=new Xc(e.b),Rt=new Xc(e.b),j=new Xc(e.b),We=new Xc(e.b),tt=new Xc(e.b),_e=ei(e,0);_e.b!=_e.d.c;)for(Kt=u(ti(_e),11),d=new S(Kt.g);d.a0,gt=Kt.g.c.length>0,k&>?j.c[j.c.length]=Kt:k?K.c[K.c.length]=Kt:gt&&(Rt.c[Rt.c.length]=Kt);for(G=new S(K);G.a1)for(G=new Nx((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a));G.e!=G.i.gc();)f_(G);for(h=u(At((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a),0),202),tt=pi,pi>Kt+Rt?tt=Kt+Rt:piue+K?gt=ue+K:jsKt-Rt&&ttue-K&>pi+hr?We=pi+hr:Ktjs+_e?Qe=js+_e:uepi-hr&&Wejs-_e&&Qen&&(j=n-1),H=xP+ul(e,24)*$I*M-M/2,H<0?H=1:H>r&&(H=r-1),s=(Sw(),v=new xp,v),iz(s,j),sz(s,H),Dr((!h.a&&(h.a=new As(Gh,h,5)),h.a),s)}function Te(){Te=Z,lht=(ui(),p4e),y9t=b4e,OO=hAt,Tf=w4e,V6=fAt,jv=v4e,Wy=dAt,S7=gAt,A7=pAt,hht=JG,$v=W2,fht=m4e,LS=vAt,bG=K6,IO=(Fxt(),fve),J4=dve,q2=gve,t5=pve,Zve=new eo(ZG,pe(0)),_7=uve,m9t=lve,H6=hve,A9t=Bve,x9t=vve,k9t=xve,ght=Ave,E9t=Tve,T9t=_ve,wG=zve,pht=Rve,_9t=Ove,C9t=Dve,S9t=Fve,Bv=rve,AS=ive,sht=xwe,QCt=Ewe,g9t=new Ow(12),d9t=new eo(U2,g9t),YCt=(W0(),N7),eg=new eo(zSt,YCt),Vy=new eo(dl,0),Jve=new eo(Eft,pe(1)),rG=new eo(W6,GE),z2=QG,cs=KS,C7=u5,Gve=QO,Id=a4e,qy=s5,tme=new eo(Tft,(Nn(),!0)),Hy=ZO,j2=bft,$2=G2,pG=xb,uht=XG,WCt=(ao(),h0),Wl=new eo(qv,WCt),Nv=o5,dG=XSt,Gy=Qy,Qve=kft,w9t=uAt,b9t=(l4(),iP),new eo(iAt,b9t),Yve=vft,Kve=mft,Xve=yft,Wve=wft,dht=wve,c9t=Gwe,oht=Vwe,MS=bve,uu=Bwe,zy=dwe,_S=fwe,$y=J2e,VCt=twe,eht=iwe,DO=ewe,nht=lwe,u9t=Uwe,l9t=Wwe,r9t=Dwe,gG=ove,cht=Xwe,aht=_we,f9t=eve,XCt=mwe,iht=ywe,tht=YG,h9t=Ywe,sG=U2e,zCt=G2e,iG=V2e,t9t=Lwe,JCt=Awe,e9t=Mwe,E7=c5,So=a5,Jg=HSt,Od=pft,rht=gft,GCt=awe,tp=xft,CS=u4e,lG=l4e,Rv=aAt,p9t=h4e,T7=f4e,s9t=jwe,a9t=zwe,Uy=Y6,Zlt=H2e,o9t=Hwe,uG=bwe,cG=pwe,fG=JO,i9t=Pwe,SS=Zwe,PO=bAt,UCt=gwe,v9t=cve,KCt=wwe,Uve=Nwe,Vve=cwe,n9t=WSt,hG=Rwe,oG=uwe,wb=Z2e,HCt=X2e,aG=Y2e,qCt=K2e,Jlt=Q2e,q6=W2e,ZCt=Swe}function Hat(t,e){Lat();var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr,pi;if(We=t.e,G=t.d,s=t.a,We==0)switch(e){case 0:return"0";case 1:return $E;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return ue=new Mp,e<0?ue.a+="0E+":ue.a+="0E",ue.a+=-e,ue.a}if(St=G*10+1+7,Rt=Nt(xh,yd,25,St+1,15,1),n=St,G==1)if(d=s[0],d<0){pi=Ns(d,co);do K=pi,pi=aI(pi,10),Rt[--n]=48+Ar(Jp(K,_a(pi,10)))&ys;while(yc(pi,0)!=0)}else{pi=d;do K=pi,pi=pi/10|0,Rt[--n]=48+(K-pi*10)&ys;while(pi!=0)}else{Rn=Nt(Cr,Xr,25,G,15,1),hr=G,Dc(s,0,Rn,0,hr);t:for(;;){for(_e=0,k=hr-1;k>=0;k--)zn=Pa(F0(_e,32),Ns(Rn[k],co)),gt=P0n(zn),Rn[k]=Ar(gt),_e=Ar($p(gt,32));Mt=Ar(_e),tt=n;do Rt[--n]=48+Mt%10&ys;while((Mt=Mt/10|0)!=0&&n!=0);for(r=9-tt+n,v=0;v0;v++)Rt[--n]=48;for(M=hr-1;Rn[M]==0;M--)if(M==0)break t;hr=M+1}for(;Rt[n]==48;)++n}if(H=We<0,h=St-n-e-1,e==0)return H&&(Rt[--n]=45),Mh(Rt,n,St-n);if(e>0&&h>=-6){if(h>=0){for(C=n+h,j=St-1;j>=C;j--)Rt[j+1]=Rt[j];return Rt[++C]=46,H&&(Rt[--n]=45),Mh(Rt,n,St-n+1)}for(M=2;M<-h+1;M++)Rt[--n]=48;return Rt[--n]=46,Rt[--n]=48,H&&(Rt[--n]=45),Mh(Rt,n,St-n)}return Qe=n+1,o=St,Kt=new Im,H&&(Kt.a+="-"),o-Qe>=1?(qp(Kt,Rt[n]),Kt.a+=".",Kt.a+=Mh(Rt,n+1,St-n-1)):Kt.a+=Mh(Rt,n,St-n),Kt.a+="E",h>0&&(Kt.a+="+"),Kt.a+=""+h,Kt.a}function Jhe(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue;switch(t.c=e,t.g=new _r,n=(Pm(),new Mm(t.c)),r=new er(n),p3t(r),St=Br(qe(t.c,(cI(),lSt))),v=u(qe(t.c,sft),316),Kt=u(qe(t.c,aft),429),h=u(qe(t.c,oSt),482),Rt=u(qe(t.c,ift),430),t.j=Xt(ye(qe(t.c,M3e))),d=t.a,v.g){case 0:d=t.a;break;case 1:d=t.b;break;case 2:d=t.i;break;case 3:d=t.e;break;case 4:d=t.f;break;default:throw it(new Fn(_H+(v.f!=null?v.f:""+v.g)))}if(t.d=new EQt(d,Kt,h),Jt(t.d,(Z8(),fS),Re(qe(t.c,A3e))),t.d.c=je(Re(qe(t.c,cSt))),p$(t.c).i==0)return t.d;for(M=new nr(p$(t.c));M.e!=M.i.gc();){for(C=u(dr(M),33),H=C.g/2,j=C.f/2,ue=new $e(C.i+H,C.j+j);Tl(t.g,ue);)jm(ue,(b.Math.random()-.5)*Ed,(b.Math.random()-.5)*Ed);K=u(qe(C,(ui(),JO)),142),tt=new $Qt(ue,new ah(ue.a-H-t.j/2-K.b,ue.b-j-t.j/2-K.d,C.g+t.j+(K.b+K.c),C.f+t.j+(K.d+K.a))),le(t.d.i,tt),ki(t.g,ue,new fa(tt,C))}switch(Rt.g){case 0:if(St==null)t.d.d=u(Ne(t.d.i,0),65);else for(Mt=new S(t.d.i);Mt.a1&&fs(C,gt,C.c.b,C.c),tz(s)));gt=Mt}return C}function Mxn(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr,pi,js,Zl,Xh,K1;for(vr(n,"Greedy cycle removal",1),St=e.a,K1=St.c.length,t.a=Nt(Cr,Xr,25,K1,15,1),t.c=Nt(Cr,Xr,25,K1,15,1),t.b=Nt(Cr,Xr,25,K1,15,1),k=0,gt=new S(St);gt.a0?hr+1:1);for(h=new S(ue.g);h.a0?hr+1:1)}t.c[k]==0?ri(t.e,K):t.a[k]==0&&ri(t.f,K),++k}for(G=-1,H=1,M=new he,t.d=u(Q(e,(ae(),$6)),230);K1>0;){for(;t.e.b!=0;)js=u(Ont(t.e),10),t.b[js.p]=G--,ext(t,js),--K1;for(;t.f.b!=0;)Zl=u(Ont(t.f),10),t.b[Zl.p]=H++,ext(t,Zl),--K1;if(K1>0){for(j=Sa,Mt=new S(St);Mt.a=j&&(Rt>j&&(M.c=Nt(Qn,De,1,0,5,1),j=Rt),M.c[M.c.length]=K));C=t.Zf(M),t.b[C.p]=H++,ext(t,C),--K1}}for(pi=St.c.length+1,k=0;kt.b[Xh]&&(bv(r,!0),Jt(e,_O,(Nn(),!0)));t.a=null,t.c=null,t.b=null,Ah(t.f),Ah(t.e),or(n)}function efe(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt;for(r=new he,d=new he,tt=e/2,H=t.gc(),s=u(t.Xb(0),8),gt=u(t.Xb(1),8),G=rat(s.a,s.b,gt.a,gt.b,tt),le(r,(An(0,G.c.length),u(G.c[0],8))),le(d,(An(1,G.c.length),u(G.c[1],8))),k=2;k=0;v--)ri(n,(An(v,h.c.length),u(h.c[v],8)));return n}function Dxn(t){var e,n,r,s,o,h,d,v,k,C,M,j,H;if(h=!0,M=null,r=null,s=null,e=!1,H=o5e,k=null,o=null,d=0,v=ust(t,d,nLt,rLt),v=0&&hn(t.substr(d,2),"//")?(d+=2,v=ust(t,d,oA,cA),r=t.substr(d,v-d),d=v):M!=null&&(d==t.length||(Rr(d,t.length),t.charCodeAt(d)!=47))&&(h=!1,v=O2t(t,Cu(35),d),v==-1&&(v=t.length),r=t.substr(d,v-d),d=v);if(!n&&d0&&wa(C,C.length-1)==58&&(s=C,d=v)),d=t.j){t.a=-1,t.c=1;return}if(e=wa(t.i,t.d++),t.a=e,t.b==1){switch(e){case 92:if(r=10,t.d>=t.j)throw it(new Nr(qr((Pr(),OH))));t.a=wa(t.i,t.d++);break;case 45:(t.e&512)==512&&t.d=t.j||wa(t.i,t.d)!=63)break;if(++t.d>=t.j)throw it(new Nr(qr((Pr(),out))));switch(e=wa(t.i,t.d++),e){case 58:r=13;break;case 61:r=14;break;case 33:r=15;break;case 91:r=19;break;case 62:r=18;break;case 60:if(t.d>=t.j)throw it(new Nr(qr((Pr(),out))));if(e=wa(t.i,t.d++),e==61)r=16;else if(e==33)r=17;else throw it(new Nr(qr((Pr(),t0e))));break;case 35:for(;t.d=t.j)throw it(new Nr(qr((Pr(),OH))));t.a=wa(t.i,t.d++);break;default:r=0}t.c=r}function Oxn(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr;if(_e=u(Q(t,(Te(),cs)),98),_e!=(ua(),G1)&&_e!=Tb){for(G=t.b,H=G.c.length,C=new Xc((jl(H+2,Yat),J$(Pa(Pa(5,H+2),(H+2)/10|0)))),K=new Xc((jl(H+2,Yat),J$(Pa(Pa(5,H+2),(H+2)/10|0)))),le(C,new _r),le(C,new _r),le(K,new he),le(K,new he),ue=new he,e=0;e=Kt||!tfn(gt,r))&&(r=XQt(e,C)),Eo(gt,r),o=new ar(lr(jo(gt).a.Kc(),new z));zr(o);)s=u(Mr(o),17),!t.a[s.p]&&(K=s.c.i,--t.e[K.p],t.e[K.p]==0&&R8(xE(H,K)));for(k=C.c.length-1;k>=0;--k)le(e.b,(An(k,C.c.length),u(C.c[k],29)));e.a.c=Nt(Qn,De,1,0,5,1),or(n)}function nfe(t){var e,n,r,s,o,h,d,v,k;for(t.b=1,fi(t),e=null,t.c==0&&t.a==94?(fi(t),e=(gi(),gi(),new Nl(4)),jc(e,0,e7),d=new Nl(4)):d=(gi(),gi(),new Nl(4)),s=!0;(k=t.c)!=1;){if(k==0&&t.a==93&&!s){e&&(L_(e,d),d=e);break}if(n=t.a,r=!1,k==10)switch(n){case 100:case 68:case 119:case 87:case 115:case 83:yy(d,ME(n)),r=!0;break;case 105:case 73:case 99:case 67:n=(yy(d,ME(n)),-1),n<0&&(r=!0);break;case 112:case 80:if(v=u5t(t,n),!v)throw it(new Nr(qr((Pr(),cut))));yy(d,v),r=!0;break;default:n=H5t(t)}else if(k==24&&!s){if(e&&(L_(e,d),d=e),o=nfe(t),L_(d,o),t.c!=0||t.a!=93)throw it(new Nr(qr((Pr(),l0e))));break}if(fi(t),!r){if(k==0){if(n==91)throw it(new Nr(qr((Pr(),P8t))));if(n==93)throw it(new Nr(qr((Pr(),F8t))));if(n==45&&!s&&t.a!=93)throw it(new Nr(qr((Pr(),uut))))}if(t.c!=0||t.a!=45||n==45&&s)jc(d,n,n);else{if(fi(t),(k=t.c)==1)throw it(new Nr(qr((Pr(),PH))));if(k==0&&t.a==93)jc(d,n,n),jc(d,45,45);else{if(k==0&&t.a==93||k==24)throw it(new Nr(qr((Pr(),uut))));if(h=t.a,k==0){if(h==91)throw it(new Nr(qr((Pr(),P8t))));if(h==93)throw it(new Nr(qr((Pr(),F8t))));if(h==45)throw it(new Nr(qr((Pr(),uut))))}else k==10&&(h=H5t(t));if(fi(t),n>h)throw it(new Nr(qr((Pr(),d0e))));jc(d,n,h)}}}s=!1}if(t.c==1)throw it(new Nr(qr((Pr(),PH))));return v4(d),S_(d),t.b=0,fi(t),d}function Fxn(t){Ir(t.c,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#decimal"])),Ir(t.d,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#integer"])),Ir(t.e,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#boolean"])),Ir(t.f,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"EBoolean",ci,"EBoolean:Object"])),Ir(t.i,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#byte"])),Ir(t.g,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#hexBinary"])),Ir(t.j,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"EByte",ci,"EByte:Object"])),Ir(t.n,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"EChar",ci,"EChar:Object"])),Ir(t.t,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#double"])),Ir(t.u,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"EDouble",ci,"EDouble:Object"])),Ir(t.F,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#float"])),Ir(t.G,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"EFloat",ci,"EFloat:Object"])),Ir(t.I,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#int"])),Ir(t.J,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"EInt",ci,"EInt:Object"])),Ir(t.N,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#long"])),Ir(t.O,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"ELong",ci,"ELong:Object"])),Ir(t.Z,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#short"])),Ir(t.$,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"EShort",ci,"EShort:Object"])),Ir(t._,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#string"]))}function Nxn(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr;if(t.c.length==1)return An(0,t.c.length),u(t.c[0],135);if(t.c.length<=0)return new j$;for(v=new S(t);v.aM&&(zn=0,hr+=C+_e,C=0),U2n(Kt,h,zn,hr),e=b.Math.max(e,zn+ue.a),C=b.Math.max(C,ue.b),zn+=ue.a+_e;for(Rt=new _r,n=new _r,Qe=new S(t);Qe.aiat(o))&&(M=o);for(!M&&(M=(An(0,tt.c.length),u(tt.c[0],180))),K=new S(e.b);K.a=-1900?1:0,n>=4?Gr(t,lt(ct(Ae,1),ee,2,6,[mfe,yfe])[d]):Gr(t,lt(ct(Ae,1),ee,2,6,["BC","AD"])[d]);break;case 121:Mfn(t,n,r);break;case 77:Pmn(t,n,r);break;case 107:v=s.q.getHours(),v==0?Jd(t,24,n):Jd(t,v,n);break;case 83:ewn(t,n,s);break;case 69:C=r.q.getDay(),n==5?Gr(t,lt(ct(Ae,1),ee,2,6,["S","M","T","W","T","F","S"])[C]):n==4?Gr(t,lt(ct(Ae,1),ee,2,6,[cot,uot,lot,hot,fot,dot,got])[C]):Gr(t,lt(ct(Ae,1),ee,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[C]);break;case 97:s.q.getHours()>=12&&s.q.getHours()<24?Gr(t,lt(ct(Ae,1),ee,2,6,["AM","PM"])[1]):Gr(t,lt(ct(Ae,1),ee,2,6,["AM","PM"])[0]);break;case 104:M=s.q.getHours()%12,M==0?Jd(t,12,n):Jd(t,M,n);break;case 75:j=s.q.getHours()%12,Jd(t,j,n);break;case 72:H=s.q.getHours(),Jd(t,H,n);break;case 99:G=r.q.getDay(),n==5?Gr(t,lt(ct(Ae,1),ee,2,6,["S","M","T","W","T","F","S"])[G]):n==4?Gr(t,lt(ct(Ae,1),ee,2,6,[cot,uot,lot,hot,fot,dot,got])[G]):n==3?Gr(t,lt(ct(Ae,1),ee,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[G]):Jd(t,G,1);break;case 76:K=r.q.getMonth(),n==5?Gr(t,lt(ct(Ae,1),ee,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[K]):n==4?Gr(t,lt(ct(Ae,1),ee,2,6,[Qat,Zat,Jat,tot,w6,eot,not,rot,iot,sot,aot,oot])[K]):n==3?Gr(t,lt(ct(Ae,1),ee,2,6,["Jan","Feb","Mar","Apr",w6,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[K]):Jd(t,K+1,n);break;case 81:tt=r.q.getMonth()/3|0,n<4?Gr(t,lt(ct(Ae,1),ee,2,6,["Q1","Q2","Q3","Q4"])[tt]):Gr(t,lt(ct(Ae,1),ee,2,6,["1st quarter","2nd quarter","3rd quarter","4th quarter"])[tt]);break;case 100:gt=r.q.getDate(),Jd(t,gt,n);break;case 109:k=s.q.getMinutes(),Jd(t,k,n);break;case 115:h=s.q.getSeconds(),Jd(t,h,n);break;case 122:n<4?Gr(t,o.c[0]):Gr(t,o.c[1]);break;case 118:Gr(t,o.b);break;case 90:n<3?Gr(t,Vpn(o)):n==3?Gr(t,Wpn(o)):Gr(t,Ypn(o.a));break;default:return!1}return!0}function Pxt(t,e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr,pi;if(Hue(e),v=u(At((!e.b&&(e.b=new Cn(br,e,4,7)),e.b),0),82),C=u(At((!e.c&&(e.c=new Cn(br,e,5,8)),e.c),0),82),d=Do(v),k=Do(C),h=(!e.a&&(e.a=new fe(Ji,e,6,6)),e.a).i==0?null:u(At((!e.a&&(e.a=new fe(Ji,e,6,6)),e.a),0),202),_e=u(tr(t.a,d),10),zn=u(tr(t.a,k),10),We=null,hr=null,_t(v,186)&&(ue=u(tr(t.a,v),299),_t(ue,11)?We=u(ue,11):_t(ue,10)&&(_e=u(ue,10),We=u(Ne(_e.j,0),11))),_t(C,186)&&(Rn=u(tr(t.a,C),299),_t(Rn,11)?hr=u(Rn,11):_t(Rn,10)&&(zn=u(Rn,10),hr=u(Ne(zn.j,0),11))),!_e||!zn)throw it(new jC("The source or the target of edge "+e+" could not be found. This usually happens when an edge connects a node laid out by ELK Layered to a node in another level of hierarchy laid out by either another instance of ELK Layered or another layout algorithm alltogether. The former can be solved by setting the hierarchyHandling option to INCLUDE_CHILDREN."));for(K=new Vw,Mo(K,e),Jt(K,(ae(),_i),e),Jt(K,(Te(),So),null),H=u(Q(r,Vc),21),_e==zn&&H.Fc((oo(),xS)),We||(Kt=(so(),nu),Qe=null,h&&G3(u(Q(_e,cs),98))&&(Qe=new $e(h.j,h.k),JZt(Qe,cD(e)),LJt(Qe,n),ey(k,d)&&(Kt=tl,Li(Qe,_e.n))),We=zle(_e,Qe,Kt,r)),hr||(Kt=(so(),tl),pi=null,h&&G3(u(Q(zn,cs),98))&&(pi=new $e(h.b,h.c),JZt(pi,cD(e)),LJt(pi,n)),hr=zle(zn,pi,Kt,Na(zn))),Oa(K,We),oa(K,hr),(We.e.c.length>1||We.g.c.length>1||hr.e.c.length>1||hr.g.c.length>1)&&H.Fc((oo(),yS)),j=new nr((!e.n&&(e.n=new fe(qo,e,1,7)),e.n));j.e!=j.i.gc();)if(M=u(dr(j),137),!je(Re(qe(M,z2)))&&M.a)switch(tt=Vit(M),le(K.b,tt),u(Q(tt,Od),272).g){case 1:case 2:H.Fc((oo(),m7));break;case 0:H.Fc((oo(),v7)),Jt(tt,Od,(M1(),P7))}if(o=u(Q(r,_S),314),gt=u(Q(r,gG),315),s=o==(n6(),EO)||gt==(u_(),xht),h&&(!h.a&&(h.a=new As(Gh,h,5)),h.a).i!=0&&s){for(Mt=lI(h),G=new Pu,Rt=ei(Mt,0);Rt.b!=Rt.d.c;)St=u(ti(Rt),8),ri(G,new xo(St));Jt(K,aCt,G)}return K}function $xn(t){t.gb||(t.gb=!0,t.b=ic(t,0),ns(t.b,18),Fi(t.b,19),t.a=ic(t,1),ns(t.a,1),Fi(t.a,2),Fi(t.a,3),Fi(t.a,4),Fi(t.a,5),t.o=ic(t,2),ns(t.o,8),ns(t.o,9),Fi(t.o,10),Fi(t.o,11),Fi(t.o,12),Fi(t.o,13),Fi(t.o,14),Fi(t.o,15),Fi(t.o,16),Fi(t.o,17),Fi(t.o,18),Fi(t.o,19),Fi(t.o,20),Fi(t.o,21),Fi(t.o,22),Fi(t.o,23),Co(t.o),Co(t.o),Co(t.o),Co(t.o),Co(t.o),Co(t.o),Co(t.o),Co(t.o),Co(t.o),Co(t.o),t.p=ic(t,3),ns(t.p,2),ns(t.p,3),ns(t.p,4),ns(t.p,5),Fi(t.p,6),Fi(t.p,7),Co(t.p),Co(t.p),t.q=ic(t,4),ns(t.q,8),t.v=ic(t,5),Fi(t.v,9),Co(t.v),Co(t.v),Co(t.v),t.w=ic(t,6),ns(t.w,2),ns(t.w,3),ns(t.w,4),Fi(t.w,5),t.B=ic(t,7),Fi(t.B,1),Co(t.B),Co(t.B),Co(t.B),t.Q=ic(t,8),Fi(t.Q,0),Co(t.Q),t.R=ic(t,9),ns(t.R,1),t.S=ic(t,10),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),t.T=ic(t,11),Fi(t.T,10),Fi(t.T,11),Fi(t.T,12),Fi(t.T,13),Fi(t.T,14),Co(t.T),Co(t.T),t.U=ic(t,12),ns(t.U,2),ns(t.U,3),Fi(t.U,4),Fi(t.U,5),Fi(t.U,6),Fi(t.U,7),Co(t.U),t.V=ic(t,13),Fi(t.V,10),t.W=ic(t,14),ns(t.W,18),ns(t.W,19),ns(t.W,20),Fi(t.W,21),Fi(t.W,22),Fi(t.W,23),t.bb=ic(t,15),ns(t.bb,10),ns(t.bb,11),ns(t.bb,12),ns(t.bb,13),ns(t.bb,14),ns(t.bb,15),ns(t.bb,16),Fi(t.bb,17),Co(t.bb),Co(t.bb),t.eb=ic(t,16),ns(t.eb,2),ns(t.eb,3),ns(t.eb,4),ns(t.eb,5),ns(t.eb,6),ns(t.eb,7),Fi(t.eb,8),Fi(t.eb,9),t.ab=ic(t,17),ns(t.ab,0),ns(t.ab,1),t.H=ic(t,18),Fi(t.H,0),Fi(t.H,1),Fi(t.H,2),Fi(t.H,3),Fi(t.H,4),Fi(t.H,5),Co(t.H),t.db=ic(t,19),Fi(t.db,2),t.c=oi(t,20),t.d=oi(t,21),t.e=oi(t,22),t.f=oi(t,23),t.i=oi(t,24),t.g=oi(t,25),t.j=oi(t,26),t.k=oi(t,27),t.n=oi(t,28),t.r=oi(t,29),t.s=oi(t,30),t.t=oi(t,31),t.u=oi(t,32),t.fb=oi(t,33),t.A=oi(t,34),t.C=oi(t,35),t.D=oi(t,36),t.F=oi(t,37),t.G=oi(t,38),t.I=oi(t,39),t.J=oi(t,40),t.L=oi(t,41),t.M=oi(t,42),t.N=oi(t,43),t.O=oi(t,44),t.P=oi(t,45),t.X=oi(t,46),t.Y=oi(t,47),t.Z=oi(t,48),t.$=oi(t,49),t._=oi(t,50),t.cb=oi(t,51),t.K=oi(t,52))}function ui(){ui=Z;var t,e;YS=new Vi(ude),O7=new Vi(lde),NSt=(t0(),uft),a4e=new mn(xkt,NSt),W6=new mn(E6,null),o4e=new Vi(p8t),RSt=(hy(),ji(fft,lt(ct(dft,1),oe,291,0,[hft]))),YG=new mn(mH,RSt),QO=new mn(JI,(Nn(),!1)),jSt=(ao(),h0),qv=new mn(Tkt,jSt),qSt=(W0(),Cft),zSt=new mn(QI,qSt),GSt=new mn(CH,!1),USt=(G0(),tU),s5=new mn(vH,USt),nAt=new Ow(12),U2=new mn(xv,nAt),KG=new mn(GI,!1),WSt=new mn(_ct,!1),tP=new mn(j_,!1),oAt=(ua(),Tb),KS=new mn(Got,oAt),Y6=new Vi(yH),ZG=new Vi(VI),Eft=new Vi(tH),Tft=new Vi(R_),YSt=new Pu,a5=new mn(Okt,YSt),u4e=new mn(Nkt,!1),l4e=new mn(Bkt,!1),KSt=new OC,JO=new mn(jkt,KSt),QG=new mn(mkt,!1),g4e=new mn(hde,1),new mn(fde,!0),pe(0),new mn(dde,pe(100)),new mn(gde,!1),pe(0),new mn(pde,pe(4e3)),pe(0),new mn(bde,pe(400)),new mn(wde,!1),new mn(vde,!1),new mn(mde,!0),new mn(yde,!1),BSt=(jz(),Lft),c4e=new mn(g8t,BSt),p4e=new mn(okt,10),b4e=new mn(ckt,10),hAt=new mn(jot,20),w4e=new mn(ukt,10),fAt=new mn(Vot,2),v4e=new mn(lkt,10),dAt=new mn(hkt,0),JG=new mn(gkt,5),gAt=new mn(fkt,1),pAt=new mn(dkt,1),W2=new mn(Cy,20),m4e=new mn(pkt,10),vAt=new mn(bkt,10),K6=new Vi(wkt),wAt=new CUt,bAt=new mn($kt,wAt),f4e=new Vi(Cct),rAt=!1,h4e=new mn(Tct,rAt),QSt=new Ow(5),XSt=new mn(Ckt,QSt),ZSt=(py(),e=u(Vf(lo),9),new sh(e,u(ff(e,e.length),9),0)),o5=new mn(UE,ZSt),sAt=(l4(),Eb),iAt=new mn(Akt,sAt),vft=new Vi(Lkt),mft=new Vi(Mkt),yft=new Vi(Dkt),wft=new Vi(Ikt),JSt=(t=u(Vf(rA),9),new sh(t,u(ff(t,t.length),9),0)),G2=new mn(D4,JSt),eAt=un((ll(),R7)),xb=new mn(T6,eAt),tAt=new $e(0,0),c5=new mn(C6,tAt),XG=new mn(Ect,!1),$St=(M1(),P7),pft=new mn(Pkt,$St),gft=new mn(eH,!1),pe(1),new mn(xde,null),aAt=new Vi(Rkt),xft=new Vi(Fkt),lAt=(ve(),Zo),u5=new mn(ykt,lAt),dl=new Vi(vkt),cAt=(Zu(),un(Cb)),Qy=new mn(WE,cAt),kft=new mn(_kt,!1),uAt=new mn(Skt,!0),ZO=new mn(kkt,!1),bft=new mn(Ekt,!1),HSt=new mn($ot,1),VSt=(hq(),Sft),new mn(kde,VSt),d4e=!0}function ae(){ae=Z;var t,e;_i=new Vi(w6t),nCt=new Vi("coordinateOrigin"),Klt=new Vi("processors"),eCt=new Ps("compoundNode",(Nn(),!1)),SO=new Ps("insideConnections",!1),aCt=new Vi("originalBendpoints"),oCt=new Vi("originalDummyNodePosition"),cCt=new Vi("originalLabelEdge"),LO=new Vi("representedLabels"),kS=new Vi("endLabels"),B6=new Vi("endLabel.origin"),j6=new Ps("labelSide",(zl(),rP)),K4=new Ps("maxEdgeThickness",0),q1=new Ps("reversed",!1),$6=new Vi(i1e),r1=new Ps("longEdgeSource",null),$h=new Ps("longEdgeTarget",null),Ry=new Ps("longEdgeHasLabelDummies",!1),AO=new Ps("longEdgeBeforeLabelDummy",!1),tG=new Ps("edgeConstraint",(d2(),Ilt)),Pv=new Vi("inLayerLayoutUnit"),B2=new Ps("inLayerConstraint",(q0(),CO)),R6=new Ps("inLayerSuccessorConstraint",new he),sCt=new Ps("inLayerSuccessorConstraintBetweenNonDummies",!1),Ju=new Vi("portDummy"),JV=new Ps("crossingHint",pe(0)),Vc=new Ps("graphProperties",(e=u(Vf(jlt),9),new sh(e,u(ff(e,e.length),9),0))),oc=new Ps("externalPortSide",(ve(),Zo)),iCt=new Ps("externalPortSize",new Ca),Vlt=new Vi("externalPortReplacedDummies"),eG=new Vi("externalPortReplacedDummy"),By=new Ps("externalPortConnections",(t=u(Vf(Xa),9),new sh(t,u(ff(t,t.length),9),0))),Fv=new Ps(Xfe,0),tCt=new Vi("barycenterAssociates"),z6=new Vi("TopSideComments"),N6=new Vi("BottomSideComments"),ZV=new Vi("CommentConnectionPort"),Ult=new Ps("inputCollect",!1),Ylt=new Ps("outputCollect",!1),_O=new Ps("cyclic",!1),rCt=new Vi("crossHierarchyMap"),Qlt=new Vi("targetOffset"),new Ps("splineLabelSize",new Ca),Q4=new Vi("spacings"),nG=new Ps("partitionConstraint",!1),Iv=new Vi("breakingPoint.info"),hCt=new Vi("splines.survivingEdge"),R2=new Vi("splines.route.start"),Z4=new Vi("splines.edgeChain"),lCt=new Vi("originalPortConstraints"),x7=new Vi("selfLoopHolder"),k7=new Vi("splines.nsPortY"),Tc=new Vi("modelOrder"),Wlt=new Vi("longEdgeTargetNode"),Ov=new Ps(D1e,!1),X4=new Ps(D1e,!1),Glt=new Vi("layerConstraints.hiddenNodes"),uCt=new Vi("layerConstraints.opposidePort"),Xlt=new Vi("targetNode.modelOrder")}function Fxt(){Fxt=Z,kCt=(LD(),GV),gwe=new mn(C6t,kCt),_we=new mn(_6t,(Nn(),!1)),ACt=(I$(),Hlt),Dwe=new mn(sH,ACt),Uwe=new mn(S6t,!1),Wwe=new mn(A6t,!0),H2e=new mn(L6t,!1),NCt=(CD(),Tht),cve=new mn(M6t,NCt),pe(1),bve=new mn(D6t,pe(7)),wve=new mn(I6t,!1),Swe=new mn(O6t,!1),xCt=(x2(),Mlt),dwe=new mn(Qot,xCt),DCt=(uq(),wht),Gwe=new mn(KI,DCt),LCt=(dh(),MO),Bwe=new mn(P6t,LCt),pe(-1),Nwe=new mn(F6t,pe(-1)),pe(-1),Rwe=new mn(N6t,pe(-1)),pe(-1),jwe=new mn(Zot,pe(4)),pe(-1),zwe=new mn(Jot,pe(2)),MCt=(y4(),kG),Vwe=new mn(tct,MCt),pe(0),Hwe=new mn(ect,pe(0)),Pwe=new mn(nct,pe(wi)),yCt=(n6(),P6),fwe=new mn(H_,yCt),J2e=new mn(B6t,!1),awe=new mn(rct,.1),lwe=new mn(ict,!1),pe(-1),cwe=new mn(R6t,pe(-1)),pe(-1),uwe=new mn(j6t,pe(-1)),pe(0),twe=new mn($6t,pe(40)),mCt=(eE(),zlt),iwe=new mn(sct,mCt),vCt=TO,ewe=new mn(aH,vCt),FCt=(u_(),DS),ove=new mn(I4,FCt),Zwe=new Vi(oH),ICt=(xD(),WV),Ywe=new mn(act,ICt),OCt=(oI(),YV),Xwe=new mn(oct,OCt),eve=new mn(cct,.3),rve=new Vi(uct),PCt=(cy(),xG),ive=new mn(lct,PCt),CCt=(yz(),_ht),mwe=new mn(z6t,CCt),_Ct=(pD(),Sht),ywe=new mn(q6t,_Ct),SCt=(cE(),PS),xwe=new mn(cH,SCt),Ewe=new mn(uH,.2),wwe=new mn(hct,2),fve=new mn(H6t,null),gve=new mn(V6t,10),dve=new mn(G6t,10),pve=new mn(U6t,20),pe(0),uve=new mn(W6t,pe(0)),pe(0),lve=new mn(Y6t,pe(0)),pe(0),hve=new mn(K6t,pe(0)),V2e=new mn(fct,!1),gCt=(kE(),mS),U2e=new mn(X6t,gCt),dCt=(H$(),Alt),G2e=new mn(Q6t,dCt),Lwe=new mn(lH,!1),pe(0),Awe=new mn(dct,pe(16)),pe(0),Mwe=new mn(gct,pe(5)),jCt=(Cz(),Mht),Bve=new mn(tg,jCt),vve=new mn(hH,10),xve=new mn(fH,1),RCt=(oz(),VV),Ave=new mn(V_,RCt),Tve=new Vi(pct),BCt=pe(1),pe(0),_ve=new mn(bct,BCt),$Ct=(vz(),Lht),zve=new mn(dH,$Ct),Rve=new Vi(gH),Ove=new mn(pH,!0),Dve=new mn(bH,2),Fve=new mn(wct,!0),TCt=(dq(),UV),bwe=new mn(Z6t,TCt),ECt=(h6(),p7),pwe=new mn(J6t,ECt),wCt=(V0(),vb),Z2e=new mn(wH,wCt),Q2e=new mn(tkt,!1),pCt=(iv(),q4),W2e=new mn(vct,pCt),bCt=(Z9(),vht),X2e=new mn(ekt,bCt),Y2e=new mn(mct,0),K2e=new mn(yct,0),Owe=Dlt,Iwe=EO,$we=mG,qwe=mG,Fwe=bht,owe=(G0(),sp),hwe=P6,swe=P6,nwe=P6,rwe=sp,Jwe=IS,tve=DS,Kwe=DS,Qwe=DS,nve=kht,ave=IS,sve=IS,kwe=(W0(),X6),Twe=X6,Cwe=PS,vwe=eP,mve=L7,yve=Yy,kve=L7,Eve=Yy,Lve=L7,Mve=Yy,Cve=Llt,Sve=VV,qve=L7,Hve=Yy,jve=L7,$ve=Yy,Pve=Yy,Ive=Yy,Nve=Yy}function ro(){ro=Z,J7t=new ms("DIRECTION_PREPROCESSOR",0),X7t=new ms("COMMENT_PREPROCESSOR",1),gS=new ms("EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER",2),glt=new ms("INTERACTIVE_EXTERNAL_PORT_POSITIONER",3),vTt=new ms("PARTITION_PREPROCESSOR",4),CV=new ms("LABEL_DUMMY_INSERTER",5),FV=new ms("SELF_LOOP_PREPROCESSOR",6),h7=new ms("LAYER_CONSTRAINT_PREPROCESSOR",7),bTt=new ms("PARTITION_MIDPROCESSOR",8),oTt=new ms("HIGH_DEGREE_NODE_LAYER_PROCESSOR",9),gTt=new ms("NODE_PROMOTION",10),l7=new ms("LAYER_CONSTRAINT_POSTPROCESSOR",11),wTt=new ms("PARTITION_POSTPROCESSOR",12),iTt=new ms("HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR",13),mTt=new ms("SEMI_INTERACTIVE_CROSSMIN_PROCESSOR",14),V7t=new ms("BREAKING_POINT_INSERTER",15),LV=new ms("LONG_EDGE_SPLITTER",16),plt=new ms("PORT_SIDE_PROCESSOR",17),EV=new ms("INVERTED_PORT_PROCESSOR",18),IV=new ms("PORT_LIST_SORTER",19),xTt=new ms("SORT_BY_INPUT_ORDER_OF_MODEL",20),DV=new ms("NORTH_SOUTH_PORT_PREPROCESSOR",21),G7t=new ms("BREAKING_POINT_PROCESSOR",22),pTt=new ms(E1e,23),kTt=new ms(T1e,24),OV=new ms("SELF_LOOP_PORT_RESTORER",25),yTt=new ms("SINGLE_EDGE_GRAPH_WRAPPER",26),TV=new ms("IN_LAYER_CONSTRAINT_PROCESSOR",27),eTt=new ms("END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR",28),fTt=new ms("LABEL_AND_NODE_SIZE_PROCESSOR",29),hTt=new ms("INNERMOST_NODE_MARGIN_CALCULATOR",30),NV=new ms("SELF_LOOP_ROUTER",31),Y7t=new ms("COMMENT_NODE_MARGIN_CALCULATOR",32),kV=new ms("END_LABEL_PREPROCESSOR",33),SV=new ms("LABEL_DUMMY_SWITCHER",34),W7t=new ms("CENTER_LABEL_MANAGEMENT_PROCESSOR",35),u7=new ms("LABEL_SIDE_SELECTOR",36),uTt=new ms("HYPEREDGE_DUMMY_MERGER",37),sTt=new ms("HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR",38),dTt=new ms("LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR",39),pS=new ms("HIERARCHICAL_PORT_POSITION_PROCESSOR",40),Q7t=new ms("CONSTRAINTS_POSTPROCESSOR",41),K7t=new ms("COMMENT_POSTPROCESSOR",42),lTt=new ms("HYPERNODE_PROCESSOR",43),aTt=new ms("HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER",44),AV=new ms("LONG_EDGE_JOINER",45),PV=new ms("SELF_LOOP_POSTPROCESSOR",46),U7t=new ms("BREAKING_POINT_REMOVER",47),MV=new ms("NORTH_SOUTH_PORT_POSTPROCESSOR",48),cTt=new ms("HORIZONTAL_COMPACTOR",49),_V=new ms("LABEL_DUMMY_REMOVER",50),nTt=new ms("FINAL_SPLINE_BENDPOINTS_CALCULATOR",51),tTt=new ms("END_LABEL_SORTER",52),xO=new ms("REVERSED_EDGE_RESTORER",53),xV=new ms("END_LABEL_POSTPROCESSOR",54),rTt=new ms("HIERARCHICAL_NODE_RESIZER",55),Z7t=new ms("DIRECTION_POSTPROCESSOR",56)}function zxn(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr,pi,js,Zl,Xh,K1,kU,xP,bA,kP,H7,Gft,ixe,Uft,hp,Yv,V7,EP,TP,nk,Wft,wA,sxe,BLt,Kv,vA,Yft,rk,mA,o3,yA,Kft,axe;for(BLt=0,pi=e,Xh=0,xP=pi.length;Xh0&&(t.a[hp.p]=BLt++)}for(mA=0,js=n,K1=0,bA=js.length;K10;){for(hp=(Zn(TP.b>0),u(TP.a.Xb(TP.c=--TP.b),11)),EP=0,d=new S(hp.e);d.a0&&(hp.j==(ve(),Pn)?(t.a[hp.p]=mA,++mA):(t.a[hp.p]=mA+kP+Gft,++Gft))}mA+=Gft}for(V7=new _r,G=new O0,hr=e,Zl=0,kU=hr.length;Zlk.b&&(k.b=nk)):hp.i.c==sxe&&(nkk.c&&(k.c=nk));for($8(K,0,K.length,null),rk=Nt(Cr,Xr,25,K.length,15,1),r=Nt(Cr,Xr,25,mA+1,15,1),gt=0;gt0;)_e%2>0&&(s+=Kft[_e+1]),_e=(_e-1)/2|0,++Kft[_e];for(Qe=Nt(Ime,De,362,K.length*2,0,1),Rt=0;Rt'?":hn(t0e,t)?"'(?<' or '(? toIndex: ",Yxt=", toIndex: ",Kxt="Index: ",Xxt=", Size: ",zE="org.eclipse.elk.alg.common",Oi={62:1},Ife="org.eclipse.elk.alg.common.compaction",Ofe="Scanline/EventHandler",a0="org.eclipse.elk.alg.common.compaction.oned",Pfe="CNode belongs to another CGroup.",Ffe="ISpacingsHandler/1",Sot="The ",Aot=" instance has been finished already.",Nfe="The direction ",Bfe=" is not supported by the CGraph instance.",Rfe="OneDimensionalCompactor",jfe="OneDimensionalCompactor/lambda$0$Type",$fe="Quadruplet",zfe="ScanlineConstraintCalculator",qfe="ScanlineConstraintCalculator/ConstraintsScanlineHandler",Hfe="ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type",Vfe="ScanlineConstraintCalculator/Timestamp",Gfe="ScanlineConstraintCalculator/lambda$0$Type",xd={169:1,45:1},Lot="org.eclipse.elk.alg.common.compaction.options",Qo="org.eclipse.elk.core.data",Qxt="org.eclipse.elk.polyomino.traversalStrategy",Zxt="org.eclipse.elk.polyomino.lowLevelSort",Jxt="org.eclipse.elk.polyomino.highLevelSort",t6t="org.eclipse.elk.polyomino.fill",Oh={130:1},Mot="polyomino",F_="org.eclipse.elk.alg.common.networksimplex",o0={177:1,3:1,4:1},Ufe="org.eclipse.elk.alg.common.nodespacing",_2="org.eclipse.elk.alg.common.nodespacing.cellsystem",qE="CENTER",Wfe={212:1,326:1},e6t={3:1,4:1,5:1,595:1},y6="LEFT",x6="RIGHT",n6t="Vertical alignment cannot be null",r6t="BOTTOM",Yq="org.eclipse.elk.alg.common.nodespacing.internal",N_="UNDEFINED",B1=.01,zI="org.eclipse.elk.alg.common.nodespacing.internal.algorithm",Yfe="LabelPlacer/lambda$0$Type",Kfe="LabelPlacer/lambda$1$Type",Xfe="portRatioOrPosition",HE="org.eclipse.elk.alg.common.overlaps",Dot="DOWN",kd="org.eclipse.elk.alg.common.polyomino",Kq="NORTH",Iot="EAST",Oot="SOUTH",Pot="WEST",Xq="org.eclipse.elk.alg.common.polyomino.structures",i6t="Direction",Fot="Grid is only of size ",Not=". Requested point (",Bot=") is out of bounds.",Qq=" Given center based coordinates were (",qI="org.eclipse.elk.graph.properties",Qfe="IPropertyHolder",s6t={3:1,94:1,134:1},k6="org.eclipse.elk.alg.common.spore",Zfe="org.eclipse.elk.alg.common.utils",S2={209:1},L4="org.eclipse.elk.core",Jfe="Connected Components Compaction",t1e="org.eclipse.elk.alg.disco",Zq="org.eclipse.elk.alg.disco.graph",Rot="org.eclipse.elk.alg.disco.options",a6t="CompactionStrategy",o6t="org.eclipse.elk.disco.componentCompaction.strategy",c6t="org.eclipse.elk.disco.componentCompaction.componentLayoutAlgorithm",u6t="org.eclipse.elk.disco.debug.discoGraph",l6t="org.eclipse.elk.disco.debug.discoPolys",e1e="componentCompaction",A2="org.eclipse.elk.disco",jot="org.eclipse.elk.spacing.componentComponent",$ot="org.eclipse.elk.edge.thickness",E6="org.eclipse.elk.aspectRatio",xv="org.eclipse.elk.padding",M4="org.eclipse.elk.alg.disco.transform",zot=1.5707963267948966,VE=17976931348623157e292,Ty={3:1,4:1,5:1,192:1},h6t={3:1,6:1,4:1,5:1,106:1,120:1},f6t="org.eclipse.elk.alg.force",d6t="ComponentsProcessor",n1e="ComponentsProcessor/1",HI="org.eclipse.elk.alg.force.graph",r1e="Component Layout",g6t="org.eclipse.elk.alg.force.model",Jq="org.eclipse.elk.force.model",p6t="org.eclipse.elk.force.iterations",b6t="org.eclipse.elk.force.repulsivePower",qot="org.eclipse.elk.force.temperature",Ed=.001,Hot="org.eclipse.elk.force.repulsion",B_="org.eclipse.elk.alg.force.options",GE=1.600000023841858,Vl="org.eclipse.elk.force",VI="org.eclipse.elk.priority",Cy="org.eclipse.elk.spacing.nodeNode",Vot="org.eclipse.elk.spacing.edgeLabel",tH="org.eclipse.elk.randomSeed",R_="org.eclipse.elk.separateConnectedComponents",GI="org.eclipse.elk.interactive",Got="org.eclipse.elk.portConstraints",eH="org.eclipse.elk.edgeLabels.inline",j_="org.eclipse.elk.omitNodeMicroLayout",T6="org.eclipse.elk.nodeSize.options",D4="org.eclipse.elk.nodeSize.constraints",UE="org.eclipse.elk.nodeLabels.placement",WE="org.eclipse.elk.portLabels.placement",w6t="origin",i1e="random",s1e="boundingBox.upLeft",a1e="boundingBox.lowRight",v6t="org.eclipse.elk.stress.fixed",m6t="org.eclipse.elk.stress.desiredEdgeLength",y6t="org.eclipse.elk.stress.dimension",x6t="org.eclipse.elk.stress.epsilon",k6t="org.eclipse.elk.stress.iterationLimit",ob="org.eclipse.elk.stress",o1e="ELK Stress",C6="org.eclipse.elk.nodeSize.minimum",nH="org.eclipse.elk.alg.force.stress",c1e="Layered layout",_6="org.eclipse.elk.alg.layered",UI="org.eclipse.elk.alg.layered.compaction.components",$_="org.eclipse.elk.alg.layered.compaction.oned",rH="org.eclipse.elk.alg.layered.compaction.oned.algs",L2="org.eclipse.elk.alg.layered.compaction.recthull",Td="org.eclipse.elk.alg.layered.components",J0="NONE",xc={3:1,6:1,4:1,9:1,5:1,122:1},u1e={3:1,6:1,4:1,5:1,141:1,106:1,120:1},iH="org.eclipse.elk.alg.layered.compound",os={51:1},tu="org.eclipse.elk.alg.layered.graph",Uot=" -> ",l1e="Not supported by LGraph",E6t="Port side is undefined",Wot={3:1,6:1,4:1,5:1,474:1,141:1,106:1,120:1},Yg={3:1,6:1,4:1,5:1,141:1,193:1,203:1,106:1,120:1},h1e={3:1,6:1,4:1,5:1,141:1,1943:1,203:1,106:1,120:1},f1e=`([{"' \r +`,d1e=`)]}"' \r +`,g1e="The given string contains parts that cannot be parsed as numbers.",WI="org.eclipse.elk.core.math",p1e={3:1,4:1,142:1,207:1,414:1},b1e={3:1,4:1,116:1,207:1,414:1},Gn="org.eclipse.elk.layered",Kg="org.eclipse.elk.alg.layered.graph.transform",w1e="ElkGraphImporter",v1e="ElkGraphImporter/lambda$0$Type",m1e="ElkGraphImporter/lambda$1$Type",y1e="ElkGraphImporter/lambda$2$Type",x1e="ElkGraphImporter/lambda$4$Type",k1e="Node margin calculation",$n="org.eclipse.elk.alg.layered.intermediate",E1e="ONE_SIDED_GREEDY_SWITCH",T1e="TWO_SIDED_GREEDY_SWITCH",Yot="No implementation is available for the layout processor ",T6t="IntermediateProcessorStrategy",Kot="Node '",C1e="FIRST_SEPARATE",_1e="LAST_SEPARATE",S1e="Odd port side processing",_s="org.eclipse.elk.alg.layered.intermediate.compaction",z_="org.eclipse.elk.alg.layered.intermediate.greedyswitch",c0="org.eclipse.elk.alg.layered.p3order.counting",YI={225:1},S6="org.eclipse.elk.alg.layered.intermediate.loops",Gl="org.eclipse.elk.alg.layered.intermediate.loops.ordering",cb="org.eclipse.elk.alg.layered.intermediate.loops.routing",q_="org.eclipse.elk.alg.layered.intermediate.preserveorder",Cd="org.eclipse.elk.alg.layered.intermediate.wrapping",kc="org.eclipse.elk.alg.layered.options",Xot="INTERACTIVE",A1e="DEPTH_FIRST",L1e="EDGE_LENGTH",M1e="SELF_LOOPS",D1e="firstTryWithInitialOrder",C6t="org.eclipse.elk.layered.directionCongruency",_6t="org.eclipse.elk.layered.feedbackEdges",sH="org.eclipse.elk.layered.interactiveReferencePoint",S6t="org.eclipse.elk.layered.mergeEdges",A6t="org.eclipse.elk.layered.mergeHierarchyEdges",L6t="org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides",M6t="org.eclipse.elk.layered.portSortingStrategy",D6t="org.eclipse.elk.layered.thoroughness",I6t="org.eclipse.elk.layered.unnecessaryBendpoints",O6t="org.eclipse.elk.layered.generatePositionAndLayerIds",Qot="org.eclipse.elk.layered.cycleBreaking.strategy",KI="org.eclipse.elk.layered.layering.strategy",P6t="org.eclipse.elk.layered.layering.layerConstraint",F6t="org.eclipse.elk.layered.layering.layerChoiceConstraint",N6t="org.eclipse.elk.layered.layering.layerId",Zot="org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth",Jot="org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor",tct="org.eclipse.elk.layered.layering.nodePromotion.strategy",ect="org.eclipse.elk.layered.layering.nodePromotion.maxIterations",nct="org.eclipse.elk.layered.layering.coffmanGraham.layerBound",H_="org.eclipse.elk.layered.crossingMinimization.strategy",B6t="org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder",rct="org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness",ict="org.eclipse.elk.layered.crossingMinimization.semiInteractive",R6t="org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint",j6t="org.eclipse.elk.layered.crossingMinimization.positionId",$6t="org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold",sct="org.eclipse.elk.layered.crossingMinimization.greedySwitch.type",aH="org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type",I4="org.eclipse.elk.layered.nodePlacement.strategy",oH="org.eclipse.elk.layered.nodePlacement.favorStraightEdges",act="org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening",oct="org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment",cct="org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening",uct="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility",lct="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default",z6t="org.eclipse.elk.layered.edgeRouting.selfLoopDistribution",q6t="org.eclipse.elk.layered.edgeRouting.selfLoopOrdering",cH="org.eclipse.elk.layered.edgeRouting.splines.mode",uH="org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor",hct="org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth",H6t="org.eclipse.elk.layered.spacing.baseValue",V6t="org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers",G6t="org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers",U6t="org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers",W6t="org.eclipse.elk.layered.priority.direction",Y6t="org.eclipse.elk.layered.priority.shortness",K6t="org.eclipse.elk.layered.priority.straightness",fct="org.eclipse.elk.layered.compaction.connectedComponents",X6t="org.eclipse.elk.layered.compaction.postCompaction.strategy",Q6t="org.eclipse.elk.layered.compaction.postCompaction.constraints",lH="org.eclipse.elk.layered.highDegreeNodes.treatment",dct="org.eclipse.elk.layered.highDegreeNodes.threshold",gct="org.eclipse.elk.layered.highDegreeNodes.treeHeight",tg="org.eclipse.elk.layered.wrapping.strategy",hH="org.eclipse.elk.layered.wrapping.additionalEdgeSpacing",fH="org.eclipse.elk.layered.wrapping.correctionFactor",V_="org.eclipse.elk.layered.wrapping.cutting.strategy",pct="org.eclipse.elk.layered.wrapping.cutting.cuts",bct="org.eclipse.elk.layered.wrapping.cutting.msd.freedom",dH="org.eclipse.elk.layered.wrapping.validify.strategy",gH="org.eclipse.elk.layered.wrapping.validify.forbiddenIndices",pH="org.eclipse.elk.layered.wrapping.multiEdge.improveCuts",bH="org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty",wct="org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges",Z6t="org.eclipse.elk.layered.edgeLabels.sideSelection",J6t="org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy",wH="org.eclipse.elk.layered.considerModelOrder.strategy",tkt="org.eclipse.elk.layered.considerModelOrder.noModelOrder",vct="org.eclipse.elk.layered.considerModelOrder.components",ekt="org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy",mct="org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence",yct="org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence",xct="layering",I1e="layering.minWidth",O1e="layering.nodePromotion",XI="crossingMinimization",vH="org.eclipse.elk.hierarchyHandling",P1e="crossingMinimization.greedySwitch",F1e="nodePlacement",N1e="nodePlacement.bk",B1e="edgeRouting",QI="org.eclipse.elk.edgeRouting",R1="spacing",nkt="priority",rkt="compaction",R1e="compaction.postCompaction",j1e="Specifies whether and how post-process compaction is applied.",ikt="highDegreeNodes",skt="wrapping",$1e="wrapping.cutting",z1e="wrapping.validify",akt="wrapping.multiEdge",kct="edgeLabels",ZI="considerModelOrder",okt="org.eclipse.elk.spacing.commentComment",ckt="org.eclipse.elk.spacing.commentNode",ukt="org.eclipse.elk.spacing.edgeEdge",lkt="org.eclipse.elk.spacing.edgeNode",hkt="org.eclipse.elk.spacing.labelLabel",fkt="org.eclipse.elk.spacing.labelPortHorizontal",dkt="org.eclipse.elk.spacing.labelPortVertical",gkt="org.eclipse.elk.spacing.labelNode",pkt="org.eclipse.elk.spacing.nodeSelfLoop",bkt="org.eclipse.elk.spacing.portPort",wkt="org.eclipse.elk.spacing.individual",vkt="org.eclipse.elk.port.borderOffset",mkt="org.eclipse.elk.noLayout",ykt="org.eclipse.elk.port.side",JI="org.eclipse.elk.debugMode",xkt="org.eclipse.elk.alignment",kkt="org.eclipse.elk.insideSelfLoops.activate",Ekt="org.eclipse.elk.insideSelfLoops.yo",Ect="org.eclipse.elk.nodeSize.fixedGraphSize",Tkt="org.eclipse.elk.direction",Ckt="org.eclipse.elk.nodeLabels.padding",_kt="org.eclipse.elk.portLabels.nextToPortIfPossible",Skt="org.eclipse.elk.portLabels.treatAsGroup",Akt="org.eclipse.elk.portAlignment.default",Lkt="org.eclipse.elk.portAlignment.north",Mkt="org.eclipse.elk.portAlignment.south",Dkt="org.eclipse.elk.portAlignment.west",Ikt="org.eclipse.elk.portAlignment.east",mH="org.eclipse.elk.contentAlignment",Okt="org.eclipse.elk.junctionPoints",Pkt="org.eclipse.elk.edgeLabels.placement",Fkt="org.eclipse.elk.port.index",Nkt="org.eclipse.elk.commentBox",Bkt="org.eclipse.elk.hypernode",Rkt="org.eclipse.elk.port.anchor",Tct="org.eclipse.elk.partitioning.activate",Cct="org.eclipse.elk.partitioning.partition",yH="org.eclipse.elk.position",jkt="org.eclipse.elk.margins",$kt="org.eclipse.elk.spacing.portsSurrounding",_ct="org.eclipse.elk.interactiveLayout",Ec="org.eclipse.elk.core.util",zkt={3:1,4:1,5:1,593:1},q1e="NETWORK_SIMPLEX",zc={123:1,51:1},xH="org.eclipse.elk.alg.layered.p1cycles",_y="org.eclipse.elk.alg.layered.p2layers",qkt={402:1,225:1},H1e={832:1,3:1,4:1},qu="org.eclipse.elk.alg.layered.p3order",uo="org.eclipse.elk.alg.layered.p4nodes",V1e={3:1,4:1,5:1,840:1},_d=1e-5,ub="org.eclipse.elk.alg.layered.p4nodes.bk",Sct="org.eclipse.elk.alg.layered.p5edges",t1="org.eclipse.elk.alg.layered.p5edges.orthogonal",Act="org.eclipse.elk.alg.layered.p5edges.orthogonal.direction",Lct=1e-6,Sy="org.eclipse.elk.alg.layered.p5edges.splines",Mct=.09999999999999998,kH=1e-8,G1e=4.71238898038469,U1e=3.141592653589793,G_="org.eclipse.elk.alg.mrtree",U_="org.eclipse.elk.alg.mrtree.graph",A6="org.eclipse.elk.alg.mrtree.intermediate",W1e="Set neighbors in level",Y1e="DESCENDANTS",Hkt="org.eclipse.elk.mrtree.weighting",Vkt="org.eclipse.elk.mrtree.searchOrder",EH="org.eclipse.elk.alg.mrtree.options",Xg="org.eclipse.elk.mrtree",K1e="org.eclipse.elk.tree",Gkt="org.eclipse.elk.alg.radial",O4=6.283185307179586,Ukt=5e-324,X1e="org.eclipse.elk.alg.radial.intermediate",Dct="org.eclipse.elk.alg.radial.intermediate.compaction",Q1e={3:1,4:1,5:1,106:1},Wkt="org.eclipse.elk.alg.radial.intermediate.optimization",Ict="No implementation is available for the layout option ",W_="org.eclipse.elk.alg.radial.options",Ykt="org.eclipse.elk.radial.orderId",Kkt="org.eclipse.elk.radial.radius",Oct="org.eclipse.elk.radial.compactor",Pct="org.eclipse.elk.radial.compactionStepSize",Xkt="org.eclipse.elk.radial.sorter",Qkt="org.eclipse.elk.radial.wedgeCriteria",Zkt="org.eclipse.elk.radial.optimizationCriteria",Sd="org.eclipse.elk.radial",Z1e="org.eclipse.elk.alg.radial.p1position.wedge",Jkt="org.eclipse.elk.alg.radial.sorting",J1e=5.497787143782138,tde=3.9269908169872414,ede=2.356194490192345,nde="org.eclipse.elk.alg.rectpacking",TH="org.eclipse.elk.alg.rectpacking.firstiteration",Fct="org.eclipse.elk.alg.rectpacking.options",t8t="org.eclipse.elk.rectpacking.optimizationGoal",e8t="org.eclipse.elk.rectpacking.lastPlaceShift",n8t="org.eclipse.elk.rectpacking.currentPosition",r8t="org.eclipse.elk.rectpacking.desiredPosition",i8t="org.eclipse.elk.rectpacking.onlyFirstIteration",s8t="org.eclipse.elk.rectpacking.rowCompaction",Nct="org.eclipse.elk.rectpacking.expandToAspectRatio",a8t="org.eclipse.elk.rectpacking.targetWidth",CH="org.eclipse.elk.expandNodes",Ph="org.eclipse.elk.rectpacking",tO="org.eclipse.elk.alg.rectpacking.util",_H="No implementation available for ",Ay="org.eclipse.elk.alg.spore",Ly="org.eclipse.elk.alg.spore.options",kv="org.eclipse.elk.sporeCompaction",Bct="org.eclipse.elk.underlyingLayoutAlgorithm",o8t="org.eclipse.elk.processingOrder.treeConstruction",c8t="org.eclipse.elk.processingOrder.spanningTreeCostFunction",Rct="org.eclipse.elk.processingOrder.preferredRoot",jct="org.eclipse.elk.processingOrder.rootSelection",$ct="org.eclipse.elk.structure.structureExtractionStrategy",u8t="org.eclipse.elk.compaction.compactionStrategy",l8t="org.eclipse.elk.compaction.orthogonal",h8t="org.eclipse.elk.overlapRemoval.maxIterations",f8t="org.eclipse.elk.overlapRemoval.runScanline",zct="processingOrder",rde="overlapRemoval",YE="org.eclipse.elk.sporeOverlap",ide="org.eclipse.elk.alg.spore.p1structure",qct="org.eclipse.elk.alg.spore.p2processingorder",Hct="org.eclipse.elk.alg.spore.p3execution",sde="Invalid index: ",KE="org.eclipse.elk.core.alg",P4={331:1},My={288:1},ade="Make sure its type is registered with the ",d8t=" utility class.",XE="true",Vct="false",ode="Couldn't clone property '",Ev=.05,Fh="org.eclipse.elk.core.options",cde=1.2999999523162842,Tv="org.eclipse.elk.box",g8t="org.eclipse.elk.box.packingMode",ude="org.eclipse.elk.algorithm",lde="org.eclipse.elk.resolvedAlgorithm",p8t="org.eclipse.elk.bendPoints",Uxn="org.eclipse.elk.labelManager",hde="org.eclipse.elk.scaleFactor",fde="org.eclipse.elk.animate",dde="org.eclipse.elk.animTimeFactor",gde="org.eclipse.elk.layoutAncestors",pde="org.eclipse.elk.maxAnimTime",bde="org.eclipse.elk.minAnimTime",wde="org.eclipse.elk.progressBar",vde="org.eclipse.elk.validateGraph",mde="org.eclipse.elk.validateOptions",yde="org.eclipse.elk.zoomToFit",Wxn="org.eclipse.elk.font.name",xde="org.eclipse.elk.font.size",kde="org.eclipse.elk.edge.type",Ede="partitioning",Tde="nodeLabels",SH="portAlignment",Gct="nodeSize",Uct="port",b8t="portLabels",Cde="insideSelfLoops",Y_="org.eclipse.elk.fixed",AH="org.eclipse.elk.random",_de="port must have a parent node to calculate the port side",Sde="The edge needs to have exactly one edge section. Found: ",K_="org.eclipse.elk.core.util.adapters",ph="org.eclipse.emf.ecore",F4="org.eclipse.elk.graph",Ade="EMapPropertyHolder",Lde="ElkBendPoint",Mde="ElkGraphElement",Dde="ElkConnectableShape",w8t="ElkEdge",Ide="ElkEdgeSection",Ode="EModelElement",Pde="ENamedElement",v8t="ElkLabel",m8t="ElkNode",y8t="ElkPort",Fde={92:1,90:1},L6="org.eclipse.emf.common.notify.impl",lb="The feature '",X_="' is not a valid changeable feature",Nde="Expecting null",Wct="' is not a valid feature",Bde="The feature ID",Rde=" is not a valid feature ID",dc=32768,jde={105:1,92:1,90:1,56:1,49:1,97:1},Mn="org.eclipse.emf.ecore.impl",M2="org.eclipse.elk.graph.impl",Q_="Recursive containment not allowed for ",QE="The datatype '",Cv="' is not a valid classifier",Yct="The value '",N4={190:1,3:1,4:1},Kct="The class '",ZE="http://www.eclipse.org/elk/ElkGraph",xf=1024,x8t="property",Z_="value",Xct="source",$de="properties",zde="identifier",Qct="height",Zct="width",Jct="parent",tut="text",eut="children",qde="hierarchical",k8t="sources",nut="targets",E8t="sections",LH="bendPoints",T8t="outgoingShape",C8t="incomingShape",_8t="outgoingSections",S8t="incomingSections",Ra="org.eclipse.emf.common.util",A8t="Severe implementation error in the Json to ElkGraph importer.",Ad="id",ma="org.eclipse.elk.graph.json",L8t="Unhandled parameter types: ",Hde="startPoint",Vde="An edge must have at least one source and one target (edge id: '",JE="').",Gde="Referenced edge section does not exist: ",Ude=" (edge id: '",M8t="target",Wde="sourcePoint",Yde="targetPoint",MH="group",ci="name",Kde="connectableShape cannot be null",Xde="edge cannot be null",rut="Passed edge is not 'simple'.",DH="org.eclipse.elk.graph.util",eO="The 'no duplicates' constraint is violated",iut="targetIndex=",D2=", size=",sut="sourceIndex=",Ld={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1},aut={3:1,4:1,20:1,28:1,52:1,14:1,47:1,15:1,54:1,67:1,63:1,58:1,588:1},IH="logging",Qde="measureExecutionTime",Zde="parser.parse.1",Jde="parser.parse.2",OH="parser.next.1",out="parser.next.2",t0e="parser.next.3",e0e="parser.next.4",I2="parser.factor.1",D8t="parser.factor.2",n0e="parser.factor.3",r0e="parser.factor.4",i0e="parser.factor.5",s0e="parser.factor.6",a0e="parser.atom.1",o0e="parser.atom.2",c0e="parser.atom.3",I8t="parser.atom.4",cut="parser.atom.5",O8t="parser.cc.1",PH="parser.cc.2",u0e="parser.cc.3",l0e="parser.cc.5",P8t="parser.cc.6",F8t="parser.cc.7",uut="parser.cc.8",h0e="parser.ope.1",f0e="parser.ope.2",d0e="parser.ope.3",Qg="parser.descape.1",g0e="parser.descape.2",p0e="parser.descape.3",b0e="parser.descape.4",w0e="parser.descape.5",bh="parser.process.1",v0e="parser.quantifier.1",m0e="parser.quantifier.2",y0e="parser.quantifier.3",x0e="parser.quantifier.4",N8t="parser.quantifier.5",k0e="org.eclipse.emf.common.notify",B8t={415:1,672:1},E0e={3:1,4:1,20:1,28:1,52:1,14:1,15:1,67:1,58:1},nO={366:1,143:1},J_="index=",lut={3:1,4:1,5:1,126:1},T0e={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,58:1},R8t={3:1,6:1,4:1,5:1,192:1},C0e={3:1,4:1,5:1,165:1,367:1},_0e=";/?:@&=+$,",S0e="invalid authority: ",A0e="EAnnotation",L0e="ETypedElement",M0e="EStructuralFeature",D0e="EAttribute",I0e="EClassifier",O0e="EEnumLiteral",P0e="EGenericType",F0e="EOperation",N0e="EParameter",B0e="EReference",R0e="ETypeParameter",$i="org.eclipse.emf.ecore.util",hut={76:1},j8t={3:1,20:1,14:1,15:1,58:1,589:1,76:1,69:1,95:1},j0e="org.eclipse.emf.ecore.util.FeatureMap$Entry",Hu=8192,Dy=2048,tS="byte",FH="char",eS="double",nS="float",rS="int",iS="long",sS="short",$0e="java.lang.Object",B4={3:1,4:1,5:1,247:1},$8t={3:1,4:1,5:1,673:1},z0e={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1,69:1},zo={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1,76:1,69:1,95:1},rO="mixed",Yr="http:///org/eclipse/emf/ecore/util/ExtendedMetaData",Nh="kind",q0e={3:1,4:1,5:1,674:1},z8t={3:1,4:1,20:1,28:1,52:1,14:1,15:1,67:1,58:1,76:1,69:1,95:1},NH={20:1,28:1,52:1,14:1,15:1,58:1,69:1},BH={47:1,125:1,279:1},RH={72:1,332:1},jH="The value of type '",$H="' must be of type '",R4=1316,Bh="http://www.eclipse.org/emf/2002/Ecore",zH=-32768,_v="constraints",Aa="baseType",H0e="getEStructuralFeature",V0e="getFeatureID",aS="feature",G0e="getOperationID",q8t="operation",U0e="defaultValue",W0e="eTypeParameters",Y0e="isInstance",K0e="getEEnumLiteral",X0e="eContainingClass",si={55:1},Q0e={3:1,4:1,5:1,119:1},Z0e="org.eclipse.emf.ecore.resource",J0e={92:1,90:1,591:1,1935:1},fut="org.eclipse.emf.ecore.resource.impl",H8t="unspecified",iO="simple",qH="attribute",tge="attributeWildcard",HH="element",dut="elementWildcard",e1="collapse",gut="itemType",VH="namespace",sO="##targetNamespace",Rh="whiteSpace",V8t="wildcards",O2="http://www.eclipse.org/emf/2003/XMLType",put="##any",t7="uninitialized",aO="The multiplicity constraint is violated",GH="org.eclipse.emf.ecore.xml.type",ege="ProcessingInstruction",nge="SimpleAnyType",rge="XMLTypeDocumentRoot",xs="org.eclipse.emf.ecore.xml.type.impl",oO="INF",ige="processing",sge="ENTITIES_._base",G8t="minLength",U8t="ENTITY",UH="NCName",age="IDREFS_._base",W8t="integer",but="token",wut="pattern",oge="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",Y8t="\\i\\c*",cge="[\\i-[:]][\\c-[:]]*",uge="nonPositiveInteger",cO="maxInclusive",K8t="NMTOKEN",lge="NMTOKENS_._base",X8t="nonNegativeInteger",uO="minInclusive",hge="normalizedString",fge="unsignedByte",dge="unsignedInt",gge="18446744073709551615",pge="unsignedShort",bge="processingInstruction",Zg="org.eclipse.emf.ecore.xml.type.internal",e7=1114111,wge="Internal Error: shorthands: \\u",oS="xml:isDigit",vut="xml:isWord",mut="xml:isSpace",yut="xml:isNameChar",xut="xml:isInitialNameChar",vge="09٠٩۰۹०९০৯੦੯૦૯୦୯௧௯౦౯೦೯൦൯๐๙໐໙༠༩",mge="AZazÀÖØöøıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁΆΆΈΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆאתװײءغفيٱڷںھۀێېۓەەۥۦअहऽऽक़ॡঅঌএঐওনপরললশহড়ঢ়য়ৡৰৱਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹਖ਼ੜਫ਼ਫ਼ੲੴઅઋઍઍએઑઓનપરલળવહઽઽૠૠଅଌଏଐଓନପରଲଳଶହଽଽଡ଼ଢ଼ୟୡஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹఅఌఎఐఒనపళవహౠౡಅಌಎಐಒನಪಳವಹೞೞೠೡഅഌഎഐഒനപഹൠൡกฮะะาำเๅກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະະາຳຽຽເໄཀཇཉཀྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅟᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼιιῂῄῆῌῐΐῖΊῠῬῲῴῶῼΩΩKÅ℮℮ↀↂ〇〇〡〩ぁゔァヺㄅㄬ一龥가힣",yge="Private Use",kut="ASSIGNED",Eut="\0€ÿĀſƀɏɐʯʰ˿̀ͯͰϿЀӿ԰֏֐׿؀ۿ܀ݏހ޿ऀॿঀ৿਀੿઀૿଀୿஀௿ఀ౿ಀ೿ഀൿ඀෿฀๿຀໿ༀ࿿က႟Ⴀჿᄀᇿሀ፿Ꭰ᏿᐀ᙿ ᚟ᚠ᛿ក៿᠀᢯Ḁỿἀ῿ ⁰₟₠⃏⃐⃿℀⅏⅐↏←⇿∀⋿⌀⏿␀␿⑀⑟①⓿─╿▀▟■◿☀⛿✀➿⠀⣿⺀⻿⼀⿟⿰⿿ 〿぀ゟ゠ヿ㄀ㄯ㄰㆏㆐㆟ㆠㆿ㈀㋿㌀㏿㐀䶵一鿿ꀀ꒏꒐꓏가힣豈﫿ffﭏﭐ﷿︠︯︰﹏﹐﹯ﹰ﻾\uFEFF\uFEFF＀￯",Q8t="UNASSIGNED",n7={3:1,117:1},xge="org.eclipse.emf.ecore.xml.type.util",WH={3:1,4:1,5:1,368:1},Z8t="org.eclipse.xtext.xbase.lib",kge="Cannot add elements to a Range",Ege="Cannot set elements in a Range",Tge="Cannot remove elements from a Range",YH="locale",KH="default",XH="user.agent",l,QH,Tut;b.goog=b.goog||{},b.goog.global=b.goog.global||b,mgn(),D(1,null,{},_),l.Fb=function(e){return mUt(this,e)},l.Gb=function(){return this.gm},l.Hb=function(){return Pw(this)},l.Ib=function(){var e;return Ip(ol(this))+"@"+(e=Hi(this)>>>0,e.toString(16))},l.equals=function(t){return this.Fb(t)},l.hashCode=function(){return this.Hb()},l.toString=function(){return this.Ib()};var Cge,_ge,Sge;D(290,1,{290:1,2026:1},Lyt),l.le=function(e){var n;return n=new Lyt,n.i=4,e>1?n.c=NQt(this,e-1):n.c=this,n},l.me=function(){return P0(this),this.b},l.ne=function(){return Ip(this)},l.oe=function(){return P0(this),this.k},l.pe=function(){return(this.i&4)!=0},l.qe=function(){return(this.i&1)!=0},l.Ib=function(){return Vmt(this)},l.i=0;var Qn=F(Xo,"Object",1),J8t=F(Xo,"Class",290);D(1998,1,DI),F(II,"Optional",1998),D(1170,1998,DI,A),l.Fb=function(e){return e===this},l.Hb=function(){return 2040732332},l.Ib=function(){return"Optional.absent()"},l.Jb=function(e){return Lr(e),PC(),Cut};var Cut;F(II,"Absent",1170),D(628,1,{},vet),F(II,"Joiner",628);var Yxn=Ki(II,"Predicate");D(582,1,{169:1,582:1,3:1,45:1},mC),l.Mb=function(e){return kre(this,e)},l.Lb=function(e){return kre(this,e)},l.Fb=function(e){var n;return _t(e,582)?(n=u(e,582),k5t(this.a,n.a)):!1},l.Hb=function(){return Pyt(this.a)+306654252},l.Ib=function(){return spn(this.a)},F(II,"Predicates/AndPredicate",582),D(408,1998,{408:1,3:1},Wk),l.Fb=function(e){var n;return _t(e,408)?(n=u(e,408),yi(this.a,n.a)):!1},l.Hb=function(){return 1502476572+Hi(this.a)},l.Ib=function(){return cfe+this.a+")"},l.Jb=function(e){return new Wk(g$(e.Kb(this.a),"the Function passed to Optional.transform() must not return null."))},F(II,"Present",408),D(198,1,FE),l.Nb=function(e){ba(this,e)},l.Qb=function(){uHt()},F(Ke,"UnmodifiableIterator",198),D(1978,198,NE),l.Qb=function(){uHt()},l.Rb=function(e){throw it(new Or)},l.Wb=function(e){throw it(new Or)},F(Ke,"UnmodifiableListIterator",1978),D(386,1978,NE),l.Ob=function(){return this.c0},l.Pb=function(){if(this.c>=this.d)throw it(new lc);return this.Xb(this.c++)},l.Tb=function(){return this.c},l.Ub=function(){if(this.c<=0)throw it(new lc);return this.Xb(--this.c)},l.Vb=function(){return this.c-1},l.c=0,l.d=0,F(Ke,"AbstractIndexedListIterator",386),D(699,198,FE),l.Ob=function(){return bit(this)},l.Pb=function(){return Rmt(this)},l.e=1,F(Ke,"AbstractIterator",699),D(1986,1,{224:1}),l.Zb=function(){var e;return e=this.f,e||(this.f=this.ac())},l.Fb=function(e){return Pit(this,e)},l.Hb=function(){return Hi(this.Zb())},l.dc=function(){return this.gc()==0},l.ec=function(){return qx(this)},l.Ib=function(){return $o(this.Zb())},F(Ke,"AbstractMultimap",1986),D(726,1986,T2),l.$b=function(){cz(this)},l._b=function(e){return AHt(this,e)},l.ac=function(){return new l8(this,this.c)},l.ic=function(e){return this.hc()},l.bc=function(){return new K3(this,this.c)},l.jc=function(){return this.mc(this.hc())},l.kc=function(){return new Uqt(this)},l.lc=function(){return zst(this.c.vc().Nc(),new B,64,this.d)},l.cc=function(e){return Ai(this,e)},l.fc=function(e){return GD(this,e)},l.gc=function(){return this.d},l.mc=function(e){return wn(),new T(e)},l.nc=function(){return new Gqt(this)},l.oc=function(){return zst(this.c.Cc().Nc(),new I,64,this.d)},l.pc=function(e,n){return new q$(this,e,n,null)},l.d=0,F(Ke,"AbstractMapBasedMultimap",726),D(1631,726,T2),l.hc=function(){return new Xc(this.a)},l.jc=function(){return wn(),wn(),io},l.cc=function(e){return u(Ai(this,e),15)},l.fc=function(e){return u(GD(this,e),15)},l.Zb=function(){return Wx(this)},l.Fb=function(e){return Pit(this,e)},l.qc=function(e){return u(Ai(this,e),15)},l.rc=function(e){return u(GD(this,e),15)},l.mc=function(e){return iD(u(e,15))},l.pc=function(e,n){return zZt(this,e,u(n,15),null)},F(Ke,"AbstractListMultimap",1631),D(732,1,sa),l.Nb=function(e){ba(this,e)},l.Ob=function(){return this.c.Ob()||this.e.Ob()},l.Pb=function(){var e;return this.e.Ob()||(e=u(this.c.Pb(),42),this.b=e.cd(),this.a=u(e.dd(),14),this.e=this.a.Kc()),this.sc(this.b,this.e.Pb())},l.Qb=function(){this.e.Qb(),this.a.dc()&&this.c.Qb(),--this.d.d},F(Ke,"AbstractMapBasedMultimap/Itr",732),D(1099,732,sa,Gqt),l.sc=function(e,n){return n},F(Ke,"AbstractMapBasedMultimap/1",1099),D(1100,1,{},I),l.Kb=function(e){return u(e,14).Nc()},F(Ke,"AbstractMapBasedMultimap/1methodref$spliterator$Type",1100),D(1101,732,sa,Uqt),l.sc=function(e,n){return new Lw(e,n)},F(Ke,"AbstractMapBasedMultimap/2",1101);var tEt=Ki(pr,"Map");D(1967,1,mv),l.wc=function(e){K9(this,e)},l.yc=function(e,n,r){return Qit(this,e,n,r)},l.$b=function(){this.vc().$b()},l.tc=function(e){return Tst(this,e)},l._b=function(e){return!!C4t(this,e,!1)},l.uc=function(e){var n,r,s;for(r=this.vc().Kc();r.Ob();)if(n=u(r.Pb(),42),s=n.dd(),Vt(e)===Vt(s)||e!=null&&yi(e,s))return!0;return!1},l.Fb=function(e){var n,r,s;if(e===this)return!0;if(!_t(e,83)||(s=u(e,83),this.gc()!=s.gc()))return!1;for(r=s.vc().Kc();r.Ob();)if(n=u(r.Pb(),42),!this.tc(n))return!1;return!0},l.xc=function(e){return ec(C4t(this,e,!1))},l.Hb=function(){return Tyt(this.vc())},l.dc=function(){return this.gc()==0},l.ec=function(){return new Sm(this)},l.zc=function(e,n){throw it(new Sg("Put not supported on this map"))},l.Ac=function(e){Y9(this,e)},l.Bc=function(e){return ec(C4t(this,e,!0))},l.gc=function(){return this.vc().gc()},l.Ib=function(){return Tae(this)},l.Cc=function(){return new v1(this)},F(pr,"AbstractMap",1967),D(1987,1967,mv),l.bc=function(){return new FR(this)},l.vc=function(){return $Kt(this)},l.ec=function(){var e;return e=this.g,e||(this.g=this.bc())},l.Cc=function(){var e;return e=this.i,e||(this.i=new yVt(this))},F(Ke,"Maps/ViewCachingAbstractMap",1987),D(389,1987,mv,l8),l.xc=function(e){return zon(this,e)},l.Bc=function(e){return rln(this,e)},l.$b=function(){this.d==this.e.c?this.e.$b():Vj(new Uwt(this))},l._b=function(e){return eie(this.d,e)},l.Ec=function(){return new Yk(this)},l.Dc=function(){return this.Ec()},l.Fb=function(e){return this===e||yi(this.d,e)},l.Hb=function(){return Hi(this.d)},l.ec=function(){return this.e.ec()},l.gc=function(){return this.d.gc()},l.Ib=function(){return $o(this.d)},F(Ke,"AbstractMapBasedMultimap/AsMap",389);var j1=Ki(Xo,"Iterable");D(28,1,xy),l.Jc=function(e){va(this,e)},l.Lc=function(){return this.Oc()},l.Nc=function(){return new _n(this,0)},l.Oc=function(){return new Tn(null,this.Nc())},l.Fc=function(e){throw it(new Sg("Add not supported on this collection"))},l.Gc=function(e){return Ua(this,e)},l.$b=function(){Dvt(this)},l.Hc=function(e){return ay(this,e,!1)},l.Ic=function(e){return ND(this,e)},l.dc=function(){return this.gc()==0},l.Mc=function(e){return ay(this,e,!0)},l.Pc=function(){return svt(this)},l.Qc=function(e){return eI(this,e)},l.Ib=function(){return eb(this)},F(pr,"AbstractCollection",28);var jh=Ki(pr,"Set");D(N1,28,zu),l.Nc=function(){return new _n(this,1)},l.Fb=function(e){return Yie(this,e)},l.Hb=function(){return Tyt(this)},F(pr,"AbstractSet",N1),D(1970,N1,zu),F(Ke,"Sets/ImprovedAbstractSet",1970),D(1971,1970,zu),l.$b=function(){this.Rc().$b()},l.Hc=function(e){return Lie(this,e)},l.dc=function(){return this.Rc().dc()},l.Mc=function(e){var n;return this.Hc(e)?(n=u(e,42),this.Rc().ec().Mc(n.cd())):!1},l.gc=function(){return this.Rc().gc()},F(Ke,"Maps/EntrySet",1971),D(1097,1971,zu,Yk),l.Hc=function(e){return Jyt(this.a.d.vc(),e)},l.Kc=function(){return new Uwt(this.a)},l.Rc=function(){return this.a},l.Mc=function(e){var n;return Jyt(this.a.d.vc(),e)?(n=u(e,42),San(this.a.e,n.cd()),!0):!1},l.Nc=function(){return XM(this.a.d.vc().Nc(),new nR(this.a))},F(Ke,"AbstractMapBasedMultimap/AsMap/AsMapEntries",1097),D(1098,1,{},nR),l.Kb=function(e){return MJt(this.a,u(e,42))},F(Ke,"AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type",1098),D(730,1,sa,Uwt),l.Nb=function(e){ba(this,e)},l.Pb=function(){var e;return e=u(this.b.Pb(),42),this.a=u(e.dd(),14),MJt(this.c,e)},l.Ob=function(){return this.b.Ob()},l.Qb=function(){i4(!!this.a),this.b.Qb(),this.c.e.d-=this.a.gc(),this.a.$b(),this.a=null},F(Ke,"AbstractMapBasedMultimap/AsMap/AsMapIterator",730),D(532,1970,zu,FR),l.$b=function(){this.b.$b()},l.Hc=function(e){return this.b._b(e)},l.Jc=function(e){Lr(e),this.b.wc(new Ctt(e))},l.dc=function(){return this.b.dc()},l.Kc=function(){return new FC(this.b.vc().Kc())},l.Mc=function(e){return this.b._b(e)?(this.b.Bc(e),!0):!1},l.gc=function(){return this.b.gc()},F(Ke,"Maps/KeySet",532),D(318,532,zu,K3),l.$b=function(){var e;Vj((e=this.b.vc().Kc(),new vbt(this,e)))},l.Ic=function(e){return this.b.ec().Ic(e)},l.Fb=function(e){return this===e||yi(this.b.ec(),e)},l.Hb=function(){return Hi(this.b.ec())},l.Kc=function(){var e;return e=this.b.vc().Kc(),new vbt(this,e)},l.Mc=function(e){var n,r;return r=0,n=u(this.b.Bc(e),14),n&&(r=n.gc(),n.$b(),this.a.d-=r),r>0},l.Nc=function(){return this.b.ec().Nc()},F(Ke,"AbstractMapBasedMultimap/KeySet",318),D(731,1,sa,vbt),l.Nb=function(e){ba(this,e)},l.Ob=function(){return this.c.Ob()},l.Pb=function(){return this.a=u(this.c.Pb(),42),this.a.cd()},l.Qb=function(){var e;i4(!!this.a),e=u(this.a.dd(),14),this.c.Qb(),this.b.a.d-=e.gc(),e.$b(),this.a=null},F(Ke,"AbstractMapBasedMultimap/KeySet/1",731),D(491,389,{83:1,161:1},HM),l.bc=function(){return this.Sc()},l.ec=function(){return this.Tc()},l.Sc=function(){return new mM(this.c,this.Uc())},l.Tc=function(){var e;return e=this.b,e||(this.b=this.Sc())},l.Uc=function(){return u(this.d,161)},F(Ke,"AbstractMapBasedMultimap/SortedAsMap",491),D(542,491,ufe,Dj),l.bc=function(){return new u8(this.a,u(u(this.d,161),171))},l.Sc=function(){return new u8(this.a,u(u(this.d,161),171))},l.ec=function(){var e;return e=this.b,u(e||(this.b=new u8(this.a,u(u(this.d,161),171))),271)},l.Tc=function(){var e;return e=this.b,u(e||(this.b=new u8(this.a,u(u(this.d,161),171))),271)},l.Uc=function(){return u(u(this.d,161),171)},F(Ke,"AbstractMapBasedMultimap/NavigableAsMap",542),D(490,318,lfe,mM),l.Nc=function(){return this.b.ec().Nc()},F(Ke,"AbstractMapBasedMultimap/SortedKeySet",490),D(388,490,Bxt,u8),F(Ke,"AbstractMapBasedMultimap/NavigableKeySet",388),D(541,28,xy,q$),l.Fc=function(e){var n,r;return cl(this),r=this.d.dc(),n=this.d.Fc(e),n&&(++this.f.d,r&&WM(this)),n},l.Gc=function(e){var n,r,s;return e.dc()?!1:(s=(cl(this),this.d.gc()),n=this.d.Gc(e),n&&(r=this.d.gc(),this.f.d+=r-s,s==0&&WM(this)),n)},l.$b=function(){var e;e=(cl(this),this.d.gc()),e!=0&&(this.d.$b(),this.f.d-=e,Kj(this))},l.Hc=function(e){return cl(this),this.d.Hc(e)},l.Ic=function(e){return cl(this),this.d.Ic(e)},l.Fb=function(e){return e===this?!0:(cl(this),yi(this.d,e))},l.Hb=function(){return cl(this),Hi(this.d)},l.Kc=function(){return cl(this),new Iwt(this)},l.Mc=function(e){var n;return cl(this),n=this.d.Mc(e),n&&(--this.f.d,Kj(this)),n},l.gc=function(){return iUt(this)},l.Nc=function(){return cl(this),this.d.Nc()},l.Ib=function(){return cl(this),$o(this.d)},F(Ke,"AbstractMapBasedMultimap/WrappedCollection",541);var wh=Ki(pr,"List");D(728,541,{20:1,28:1,14:1,15:1},ovt),l.ad=function(e){r4(this,e)},l.Nc=function(){return cl(this),this.d.Nc()},l.Vc=function(e,n){var r;cl(this),r=this.d.dc(),u(this.d,15).Vc(e,n),++this.a.d,r&&WM(this)},l.Wc=function(e,n){var r,s,o;return n.dc()?!1:(o=(cl(this),this.d.gc()),r=u(this.d,15).Wc(e,n),r&&(s=this.d.gc(),this.a.d+=s-o,o==0&&WM(this)),r)},l.Xb=function(e){return cl(this),u(this.d,15).Xb(e)},l.Xc=function(e){return cl(this),u(this.d,15).Xc(e)},l.Yc=function(){return cl(this),new BUt(this)},l.Zc=function(e){return cl(this),new XXt(this,e)},l.$c=function(e){var n;return cl(this),n=u(this.d,15).$c(e),--this.a.d,Kj(this),n},l._c=function(e,n){return cl(this),u(this.d,15)._c(e,n)},l.bd=function(e,n){return cl(this),zZt(this.a,this.e,u(this.d,15).bd(e,n),this.b?this.b:this)},F(Ke,"AbstractMapBasedMultimap/WrappedList",728),D(1096,728,{20:1,28:1,14:1,15:1,54:1},SWt),F(Ke,"AbstractMapBasedMultimap/RandomAccessWrappedList",1096),D(620,1,sa,Iwt),l.Nb=function(e){ba(this,e)},l.Ob=function(){return D8(this),this.b.Ob()},l.Pb=function(){return D8(this),this.b.Pb()},l.Qb=function(){lWt(this)},F(Ke,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",620),D(729,620,n0,BUt,XXt),l.Qb=function(){lWt(this)},l.Rb=function(e){var n;n=iUt(this.a)==0,(D8(this),u(this.b,125)).Rb(e),++this.a.a.d,n&&WM(this.a)},l.Sb=function(){return(D8(this),u(this.b,125)).Sb()},l.Tb=function(){return(D8(this),u(this.b,125)).Tb()},l.Ub=function(){return(D8(this),u(this.b,125)).Ub()},l.Vb=function(){return(D8(this),u(this.b,125)).Vb()},l.Wb=function(e){(D8(this),u(this.b,125)).Wb(e)},F(Ke,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",729),D(727,541,lfe,J2t),l.Nc=function(){return cl(this),this.d.Nc()},F(Ke,"AbstractMapBasedMultimap/WrappedSortedSet",727),D(1095,727,Bxt,LUt),F(Ke,"AbstractMapBasedMultimap/WrappedNavigableSet",1095),D(1094,541,zu,zWt),l.Nc=function(){return cl(this),this.d.Nc()},F(Ke,"AbstractMapBasedMultimap/WrappedSet",1094),D(1103,1,{},B),l.Kb=function(e){return Oan(u(e,42))},F(Ke,"AbstractMapBasedMultimap/lambda$1$Type",1103),D(1102,1,{},ftt),l.Kb=function(e){return new Lw(this.a,e)},F(Ke,"AbstractMapBasedMultimap/lambda$2$Type",1102);var P2=Ki(pr,"Map/Entry");D(345,1,zq),l.Fb=function(e){var n;return _t(e,42)?(n=u(e,42),pd(this.cd(),n.cd())&&pd(this.dd(),n.dd())):!1},l.Hb=function(){var e,n;return e=this.cd(),n=this.dd(),(e==null?0:Hi(e))^(n==null?0:Hi(n))},l.ed=function(e){throw it(new Or)},l.Ib=function(){return this.cd()+"="+this.dd()},F(Ke,hfe,345),D(1988,28,xy),l.$b=function(){this.fd().$b()},l.Hc=function(e){var n;return _t(e,42)?(n=u(e,42),dsn(this.fd(),n.cd(),n.dd())):!1},l.Mc=function(e){var n;return _t(e,42)?(n=u(e,42),xZt(this.fd(),n.cd(),n.dd())):!1},l.gc=function(){return this.fd().d},F(Ke,"Multimaps/Entries",1988),D(733,1988,xy,nM),l.Kc=function(){return this.a.kc()},l.fd=function(){return this.a},l.Nc=function(){return this.a.lc()},F(Ke,"AbstractMultimap/Entries",733),D(734,733,zu,Ypt),l.Nc=function(){return this.a.lc()},l.Fb=function(e){return H4t(this,e)},l.Hb=function(){return kne(this)},F(Ke,"AbstractMultimap/EntrySet",734),D(735,28,xy,I3),l.$b=function(){this.a.$b()},l.Hc=function(e){return Qun(this.a,e)},l.Kc=function(){return this.a.nc()},l.gc=function(){return this.a.d},l.Nc=function(){return this.a.oc()},F(Ke,"AbstractMultimap/Values",735),D(1989,28,{835:1,20:1,28:1,14:1}),l.Jc=function(e){Lr(e),Q3(this).Jc(new Ttt(e))},l.Nc=function(){var e;return e=Q3(this).Nc(),zst(e,new vt,64|e.qd()&1296,this.a.d)},l.Fc=function(e){return rbt(),!0},l.Gc=function(e){return Lr(this),Lr(e),_t(e,543)?vsn(u(e,835)):!e.dc()&&oit(this,e.Kc())},l.Hc=function(e){var n;return n=u(sy(Wx(this.a),e),14),(n?n.gc():0)>0},l.Fb=function(e){return h2n(this,e)},l.Hb=function(){return Hi(Q3(this))},l.dc=function(){return Q3(this).dc()},l.Mc=function(e){return zoe(this,e,1)>0},l.Ib=function(){return $o(Q3(this))},F(Ke,"AbstractMultiset",1989),D(1991,1970,zu),l.$b=function(){cz(this.a.a)},l.Hc=function(e){var n,r;return _t(e,492)?(r=u(e,416),u(r.a.dd(),14).gc()<=0?!1:(n=QQt(this.a,r.a.cd()),n==u(r.a.dd(),14).gc())):!1},l.Mc=function(e){var n,r,s,o;return _t(e,492)&&(r=u(e,416),n=r.a.cd(),s=u(r.a.dd(),14).gc(),s!=0)?(o=this.a,Jpn(o,n,s)):!1},F(Ke,"Multisets/EntrySet",1991),D(1109,1991,zu,rM),l.Kc=function(){return new tHt($Kt(Wx(this.a.a)).Kc())},l.gc=function(){return Wx(this.a.a).gc()},F(Ke,"AbstractMultiset/EntrySet",1109),D(619,726,T2),l.hc=function(){return this.gd()},l.jc=function(){return this.hd()},l.cc=function(e){return this.jd(e)},l.fc=function(e){return this.kd(e)},l.Zb=function(){var e;return e=this.f,e||(this.f=this.ac())},l.hd=function(){return wn(),wn(),rV},l.Fb=function(e){return Pit(this,e)},l.jd=function(e){return u(Ai(this,e),21)},l.kd=function(e){return u(GD(this,e),21)},l.mc=function(e){return wn(),new s8(u(e,21))},l.pc=function(e,n){return new zWt(this,e,u(n,21))},F(Ke,"AbstractSetMultimap",619),D(1657,619,T2),l.hc=function(){return new Op(this.b)},l.gd=function(){return new Op(this.b)},l.jc=function(){return kvt(new Op(this.b))},l.hd=function(){return kvt(new Op(this.b))},l.cc=function(e){return u(u(Ai(this,e),21),84)},l.jd=function(e){return u(u(Ai(this,e),21),84)},l.fc=function(e){return u(u(GD(this,e),21),84)},l.kd=function(e){return u(u(GD(this,e),21),84)},l.mc=function(e){return _t(e,271)?kvt(u(e,271)):(wn(),new I2t(u(e,84)))},l.Zb=function(){var e;return e=this.f,e||(this.f=_t(this.c,171)?new Dj(this,u(this.c,171)):_t(this.c,161)?new HM(this,u(this.c,161)):new l8(this,this.c))},l.pc=function(e,n){return _t(n,271)?new LUt(this,e,u(n,271)):new J2t(this,e,u(n,84))},F(Ke,"AbstractSortedSetMultimap",1657),D(1658,1657,T2),l.Zb=function(){var e;return e=this.f,u(u(e||(this.f=_t(this.c,171)?new Dj(this,u(this.c,171)):_t(this.c,161)?new HM(this,u(this.c,161)):new l8(this,this.c)),161),171)},l.ec=function(){var e;return e=this.i,u(u(e||(this.i=_t(this.c,171)?new u8(this,u(this.c,171)):_t(this.c,161)?new mM(this,u(this.c,161)):new K3(this,this.c)),84),271)},l.bc=function(){return _t(this.c,171)?new u8(this,u(this.c,171)):_t(this.c,161)?new mM(this,u(this.c,161)):new K3(this,this.c)},F(Ke,"AbstractSortedKeySortedSetMultimap",1658),D(2010,1,{1947:1}),l.Fb=function(e){return qdn(this,e)},l.Hb=function(){var e;return Tyt((e=this.g,e||(this.g=new yC(this))))},l.Ib=function(){var e;return Tae((e=this.f,e||(this.f=new T2t(this))))},F(Ke,"AbstractTable",2010),D(665,N1,zu,yC),l.$b=function(){lHt()},l.Hc=function(e){var n,r;return _t(e,468)?(n=u(e,682),r=u(sy(uXt(this.a),Np(n.c.e,n.b)),83),!!r&&Jyt(r.vc(),new Lw(Np(n.c.c,n.a),t6(n.c,n.b,n.a)))):!1},l.Kc=function(){return _rn(this.a)},l.Mc=function(e){var n,r;return _t(e,468)?(n=u(e,682),r=u(sy(uXt(this.a),Np(n.c.e,n.b)),83),!!r&&Tln(r.vc(),new Lw(Np(n.c.c,n.a),t6(n.c,n.b,n.a)))):!1},l.gc=function(){return xKt(this.a)},l.Nc=function(){return xsn(this.a)},F(Ke,"AbstractTable/CellSet",665),D(1928,28,xy,dtt),l.$b=function(){lHt()},l.Hc=function(e){return O0n(this.a,e)},l.Kc=function(){return Srn(this.a)},l.gc=function(){return xKt(this.a)},l.Nc=function(){return TZt(this.a)},F(Ke,"AbstractTable/Values",1928),D(1632,1631,T2),F(Ke,"ArrayListMultimapGwtSerializationDependencies",1632),D(513,1632,T2,wet,Wvt),l.hc=function(){return new Xc(this.a)},l.a=0,F(Ke,"ArrayListMultimap",513),D(664,2010,{664:1,1947:1,3:1},Qoe),F(Ke,"ArrayTable",664),D(1924,386,NE,iWt),l.Xb=function(e){return new Ayt(this.a,e)},F(Ke,"ArrayTable/1",1924),D(1925,1,{},eR),l.ld=function(e){return new Ayt(this.a,e)},F(Ke,"ArrayTable/1methodref$getCell$Type",1925),D(2011,1,{682:1}),l.Fb=function(e){var n;return e===this?!0:_t(e,468)?(n=u(e,682),pd(Np(this.c.e,this.b),Np(n.c.e,n.b))&&pd(Np(this.c.c,this.a),Np(n.c.c,n.a))&&pd(t6(this.c,this.b,this.a),t6(n.c,n.b,n.a))):!1},l.Hb=function(){return Az(lt(ct(Qn,1),De,1,5,[Np(this.c.e,this.b),Np(this.c.c,this.a),t6(this.c,this.b,this.a)]))},l.Ib=function(){return"("+Np(this.c.e,this.b)+","+Np(this.c.c,this.a)+")="+t6(this.c,this.b,this.a)},F(Ke,"Tables/AbstractCell",2011),D(468,2011,{468:1,682:1},Ayt),l.a=0,l.b=0,l.d=0,F(Ke,"ArrayTable/2",468),D(1927,1,{},gx),l.ld=function(e){return Fte(this.a,e)},F(Ke,"ArrayTable/2methodref$getValue$Type",1927),D(1926,386,NE,sWt),l.Xb=function(e){return Fte(this.a,e)},F(Ke,"ArrayTable/3",1926),D(1979,1967,mv),l.$b=function(){Vj(this.kc())},l.vc=function(){return new bx(this)},l.lc=function(){return new BXt(this.kc(),this.gc())},F(Ke,"Maps/IteratorBasedAbstractMap",1979),D(828,1979,mv),l.$b=function(){throw it(new Or)},l._b=function(e){return LHt(this.c,e)},l.kc=function(){return new aWt(this,this.c.b.c.gc())},l.lc=function(){return Bnt(this.c.b.c.gc(),16,new bw(this))},l.xc=function(e){var n;return n=u(x9(this.c,e),19),n?this.nd(n.a):null},l.dc=function(){return this.c.b.c.dc()},l.ec=function(){return Gnt(this.c)},l.zc=function(e,n){var r;if(r=u(x9(this.c,e),19),!r)throw it(new Fn(this.md()+" "+e+" not in "+Gnt(this.c)));return this.od(r.a,n)},l.Bc=function(e){throw it(new Or)},l.gc=function(){return this.c.b.c.gc()},F(Ke,"ArrayTable/ArrayMap",828),D(1923,1,{},bw),l.ld=function(e){return hXt(this.a,e)},F(Ke,"ArrayTable/ArrayMap/0methodref$getEntry$Type",1923),D(1921,345,zq,uVt),l.cd=function(){return qQe(this.a,this.b)},l.dd=function(){return this.a.nd(this.b)},l.ed=function(e){return this.a.od(this.b,e)},l.b=0,F(Ke,"ArrayTable/ArrayMap/1",1921),D(1922,386,NE,aWt),l.Xb=function(e){return hXt(this.a,e)},F(Ke,"ArrayTable/ArrayMap/2",1922),D(1920,828,mv,ZKt),l.md=function(){return"Column"},l.nd=function(e){return t6(this.b,this.a,e)},l.od=function(e,n){return ore(this.b,this.a,e,n)},l.a=0,F(Ke,"ArrayTable/Row",1920),D(829,828,mv,T2t),l.nd=function(e){return new ZKt(this.a,e)},l.zc=function(e,n){return u(n,83),CKe()},l.od=function(e,n){return u(n,83),_Ke()},l.md=function(){return"Row"},F(Ke,"ArrayTable/RowMap",829),D(1120,1,Ih,lVt),l.qd=function(){return this.a.qd()&-262},l.rd=function(){return this.a.rd()},l.Nb=function(e){this.a.Nb(new sVt(e,this.b))},l.sd=function(e){return this.a.sd(new iVt(e,this.b))},F(Ke,"CollectSpliterators/1",1120),D(1121,1,Un,iVt),l.td=function(e){this.a.td(this.b.Kb(e))},F(Ke,"CollectSpliterators/1/lambda$0$Type",1121),D(1122,1,Un,sVt),l.td=function(e){this.a.td(this.b.Kb(e))},F(Ke,"CollectSpliterators/1/lambda$1$Type",1122),D(1123,1,Ih,FZt),l.qd=function(){return this.a},l.rd=function(){return this.d&&(this.b=jUt(this.b,this.d.rd())),jUt(this.b,0)},l.Nb=function(e){this.d&&(this.d.Nb(e),this.d=null),this.c.Nb(new rVt(this.e,e)),this.b=0},l.sd=function(e){for(;;){if(this.d&&this.d.sd(e))return u9(this.b,qq)&&(this.b=Jp(this.b,1)),!0;if(this.d=null,!this.c.sd(new aVt(this,this.e)))return!1}},l.a=0,l.b=0,F(Ke,"CollectSpliterators/1FlatMapSpliterator",1123),D(1124,1,Un,aVt),l.td=function(e){GZe(this.a,this.b,e)},F(Ke,"CollectSpliterators/1FlatMapSpliterator/lambda$0$Type",1124),D(1125,1,Un,rVt),l.td=function(e){LQe(this.b,this.a,e)},F(Ke,"CollectSpliterators/1FlatMapSpliterator/lambda$1$Type",1125),D(1117,1,Ih,wYt),l.qd=function(){return 16464|this.b},l.rd=function(){return this.a.rd()},l.Nb=function(e){this.a.xe(new cVt(e,this.c))},l.sd=function(e){return this.a.ye(new oVt(e,this.c))},l.b=0,F(Ke,"CollectSpliterators/1WithCharacteristics",1117),D(1118,1,OI,oVt),l.ud=function(e){this.a.td(this.b.ld(e))},F(Ke,"CollectSpliterators/1WithCharacteristics/lambda$0$Type",1118),D(1119,1,OI,cVt),l.ud=function(e){this.a.td(this.b.ld(e))},F(Ke,"CollectSpliterators/1WithCharacteristics/lambda$1$Type",1119),D(245,1,Uat),l.wd=function(e){return this.vd(u(e,245))},l.vd=function(e){var n;return e==(oet(),Sut)?1:e==(cet(),_ut)?-1:(n=(zj(),ID(this.a,e.a)),n!=0?n:_t(this,519)==_t(e,519)?0:_t(this,519)?1:-1)},l.zd=function(){return this.a},l.Fb=function(e){return D3t(this,e)},F(Ke,"Cut",245),D(1761,245,Uat,dHt),l.vd=function(e){return e==this?0:1},l.xd=function(e){throw it(new Mpt)},l.yd=function(e){e.a+="+∞)"},l.zd=function(){throw it(new No(dfe))},l.Hb=function(){return Gd(),$3t(this)},l.Ad=function(e){return!1},l.Ib=function(){return"+∞"};var _ut;F(Ke,"Cut/AboveAll",1761),D(519,245,{245:1,519:1,3:1,35:1},hWt),l.xd=function(e){hc((e.a+="(",e),this.a)},l.yd=function(e){qp(hc(e,this.a),93)},l.Hb=function(){return~Hi(this.a)},l.Ad=function(e){return zj(),ID(this.a,e)<0},l.Ib=function(){return"/"+this.a+"\\"},F(Ke,"Cut/AboveValue",519),D(1760,245,Uat,gHt),l.vd=function(e){return e==this?0:-1},l.xd=function(e){e.a+="(-∞"},l.yd=function(e){throw it(new Mpt)},l.zd=function(){throw it(new No(dfe))},l.Hb=function(){return Gd(),$3t(this)},l.Ad=function(e){return!0},l.Ib=function(){return"-∞"};var Sut;F(Ke,"Cut/BelowAll",1760),D(1762,245,Uat,fWt),l.xd=function(e){hc((e.a+="[",e),this.a)},l.yd=function(e){qp(hc(e,this.a),41)},l.Hb=function(){return Hi(this.a)},l.Ad=function(e){return zj(),ID(this.a,e)<=0},l.Ib=function(){return"\\"+this.a+"/"},F(Ke,"Cut/BelowValue",1762),D(537,1,r0),l.Jc=function(e){va(this,e)},l.Ib=function(){return thn(u(g$(this,"use Optional.orNull() instead of Optional.or(null)"),20).Kc())},F(Ke,"FluentIterable",537),D(433,537,r0,f9),l.Kc=function(){return new ar(lr(this.a.Kc(),new z))},F(Ke,"FluentIterable/2",433),D(1046,537,r0,bUt),l.Kc=function(){return zp(this)},F(Ke,"FluentIterable/3",1046),D(708,386,NE,C2t),l.Xb=function(e){return this.a[e].Kc()},F(Ke,"FluentIterable/3/1",708),D(1972,1,{}),l.Ib=function(){return $o(this.Bd().b)},F(Ke,"ForwardingObject",1972),D(1973,1972,gfe),l.Bd=function(){return this.Cd()},l.Jc=function(e){va(this,e)},l.Lc=function(){return this.Oc()},l.Nc=function(){return new _n(this,0)},l.Oc=function(){return new Tn(null,this.Nc())},l.Fc=function(e){return this.Cd(),OHt()},l.Gc=function(e){return this.Cd(),PHt()},l.$b=function(){this.Cd(),FHt()},l.Hc=function(e){return this.Cd().Hc(e)},l.Ic=function(e){return this.Cd().Ic(e)},l.dc=function(){return this.Cd().b.dc()},l.Kc=function(){return this.Cd().Kc()},l.Mc=function(e){return this.Cd(),NHt()},l.gc=function(){return this.Cd().b.gc()},l.Pc=function(){return this.Cd().Pc()},l.Qc=function(e){return this.Cd().Qc(e)},F(Ke,"ForwardingCollection",1973),D(1980,28,Rxt),l.Kc=function(){return this.Ed()},l.Fc=function(e){throw it(new Or)},l.Gc=function(e){throw it(new Or)},l.$b=function(){throw it(new Or)},l.Hc=function(e){return e!=null&&ay(this,e,!1)},l.Dd=function(){switch(this.gc()){case 0:return Wm(),Wm(),Aut;case 1:return Wm(),new Rnt(Lr(this.Ed().Pb()));default:return new JKt(this,this.Pc())}},l.Mc=function(e){throw it(new Or)},F(Ke,"ImmutableCollection",1980),D(712,1980,Rxt,Apt),l.Kc=function(){return e6(this.a.Kc())},l.Hc=function(e){return e!=null&&this.a.Hc(e)},l.Ic=function(e){return this.a.Ic(e)},l.dc=function(){return this.a.dc()},l.Ed=function(){return e6(this.a.Kc())},l.gc=function(){return this.a.gc()},l.Pc=function(){return this.a.Pc()},l.Qc=function(e){return this.a.Qc(e)},l.Ib=function(){return $o(this.a)},F(Ke,"ForwardingImmutableCollection",712),D(152,1980,M_),l.Kc=function(){return this.Ed()},l.Yc=function(){return this.Fd(0)},l.Zc=function(e){return this.Fd(e)},l.ad=function(e){r4(this,e)},l.Nc=function(){return new _n(this,16)},l.bd=function(e,n){return this.Gd(e,n)},l.Vc=function(e,n){throw it(new Or)},l.Wc=function(e,n){throw it(new Or)},l.Fb=function(e){return Kbn(this,e)},l.Hb=function(){return aun(this)},l.Xc=function(e){return e==null?-1:m1n(this,e)},l.Ed=function(){return this.Fd(0)},l.Fd=function(e){return $2t(this,e)},l.$c=function(e){throw it(new Or)},l._c=function(e,n){throw it(new Or)},l.Gd=function(e,n){var r;return Dz((r=new xVt(this),new Qd(r,e,n)))};var Aut;F(Ke,"ImmutableList",152),D(2006,152,M_),l.Kc=function(){return e6(this.Hd().Kc())},l.bd=function(e,n){return Dz(this.Hd().bd(e,n))},l.Hc=function(e){return e!=null&&this.Hd().Hc(e)},l.Ic=function(e){return this.Hd().Ic(e)},l.Fb=function(e){return yi(this.Hd(),e)},l.Xb=function(e){return Np(this,e)},l.Hb=function(){return Hi(this.Hd())},l.Xc=function(e){return this.Hd().Xc(e)},l.dc=function(){return this.Hd().dc()},l.Ed=function(){return e6(this.Hd().Kc())},l.gc=function(){return this.Hd().gc()},l.Gd=function(e,n){return Dz(this.Hd().bd(e,n))},l.Pc=function(){return this.Hd().Qc(Nt(Qn,De,1,this.Hd().gc(),5,1))},l.Qc=function(e){return this.Hd().Qc(e)},l.Ib=function(){return $o(this.Hd())},F(Ke,"ForwardingImmutableList",2006),D(714,1,BE),l.vc=function(){return Rw(this)},l.wc=function(e){K9(this,e)},l.ec=function(){return Gnt(this)},l.yc=function(e,n,r){return Qit(this,e,n,r)},l.Cc=function(){return this.Ld()},l.$b=function(){throw it(new Or)},l._b=function(e){return this.xc(e)!=null},l.uc=function(e){return this.Ld().Hc(e)},l.Jd=function(){return new iqt(this)},l.Kd=function(){return new sqt(this)},l.Fb=function(e){return Zun(this,e)},l.Hb=function(){return Rw(this).Hb()},l.dc=function(){return this.gc()==0},l.zc=function(e,n){return SKe()},l.Bc=function(e){throw it(new Or)},l.Ib=function(){return Mgn(this)},l.Ld=function(){return this.e?this.e:this.e=this.Kd()},l.c=null,l.d=null,l.e=null;var Age;F(Ke,"ImmutableMap",714),D(715,714,BE),l._b=function(e){return LHt(this,e)},l.uc=function(e){return CVt(this.b,e)},l.Id=function(){return tie(new kC(this))},l.Jd=function(){return tie(OXt(this.b))},l.Kd=function(){return gd(),new Apt(IXt(this.b))},l.Fb=function(e){return _Vt(this.b,e)},l.xc=function(e){return x9(this,e)},l.Hb=function(){return Hi(this.b.c)},l.dc=function(){return this.b.c.dc()},l.gc=function(){return this.b.c.gc()},l.Ib=function(){return $o(this.b.c)},F(Ke,"ForwardingImmutableMap",715),D(1974,1973,Wat),l.Bd=function(){return this.Md()},l.Cd=function(){return this.Md()},l.Nc=function(){return new _n(this,1)},l.Fb=function(e){return e===this||this.Md().Fb(e)},l.Hb=function(){return this.Md().Hb()},F(Ke,"ForwardingSet",1974),D(1069,1974,Wat,kC),l.Bd=function(){return L8(this.a.b)},l.Cd=function(){return L8(this.a.b)},l.Hc=function(e){if(_t(e,42)&&u(e,42).cd()==null)return!1;try{return TVt(L8(this.a.b),e)}catch(n){if(n=Wi(n),_t(n,205))return!1;throw it(n)}},l.Md=function(){return L8(this.a.b)},l.Qc=function(e){var n;return n=gQt(L8(this.a.b),e),L8(this.a.b).b.gc()=0?"+":"")+(r/60|0),n=gj(b.Math.abs(r)%60),(Pae(),Vge)[this.q.getDay()]+" "+Gge[this.q.getMonth()]+" "+gj(this.q.getDate())+" "+gj(this.q.getHours())+":"+gj(this.q.getMinutes())+":"+gj(this.q.getSeconds())+" GMT"+e+n+" "+this.q.getFullYear()};var tV=F(pr,"Date",199);D(1915,199,Efe,oae),l.a=!1,l.b=0,l.c=0,l.d=0,l.e=0,l.f=0,l.g=!1,l.i=0,l.j=0,l.k=0,l.n=0,l.o=0,l.p=0,F("com.google.gwt.i18n.shared.impl","DateRecord",1915),D(1966,1,{}),l.fe=function(){return null},l.ge=function(){return null},l.he=function(){return null},l.ie=function(){return null},l.je=function(){return null},F(v6,"JSONValue",1966),D(216,1966,{216:1},Eg,wx),l.Fb=function(e){return _t(e,216)?Xvt(this.a,u(e,216).a):!1},l.ee=function(){return KYe},l.Hb=function(){return Bvt(this.a)},l.fe=function(){return this},l.Ib=function(){var e,n,r;for(r=new Ol("["),n=0,e=this.a.length;n0&&(r.a+=","),hc(r,Jm(this,n));return r.a+="]",r.a},F(v6,"JSONArray",216),D(483,1966,{483:1},Xk),l.ee=function(){return XYe},l.ge=function(){return this},l.Ib=function(){return Nn(),""+this.a},l.a=!1;var Fge,Nge;F(v6,"JSONBoolean",483),D(985,60,Q0,eHt),F(v6,"JSONException",985),D(1023,1966,{},ft),l.ee=function(){return eKe},l.Ib=function(){return _u};var Bge;F(v6,"JSONNull",1023),D(258,1966,{258:1},EC),l.Fb=function(e){return _t(e,258)?this.a==u(e,258).a:!1},l.ee=function(){return QYe},l.Hb=function(){return p8(this.a)},l.he=function(){return this},l.Ib=function(){return this.a+""},l.a=0,F(v6,"JSONNumber",258),D(183,1966,{183:1},_x,Qk),l.Fb=function(e){return _t(e,183)?Xvt(this.a,u(e,183).a):!1},l.ee=function(){return ZYe},l.Hb=function(){return Bvt(this.a)},l.ie=function(){return this},l.Ib=function(){var e,n,r,s,o,h,d;for(d=new Ol("{"),e=!0,h=yit(this,Nt(Ae,ee,2,0,6,1)),r=h,s=0,o=r.length;s=0?":"+this.c:"")+")"},l.c=0;var wEt=F(Xo,"StackTraceElement",310);Sge={3:1,475:1,35:1,2:1};var Ae=F(Xo,jxt,2);D(107,418,{475:1},Ag,$C,_h),F(Xo,"StringBuffer",107),D(100,418,{475:1},Mp,Im,Ol),F(Xo,"StringBuilder",100),D(687,73,bot,sbt),F(Xo,"StringIndexOutOfBoundsException",687),D(2043,1,{});var vEt;D(844,1,{},Ft),l.Kb=function(e){return u(e,78).e},F(Xo,"Throwable/lambda$0$Type",844),D(41,60,{3:1,102:1,60:1,78:1,41:1},Or,Sg),F(Xo,"UnsupportedOperationException",41),D(240,236,{3:1,35:1,236:1,240:1},SD,gbt),l.wd=function(e){return gle(this,u(e,240))},l.ke=function(){return dy(Xle(this))},l.Fb=function(e){var n;return this===e?!0:_t(e,240)?(n=u(e,240),this.e==n.e&&gle(this,n)==0):!1},l.Hb=function(){var e;return this.b!=0?this.b:this.a<54?(e=Tu(this.f),this.b=Ar(Ns(e,-1)),this.b=33*this.b+Ar(Ns($p(e,32),-1)),this.b=17*this.b+ps(this.e),this.b):(this.b=17*Yre(this.c)+ps(this.e),this.b)},l.Ib=function(){return Xle(this)},l.a=0,l.b=0,l.d=0,l.e=0,l.f=0;var zge,N2,mEt,yEt,xEt,kEt,EEt,TEt,Nut=F("java.math","BigDecimal",240);D(91,236,{3:1,35:1,236:1,91:1},j3t,Ng,X3,x4t,Qie,Rp),l.wd=function(e){return Uie(this,u(e,91))},l.ke=function(){return dy(Hat(this,0))},l.Fb=function(e){return v3t(this,e)},l.Hb=function(){return Yre(this)},l.Ib=function(){return Hat(this,0)},l.b=-2,l.c=0,l.d=0,l.e=0;var But,eV,CEt,Rut,nV,s7,j4=F("java.math","BigInteger",91),qge,Hge,D6,lS;D(488,1967,mv),l.$b=function(){Xu(this)},l._b=function(e){return Tl(this,e)},l.uc=function(e){return Ire(this,e,this.g)||Ire(this,e,this.f)},l.vc=function(){return new Cg(this)},l.xc=function(e){return tr(this,e)},l.zc=function(e,n){return ki(this,e,n)},l.Bc=function(e){return Jx(this,e)},l.gc=function(){return HC(this)},F(pr,"AbstractHashMap",488),D(261,N1,zu,Cg),l.$b=function(){this.a.$b()},l.Hc=function(e){return MZt(this,e)},l.Kc=function(){return new p2(this.a)},l.Mc=function(e){var n;return MZt(this,e)?(n=u(e,42).cd(),this.a.Bc(n),!0):!1},l.gc=function(){return this.a.gc()},F(pr,"AbstractHashMap/EntrySet",261),D(262,1,sa,p2),l.Nb=function(e){ba(this,e)},l.Pb=function(){return Zw(this)},l.Ob=function(){return this.b},l.Qb=function(){Ste(this)},l.b=!1,F(pr,"AbstractHashMap/EntrySetIterator",262),D(417,1,sa,mx),l.Nb=function(e){ba(this,e)},l.Ob=function(){return TM(this)},l.Pb=function(){return ZXt(this)},l.Qb=function(){Cl(this)},l.b=0,l.c=-1,F(pr,"AbstractList/IteratorImpl",417),D(96,417,n0,da),l.Qb=function(){Cl(this)},l.Rb=function(e){zm(this,e)},l.Sb=function(){return this.b>0},l.Tb=function(){return this.b},l.Ub=function(){return Zn(this.b>0),this.a.Xb(this.c=--this.b)},l.Vb=function(){return this.b-1},l.Wb=function(e){Rm(this.c!=-1),this.a._c(this.c,e)},F(pr,"AbstractList/ListIteratorImpl",96),D(219,52,jE,Qd),l.Vc=function(e,n){Km(e,this.b),this.c.Vc(this.a+e,n),++this.b},l.Xb=function(e){return An(e,this.b),this.c.Xb(this.a+e)},l.$c=function(e){var n;return An(e,this.b),n=this.c.$c(this.a+e),--this.b,n},l._c=function(e,n){return An(e,this.b),this.c._c(this.a+e,n)},l.gc=function(){return this.b},l.a=0,l.b=0,F(pr,"AbstractList/SubList",219),D(384,N1,zu,Sm),l.$b=function(){this.a.$b()},l.Hc=function(e){return this.a._b(e)},l.Kc=function(){var e;return e=this.a.vc().Kc(),new cM(e)},l.Mc=function(e){return this.a._b(e)?(this.a.Bc(e),!0):!1},l.gc=function(){return this.a.gc()},F(pr,"AbstractMap/1",384),D(691,1,sa,cM),l.Nb=function(e){ba(this,e)},l.Ob=function(){return this.a.Ob()},l.Pb=function(){var e;return e=u(this.a.Pb(),42),e.cd()},l.Qb=function(){this.a.Qb()},F(pr,"AbstractMap/1/1",691),D(226,28,xy,v1),l.$b=function(){this.a.$b()},l.Hc=function(e){return this.a.uc(e)},l.Kc=function(){var e;return e=this.a.vc().Kc(),new m1(e)},l.gc=function(){return this.a.gc()},F(pr,"AbstractMap/2",226),D(294,1,sa,m1),l.Nb=function(e){ba(this,e)},l.Ob=function(){return this.a.Ob()},l.Pb=function(){var e;return e=u(this.a.Pb(),42),e.dd()},l.Qb=function(){this.a.Qb()},F(pr,"AbstractMap/2/1",294),D(484,1,{484:1,42:1}),l.Fb=function(e){var n;return _t(e,42)?(n=u(e,42),Fc(this.d,n.cd())&&Fc(this.e,n.dd())):!1},l.cd=function(){return this.d},l.dd=function(){return this.e},l.Hb=function(){return U3(this.d)^U3(this.e)},l.ed=function(e){return awt(this,e)},l.Ib=function(){return this.d+"="+this.e},F(pr,"AbstractMap/AbstractEntry",484),D(383,484,{484:1,383:1,42:1},KR),F(pr,"AbstractMap/SimpleEntry",383),D(1984,1,yot),l.Fb=function(e){var n;return _t(e,42)?(n=u(e,42),Fc(this.cd(),n.cd())&&Fc(this.dd(),n.dd())):!1},l.Hb=function(){return U3(this.cd())^U3(this.dd())},l.Ib=function(){return this.cd()+"="+this.dd()},F(pr,hfe,1984),D(1992,1967,ufe),l.tc=function(e){return RJt(this,e)},l._b=function(e){return _nt(this,e)},l.vc=function(){return new x(this)},l.xc=function(e){var n;return n=e,ec(jyt(this,n))},l.ec=function(){return new y(this)},F(pr,"AbstractNavigableMap",1992),D(739,N1,zu,x),l.Hc=function(e){return _t(e,42)&&RJt(this.b,u(e,42))},l.Kc=function(){return new y9(this.b)},l.Mc=function(e){var n;return _t(e,42)?(n=u(e,42),Cte(this.b,n)):!1},l.gc=function(){return this.b.c},F(pr,"AbstractNavigableMap/EntrySet",739),D(493,N1,Bxt,y),l.Nc=function(){return new WR(this)},l.$b=function(){NC(this.a)},l.Hc=function(e){return _nt(this.a,e)},l.Kc=function(){var e;return e=new y9(new w9(this.a).b),new g(e)},l.Mc=function(e){return _nt(this.a,e)?(P9(this.a,e),!0):!1},l.gc=function(){return this.a.c},F(pr,"AbstractNavigableMap/NavigableKeySet",493),D(494,1,sa,g),l.Nb=function(e){ba(this,e)},l.Ob=function(){return TM(this.a.a)},l.Pb=function(){var e;return e=Lj(this.a),e.cd()},l.Qb=function(){AYt(this.a)},F(pr,"AbstractNavigableMap/NavigableKeySet/1",494),D(2004,28,xy),l.Fc=function(e){return R8(xE(this,e)),!0},l.Gc=function(e){return On(e),Bj(e!=this,"Can't add a queue to itself"),Ua(this,e)},l.$b=function(){for(;cit(this)!=null;);},F(pr,"AbstractQueue",2004),D(302,28,{4:1,20:1,28:1,14:1},B3,eZt),l.Fc=function(e){return imt(this,e),!0},l.$b=function(){lmt(this)},l.Hc=function(e){return ere(new O9(this),e)},l.dc=function(){return BC(this)},l.Kc=function(){return new O9(this)},l.Mc=function(e){return hin(new O9(this),e)},l.gc=function(){return this.c-this.b&this.a.length-1},l.Nc=function(){return new _n(this,272)},l.Qc=function(e){var n;return n=this.c-this.b&this.a.length-1,e.lengthn&&ts(e,n,null),e},l.b=0,l.c=0,F(pr,"ArrayDeque",302),D(446,1,sa,O9),l.Nb=function(e){ba(this,e)},l.Ob=function(){return this.a!=this.b},l.Pb=function(){return Mz(this)},l.Qb=function(){Jee(this)},l.a=0,l.b=0,l.c=-1,F(pr,"ArrayDeque/IteratorImpl",446),D(12,52,_fe,he,Xc,Bu),l.Vc=function(e,n){Hm(this,e,n)},l.Fc=function(e){return le(this,e)},l.Wc=function(e,n){return Gyt(this,e,n)},l.Gc=function(e){return Ls(this,e)},l.$b=function(){this.c=Nt(Qn,De,1,0,5,1)},l.Hc=function(e){return Ro(this,e,0)!=-1},l.Jc=function(e){xu(this,e)},l.Xb=function(e){return Ne(this,e)},l.Xc=function(e){return Ro(this,e,0)},l.dc=function(){return this.c.length==0},l.Kc=function(){return new S(this)},l.$c=function(e){return Fg(this,e)},l.Mc=function(e){return mu(this,e)},l.Ud=function(e,n){tZt(this,e,n)},l._c=function(e,n){return ch(this,e,n)},l.gc=function(){return this.c.length},l.ad=function(e){Zs(this,e)},l.Pc=function(){return pnt(this)},l.Qc=function(e){return P1(this,e)};var Kxn=F(pr,"ArrayList",12);D(7,1,sa,S),l.Nb=function(e){ba(this,e)},l.Ob=function(){return Go(this)},l.Pb=function(){return J(this)},l.Qb=function(){L9(this)},l.a=0,l.b=-1,F(pr,"ArrayList/1",7),D(2013,b.Function,{},Tt),l.te=function(e,n){return Ms(e,n)},D(154,52,Sfe,yl),l.Hc=function(e){return ene(this,e)!=-1},l.Jc=function(e){var n,r,s,o;for(On(e),r=this.a,s=0,o=r.length;s>>0,e.toString(16)))},l.f=0,l.i=Cs;var oV=F(a0,"CNode",57);D(814,1,{},jpt),F(a0,"CNode/CNodeBuilder",814);var spe;D(1525,1,{},Po),l.Oe=function(e,n){return 0},l.Pe=function(e,n){return 0},F(a0,Ffe,1525),D(1790,1,{},vs),l.Le=function(e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt;for(C=as,s=new S(e.a.b);s.as.d.c||s.d.c==h.d.c&&s.d.b0?e+this.n.d+this.n.a:0},l.Se=function(){var e,n,r,s,o;if(o=0,this.e)this.b?o=this.b.a:this.a[1][1]&&(o=this.a[1][1].Se());else if(this.g)o=d3t(this,Ist(this,null,!0));else for(n=(Kf(),lt(ct(Oy,1),oe,232,0,[sc,eu,ac])),r=0,s=n.length;r0?o+this.n.b+this.n.c:0},l.Te=function(){var e,n,r,s,o;if(this.g)for(e=Ist(this,null,!1),r=(Kf(),lt(ct(Oy,1),oe,232,0,[sc,eu,ac])),s=0,o=r.length;s0&&(s[0]+=this.d,r-=s[0]),s[2]>0&&(s[2]+=this.d,r-=s[2]),this.c.a=b.Math.max(0,r),this.c.d=n.d+e.d+(this.c.a-r)/2,s[1]=b.Math.max(s[1],r),wmt(this,eu,n.d+e.d+s[0]-(s[1]-r)/2,s)},l.b=null,l.d=0,l.e=!1,l.f=!1,l.g=!1;var Gut=0,cV=0;F(_2,"GridContainerCell",1473),D(461,22,{3:1,35:1,22:1,461:1},Let);var fb,Md,kf,ppe=jr(_2,"HorizontalLabelAlignment",461,Hr,_in,lJe),bpe;D(306,212,{212:1,306:1},xQt,Aee,vQt),l.Re=function(){return sKt(this)},l.Se=function(){return Vwt(this)},l.a=0,l.c=!1;var s6n=F(_2,"LabelCell",306);D(244,326,{212:1,326:1,244:1},a_),l.Re=function(){return dI(this)},l.Se=function(){return gI(this)},l.Te=function(){Eat(this)},l.Ue=function(){Tat(this)},l.b=0,l.c=0,l.d=!1,F(_2,"StripContainerCell",244),D(1626,1,li,th),l.Mb=function(e){return EKe(u(e,212))},F(_2,"StripContainerCell/lambda$0$Type",1626),D(1627,1,{},Fa),l.Fe=function(e){return u(e,212).Se()},F(_2,"StripContainerCell/lambda$1$Type",1627),D(1628,1,li,Ml),l.Mb=function(e){return TKe(u(e,212))},F(_2,"StripContainerCell/lambda$2$Type",1628),D(1629,1,{},ha),l.Fe=function(e){return u(e,212).Re()},F(_2,"StripContainerCell/lambda$3$Type",1629),D(462,22,{3:1,35:1,22:1,462:1},Met);var Ef,db,n1,wpe=jr(_2,"VerticalLabelAlignment",462,Hr,Sin,hJe),vpe;D(789,1,{},Sxt),l.c=0,l.d=0,l.k=0,l.s=0,l.t=0,l.v=!1,l.w=0,l.D=!1,F(Yq,"NodeContext",789),D(1471,1,Oi,bc),l.ue=function(e,n){return xUt(u(e,61),u(n,61))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(Yq,"NodeContext/0methodref$comparePortSides$Type",1471),D(1472,1,Oi,Cc),l.ue=function(e,n){return Q0n(u(e,111),u(n,111))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(Yq,"NodeContext/1methodref$comparePortContexts$Type",1472),D(159,22,{3:1,35:1,22:1,159:1},hh);var mpe,ype,xpe,kpe,Epe,Tpe,Cpe,_pe,Spe,Ape,Lpe,Mpe,Dpe,Ipe,Ope,Ppe,Fpe,Npe,Bpe,Rpe,jpe,Uut,$pe=jr(Yq,"NodeLabelLocation",159,Hr,lst,fJe),zpe;D(111,1,{111:1},tce),l.a=!1,F(Yq,"PortContext",111),D(1476,1,Un,pa),l.td=function(e){$Ht(u(e,306))},F(zI,Yfe,1476),D(1477,1,li,Da),l.Mb=function(e){return!!u(e,111).c},F(zI,Kfe,1477),D(1478,1,Un,Ha),l.td=function(e){$Ht(u(e,111).c)},F(zI,"LabelPlacer/lambda$2$Type",1478);var o7t;D(1475,1,Un,_c),l.td=function(e){$m(),rKe(u(e,111))},F(zI,"NodeLabelAndSizeUtilities/lambda$0$Type",1475),D(790,1,Un,Ewt),l.td=function(e){pXe(this.b,this.c,this.a,u(e,181))},l.a=!1,l.c=!1,F(zI,"NodeLabelCellCreator/lambda$0$Type",790),D(1474,1,Un,vn),l.td=function(e){aKe(this.a,u(e,181))},F(zI,"PortContextCreator/lambda$0$Type",1474);var uV;D(1829,1,{},lw),F(HE,"GreedyRectangleStripOverlapRemover",1829),D(1830,1,Oi,Dl),l.ue=function(e,n){return WQe(u(e,222),u(n,222))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(HE,"GreedyRectangleStripOverlapRemover/0methodref$compareByYCoordinate$Type",1830),D(1786,1,{},vqt),l.a=5,l.e=0,F(HE,"RectangleStripOverlapRemover",1786),D(1787,1,Oi,ed),l.ue=function(e,n){return YQe(u(e,222),u(n,222))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(HE,"RectangleStripOverlapRemover/0methodref$compareLeftRectangleBorders$Type",1787),D(1789,1,Oi,jd),l.ue=function(e,n){return vnn(u(e,222),u(n,222))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(HE,"RectangleStripOverlapRemover/1methodref$compareRightRectangleBorders$Type",1789),D(406,22,{3:1,35:1,22:1,406:1},ZR);var lO,Wut,Yut,hO,qpe=jr(HE,"RectangleStripOverlapRemover/OverlapRemovalDirection",406,Hr,_sn,dJe),Hpe;D(222,1,{222:1},Hnt),F(HE,"RectangleStripOverlapRemover/RectangleNode",222),D(1788,1,Un,gr),l.td=function(e){k1n(this.a,u(e,222))},F(HE,"RectangleStripOverlapRemover/lambda$1$Type",1788),D(1304,1,Oi,nd),l.ue=function(e,n){return A3n(u(e,167),u(n,167))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(kd,"PolyominoCompactor/CornerCasesGreaterThanRestComparator",1304),D(1307,1,{},$d),l.Kb=function(e){return u(e,324).a},F(kd,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$0$Type",1307),D(1308,1,li,A0),l.Mb=function(e){return u(e,323).a},F(kd,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$1$Type",1308),D(1309,1,li,Bi),l.Mb=function(e){return u(e,323).a},F(kd,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$2$Type",1309),D(1302,1,Oi,cn),l.ue=function(e,n){return cmn(u(e,167),u(n,167))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(kd,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator",1302),D(1305,1,{},eh),l.Kb=function(e){return u(e,324).a},F(kd,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator/lambda$0$Type",1305),D(767,1,Oi,kr),l.ue=function(e,n){return lun(u(e,167),u(n,167))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(kd,"PolyominoCompactor/MinNumOfExtensionsComparator",767),D(1300,1,Oi,Ei),l.ue=function(e,n){return mcn(u(e,321),u(n,321))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(kd,"PolyominoCompactor/MinPerimeterComparator",1300),D(1301,1,Oi,Jo),l.ue=function(e,n){return Kfn(u(e,321),u(n,321))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(kd,"PolyominoCompactor/MinPerimeterComparatorWithShape",1301),D(1303,1,Oi,wc),l.ue=function(e,n){return Dmn(u(e,167),u(n,167))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(kd,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator",1303),D(1306,1,{},rf),l.Kb=function(e){return u(e,324).a},F(kd,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator/lambda$0$Type",1306),D(777,1,{},Mbt),l.Ce=function(e,n){return ksn(this,u(e,46),u(n,167))},F(kd,"SuccessorCombination",777),D(644,1,{},Oc),l.Ce=function(e,n){var r;return hbn((r=u(e,46),u(n,167),r))},F(kd,"SuccessorJitter",644),D(643,1,{},sf),l.Ce=function(e,n){var r;return Jwn((r=u(e,46),u(n,167),r))},F(kd,"SuccessorLineByLine",643),D(568,1,{},af),l.Ce=function(e,n){var r;return f2n((r=u(e,46),u(n,167),r))},F(kd,"SuccessorManhattan",568),D(1356,1,{},Qi),l.Ce=function(e,n){var r;return Ewn((r=u(e,46),u(n,167),r))},F(kd,"SuccessorMaxNormWindingInMathPosSense",1356),D(400,1,{},fr),l.Ce=function(e,n){return vvt(this,e,n)},l.c=!1,l.d=!1,l.e=!1,l.f=!1,F(kd,"SuccessorQuadrantsGeneric",400),D(1357,1,{},Ts),l.Kb=function(e){return u(e,324).a},F(kd,"SuccessorQuadrantsGeneric/lambda$0$Type",1357),D(323,22,{3:1,35:1,22:1,323:1},QR),l.a=!1;var fO,dO,gO,pO,Vpe=jr(Xq,i6t,323,Hr,Lsn,gJe),Gpe;D(1298,1,{}),l.Ib=function(){var e,n,r,s,o,h;for(r=" ",e=pe(0),o=0;o=0?"b"+e+"["+zrt(this.a)+"]":"b["+zrt(this.a)+"]"):"b_"+Pw(this)},F(HI,"FBendpoint",559),D(282,134,{3:1,282:1,94:1,134:1},eYt),l.Ib=function(){return zrt(this)},F(HI,"FEdge",282),D(231,134,{3:1,231:1,94:1,134:1},B$);var o6n=F(HI,"FGraph",231);D(447,357,{3:1,447:1,357:1,94:1,134:1},iJt),l.Ib=function(){return this.b==null||this.b.length==0?"l["+zrt(this.a)+"]":"l_"+this.b},F(HI,"FLabel",447),D(144,357,{3:1,144:1,357:1,94:1,134:1},gXt),l.Ib=function(){return Kvt(this)},l.b=0,F(HI,"FNode",144),D(2003,1,{}),l.bf=function(e){axt(this,e)},l.cf=function(){Bse(this)},l.d=0,F(g6t,"AbstractForceModel",2003),D(631,2003,{631:1},Wne),l.af=function(e,n){var r,s,o,h,d;return Ooe(this.f,e,n),o=ia(nc(n.d),e.d),d=b.Math.sqrt(o.a*o.a+o.b*o.b),s=b.Math.max(0,d-D9(e.e)/2-D9(n.e)/2),r=Ere(this.e,e,n),r>0?h=-pnn(s,this.c)*r:h=oZe(s,this.b)*u(Q(e,(Jf(),c7)),19).a,fd(o,h/d),o},l.bf=function(e){axt(this,e),this.a=u(Q(e,(Jf(),pV)),19).a,this.c=Xt(ye(Q(e,bV))),this.b=Xt(ye(Q(e,elt)))},l.df=function(e){return e0&&(h-=mKe(s,this.a)*r),fd(o,h*this.b/d),o},l.bf=function(e){var n,r,s,o,h,d,v;for(axt(this,e),this.b=Xt(ye(Q(e,(Jf(),nlt)))),this.c=this.b/u(Q(e,pV),19).a,s=e.e.c.length,h=0,o=0,v=new S(e.e);v.a0},l.a=0,l.b=0,l.c=0,F(g6t,"FruchtermanReingoldModel",632),D(849,1,Oh,HJ),l.Qe=function(e){an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Jq),""),"Force Model"),"Determines the model for force calculation."),b7t),(Ug(),us)),w7t),un((Qf(),qn))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,p6t),""),"Iterations"),"The number of iterations on the force model."),pe(300)),gc),ja),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,b6t),""),"Repulsive Power"),"Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model"),pe(0)),gc),ja),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,qot),""),"FR Temperature"),"The temperature is used as a scaling factor for particle displacements."),Ed),Oo),la),un(qn)))),ca(e,qot,Jq,hbe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Hot),""),"Eades Repulsion"),"Factor for repulsive forces in Eades' model."),5),Oo),la),un(qn)))),ca(e,Hot,Jq,cbe),Phe((new bC,e))};var sbe,abe,b7t,obe,cbe,ube,lbe,hbe;F(B_,"ForceMetaDataProvider",849),D(424,22,{3:1,35:1,22:1,424:1},Pbt);var tlt,gV,w7t=jr(B_,"ForceModelStrategy",424,Hr,ein,wJe),fbe;D(988,1,Oh,bC),l.Qe=function(e){Phe(e)};var dbe,gbe,v7t,pV,m7t,pbe,bbe,wbe,y7t,vbe,x7t,k7t,mbe,c7,ybe,elt,E7t,xbe,kbe,bV,nlt;F(B_,"ForceOptions",988),D(989,1,{},V5),l.$e=function(){var e;return e=new Npt,e},l._e=function(e){},F(B_,"ForceOptions/ForceFactory",989);var vO,dS,I6,wV;D(850,1,Oh,VJ),l.Qe=function(e){an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,v6t),""),"Fixed Position"),"Prevent that the node is moved by the layout algorithm."),(Nn(),!1)),(Ug(),La)),Rs),un((Qf(),ea))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,m6t),""),"Desired Edge Length"),"Either specified for parent nodes or for individual edges, where the latter takes higher precedence."),100),Oo),la),ji(qn,lt(ct(ip,1),oe,175,0,[Pd]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,y6t),""),"Layout Dimension"),"Dimensions that are permitted to be altered during layout."),T7t),us),D7t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,x6t),""),"Stress Epsilon"),"Termination criterion for the iterative process."),Ed),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,k6t),""),"Iteration Limit"),"Maximum number of performed iterations. Takes higher precedence than 'epsilon'."),pe(wi)),gc),ja),un(qn)))),vhe((new GJ,e))};var Ebe,Tbe,T7t,Cbe,_be,Sbe;F(B_,"StressMetaDataProvider",850),D(992,1,Oh,GJ),l.Qe=function(e){vhe(e)};var vV,C7t,_7t,S7t,A7t,L7t,Abe,Lbe,Mbe,Dbe,M7t,Ibe;F(B_,"StressOptions",992),D(993,1,{},f1),l.$e=function(){var e;return e=new nYt,e},l._e=function(e){},F(B_,"StressOptions/StressFactory",993),D(1128,209,S2,nYt),l.Ze=function(e,n){var r,s,o,h,d;for(vr(n,o1e,1),je(Re(qe(e,(iI(),A7t))))?je(Re(qe(e,M7t)))||y$((r=new rr((Pm(),new Mm(e))),r)):jce(new Npt,e,Rc(n,1)),o=pre(e),s=Ale(this.a,o),d=s.Kc();d.Ob();)h=u(d.Pb(),231),!(h.e.c.length<=1)&&(_3n(this.b,h),i2n(this.b),xu(h.d,new rd));o=zhe(s),Rhe(o),or(n)},F(nH,"StressLayoutProvider",1128),D(1129,1,Un,rd),l.td=function(e){dxt(u(e,447))},F(nH,"StressLayoutProvider/lambda$0$Type",1129),D(990,1,{},hqt),l.c=0,l.e=0,l.g=0,F(nH,"StressMajorization",990),D(379,22,{3:1,35:1,22:1,379:1},Det);var rlt,ilt,slt,D7t=jr(nH,"StressMajorization/Dimension",379,Hr,Lin,vJe),Obe;D(991,1,Oi,Ci),l.ue=function(e,n){return YZe(this.a,u(e,144),u(n,144))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(nH,"StressMajorization/lambda$0$Type",991),D(1229,1,{},wZt),F(_6,"ElkLayered",1229),D(1230,1,Un,id),l.td=function(e){sbn(u(e,37))},F(_6,"ElkLayered/lambda$0$Type",1230),D(1231,1,Un,hi),l.td=function(e){KZe(this.a,u(e,37))},F(_6,"ElkLayered/lambda$1$Type",1231),D(1263,1,{},HUt);var Pbe,Fbe,Nbe;F(_6,"GraphConfigurator",1263),D(759,1,Un,gs),l.td=function(e){Gae(this.a,u(e,10))},F(_6,"GraphConfigurator/lambda$0$Type",759),D(760,1,{},G5),l.Kb=function(e){return l4t(),new Tn(null,new _n(u(e,29).a,16))},F(_6,"GraphConfigurator/lambda$1$Type",760),D(761,1,Un,qi),l.td=function(e){Gae(this.a,u(e,10))},F(_6,"GraphConfigurator/lambda$2$Type",761),D(1127,209,S2,gqt),l.Ze=function(e,n){var r;r=Wyn(new yqt,e),Vt(qe(e,(Te(),qy)))===Vt((G0(),sp))?Chn(this.a,r,n):xbn(this.a,r,n),Ohe(new WJ,r)},F(_6,"LayeredLayoutProvider",1127),D(356,22,{3:1,35:1,22:1,356:1},_M);var Dd,gb,cu,qc,Io,I7t=jr(_6,"LayeredPhases",356,Hr,fan,mJe),Bbe;D(1651,1,{},nne),l.i=0;var Rbe;F(UI,"ComponentsToCGraphTransformer",1651);var jbe;D(1652,1,{},fw),l.ef=function(e,n){return b.Math.min(e.a!=null?Xt(e.a):e.c.i,n.a!=null?Xt(n.a):n.c.i)},l.ff=function(e,n){return b.Math.min(e.a!=null?Xt(e.a):e.c.i,n.a!=null?Xt(n.a):n.c.i)},F(UI,"ComponentsToCGraphTransformer/1",1652),D(81,1,{81:1}),l.i=0,l.k=!0,l.o=Cs;var alt=F($_,"CNode",81);D(460,81,{460:1,81:1},F2t,N3t),l.Ib=function(){return""},F(UI,"ComponentsToCGraphTransformer/CRectNode",460),D(1623,1,{},U5);var olt,clt;F(UI,"OneDimensionalComponentsCompaction",1623),D(1624,1,{},mp),l.Kb=function(e){return yin(u(e,46))},l.Fb=function(e){return this===e},F(UI,"OneDimensionalComponentsCompaction/lambda$0$Type",1624),D(1625,1,{},W5),l.Kb=function(e){return Ohn(u(e,46))},l.Fb=function(e){return this===e},F(UI,"OneDimensionalComponentsCompaction/lambda$1$Type",1625),D(1654,1,{},dXt),F($_,"CGraph",1654),D(189,1,{189:1},ost),l.b=0,l.c=0,l.e=0,l.g=!0,l.i=Cs,F($_,"CGroup",189),D(1653,1,{},EL),l.ef=function(e,n){return b.Math.max(e.a!=null?Xt(e.a):e.c.i,n.a!=null?Xt(n.a):n.c.i)},l.ff=function(e,n){return b.Math.max(e.a!=null?Xt(e.a):e.c.i,n.a!=null?Xt(n.a):n.c.i)},F($_,Ffe,1653),D(1655,1,{},Uoe),l.d=!1;var $be,ult=F($_,Rfe,1655);D(1656,1,{},vl),l.Kb=function(e){return xbt(),Nn(),u(u(e,46).a,81).d.e!=0},l.Fb=function(e){return this===e},F($_,jfe,1656),D(823,1,{},Gwt),l.a=!1,l.b=!1,l.c=!1,l.d=!1,F($_,$fe,823),D(1825,1,{},DKt),F(rH,zfe,1825);var mO=Ki(L2,Ofe);D(1826,1,{369:1},cQt),l.Ke=function(e){gvn(this,u(e,466))},F(rH,qfe,1826),D(1827,1,Oi,iN),l.ue=function(e,n){return grn(u(e,81),u(n,81))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(rH,Hfe,1827),D(466,1,{466:1},Nbt),l.a=!1,F(rH,Vfe,466),D(1828,1,Oi,Sc),l.ue=function(e,n){return _dn(u(e,466),u(n,466))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(rH,Gfe,1828),D(140,1,{140:1},g8,$wt),l.Fb=function(e){var n;return e==null||c6n!=ol(e)?!1:(n=u(e,140),Fc(this.c,n.c)&&Fc(this.d,n.d))},l.Hb=function(){return Az(lt(ct(Qn,1),De,1,5,[this.c,this.d]))},l.Ib=function(){return"("+this.c+Ya+this.d+(this.a?"cx":"")+this.b+")"},l.a=!0,l.c=0,l.d=0;var c6n=F(L2,"Point",140);D(405,22,{3:1,35:1,22:1,405:1},JR);var Lv,Py,z4,Fy,zbe=jr(L2,"Point/Quadrant",405,Hr,Msn,yJe),qbe;D(1642,1,{},pqt),l.b=null,l.c=null,l.d=null,l.e=null,l.f=null;var Hbe,Vbe,Gbe,Ube,Wbe;F(L2,"RectilinearConvexHull",1642),D(574,1,{369:1},Yz),l.Ke=function(e){don(this,u(e,140))},l.b=0;var O7t;F(L2,"RectilinearConvexHull/MaximalElementsEventHandler",574),D(1644,1,Oi,wm),l.ue=function(e,n){return rrn(ye(e),ye(n))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(L2,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",1644),D(1643,1,{369:1},Cee),l.Ke=function(e){Swn(this,u(e,140))},l.a=0,l.b=null,l.c=null,l.d=null,l.e=null,F(L2,"RectilinearConvexHull/RectangleEventHandler",1643),D(1645,1,Oi,xg),l.ue=function(e,n){return asn(u(e,140),u(n,140))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(L2,"RectilinearConvexHull/lambda$0$Type",1645),D(1646,1,Oi,T3),l.ue=function(e,n){return osn(u(e,140),u(n,140))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(L2,"RectilinearConvexHull/lambda$1$Type",1646),D(1647,1,Oi,cK),l.ue=function(e,n){return usn(u(e,140),u(n,140))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(L2,"RectilinearConvexHull/lambda$2$Type",1647),D(1648,1,Oi,Vb),l.ue=function(e,n){return csn(u(e,140),u(n,140))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(L2,"RectilinearConvexHull/lambda$3$Type",1648),D(1649,1,Oi,uK),l.ue=function(e,n){return hgn(u(e,140),u(n,140))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(L2,"RectilinearConvexHull/lambda$4$Type",1649),D(1650,1,{},jQt),F(L2,"Scanline",1650),D(2005,1,{}),F(Td,"AbstractGraphPlacer",2005),D(325,1,{325:1},DWt),l.mf=function(e){return this.nf(e)?(ln(this.b,u(Q(e,(ae(),By)),21),e),!0):!1},l.nf=function(e){var n,r,s,o;for(n=u(Q(e,(ae(),By)),21),o=u(Ai(Pi,n),21),s=o.Kc();s.Ob();)if(r=u(s.Pb(),21),!u(Ai(this.b,r),15).dc())return!1;return!0};var Pi;F(Td,"ComponentGroup",325),D(765,2005,{},$pt),l.of=function(e){var n,r;for(r=new S(this.a);r.aG&&(ue=0,_e+=H+o,H=0),gt=d.c,x_(d,ue+gt.a,_e+gt.b),Gf(gt),r=b.Math.max(r,ue+St.a),H=b.Math.max(H,St.b),ue+=St.a+o;if(n.f.a=r,n.f.b=_e+H,je(Re(Q(h,iG)))){for(s=new PT,Oxt(s,e,o),j=e.Kc();j.Ob();)M=u(j.Pb(),37),Li(Gf(M.c),s.e);Li(Gf(n.f),s.a)}Omt(n,e)},F(Td,"SimpleRowGraphPlacer",1291),D(1292,1,Oi,Rf),l.ue=function(e,n){return uun(u(e,37),u(n,37))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(Td,"SimpleRowGraphPlacer/1",1292);var Kbe;D(1262,1,xd,vm),l.Lb=function(e){var n;return n=u(Q(u(e,243).b,(Te(),So)),74),!!n&&n.b!=0},l.Fb=function(e){return this===e},l.Mb=function(e){var n;return n=u(Q(u(e,243).b,(Te(),So)),74),!!n&&n.b!=0},F(iH,"CompoundGraphPostprocessor/1",1262),D(1261,1,os,xqt),l.pf=function(e,n){yse(this,u(e,37),n)},F(iH,"CompoundGraphPreprocessor",1261),D(441,1,{441:1},oie),l.c=!1,F(iH,"CompoundGraphPreprocessor/ExternalPort",441),D(243,1,{243:1},Fj),l.Ib=function(){return bnt(this.c)+":"+qoe(this.b)},F(iH,"CrossHierarchyEdge",243),D(763,1,Oi,Si),l.ue=function(e,n){return Z1n(this,u(e,243),u(n,243))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(iH,"CrossHierarchyEdgeComparator",763),D(299,134,{3:1,299:1,94:1,134:1}),l.p=0,F(tu,"LGraphElement",299),D(17,299,{3:1,17:1,299:1,94:1,134:1},Vw),l.Ib=function(){return qoe(this)};var hlt=F(tu,"LEdge",17);D(37,299,{3:1,20:1,37:1,299:1,94:1,134:1},eyt),l.Jc=function(e){va(this,e)},l.Kc=function(){return new S(this.b)},l.Ib=function(){return this.b.c.length==0?"G-unlayered"+eb(this.a):this.a.c.length==0?"G-layered"+eb(this.b):"G[layerless"+eb(this.a)+", layers"+eb(this.b)+"]"};var Xbe=F(tu,"LGraph",37),Qbe;D(657,1,{}),l.qf=function(){return this.e.n},l.We=function(e){return Q(this.e,e)},l.rf=function(){return this.e.o},l.sf=function(){return this.e.p},l.Xe=function(e){return Us(this.e,e)},l.tf=function(e){this.e.n.a=e.a,this.e.n.b=e.b},l.uf=function(e){this.e.o.a=e.a,this.e.o.b=e.b},l.vf=function(e){this.e.p=e},F(tu,"LGraphAdapters/AbstractLShapeAdapter",657),D(577,1,{839:1},Ui),l.wf=function(){var e,n;if(!this.b)for(this.b=Ud(this.a.b.c.length),n=new S(this.a.b);n.a0&&Wre((Rr(n-1,e.length),e.charCodeAt(n-1)),d1e);)--n;if(h> ",e),iq(r)),Gr(hc((e.a+="[",e),r.i),"]")),e.a},l.c=!0,l.d=!1;var R7t,j7t,$7t,z7t,q7t,H7t,Jbe=F(tu,"LPort",11);D(397,1,r0,Qs),l.Jc=function(e){va(this,e)},l.Kc=function(){var e;return e=new S(this.a.e),new qs(e)},F(tu,"LPort/1",397),D(1290,1,sa,qs),l.Nb=function(e){ba(this,e)},l.Pb=function(){return u(J(this.a),17).c},l.Ob=function(){return Go(this.a)},l.Qb=function(){L9(this.a)},F(tu,"LPort/1/1",1290),D(359,1,r0,Tr),l.Jc=function(e){va(this,e)},l.Kc=function(){var e;return e=new S(this.a.g),new Qt(e)},F(tu,"LPort/2",359),D(762,1,sa,Qt),l.Nb=function(e){ba(this,e)},l.Pb=function(){return u(J(this.a),17).d},l.Ob=function(){return Go(this.a)},l.Qb=function(){L9(this.a)},F(tu,"LPort/2/1",762),D(1283,1,r0,cGt),l.Jc=function(e){va(this,e)},l.Kc=function(){return new L1(this)},F(tu,"LPort/CombineIter",1283),D(201,1,sa,L1),l.Nb=function(e){ba(this,e)},l.Qb=function(){IHt()},l.Ob=function(){return v9(this)},l.Pb=function(){return Go(this.a)?J(this.a):J(this.b)},F(tu,"LPort/CombineIter/1",201),D(1285,1,xd,yp),l.Lb=function(e){return HKt(e)},l.Fb=function(e){return this===e},l.Mb=function(e){return ju(),u(e,11).e.c.length!=0},F(tu,"LPort/lambda$0$Type",1285),D(1284,1,xd,mm),l.Lb=function(e){return VKt(e)},l.Fb=function(e){return this===e},l.Mb=function(e){return ju(),u(e,11).g.c.length!=0},F(tu,"LPort/lambda$1$Type",1284),D(1286,1,xd,hK),l.Lb=function(e){return ju(),u(e,11).j==(ve(),Pn)},l.Fb=function(e){return this===e},l.Mb=function(e){return ju(),u(e,11).j==(ve(),Pn)},F(tu,"LPort/lambda$2$Type",1286),D(1287,1,xd,Gb),l.Lb=function(e){return ju(),u(e,11).j==(ve(),Hn)},l.Fb=function(e){return this===e},l.Mb=function(e){return ju(),u(e,11).j==(ve(),Hn)},F(tu,"LPort/lambda$3$Type",1287),D(1288,1,xd,fK),l.Lb=function(e){return ju(),u(e,11).j==(ve(),mr)},l.Fb=function(e){return this===e},l.Mb=function(e){return ju(),u(e,11).j==(ve(),mr)},F(tu,"LPort/lambda$4$Type",1288),D(1289,1,xd,dK),l.Lb=function(e){return ju(),u(e,11).j==(ve(),Bn)},l.Fb=function(e){return this===e},l.Mb=function(e){return ju(),u(e,11).j==(ve(),Bn)},F(tu,"LPort/lambda$5$Type",1289),D(29,299,{3:1,20:1,299:1,29:1,94:1,134:1},Sh),l.Jc=function(e){va(this,e)},l.Kc=function(){return new S(this.a)},l.Ib=function(){return"L_"+Ro(this.b.b,this,0)+eb(this.a)},F(tu,"Layer",29),D(1342,1,{},yqt),F(Kg,w1e,1342),D(1346,1,{},Y5),l.Kb=function(e){return Do(u(e,82))},F(Kg,"ElkGraphImporter/0methodref$connectableShapeToNode$Type",1346),D(1349,1,{},FT),l.Kb=function(e){return Do(u(e,82))},F(Kg,"ElkGraphImporter/1methodref$connectableShapeToNode$Type",1349),D(1343,1,Un,jn),l.td=function(e){nce(this.a,u(e,118))},F(Kg,v1e,1343),D(1344,1,Un,Sr),l.td=function(e){nce(this.a,u(e,118))},F(Kg,m1e,1344),D(1345,1,{},oN),l.Kb=function(e){return new Tn(null,new _n(Znn(u(e,79)),16))},F(Kg,y1e,1345),D(1347,1,li,ir),l.Mb=function(e){return JXe(this.a,u(e,33))},F(Kg,x1e,1347),D(1348,1,{},Tk),l.Kb=function(e){return new Tn(null,new _n(Jnn(u(e,79)),16))},F(Kg,"ElkGraphImporter/lambda$5$Type",1348),D(1350,1,li,sr),l.Mb=function(e){return tQe(this.a,u(e,33))},F(Kg,"ElkGraphImporter/lambda$7$Type",1350),D(1351,1,li,gK),l.Mb=function(e){return brn(u(e,79))},F(Kg,"ElkGraphImporter/lambda$8$Type",1351),D(1278,1,{},WJ);var t2e;F(Kg,"ElkGraphLayoutTransferrer",1278),D(1279,1,li,Ia),l.Mb=function(e){return qZe(this.a,u(e,17))},F(Kg,"ElkGraphLayoutTransferrer/lambda$0$Type",1279),D(1280,1,Un,$r),l.td=function(e){kM(),le(this.a,u(e,17))},F(Kg,"ElkGraphLayoutTransferrer/lambda$1$Type",1280),D(1281,1,li,Yi),l.Mb=function(e){return SZe(this.a,u(e,17))},F(Kg,"ElkGraphLayoutTransferrer/lambda$2$Type",1281),D(1282,1,Un,Fo),l.td=function(e){kM(),le(this.a,u(e,17))},F(Kg,"ElkGraphLayoutTransferrer/lambda$3$Type",1282),D(1485,1,os,Ck),l.pf=function(e,n){Lcn(u(e,37),n)},F($n,"CommentNodeMarginCalculator",1485),D(1486,1,{},pK),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"CommentNodeMarginCalculator/lambda$0$Type",1486),D(1487,1,Un,bK),l.td=function(e){u3n(u(e,10))},F($n,"CommentNodeMarginCalculator/lambda$1$Type",1487),D(1488,1,os,wK),l.pf=function(e,n){kvn(u(e,37),n)},F($n,"CommentPostprocessor",1488),D(1489,1,os,vK),l.pf=function(e,n){L5n(u(e,37),n)},F($n,"CommentPreprocessor",1489),D(1490,1,os,mK),l.pf=function(e,n){G2n(u(e,37),n)},F($n,"ConstraintsPostprocessor",1490),D(1491,1,os,yK),l.pf=function(e,n){Zcn(u(e,37),n)},F($n,"EdgeAndLayerConstraintEdgeReverser",1491),D(1492,1,os,xK),l.pf=function(e,n){$hn(u(e,37),n)},F($n,"EndLabelPostprocessor",1492),D(1493,1,{},kK),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"EndLabelPostprocessor/lambda$0$Type",1493),D(1494,1,li,EK),l.Mb=function(e){return Prn(u(e,10))},F($n,"EndLabelPostprocessor/lambda$1$Type",1494),D(1495,1,Un,TK),l.td=function(e){Sdn(u(e,10))},F($n,"EndLabelPostprocessor/lambda$2$Type",1495),D(1496,1,os,CK),l.pf=function(e,n){bpn(u(e,37),n)},F($n,"EndLabelPreprocessor",1496),D(1497,1,{},CL),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"EndLabelPreprocessor/lambda$0$Type",1497),D(1498,1,Un,PYt),l.td=function(e){bXe(this.a,this.b,this.c,u(e,10))},l.a=0,l.b=0,l.c=!1,F($n,"EndLabelPreprocessor/lambda$1$Type",1498),D(1499,1,li,_K),l.Mb=function(e){return Vt(Q(u(e,70),(Te(),Od)))===Vt((M1(),F7))},F($n,"EndLabelPreprocessor/lambda$2$Type",1499),D(1500,1,Un,Pc),l.td=function(e){ri(this.a,u(e,70))},F($n,"EndLabelPreprocessor/lambda$3$Type",1500),D(1501,1,li,SK),l.Mb=function(e){return Vt(Q(u(e,70),(Te(),Od)))===Vt((M1(),Zy))},F($n,"EndLabelPreprocessor/lambda$4$Type",1501),D(1502,1,Un,Za),l.td=function(e){ri(this.a,u(e,70))},F($n,"EndLabelPreprocessor/lambda$5$Type",1502),D(1551,1,os,UJ),l.pf=function(e,n){Yln(u(e,37),n)};var e2e;F($n,"EndLabelSorter",1551),D(1552,1,Oi,NT),l.ue=function(e,n){return Tfn(u(e,456),u(n,456))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"EndLabelSorter/1",1552),D(456,1,{456:1},tQt),F($n,"EndLabelSorter/LabelGroup",456),D(1553,1,{},cN),l.Kb=function(e){return EM(),new Tn(null,new _n(u(e,29).a,16))},F($n,"EndLabelSorter/lambda$0$Type",1553),D(1554,1,li,K5),l.Mb=function(e){return EM(),u(e,10).k==(Vn(),Os)},F($n,"EndLabelSorter/lambda$1$Type",1554),D(1555,1,Un,AK),l.td=function(e){Sgn(u(e,10))},F($n,"EndLabelSorter/lambda$2$Type",1555),D(1556,1,li,LK),l.Mb=function(e){return EM(),Vt(Q(u(e,70),(Te(),Od)))===Vt((M1(),Zy))},F($n,"EndLabelSorter/lambda$3$Type",1556),D(1557,1,li,MK),l.Mb=function(e){return EM(),Vt(Q(u(e,70),(Te(),Od)))===Vt((M1(),F7))},F($n,"EndLabelSorter/lambda$4$Type",1557),D(1503,1,os,DK),l.pf=function(e,n){y3n(this,u(e,37))},l.b=0,l.c=0,F($n,"FinalSplineBendpointsCalculator",1503),D(1504,1,{},IK),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"FinalSplineBendpointsCalculator/lambda$0$Type",1504),D(1505,1,{},BT),l.Kb=function(e){return new Tn(null,new jw(new ar(lr(Ds(u(e,10)).a.Kc(),new z))))},F($n,"FinalSplineBendpointsCalculator/lambda$1$Type",1505),D(1506,1,li,_L),l.Mb=function(e){return!Ga(u(e,17))},F($n,"FinalSplineBendpointsCalculator/lambda$2$Type",1506),D(1507,1,li,uN),l.Mb=function(e){return Us(u(e,17),(ae(),R2))},F($n,"FinalSplineBendpointsCalculator/lambda$3$Type",1507),D(1508,1,Un,mc),l.td=function(e){Omn(this.a,u(e,128))},F($n,"FinalSplineBendpointsCalculator/lambda$4$Type",1508),D(1509,1,Un,C3),l.td=function(e){Yst(u(e,17).a)},F($n,"FinalSplineBendpointsCalculator/lambda$5$Type",1509),D(792,1,os,Ta),l.pf=function(e,n){d4n(this,u(e,37),n)},F($n,"GraphTransformer",792),D(511,22,{3:1,35:1,22:1,511:1},Fbt);var dlt,yO,n2e=jr($n,"GraphTransformer/Mode",511,Hr,nin,Ptn),r2e;D(1510,1,os,_3),l.pf=function(e,n){Hwn(u(e,37),n)},F($n,"HierarchicalNodeResizingProcessor",1510),D(1511,1,os,OK),l.pf=function(e,n){Tcn(u(e,37),n)},F($n,"HierarchicalPortConstraintProcessor",1511),D(1512,1,Oi,of),l.ue=function(e,n){return Ffn(u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"HierarchicalPortConstraintProcessor/NodeComparator",1512),D(1513,1,os,X5),l.pf=function(e,n){Vyn(u(e,37),n)},F($n,"HierarchicalPortDummySizeProcessor",1513),D(1514,1,os,PK),l.pf=function(e,n){zvn(this,u(e,37),n)},l.a=0,F($n,"HierarchicalPortOrthogonalEdgeRouter",1514),D(1515,1,Oi,_k),l.ue=function(e,n){return UQe(u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"HierarchicalPortOrthogonalEdgeRouter/1",1515),D(1516,1,Oi,zd),l.ue=function(e,n){return aon(u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"HierarchicalPortOrthogonalEdgeRouter/2",1516),D(1517,1,os,FK),l.pf=function(e,n){fgn(u(e,37),n)},F($n,"HierarchicalPortPositionProcessor",1517),D(1518,1,os,YJ),l.pf=function(e,n){oxn(this,u(e,37))},l.a=0,l.c=0;var mV,yV;F($n,"HighDegreeNodeLayeringProcessor",1518),D(571,1,{571:1},NK),l.b=-1,l.d=-1,F($n,"HighDegreeNodeLayeringProcessor/HighDegreeNodeInformation",571),D(1519,1,{},BK),l.Kb=function(e){return KM(),jo(u(e,10))},l.Fb=function(e){return this===e},F($n,"HighDegreeNodeLayeringProcessor/lambda$0$Type",1519),D(1520,1,{},RK),l.Kb=function(e){return KM(),Ds(u(e,10))},l.Fb=function(e){return this===e},F($n,"HighDegreeNodeLayeringProcessor/lambda$1$Type",1520),D(1526,1,os,RT),l.pf=function(e,n){vyn(this,u(e,37),n)},F($n,"HyperedgeDummyMerger",1526),D(793,1,{},Cwt),l.a=!1,l.b=!1,l.c=!1,F($n,"HyperedgeDummyMerger/MergeState",793),D(1527,1,{},SL),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"HyperedgeDummyMerger/lambda$0$Type",1527),D(1528,1,{},lN),l.Kb=function(e){return new Tn(null,new _n(u(e,10).j,16))},F($n,"HyperedgeDummyMerger/lambda$1$Type",1528),D(1529,1,Un,AL),l.td=function(e){u(e,11).p=-1},F($n,"HyperedgeDummyMerger/lambda$2$Type",1529),D(1530,1,os,Q5),l.pf=function(e,n){byn(u(e,37),n)},F($n,"HypernodesProcessor",1530),D(1531,1,os,jK),l.pf=function(e,n){wyn(u(e,37),n)},F($n,"InLayerConstraintProcessor",1531),D(1532,1,os,hN),l.pf=function(e,n){Wcn(u(e,37),n)},F($n,"InnermostNodeMarginCalculator",1532),D(1533,1,os,fN),l.pf=function(e,n){T5n(this,u(e,37))},l.a=Cs,l.b=Cs,l.c=as,l.d=as;var u6n=F($n,"InteractiveExternalPortPositioner",1533);D(1534,1,{},$K),l.Kb=function(e){return u(e,17).d.i},l.Fb=function(e){return this===e},F($n,"InteractiveExternalPortPositioner/lambda$0$Type",1534),D(1535,1,{},Ja),l.Kb=function(e){return KQe(this.a,ye(e))},l.Fb=function(e){return this===e},F($n,"InteractiveExternalPortPositioner/lambda$1$Type",1535),D(1536,1,{},zK),l.Kb=function(e){return u(e,17).c.i},l.Fb=function(e){return this===e},F($n,"InteractiveExternalPortPositioner/lambda$2$Type",1536),D(1537,1,{},ml),l.Kb=function(e){return XQe(this.a,ye(e))},l.Fb=function(e){return this===e},F($n,"InteractiveExternalPortPositioner/lambda$3$Type",1537),D(1538,1,{},qf),l.Kb=function(e){return jZe(this.a,ye(e))},l.Fb=function(e){return this===e},F($n,"InteractiveExternalPortPositioner/lambda$4$Type",1538),D(1539,1,{},Cp),l.Kb=function(e){return $Ze(this.a,ye(e))},l.Fb=function(e){return this===e},F($n,"InteractiveExternalPortPositioner/lambda$5$Type",1539),D(77,22,{3:1,35:1,22:1,77:1,234:1},ms),l.Kf=function(){switch(this.g){case 15:return new rQ;case 22:return new iQ;case 47:return new oQ;case 28:case 35:return new S3;case 32:return new Ck;case 42:return new wK;case 1:return new vK;case 41:return new mK;case 56:return new Ta((X8(),yO));case 0:return new Ta((X8(),dlt));case 2:return new yK;case 54:return new xK;case 33:return new CK;case 51:return new DK;case 55:return new _3;case 13:return new OK;case 38:return new X5;case 44:return new PK;case 40:return new FK;case 9:return new YJ;case 49:return new yWt;case 37:return new RT;case 43:return new Q5;case 27:return new jK;case 30:return new hN;case 3:return new fN;case 18:return new HK;case 29:return new VK;case 5:return new zB;case 50:return new qK;case 34:return new KJ;case 36:return new Sk;case 52:return new UJ;case 11:return new ym;case 7:return new QJ;case 39:return new Ak;case 45:return new YK;case 16:return new jT;case 10:return new sd;case 48:return new ML;case 21:return new Lk;case 23:return new det((ev(),FS));case 8:return new bN;case 12:return new IL;case 4:return new XK;case 19:return new wC;case 17:return new eX;case 53:return new nX;case 6:return new EN;case 25:return new Tqt;case 46:return new aX;case 31:return new iYt;case 14:return new PL;case 26:return new lQ;case 20:return new gX;case 24:return new det((ev(),TG));default:throw it(new Fn(Yot+(this.f!=null?this.f:""+this.g)))}};var V7t,G7t,U7t,W7t,Y7t,K7t,X7t,Q7t,Z7t,J7t,gS,xV,kV,tTt,eTt,nTt,rTt,iTt,sTt,aTt,pS,oTt,cTt,uTt,lTt,hTt,glt,EV,TV,fTt,CV,_V,SV,u7,l7,h7,dTt,AV,LV,gTt,MV,DV,pTt,bTt,wTt,vTt,IV,plt,xO,OV,PV,FV,NV,mTt,yTt,xTt,kTt,l6n=jr($n,T6t,77,Hr,Yce,Otn),i2e;D(1540,1,os,HK),l.pf=function(e,n){_5n(u(e,37),n)},F($n,"InvertedPortProcessor",1540),D(1541,1,os,VK),l.pf=function(e,n){_mn(u(e,37),n)},F($n,"LabelAndNodeSizeProcessor",1541),D(1542,1,li,GK),l.Mb=function(e){return u(e,10).k==(Vn(),Os)},F($n,"LabelAndNodeSizeProcessor/lambda$0$Type",1542),D(1543,1,li,qd),l.Mb=function(e){return u(e,10).k==(Vn(),ks)},F($n,"LabelAndNodeSizeProcessor/lambda$1$Type",1543),D(1544,1,Un,FYt),l.td=function(e){wXe(this.b,this.a,this.c,u(e,10))},l.a=!1,l.c=!1,F($n,"LabelAndNodeSizeProcessor/lambda$2$Type",1544),D(1545,1,os,zB),l.pf=function(e,n){X4n(u(e,37),n)};var s2e;F($n,"LabelDummyInserter",1545),D(1546,1,xd,dw),l.Lb=function(e){return Vt(Q(u(e,70),(Te(),Od)))===Vt((M1(),P7))},l.Fb=function(e){return this===e},l.Mb=function(e){return Vt(Q(u(e,70),(Te(),Od)))===Vt((M1(),P7))},F($n,"LabelDummyInserter/1",1546),D(1547,1,os,qK),l.pf=function(e,n){Z3n(u(e,37),n)},F($n,"LabelDummyRemover",1547),D(1548,1,li,UK),l.Mb=function(e){return je(Re(Q(u(e,70),(Te(),rht))))},F($n,"LabelDummyRemover/lambda$0$Type",1548),D(1359,1,os,KJ),l.pf=function(e,n){S4n(this,u(e,37),n)},l.a=null;var blt;F($n,"LabelDummySwitcher",1359),D(286,1,{286:1},Uue),l.c=0,l.d=null,l.f=0,F($n,"LabelDummySwitcher/LabelDummyInfo",286),D(1360,1,{},dN),l.Kb=function(e){return r6(),new Tn(null,new _n(u(e,29).a,16))},F($n,"LabelDummySwitcher/lambda$0$Type",1360),D(1361,1,li,gN),l.Mb=function(e){return r6(),u(e,10).k==(Vn(),Ll)},F($n,"LabelDummySwitcher/lambda$1$Type",1361),D(1362,1,{},_g),l.Kb=function(e){return AZe(this.a,u(e,10))},F($n,"LabelDummySwitcher/lambda$2$Type",1362),D(1363,1,Un,cd),l.td=function(e){Snn(this.a,u(e,286))},F($n,"LabelDummySwitcher/lambda$3$Type",1363),D(1364,1,Oi,WK),l.ue=function(e,n){return enn(u(e,286),u(n,286))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"LabelDummySwitcher/lambda$4$Type",1364),D(791,1,os,S3),l.pf=function(e,n){Ran(u(e,37),n)},F($n,"LabelManagementProcessor",791),D(1549,1,os,Sk),l.pf=function(e,n){uvn(u(e,37),n)},F($n,"LabelSideSelector",1549),D(1550,1,li,LL),l.Mb=function(e){return je(Re(Q(u(e,70),(Te(),rht))))},F($n,"LabelSideSelector/lambda$0$Type",1550),D(1558,1,os,ym),l.pf=function(e,n){Gyn(u(e,37),n)},F($n,"LayerConstraintPostprocessor",1558),D(1559,1,os,QJ),l.pf=function(e,n){s2n(u(e,37),n)};var ETt;F($n,"LayerConstraintPreprocessor",1559),D(360,22,{3:1,35:1,22:1,360:1},tj);var kO,BV,RV,wlt,a2e=jr($n,"LayerConstraintPreprocessor/HiddenNodeConnections",360,Hr,Dsn,TJe),o2e;D(1560,1,os,Ak),l.pf=function(e,n){K3n(u(e,37),n)},F($n,"LayerSizeAndGraphHeightCalculator",1560),D(1561,1,os,YK),l.pf=function(e,n){Z2n(u(e,37),n)},F($n,"LongEdgeJoiner",1561),D(1562,1,os,jT),l.pf=function(e,n){M3n(u(e,37),n)},F($n,"LongEdgeSplitter",1562),D(1563,1,os,sd),l.pf=function(e,n){M4n(this,u(e,37),n)},l.d=0,l.e=0,l.i=0,l.j=0,l.k=0,l.n=0,F($n,"NodePromotion",1563),D(1564,1,{},pN),l.Kb=function(e){return u(e,46),Nn(),!0},l.Fb=function(e){return this===e},F($n,"NodePromotion/lambda$0$Type",1564),D(1565,1,{},_p),l.Kb=function(e){return Ynn(this.a,u(e,46))},l.Fb=function(e){return this===e},l.a=0,F($n,"NodePromotion/lambda$1$Type",1565),D(1566,1,{},Hf),l.Kb=function(e){return Knn(this.a,u(e,46))},l.Fb=function(e){return this===e},l.a=0,F($n,"NodePromotion/lambda$2$Type",1566),D(1567,1,os,ML),l.pf=function(e,n){txn(u(e,37),n)},F($n,"NorthSouthPortPostprocessor",1567),D(1568,1,os,Lk),l.pf=function(e,n){j5n(u(e,37),n)},F($n,"NorthSouthPortPreprocessor",1568),D(1569,1,Oi,DL),l.ue=function(e,n){return gun(u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"NorthSouthPortPreprocessor/lambda$0$Type",1569),D(1570,1,os,bN),l.pf=function(e,n){nyn(u(e,37),n)},F($n,"PartitionMidprocessor",1570),D(1571,1,li,KK),l.Mb=function(e){return Us(u(e,10),(Te(),T7))},F($n,"PartitionMidprocessor/lambda$0$Type",1571),D(1572,1,Un,mw),l.td=function(e){wrn(this.a,u(e,10))},F($n,"PartitionMidprocessor/lambda$1$Type",1572),D(1573,1,os,IL),l.pf=function(e,n){vwn(u(e,37),n)},F($n,"PartitionPostprocessor",1573),D(1574,1,os,XK),l.pf=function(e,n){Abn(u(e,37),n)},F($n,"PartitionPreprocessor",1574),D(1575,1,li,QK),l.Mb=function(e){return Us(u(e,10),(Te(),T7))},F($n,"PartitionPreprocessor/lambda$0$Type",1575),D(1576,1,{},wN),l.Kb=function(e){return new Tn(null,new jw(new ar(lr(Ds(u(e,10)).a.Kc(),new z))))},F($n,"PartitionPreprocessor/lambda$1$Type",1576),D(1577,1,li,Z5),l.Mb=function(e){return xfn(u(e,17))},F($n,"PartitionPreprocessor/lambda$2$Type",1577),D(1578,1,Un,vN),l.td=function(e){Tun(u(e,17))},F($n,"PartitionPreprocessor/lambda$3$Type",1578),D(1579,1,os,wC),l.pf=function(e,n){$mn(u(e,37),n)};var TTt,c2e,u2e,l2e,CTt,_Tt;F($n,"PortListSorter",1579),D(1580,1,{},J5),l.Kb=function(e){return oE(),u(e,11).e},F($n,"PortListSorter/lambda$0$Type",1580),D(1581,1,{},ZK),l.Kb=function(e){return oE(),u(e,11).g},F($n,"PortListSorter/lambda$1$Type",1581),D(1582,1,Oi,OL),l.ue=function(e,n){return aJt(u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"PortListSorter/lambda$2$Type",1582),D(1583,1,Oi,JK),l.ue=function(e,n){return G1n(u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"PortListSorter/lambda$3$Type",1583),D(1584,1,Oi,tX),l.ue=function(e,n){return ple(u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"PortListSorter/lambda$4$Type",1584),D(1585,1,os,eX),l.pf=function(e,n){Jbn(u(e,37),n)},F($n,"PortSideProcessor",1585),D(1586,1,os,nX),l.pf=function(e,n){tmn(u(e,37),n)},F($n,"ReversedEdgeRestorer",1586),D(1591,1,os,Tqt),l.pf=function(e,n){L1n(this,u(e,37),n)},F($n,"SelfLoopPortRestorer",1591),D(1592,1,{},mN),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"SelfLoopPortRestorer/lambda$0$Type",1592),D(1593,1,li,rX),l.Mb=function(e){return u(e,10).k==(Vn(),Os)},F($n,"SelfLoopPortRestorer/lambda$1$Type",1593),D(1594,1,li,iX),l.Mb=function(e){return Us(u(e,10),(ae(),x7))},F($n,"SelfLoopPortRestorer/lambda$2$Type",1594),D(1595,1,{},sX),l.Kb=function(e){return u(Q(u(e,10),(ae(),x7)),403)},F($n,"SelfLoopPortRestorer/lambda$3$Type",1595),D(1596,1,Un,Lm),l.td=function(e){Rgn(this.a,u(e,403))},F($n,"SelfLoopPortRestorer/lambda$4$Type",1596),D(794,1,Un,yN),l.td=function(e){Jgn(u(e,101))},F($n,"SelfLoopPortRestorer/lambda$5$Type",794),D(1597,1,os,aX),l.pf=function(e,n){Rfn(u(e,37),n)},F($n,"SelfLoopPostProcessor",1597),D(1598,1,{},oX),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"SelfLoopPostProcessor/lambda$0$Type",1598),D(1599,1,li,cX),l.Mb=function(e){return u(e,10).k==(Vn(),Os)},F($n,"SelfLoopPostProcessor/lambda$1$Type",1599),D(1600,1,li,xN),l.Mb=function(e){return Us(u(e,10),(ae(),x7))},F($n,"SelfLoopPostProcessor/lambda$2$Type",1600),D(1601,1,Un,uX),l.td=function(e){Gdn(u(e,10))},F($n,"SelfLoopPostProcessor/lambda$3$Type",1601),D(1602,1,{},lX),l.Kb=function(e){return new Tn(null,new _n(u(e,101).f,1))},F($n,"SelfLoopPostProcessor/lambda$4$Type",1602),D(1603,1,Un,xx),l.td=function(e){Psn(this.a,u(e,409))},F($n,"SelfLoopPostProcessor/lambda$5$Type",1603),D(1604,1,li,kN),l.Mb=function(e){return!!u(e,101).i},F($n,"SelfLoopPostProcessor/lambda$6$Type",1604),D(1605,1,Un,F3),l.td=function(e){vKe(this.a,u(e,101))},F($n,"SelfLoopPostProcessor/lambda$7$Type",1605),D(1587,1,os,EN),l.pf=function(e,n){D2n(u(e,37),n)},F($n,"SelfLoopPreProcessor",1587),D(1588,1,{},TN),l.Kb=function(e){return new Tn(null,new _n(u(e,101).f,1))},F($n,"SelfLoopPreProcessor/lambda$0$Type",1588),D(1589,1,{},hX),l.Kb=function(e){return u(e,409).a},F($n,"SelfLoopPreProcessor/lambda$1$Type",1589),D(1590,1,Un,fX),l.td=function(e){EQe(u(e,17))},F($n,"SelfLoopPreProcessor/lambda$2$Type",1590),D(1606,1,os,iYt),l.pf=function(e,n){Agn(this,u(e,37),n)},F($n,"SelfLoopRouter",1606),D(1607,1,{},Mk),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"SelfLoopRouter/lambda$0$Type",1607),D(1608,1,li,tx),l.Mb=function(e){return u(e,10).k==(Vn(),Os)},F($n,"SelfLoopRouter/lambda$1$Type",1608),D(1609,1,li,$T),l.Mb=function(e){return Us(u(e,10),(ae(),x7))},F($n,"SelfLoopRouter/lambda$2$Type",1609),D(1610,1,{},dX),l.Kb=function(e){return u(Q(u(e,10),(ae(),x7)),403)},F($n,"SelfLoopRouter/lambda$3$Type",1610),D(1611,1,Un,tGt),l.td=function(e){crn(this.a,this.b,u(e,403))},F($n,"SelfLoopRouter/lambda$4$Type",1611),D(1612,1,os,PL),l.pf=function(e,n){Qwn(u(e,37),n)},F($n,"SemiInteractiveCrossMinProcessor",1612),D(1613,1,li,zT),l.Mb=function(e){return u(e,10).k==(Vn(),Os)},F($n,"SemiInteractiveCrossMinProcessor/lambda$0$Type",1613),D(1614,1,li,FL),l.Mb=function(e){return yKt(u(e,10))._b((Te(),Uy))},F($n,"SemiInteractiveCrossMinProcessor/lambda$1$Type",1614),D(1615,1,Oi,CN),l.ue=function(e,n){return _cn(u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"SemiInteractiveCrossMinProcessor/lambda$2$Type",1615),D(1616,1,{},_N),l.Ce=function(e,n){return Crn(u(e,10),u(n,10))},F($n,"SemiInteractiveCrossMinProcessor/lambda$3$Type",1616),D(1618,1,os,gX),l.pf=function(e,n){Uyn(u(e,37),n)},F($n,"SortByInputModelProcessor",1618),D(1619,1,li,pX),l.Mb=function(e){return u(e,11).g.c.length!=0},F($n,"SortByInputModelProcessor/lambda$0$Type",1619),D(1620,1,Un,kx),l.td=function(e){ipn(this.a,u(e,11))},F($n,"SortByInputModelProcessor/lambda$1$Type",1620),D(1693,803,{},pne),l.Me=function(e){var n,r,s,o;switch(this.c=e,this.a.g){case 2:n=new he,ls(Ri(new Tn(null,new _n(this.c.a.b,16)),new MN),new sGt(this,n)),hI(this,new AN),xu(n,new wX),n.c=Nt(Qn,De,1,0,5,1),ls(Ri(new Tn(null,new _n(this.c.a.b,16)),new vX),new N3(n)),hI(this,new mX),xu(n,new yX),n.c=Nt(Qn,De,1,0,5,1),r=RUt(Ane(l$(new Tn(null,new _n(this.c.a.b,16)),new Hd(this))),new xX),ls(new Tn(null,new _n(this.c.a.a,16)),new nGt(r,n)),hI(this,new kX),xu(n,new bX),n.c=Nt(Qn,De,1,0,5,1);break;case 3:s=new he,hI(this,new SN),o=RUt(Ane(l$(new Tn(null,new _n(this.c.a.b,16)),new SC(this))),new LN),ls(Ri(new Tn(null,new _n(this.c.a.b,16)),new EX),new iGt(o,s)),hI(this,new TX),xu(s,new CX),s.c=Nt(Qn,De,1,0,5,1);break;default:throw it(new uqt)}},l.b=0,F(_s,"EdgeAwareScanlineConstraintCalculation",1693),D(1694,1,xd,SN),l.Lb=function(e){return _t(u(e,57).g,145)},l.Fb=function(e){return this===e},l.Mb=function(e){return _t(u(e,57).g,145)},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$0$Type",1694),D(1695,1,{},SC),l.Fe=function(e){return Bpn(this.a,u(e,57))},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$1$Type",1695),D(1703,1,Vq,eGt),l.Vd=function(){h_(this.a,this.b,-1)},l.b=0,F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$10$Type",1703),D(1705,1,xd,AN),l.Lb=function(e){return _t(u(e,57).g,145)},l.Fb=function(e){return this===e},l.Mb=function(e){return _t(u(e,57).g,145)},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$11$Type",1705),D(1706,1,Un,wX),l.td=function(e){u(e,365).Vd()},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$12$Type",1706),D(1707,1,li,vX),l.Mb=function(e){return _t(u(e,57).g,10)},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$13$Type",1707),D(1709,1,Un,N3),l.td=function(e){lhn(this.a,u(e,57))},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$14$Type",1709),D(1708,1,Vq,uGt),l.Vd=function(){h_(this.b,this.a,-1)},l.a=0,F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$15$Type",1708),D(1710,1,xd,mX),l.Lb=function(e){return _t(u(e,57).g,10)},l.Fb=function(e){return this===e},l.Mb=function(e){return _t(u(e,57).g,10)},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$16$Type",1710),D(1711,1,Un,yX),l.td=function(e){u(e,365).Vd()},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$17$Type",1711),D(1712,1,{},Hd),l.Fe=function(e){return Rpn(this.a,u(e,57))},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$18$Type",1712),D(1713,1,{},xX),l.De=function(){return 0},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$19$Type",1713),D(1696,1,{},LN),l.De=function(){return 0},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$2$Type",1696),D(1715,1,Un,nGt),l.td=function(e){Gen(this.a,this.b,u(e,307))},l.a=0,F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$20$Type",1715),D(1714,1,Vq,rGt),l.Vd=function(){Cce(this.a,this.b,-1)},l.b=0,F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$21$Type",1714),D(1716,1,xd,kX),l.Lb=function(e){return u(e,57),!0},l.Fb=function(e){return this===e},l.Mb=function(e){return u(e,57),!0},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$22$Type",1716),D(1717,1,Un,bX),l.td=function(e){u(e,365).Vd()},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$23$Type",1717),D(1697,1,li,EX),l.Mb=function(e){return _t(u(e,57).g,10)},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$3$Type",1697),D(1699,1,Un,iGt),l.td=function(e){Uen(this.a,this.b,u(e,57))},l.a=0,F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$4$Type",1699),D(1698,1,Vq,lGt),l.Vd=function(){h_(this.b,this.a,-1)},l.a=0,F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$5$Type",1698),D(1700,1,xd,TX),l.Lb=function(e){return u(e,57),!0},l.Fb=function(e){return this===e},l.Mb=function(e){return u(e,57),!0},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$6$Type",1700),D(1701,1,Un,CX),l.td=function(e){u(e,365).Vd()},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$7$Type",1701),D(1702,1,li,MN),l.Mb=function(e){return _t(u(e,57).g,145)},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$8$Type",1702),D(1704,1,Un,sGt),l.td=function(e){Hon(this.a,this.b,u(e,57))},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$9$Type",1704),D(1521,1,os,yWt),l.pf=function(e,n){B3n(this,u(e,37),n)};var h2e;F(_s,"HorizontalGraphCompactor",1521),D(1522,1,{},y1),l.Oe=function(e,n){var r,s,o;return qmt(e,n)||(r=t4(e),s=t4(n),r&&r.k==(Vn(),ks)||s&&s.k==(Vn(),ks))?0:(o=u(Q(this.a.a,(ae(),Q4)),304),QQe(o,r?r.k:(Vn(),ta),s?s.k:(Vn(),ta)))},l.Pe=function(e,n){var r,s,o;return qmt(e,n)?1:(r=t4(e),s=t4(n),o=u(Q(this.a.a,(ae(),Q4)),304),B2t(o,r?r.k:(Vn(),ta),s?s.k:(Vn(),ta)))},F(_s,"HorizontalGraphCompactor/1",1522),D(1523,1,{},qT),l.Ne=function(e,n){return GC(),e.a.i==0},F(_s,"HorizontalGraphCompactor/lambda$0$Type",1523),D(1524,1,{},Vd),l.Ne=function(e,n){return xrn(this.a,e,n)},F(_s,"HorizontalGraphCompactor/lambda$1$Type",1524),D(1664,1,{},tee);var f2e,d2e;F(_s,"LGraphToCGraphTransformer",1664),D(1672,1,li,_X),l.Mb=function(e){return e!=null},F(_s,"LGraphToCGraphTransformer/0methodref$nonNull$Type",1672),D(1665,1,{},SX),l.Kb=function(e){return df(),$o(Q(u(u(e,57).g,10),(ae(),_i)))},F(_s,"LGraphToCGraphTransformer/lambda$0$Type",1665),D(1666,1,{},DN),l.Kb=function(e){return df(),rie(u(u(e,57).g,145))},F(_s,"LGraphToCGraphTransformer/lambda$1$Type",1666),D(1675,1,li,AX),l.Mb=function(e){return df(),_t(u(e,57).g,10)},F(_s,"LGraphToCGraphTransformer/lambda$10$Type",1675),D(1676,1,Un,LX),l.td=function(e){yrn(u(e,57))},F(_s,"LGraphToCGraphTransformer/lambda$11$Type",1676),D(1677,1,li,MX),l.Mb=function(e){return df(),_t(u(e,57).g,145)},F(_s,"LGraphToCGraphTransformer/lambda$12$Type",1677),D(1681,1,Un,DX),l.td=function(e){Cln(u(e,57))},F(_s,"LGraphToCGraphTransformer/lambda$13$Type",1681),D(1678,1,Un,AC),l.td=function(e){KXe(this.a,u(e,8))},l.a=0,F(_s,"LGraphToCGraphTransformer/lambda$14$Type",1678),D(1679,1,Un,Yb),l.td=function(e){QXe(this.a,u(e,110))},l.a=0,F(_s,"LGraphToCGraphTransformer/lambda$15$Type",1679),D(1680,1,Un,dR),l.td=function(e){XXe(this.a,u(e,8))},l.a=0,F(_s,"LGraphToCGraphTransformer/lambda$16$Type",1680),D(1682,1,{},IX),l.Kb=function(e){return df(),new Tn(null,new jw(new ar(lr(Ds(u(e,10)).a.Kc(),new z))))},F(_s,"LGraphToCGraphTransformer/lambda$17$Type",1682),D(1683,1,li,OX),l.Mb=function(e){return df(),Ga(u(e,17))},F(_s,"LGraphToCGraphTransformer/lambda$18$Type",1683),D(1684,1,Un,Htt),l.td=function(e){Don(this.a,u(e,17))},F(_s,"LGraphToCGraphTransformer/lambda$19$Type",1684),D(1668,1,Un,Vtt),l.td=function(e){hsn(this.a,u(e,145))},F(_s,"LGraphToCGraphTransformer/lambda$2$Type",1668),D(1685,1,{},IN),l.Kb=function(e){return df(),new Tn(null,new _n(u(e,29).a,16))},F(_s,"LGraphToCGraphTransformer/lambda$20$Type",1685),D(1686,1,{},PX),l.Kb=function(e){return df(),new Tn(null,new jw(new ar(lr(Ds(u(e,10)).a.Kc(),new z))))},F(_s,"LGraphToCGraphTransformer/lambda$21$Type",1686),D(1687,1,{},ON),l.Kb=function(e){return df(),u(Q(u(e,17),(ae(),R2)),15)},F(_s,"LGraphToCGraphTransformer/lambda$22$Type",1687),D(1688,1,li,FX),l.Mb=function(e){return JQe(u(e,15))},F(_s,"LGraphToCGraphTransformer/lambda$23$Type",1688),D(1689,1,Un,Gtt),l.td=function(e){Apn(this.a,u(e,15))},F(_s,"LGraphToCGraphTransformer/lambda$24$Type",1689),D(1667,1,Un,aGt),l.td=function(e){Zsn(this.a,this.b,u(e,145))},F(_s,"LGraphToCGraphTransformer/lambda$3$Type",1667),D(1669,1,{},NX),l.Kb=function(e){return df(),new Tn(null,new _n(u(e,29).a,16))},F(_s,"LGraphToCGraphTransformer/lambda$4$Type",1669),D(1670,1,{},BX),l.Kb=function(e){return df(),new Tn(null,new jw(new ar(lr(Ds(u(e,10)).a.Kc(),new z))))},F(_s,"LGraphToCGraphTransformer/lambda$5$Type",1670),D(1671,1,{},HT),l.Kb=function(e){return df(),u(Q(u(e,17),(ae(),R2)),15)},F(_s,"LGraphToCGraphTransformer/lambda$6$Type",1671),D(1673,1,Un,Utt),l.td=function(e){abn(this.a,u(e,15))},F(_s,"LGraphToCGraphTransformer/lambda$8$Type",1673),D(1674,1,Un,oGt),l.td=function(e){mQe(this.a,this.b,u(e,145))},F(_s,"LGraphToCGraphTransformer/lambda$9$Type",1674),D(1663,1,{},RX),l.Le=function(e){var n,r,s,o,h;for(this.a=e,this.d=new eet,this.c=Nt(a7t,De,121,this.a.a.a.c.length,0,1),this.b=0,r=new S(this.a.a.a);r.a=tt&&(le(h,pe(M)),St=b.Math.max(St,Rt[M-1]-j),v+=K,gt+=Rt[M-1]-gt,j=Rt[M-1],K=k[M]),K=b.Math.max(K,k[M]),++M;v+=K}G=b.Math.min(1/St,1/n.b/v),G>s&&(s=G,r=h)}return r},l.Wf=function(){return!1},F(Cd,"MSDCutIndexHeuristic",802),D(1617,1,os,lQ),l.pf=function(e,n){Ryn(u(e,37),n)},F(Cd,"SingleEdgeGraphWrapper",1617),D(227,22,{3:1,35:1,22:1,227:1},ZC);var V4,g7,p7,Ny,bS,G4,b7=jr(kc,"CenterEdgeLabelPlacementStrategy",227,Hr,Kan,SJe),C2e;D(422,22,{3:1,35:1,22:1,422:1},Bbt);var ATt,Alt,LTt=jr(kc,"ConstraintCalculationStrategy",422,Hr,jrn,AJe),_2e;D(314,22,{3:1,35:1,22:1,314:1,246:1,234:1},Pet),l.Kf=function(){return Noe(this)},l.Xf=function(){return Noe(this)};var EO,P6,MTt,DTt=jr(kc,"CrossingMinimizationStrategy",314,Hr,Din,LJe),S2e;D(337,22,{3:1,35:1,22:1,337:1},Fet);var ITt,Llt,VV,OTt=jr(kc,"CuttingStrategy",337,Hr,Iin,IJe),A2e;D(335,22,{3:1,35:1,22:1,335:1,246:1,234:1},AM),l.Kf=function(){return kce(this)},l.Xf=function(){return kce(this)};var PTt,Mlt,wS,Dlt,vS,FTt=jr(kc,"CycleBreakingStrategy",335,Hr,xan,OJe),L2e;D(419,22,{3:1,35:1,22:1,419:1},Rbt);var GV,NTt,BTt=jr(kc,"DirectionCongruency",419,Hr,Rrn,PJe),M2e;D(450,22,{3:1,35:1,22:1,450:1},Net);var w7,Ilt,U4,D2e=jr(kc,"EdgeConstraint",450,Hr,Oin,FJe),I2e;D(276,22,{3:1,35:1,22:1,276:1},JC);var Olt,Plt,Flt,Nlt,UV,Blt,RTt=jr(kc,"EdgeLabelSideSelection",276,Hr,Jan,NJe),O2e;D(479,22,{3:1,35:1,22:1,479:1},jbt);var WV,jTt,$Tt=jr(kc,"EdgeStraighteningStrategy",479,Hr,Brn,BJe),P2e;D(274,22,{3:1,35:1,22:1,274:1},t9);var Rlt,zTt,qTt,YV,HTt,VTt,GTt=jr(kc,"FixedAlignment",274,Hr,Qan,RJe),F2e;D(275,22,{3:1,35:1,22:1,275:1},e9);var UTt,WTt,YTt,KTt,mS,XTt,QTt=jr(kc,"GraphCompactionStrategy",275,Hr,Xan,jJe),N2e;D(256,22,{3:1,35:1,22:1,256:1},Fm);var v7,KV,m7,vh,yS,XV,y7,W4,QV,xS,jlt=jr(kc,"GraphProperties",256,Hr,Rcn,$Je),B2e;D(292,22,{3:1,35:1,22:1,292:1},Bet);var TO,$lt,zlt,qlt=jr(kc,"GreedySwitchType",292,Hr,Nin,zJe),R2e;D(303,22,{3:1,35:1,22:1,303:1},Ret);var F6,CO,Y4,j2e=jr(kc,"InLayerConstraint",303,Hr,Fin,qJe),$2e;D(420,22,{3:1,35:1,22:1,420:1},$bt);var Hlt,ZTt,JTt=jr(kc,"InteractiveReferencePoint",420,Hr,$rn,HJe),z2e,tCt,N6,Iv,ZV,eCt,nCt,JV,rCt,_O,tG,kS,B6,By,Vlt,eG,oc,iCt,Ov,Vc,Glt,Ult,SO,B2,Pv,R6,sCt,j6,AO,Ry,r1,$h,Wlt,K4,Tc,_i,aCt,oCt,cCt,uCt,lCt,Ylt,nG,Ju,Fv,Klt,$6,LO,q1,X4,x7,Q4,Z4,k7,R2,hCt,Xlt,Qlt,z6;D(163,22,{3:1,35:1,22:1,163:1},MM);var ES,bb,TS,jy,MO,fCt=jr(kc,"LayerConstraint",163,Hr,Tan,VJe),q2e;D(848,1,Oh,rtt),l.Qe=function(e){an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,C6t),""),"Direction Congruency"),"Specifies how drawings of the same graph with different layout directions compare to each other: either a natural reading direction is preserved or the drawings are rotated versions of each other."),kCt),(Ug(),us)),BTt),un((Qf(),qn))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,_6t),""),"Feedback Edges"),"Whether feedback edges should be highlighted by routing around the nodes."),(Nn(),!1)),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,sH),""),"Interactive Reference Point"),"Determines which point of a node is considered by interactive layout phases."),ACt),us),JTt),un(qn)))),ca(e,sH,Qot,Owe),ca(e,sH,H_,Iwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,S6t),""),"Merge Edges"),"Edges that have no ports are merged so they touch the connected nodes at the same points. When this option is disabled, one port is created for each edge directly connected to a node. When it is enabled, all such incoming edges share an input port, and all outgoing edges share an output port."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,A6t),""),"Merge Hierarchy-Crossing Edges"),"If hierarchical layout is active, hierarchy-crossing edges use as few hierarchical ports as possible. They are broken by the algorithm, with hierarchical ports inserted as required. Usually, one such port is created for each edge at each hierarchy crossing point. With this option set to true, we try to create as few hierarchical ports as possible in the process. In particular, all edges that form a hyperedge can share a port."),!0),La),Rs),un(qn)))),an(e,new Xe(XKe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,L6t),""),"Allow Non-Flow Ports To Switch Sides"),"Specifies whether non-flow ports may switch sides if their node's port constraints are either FIXED_SIDE or FIXED_ORDER. A non-flow port is a port on a side that is not part of the currently configured layout flow. For instance, given a left-to-right layout direction, north and south ports would be considered non-flow ports. Further note that the underlying criterium whether to switch sides or not solely relies on the minimization of edge crossings. Hence, edge length and other aesthetics criteria are not addressed."),!1),La),Rs),un(V2)),lt(ct(Ae,1),ee,2,6,["org.eclipse.elk.layered.northOrSouthPort"])))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,M6t),""),"Port Sorting Strategy"),"Only relevant for nodes with FIXED_SIDE port constraints. Determines the way a node's ports are distributed on the sides of a node if their order is not prescribed. The option is set on parent nodes."),NCt),us),V9t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,D6t),""),"Thoroughness"),"How much effort should be spent to produce a nice layout."),pe(7)),gc),ja),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,I6t),""),"Add Unnecessary Bendpoints"),"Adds bend points even if an edge does not change direction. If true, each long edge dummy will contribute a bend point to its edges and hierarchy-crossing edges will always get a bend point where they cross hierarchy boundaries. By default, bend points are only added where an edge changes direction."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,O6t),""),"Generate Position and Layer IDs"),"If enabled position id and layer id are generated, which are usually only used internally when setting the interactiveLayout option. This option should be specified on the root node."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Qot),"cycleBreaking"),"Cycle Breaking Strategy"),"Strategy for cycle breaking. Cycle breaking looks for cycles in the graph and determines which edges to reverse to break the cycles. Reversed edges will end up pointing to the opposite direction of regular edges (that is, reversed edges will point left if edges usually point right)."),xCt),us),FTt),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,KI),xct),"Node Layering Strategy"),"Strategy for node layering."),DCt),us),I9t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,P6t),xct),"Layer Constraint"),"Determines a constraint on the placement of the node regarding the layering."),LCt),us),fCt),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,F6t),xct),"Layer Choice Constraint"),"Allows to set a constraint regarding the layer placement of a node. Let i be the value of teh constraint. Assumed the drawing has n layers and i < n. If set to i, it expresses that the node should be placed in i-th layer. Should i>=n be true then the node is placed in the last layer of the drawing. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),pe(-1)),gc),ja),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,N6t),xct),"Layer ID"),"Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),pe(-1)),gc),ja),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Zot),I1e),"Upper Bound On Width [MinWidth Layerer]"),"Defines a loose upper bound on the width of the MinWidth layerer. If set to '-1' multiple values are tested and the best result is selected."),pe(4)),gc),ja),un(qn)))),ca(e,Zot,KI,$we),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Jot),I1e),"Upper Layer Estimation Scaling Factor [MinWidth Layerer]"),"Multiplied with Upper Bound On Width for defining an upper bound on the width of layers which haven't been determined yet, but whose maximum width had been (roughly) estimated by the MinWidth algorithm. Compensates for too high estimations. If set to '-1' multiple values are tested and the best result is selected."),pe(2)),gc),ja),un(qn)))),ca(e,Jot,KI,qwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,tct),O1e),"Node Promotion Strategy"),"Reduces number of dummy nodes after layering phase (if possible)."),MCt),us),z9t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,ect),O1e),"Max Node Promotion Iterations"),"Limits the number of iterations for node promotion."),pe(0)),gc),ja),un(qn)))),ca(e,ect,tct,null),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,nct),"layering.coffmanGraham"),"Layer Bound"),"The maximum number of nodes allowed per layer."),pe(wi)),gc),ja),un(qn)))),ca(e,nct,KI,Fwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,H_),XI),"Crossing Minimization Strategy"),"Strategy for crossing minimization."),yCt),us),DTt),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,B6t),XI),"Force Node Model Order"),"The node order given by the model does not change to produce a better layout. E.g. if node A is before node B in the model this is not changed during crossing minimization. This assumes that the node model order is already respected before crossing minimization. This can be achieved by setting considerModelOrder.strategy to NODES_AND_EDGES."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,rct),XI),"Hierarchical Sweepiness"),"How likely it is to use cross-hierarchy (1) vs bottom-up (-1)."),.1),Oo),la),un(qn)))),ca(e,rct,vH,owe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,ict),XI),"Semi-Interactive Crossing Minimization"),"Preserves the order of nodes within a layer but still minimizes crossings between edges connecting long edge dummies. Derives the desired order from positions specified by the 'org.eclipse.elk.position' layout option. Requires a crossing minimization strategy that is able to process 'in-layer' constraints."),!1),La),Rs),un(qn)))),ca(e,ict,H_,hwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,R6t),XI),"Position Choice Constraint"),"Allows to set a constraint regarding the position placement of a node in a layer. Assumed the layer in which the node placed includes n other nodes and i < n. If set to i, it expresses that the node should be placed at the i-th position. Should i>=n be true then the node is placed at the last position in the layer. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),pe(-1)),gc),ja),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,j6t),XI),"Position ID"),"Position within a layer that was determined by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),pe(-1)),gc),ja),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,$6t),P1e),"Greedy Switch Activation Threshold"),"By default it is decided automatically if the greedy switch is activated or not. The decision is based on whether the size of the input graph (without dummy nodes) is smaller than the value of this option. A '0' enforces the activation."),pe(40)),gc),ja),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,sct),P1e),"Greedy Switch Crossing Minimization"),"Greedy Switch strategy for crossing minimization. The greedy switch heuristic is executed after the regular crossing minimization as a post-processor. Note that if 'hierarchyHandling' is set to 'INCLUDE_CHILDREN', the 'greedySwitchHierarchical.type' option must be used."),mCt),us),qlt),un(qn)))),ca(e,sct,H_,swe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,aH),"crossingMinimization.greedySwitchHierarchical"),"Greedy Switch Crossing Minimization (hierarchical)"),"Activates the greedy switch heuristic in case hierarchical layout is used. The differences to the non-hierarchical case (see 'greedySwitch.type') are: 1) greedy switch is inactive by default, 3) only the option value set on the node at which hierarchical layout starts is relevant, and 2) if it's activated by the user, it properly addresses hierarchy-crossing edges."),vCt),us),qlt),un(qn)))),ca(e,aH,H_,nwe),ca(e,aH,vH,rwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,I4),F1e),"Node Placement Strategy"),"Strategy for node placement."),FCt),us),N9t),un(qn)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,oH),F1e),"Favor Straight Edges Over Balancing"),"Favor straight edges over a balanced node placement. The default behavior is determined automatically based on the used 'edgeRouting'. For an orthogonal style it is set to true, for all other styles to false."),La),Rs),un(qn)))),ca(e,oH,I4,Jwe),ca(e,oH,I4,tve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,act),N1e),"BK Edge Straightening"),"Specifies whether the Brandes Koepf node placer tries to increase the number of straight edges at the expense of diagram size. There is a subtle difference to the 'favorStraightEdges' option, which decides whether a balanced placement of the nodes is desired, or not. In bk terms this means combining the four alignments into a single balanced one, or not. This option on the other hand tries to straighten additional edges during the creation of each of the four alignments."),ICt),us),$Tt),un(qn)))),ca(e,act,I4,Kwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,oct),N1e),"BK Fixed Alignment"),"Tells the BK node placer to use a certain alignment (out of its four) instead of the one producing the smallest height, or the combination of all four."),OCt),us),GTt),un(qn)))),ca(e,oct,I4,Qwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,cct),"nodePlacement.linearSegments"),"Linear Segments Deflection Dampening"),"Dampens the movement of nodes to keep the diagram from getting too large."),.3),Oo),la),un(qn)))),ca(e,cct,I4,nve),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,uct),"nodePlacement.networkSimplex"),"Node Flexibility"),"Aims at shorter and straighter edges. Two configurations are possible: (a) allow ports to move freely on the side they are assigned to (the order is always defined beforehand), (b) additionally allow to enlarge a node wherever it helps. If this option is not configured for a node, the 'nodeFlexibility.default' value is used, which is specified for the node's parent."),us),yht),un(ea)))),ca(e,uct,I4,ave),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,lct),"nodePlacement.networkSimplex.nodeFlexibility"),"Node Flexibility Default"),"Default value of the 'nodeFlexibility' option for the children of a hierarchical node."),PCt),us),yht),un(qn)))),ca(e,lct,I4,sve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,z6t),B1e),"Self-Loop Distribution"),"Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE."),CCt),us),W9t),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,q6t),B1e),"Self-Loop Ordering"),"Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE."),_Ct),us),Y9t),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,cH),"edgeRouting.splines"),"Spline Routing Mode"),"Specifies the way control points are assembled for each individual edge. CONSERVATIVE ensures that edges are properly routed around the nodes but feels rather orthogonal at times. SLOPPY uses fewer control points to obtain curvier edge routes but may result in edges overlapping nodes."),SCt),us),X9t),un(qn)))),ca(e,cH,QI,kwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,uH),"edgeRouting.splines.sloppy"),"Sloppy Spline Layer Spacing Factor"),"Spacing factor for routing area between layers when using sloppy spline routing."),.2),Oo),la),un(qn)))),ca(e,uH,QI,Twe),ca(e,uH,cH,Cwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,hct),"edgeRouting.polyline"),"Sloped Edge Zone Width"),"Width of the strip to the left and to the right of each layer where the polyline edge router is allowed to refrain from ensuring that edges are routed horizontally. This prevents awkward bend points for nodes that extent almost to the edge of their layer."),2),Oo),la),un(qn)))),ca(e,hct,QI,vwe),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,H6t),R1),"Spacing Base Value"),"An optional base value for all other layout options of the 'spacing' group. It can be used to conveniently alter the overall 'spaciousness' of the drawing. Whenever an explicit value is set for the other layout options, this base value will have no effect. The base value is not inherited, i.e. it must be set for each hierarchical node."),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,V6t),R1),"Edge Node Between Layers Spacing"),"The spacing to be preserved between nodes and edges that are routed next to the node's layer. For the spacing between nodes and edges that cross the node's layer 'spacing.edgeNode' is used."),10),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,G6t),R1),"Edge Edge Between Layer Spacing"),"Spacing to be preserved between pairs of edges that are routed between the same pair of layers. Note that 'spacing.edgeEdge' is used for the spacing between pairs of edges crossing the same layer."),10),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,U6t),R1),"Node Node Between Layers Spacing"),"The spacing to be preserved between any pair of nodes of two adjacent layers. Note that 'spacing.nodeNode' is used for the spacing between nodes within the layer itself."),20),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,W6t),nkt),"Direction Priority"),"Defines how important it is to have a certain edge point into the direction of the overall layout. This option is evaluated during the cycle breaking phase."),pe(0)),gc),ja),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Y6t),nkt),"Shortness Priority"),"Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase."),pe(0)),gc),ja),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,K6t),nkt),"Straightness Priority"),"Defines how important it is to keep an edge straight, i.e. aligned with one of the two axes. This option is evaluated during node placement."),pe(0)),gc),ja),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,fct),rkt),Jfe),"Tries to further compact components (disconnected sub-graphs)."),!1),La),Rs),un(qn)))),ca(e,fct,R_,!0),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,X6t),R1e),"Post Compaction Strategy"),j1e),gCt),us),QTt),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Q6t),R1e),"Post Compaction Constraint Calculation"),j1e),dCt),us),LTt),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,lH),ikt),"High Degree Node Treatment"),"Makes room around high degree nodes to place leafs and trees."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,dct),ikt),"High Degree Node Threshold"),"Whether a node is considered to have a high degree."),pe(16)),gc),ja),un(qn)))),ca(e,dct,lH,!0),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,gct),ikt),"High Degree Node Maximum Tree Height"),"Maximum height of a subtree connected to a high degree node to be moved to separate layers."),pe(5)),gc),ja),un(qn)))),ca(e,gct,lH,!0),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,tg),skt),"Graph Wrapping Strategy"),"For certain graphs and certain prescribed drawing areas it may be desirable to split the laid out graph into chunks that are placed side by side. The edges that connect different chunks are 'wrapped' around from the end of one chunk to the start of the other chunk. The points between the chunks are referred to as 'cuts'."),jCt),us),t_t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,hH),skt),"Additional Wrapped Edges Spacing"),"To visually separate edges that are wrapped from regularly routed edges an additional spacing value can be specified in form of this layout option. The spacing is added to the regular edgeNode spacing."),10),Oo),la),un(qn)))),ca(e,hH,tg,mve),ca(e,hH,tg,yve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,fH),skt),"Correction Factor for Wrapping"),"At times and for certain types of graphs the executed wrapping may produce results that are consistently biased in the same fashion: either wrapping to often or to rarely. This factor can be used to correct the bias. Internally, it is simply multiplied with the 'aspect ratio' layout option."),1),Oo),la),un(qn)))),ca(e,fH,tg,kve),ca(e,fH,tg,Eve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,V_),$1e),"Cutting Strategy"),"The strategy by which the layer indexes are determined at which the layering crumbles into chunks."),RCt),us),OTt),un(qn)))),ca(e,V_,tg,Lve),ca(e,V_,tg,Mve),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,pct),$1e),"Manually Specified Cuts"),"Allows the user to specify her own cuts for a certain graph."),V1),wh),un(qn)))),ca(e,pct,V_,Cve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,bct),"wrapping.cutting.msd"),"MSD Freedom"),"The MSD cutting strategy starts with an initial guess on the number of chunks the graph should be split into. The freedom specifies how much the strategy may deviate from this guess. E.g. if an initial number of 3 is computed, a freedom of 1 allows 2, 3, and 4 cuts."),BCt),gc),ja),un(qn)))),ca(e,bct,V_,Sve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,dH),z1e),"Validification Strategy"),"When wrapping graphs, one can specify indices that are not allowed as split points. The validification strategy makes sure every computed split point is allowed."),$Ct),us),J9t),un(qn)))),ca(e,dH,tg,qve),ca(e,dH,tg,Hve),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,gH),z1e),"Valid Indices for Wrapping"),null),V1),wh),un(qn)))),ca(e,gH,tg,jve),ca(e,gH,tg,$ve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,pH),akt),"Improve Cuts"),"For general graphs it is important that not too many edges wrap backwards. Thus a compromise between evenly-distributed cuts and the total number of cut edges is sought."),!0),La),Rs),un(qn)))),ca(e,pH,tg,Pve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,bH),akt),"Distance Penalty When Improving Cuts"),null),2),Oo),la),un(qn)))),ca(e,bH,tg,Ive),ca(e,bH,pH,!0),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,wct),akt),"Improve Wrapped Edges"),"The initial wrapping is performed in a very simple way. As a consequence, edges that wrap from one chunk to another may be unnecessarily long. Activating this option tries to shorten such edges."),!0),La),Rs),un(qn)))),ca(e,wct,tg,Nve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Z6t),kct),"Edge Label Side Selection"),"Method to decide on edge label sides."),TCt),us),RTt),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,J6t),kct),"Edge Center Label Placement Strategy"),"Determines in which layer center labels of long edges should be placed."),ECt),us),b7),ji(qn,lt(ct(ip,1),oe,175,0,[rp]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,wH),ZI),"Consider Model Order"),"Preserves the order of nodes and edges in the model file if this does not lead to additional edge crossings. Depending on the strategy this is not always possible since the node and edge order might be conflicting."),wCt),us),H9t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,tkt),ZI),"No Model Order"),"Set on a node to not set a model order for this node even though it is a real node."),!1),La),Rs),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,vct),ZI),"Consider Model Order for Components"),"If set to NONE the usual ordering strategy (by cumulative node priority and size of nodes) is used. INSIDE_PORT_SIDES orders the components with external ports only inside the groups with the same port side. FORCE_MODEL_ORDER enforces the mode order on components. This option might produce bad alignments and sub optimal drawings in terms of used area since the ordering should be respected."),pCt),us),F7t),un(qn)))),ca(e,vct,R_,null),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,ekt),ZI),"Long Edge Ordering Strategy"),"Indicates whether long edges are sorted under, over, or equal to nodes that have no connection to a previous layer in a left-to-right or right-to-left layout. Under and over changes to right and left in a vertical layout."),bCt),us),P9t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,mct),ZI),"Crossing Counter Node Order Influence"),"Indicates with what percentage (1 for 100%) violations of the node model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal node order. Defaults to no influence (0)."),0),Oo),la),un(qn)))),ca(e,mct,wH,null),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,yct),ZI),"Crossing Counter Port Order Influence"),"Indicates with what percentage (1 for 100%) violations of the port model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal port order. Defaults to no influence (0)."),0),Oo),la),un(qn)))),ca(e,yct,wH,null),ife((new HB,e))};var H2e,V2e,G2e,dCt,U2e,gCt,W2e,pCt,Y2e,K2e,X2e,bCt,Q2e,Z2e,wCt,J2e,twe,ewe,vCt,nwe,rwe,iwe,mCt,swe,awe,owe,cwe,uwe,lwe,hwe,fwe,yCt,dwe,xCt,gwe,kCt,pwe,ECt,bwe,TCt,wwe,vwe,mwe,CCt,ywe,_Ct,xwe,SCt,kwe,Ewe,Twe,Cwe,_we,Swe,Awe,Lwe,Mwe,Dwe,ACt,Iwe,Owe,Pwe,Fwe,Nwe,Bwe,LCt,Rwe,jwe,$we,zwe,qwe,Hwe,Vwe,MCt,Gwe,DCt,Uwe,Wwe,Ywe,ICt,Kwe,Xwe,OCt,Qwe,Zwe,Jwe,tve,eve,nve,rve,ive,PCt,sve,ave,ove,FCt,cve,NCt,uve,lve,hve,fve,dve,gve,pve,bve,wve,vve,mve,yve,xve,kve,Eve,Tve,Cve,_ve,BCt,Sve,Ave,RCt,Lve,Mve,Dve,Ive,Ove,Pve,Fve,Nve,Bve,jCt,Rve,jve,$ve,zve,$Ct,qve,Hve;F(kc,"LayeredMetaDataProvider",848),D(986,1,Oh,HB),l.Qe=function(e){ife(e)};var Id,Zlt,rG,CS,iG,zCt,sG,q6,aG,qCt,HCt,Jlt,wb,tht,$y,VCt,DO,eht,GCt,Vve,oG,nht,_S,zy,Gve,Wl,UCt,WCt,cG,rht,Od,uG,eg,YCt,KCt,XCt,iht,sht,QCt,Jg,aht,ZCt,qy,JCt,t9t,e9t,lG,Hy,j2,n9t,r9t,So,i9t,Uve,uu,hG,s9t,a9t,o9t,oht,c9t,fG,u9t,l9t,dG,Nv,h9t,cht,SS,f9t,Bv,AS,gG,$2,uht,E7,pG,z2,d9t,g9t,p9t,T7,b9t,Wve,Yve,Kve,Xve,Rv,Vy,cs,tp,Qve,Gy,w9t,C7,v9t,Uy,Zve,_7,m9t,H6,Jve,tme,IO,lht,y9t,OO,Tf,J4,V6,jv,q2,bG,Wy,hht,S7,A7,$v,t5,fht,PO,LS,MS,dht,x9t,k9t,E9t,T9t,ght,C9t,_9t,S9t,A9t,pht,wG;F(kc,"LayeredOptions",986),D(987,1,{},fQ),l.$e=function(){var e;return e=new gqt,e},l._e=function(e){},F(kc,"LayeredOptions/LayeredFactory",987),D(1372,1,{}),l.a=0;var eme;F(Ec,"ElkSpacings/AbstractSpacingsBuilder",1372),D(779,1372,{},w3t);var vG,nme;F(kc,"LayeredSpacings/LayeredSpacingsBuilder",779),D(313,22,{3:1,35:1,22:1,313:1,246:1,234:1},n9),l.Kf=function(){return Bce(this)},l.Xf=function(){return Bce(this)};var bht,L9t,M9t,mG,wht,D9t,I9t=jr(kc,"LayeringStrategy",313,Hr,Zan,GJe),rme;D(378,22,{3:1,35:1,22:1,378:1},jet);var vht,O9t,yG,P9t=jr(kc,"LongEdgeOrderingStrategy",378,Hr,Min,UJe),ime;D(197,22,{3:1,35:1,22:1,197:1},nj);var e5,n5,xG,mht,yht=jr(kc,"NodeFlexibility",197,Hr,Bsn,WJe),sme;D(315,22,{3:1,35:1,22:1,315:1,246:1,234:1},LM),l.Kf=function(){return xce(this)},l.Xf=function(){return xce(this)};var DS,xht,kht,IS,F9t,N9t=jr(kc,"NodePlacementStrategy",315,Hr,yan,JJe),ame;D(260,22,{3:1,35:1,22:1,260:1},Ix);var B9t,FO,R9t,j9t,NO,$9t,kG,EG,z9t=jr(kc,"NodePromotionStrategy",260,Hr,Qon,KJe),ome;D(339,22,{3:1,35:1,22:1,339:1},$et);var q9t,vb,Eht,H9t=jr(kc,"OrderingStrategy",339,Hr,Rin,XJe),cme;D(421,22,{3:1,35:1,22:1,421:1},zbt);var Tht,Cht,V9t=jr(kc,"PortSortingStrategy",421,Hr,zrn,QJe),ume;D(452,22,{3:1,35:1,22:1,452:1},zet);var tl,nu,OS,lme=jr(kc,"PortType",452,Hr,Bin,YJe),hme;D(375,22,{3:1,35:1,22:1,375:1},qet);var G9t,_ht,U9t,W9t=jr(kc,"SelfLoopDistributionStrategy",375,Hr,jin,ZJe),fme;D(376,22,{3:1,35:1,22:1,376:1},qbt);var BO,Sht,Y9t=jr(kc,"SelfLoopOrderingStrategy",376,Hr,Nrn,ttn),dme;D(304,1,{304:1},ahe),F(kc,"Spacings",304),D(336,22,{3:1,35:1,22:1,336:1},Het);var Aht,K9t,PS,X9t=jr(kc,"SplineRoutingMode",336,Hr,zin,etn),gme;D(338,22,{3:1,35:1,22:1,338:1},Vet);var Lht,Q9t,Z9t,J9t=jr(kc,"ValidifyStrategy",338,Hr,qin,ntn),pme;D(377,22,{3:1,35:1,22:1,377:1},Get);var Yy,Mht,L7,t_t=jr(kc,"WrappingStrategy",377,Hr,$in,rtn),bme;D(1383,1,zc,att),l.Yf=function(e){return u(e,37),wme},l.pf=function(e,n){I3n(this,u(e,37),n)};var wme;F(xH,"DepthFirstCycleBreaker",1383),D(782,1,zc,evt),l.Yf=function(e){return u(e,37),vme},l.pf=function(e,n){Mxn(this,u(e,37),n)},l.Zf=function(e){return u(Ne(e,Zz(this.d,e.c.length)),10)};var vme;F(xH,"GreedyCycleBreaker",782),D(1386,782,zc,WGt),l.Zf=function(e){var n,r,s,o;for(o=null,n=wi,s=new S(e);s.a1&&(je(Re(Q(Na((An(0,e.c.length),u(e.c[0],10))),(Te(),$y))))?Dce(e,this.d,u(this,660)):(wn(),Zs(e,this.d)),Qne(this.e,e))},l.Sf=function(e,n,r,s){var o,h,d,v,k,C,M;for(n!=kKt(r,e.length)&&(h=e[n-(r?1:-1)],_mt(this.f,h,r?(so(),nu):(so(),tl))),o=e[n][0],M=!s||o.k==(Vn(),ks),C=A1(e[n]),this.ag(C,M,!1,r),d=0,k=new S(C);k.a"),e0?Crt(this.a,e[n-1],e[n]):!r&&n1&&(je(Re(Q(Na((An(0,e.c.length),u(e.c[0],10))),(Te(),$y))))?Dce(e,this.d,this):(wn(),Zs(e,this.d)),je(Re(Q(Na((An(0,e.c.length),u(e.c[0],10))),$y)))||Qne(this.e,e))},F(qu,"ModelOrderBarycenterHeuristic",660),D(1803,1,Oi,D$t),l.ue=function(e,n){return Ugn(this.a,u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(qu,"ModelOrderBarycenterHeuristic/lambda$0$Type",1803),D(1403,1,zc,ltt),l.Yf=function(e){var n;return u(e,37),n=pj(Dme),bi(n,(Wa(),cu),(ro(),IV)),n},l.pf=function(e,n){Drn((u(e,37),n))};var Dme;F(qu,"NoCrossingMinimizer",1403),D(796,402,qkt,hbt),l.$f=function(e,n,r){var s,o,h,d,v,k,C,M,j,H,G;switch(j=this.g,r.g){case 1:{for(o=0,h=0,M=new S(e.j);M.a1&&(o.j==(ve(),Hn)?this.b[e]=!0:o.j==Bn&&e>0&&(this.b[e-1]=!0))},l.f=0,F(c0,"AllCrossingsCounter",1798),D(587,1,{},gz),l.b=0,l.d=0,F(c0,"BinaryIndexedTree",587),D(524,1,{},YM);var r_t,CG;F(c0,"CrossingsCounter",524),D(1906,1,Oi,I$t),l.ue=function(e,n){return Pen(this.a,u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(c0,"CrossingsCounter/lambda$0$Type",1906),D(1907,1,Oi,O$t),l.ue=function(e,n){return Fen(this.a,u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(c0,"CrossingsCounter/lambda$1$Type",1907),D(1908,1,Oi,P$t),l.ue=function(e,n){return Nen(this.a,u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(c0,"CrossingsCounter/lambda$2$Type",1908),D(1909,1,Oi,F$t),l.ue=function(e,n){return Ben(this.a,u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(c0,"CrossingsCounter/lambda$3$Type",1909),D(1910,1,Un,N$t),l.td=function(e){von(this.a,u(e,11))},F(c0,"CrossingsCounter/lambda$4$Type",1910),D(1911,1,li,B$t),l.Mb=function(e){return IXe(this.a,u(e,11))},F(c0,"CrossingsCounter/lambda$5$Type",1911),D(1912,1,Un,R$t),l.td=function(e){HGt(this,e)},F(c0,"CrossingsCounter/lambda$6$Type",1912),D(1913,1,Un,pGt),l.td=function(e){var n;k8(),Up(this.b,(n=this.a,u(e,11),n))},F(c0,"CrossingsCounter/lambda$7$Type",1913),D(826,1,xd,YN),l.Lb=function(e){return k8(),Us(u(e,11),(ae(),Ju))},l.Fb=function(e){return this===e},l.Mb=function(e){return k8(),Us(u(e,11),(ae(),Ju))},F(c0,"CrossingsCounter/lambda$8$Type",826),D(1905,1,{},j$t),F(c0,"HyperedgeCrossingsCounter",1905),D(467,1,{35:1,467:1},sYt),l.wd=function(e){return pfn(this,u(e,467))},l.b=0,l.c=0,l.e=0,l.f=0;var h6n=F(c0,"HyperedgeCrossingsCounter/Hyperedge",467);D(362,1,{35:1,362:1},f$),l.wd=function(e){return d2n(this,u(e,362))},l.b=0,l.c=0;var Ime=F(c0,"HyperedgeCrossingsCounter/HyperedgeCorner",362);D(523,22,{3:1,35:1,22:1,523:1},Hbt);var NS,BS,Ome=jr(c0,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",523,Hr,qrn,stn),Pme;D(1405,1,zc,stt),l.Yf=function(e){return u(Q(u(e,37),(ae(),Vc)),21).Hc((oo(),vh))?Fme:null},l.pf=function(e,n){Pdn(this,u(e,37),n)};var Fme;F(uo,"InteractiveNodePlacer",1405),D(1406,1,zc,itt),l.Yf=function(e){return u(Q(u(e,37),(ae(),Vc)),21).Hc((oo(),vh))?Nme:null},l.pf=function(e,n){v1n(this,u(e,37),n)};var Nme,_G,SG;F(uo,"LinearSegmentsNodePlacer",1406),D(257,1,{35:1,257:1},zpt),l.wd=function(e){return VKe(this,u(e,257))},l.Fb=function(e){var n;return _t(e,257)?(n=u(e,257),this.b==n.b):!1},l.Hb=function(){return this.b},l.Ib=function(){return"ls"+eb(this.e)},l.a=0,l.b=0,l.c=-1,l.d=-1,l.g=0;var Bme=F(uo,"LinearSegmentsNodePlacer/LinearSegment",257);D(1408,1,zc,IKt),l.Yf=function(e){return u(Q(u(e,37),(ae(),Vc)),21).Hc((oo(),vh))?Rme:null},l.pf=function(e,n){kxn(this,u(e,37),n)},l.b=0,l.g=0;var Rme;F(uo,"NetworkSimplexPlacer",1408),D(1427,1,Oi,wQ),l.ue=function(e,n){return pu(u(e,19).a,u(n,19).a)},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(uo,"NetworkSimplexPlacer/0methodref$compare$Type",1427),D(1429,1,Oi,vQ),l.ue=function(e,n){return pu(u(e,19).a,u(n,19).a)},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(uo,"NetworkSimplexPlacer/1methodref$compare$Type",1429),D(649,1,{649:1},bGt);var f6n=F(uo,"NetworkSimplexPlacer/EdgeRep",649);D(401,1,{401:1},Ovt),l.b=!1;var d6n=F(uo,"NetworkSimplexPlacer/NodeRep",401);D(508,12,{3:1,4:1,20:1,28:1,52:1,12:1,14:1,15:1,54:1,508:1},Cqt),F(uo,"NetworkSimplexPlacer/Path",508),D(1409,1,{},mQ),l.Kb=function(e){return u(e,17).d.i.k},F(uo,"NetworkSimplexPlacer/Path/lambda$0$Type",1409),D(1410,1,li,yQ),l.Mb=function(e){return u(e,267)==(Vn(),ta)},F(uo,"NetworkSimplexPlacer/Path/lambda$1$Type",1410),D(1411,1,{},xQ),l.Kb=function(e){return u(e,17).d.i},F(uo,"NetworkSimplexPlacer/Path/lambda$2$Type",1411),D(1412,1,li,$$t),l.Mb=function(e){return HWt(Aie(u(e,10)))},F(uo,"NetworkSimplexPlacer/Path/lambda$3$Type",1412),D(1413,1,li,kQ),l.Mb=function(e){return Een(u(e,11))},F(uo,"NetworkSimplexPlacer/lambda$0$Type",1413),D(1414,1,Un,wGt),l.td=function(e){yQe(this.a,this.b,u(e,11))},F(uo,"NetworkSimplexPlacer/lambda$1$Type",1414),D(1423,1,Un,z$t),l.td=function(e){$pn(this.a,u(e,17))},F(uo,"NetworkSimplexPlacer/lambda$10$Type",1423),D(1424,1,{},EQ),l.Kb=function(e){return Fl(),new Tn(null,new _n(u(e,29).a,16))},F(uo,"NetworkSimplexPlacer/lambda$11$Type",1424),D(1425,1,Un,q$t),l.td=function(e){Nvn(this.a,u(e,10))},F(uo,"NetworkSimplexPlacer/lambda$12$Type",1425),D(1426,1,{},TQ),l.Kb=function(e){return Fl(),pe(u(e,121).e)},F(uo,"NetworkSimplexPlacer/lambda$13$Type",1426),D(1428,1,{},CQ),l.Kb=function(e){return Fl(),pe(u(e,121).e)},F(uo,"NetworkSimplexPlacer/lambda$15$Type",1428),D(1430,1,li,_Q),l.Mb=function(e){return Fl(),u(e,401).c.k==(Vn(),Os)},F(uo,"NetworkSimplexPlacer/lambda$17$Type",1430),D(1431,1,li,SQ),l.Mb=function(e){return Fl(),u(e,401).c.j.c.length>1},F(uo,"NetworkSimplexPlacer/lambda$18$Type",1431),D(1432,1,Un,jXt),l.td=function(e){_hn(this.c,this.b,this.d,this.a,u(e,401))},l.c=0,l.d=0,F(uo,"NetworkSimplexPlacer/lambda$19$Type",1432),D(1415,1,{},AQ),l.Kb=function(e){return Fl(),new Tn(null,new _n(u(e,29).a,16))},F(uo,"NetworkSimplexPlacer/lambda$2$Type",1415),D(1433,1,Un,H$t),l.td=function(e){vQe(this.a,u(e,11))},l.a=0,F(uo,"NetworkSimplexPlacer/lambda$20$Type",1433),D(1434,1,{},nx),l.Kb=function(e){return Fl(),new Tn(null,new _n(u(e,29).a,16))},F(uo,"NetworkSimplexPlacer/lambda$21$Type",1434),D(1435,1,Un,V$t),l.td=function(e){OQe(this.a,u(e,10))},F(uo,"NetworkSimplexPlacer/lambda$22$Type",1435),D(1436,1,li,KN),l.Mb=function(e){return HWt(e)},F(uo,"NetworkSimplexPlacer/lambda$23$Type",1436),D(1437,1,{},LQ),l.Kb=function(e){return Fl(),new Tn(null,new _n(u(e,29).a,16))},F(uo,"NetworkSimplexPlacer/lambda$24$Type",1437),D(1438,1,li,G$t),l.Mb=function(e){return jXe(this.a,u(e,10))},F(uo,"NetworkSimplexPlacer/lambda$25$Type",1438),D(1439,1,Un,vGt),l.td=function(e){cpn(this.a,this.b,u(e,10))},F(uo,"NetworkSimplexPlacer/lambda$26$Type",1439),D(1440,1,li,MQ),l.Mb=function(e){return Fl(),!Ga(u(e,17))},F(uo,"NetworkSimplexPlacer/lambda$27$Type",1440),D(1441,1,li,DQ),l.Mb=function(e){return Fl(),!Ga(u(e,17))},F(uo,"NetworkSimplexPlacer/lambda$28$Type",1441),D(1442,1,{},U$t),l.Ce=function(e,n){return MQe(this.a,u(e,29),u(n,29))},F(uo,"NetworkSimplexPlacer/lambda$29$Type",1442),D(1416,1,{},XN),l.Kb=function(e){return Fl(),new Tn(null,new jw(new ar(lr(Ds(u(e,10)).a.Kc(),new z))))},F(uo,"NetworkSimplexPlacer/lambda$3$Type",1416),D(1417,1,li,IQ),l.Mb=function(e){return Fl(),wsn(u(e,17))},F(uo,"NetworkSimplexPlacer/lambda$4$Type",1417),D(1418,1,Un,W$t),l.td=function(e){Fyn(this.a,u(e,17))},F(uo,"NetworkSimplexPlacer/lambda$5$Type",1418),D(1419,1,{},WT),l.Kb=function(e){return Fl(),new Tn(null,new _n(u(e,29).a,16))},F(uo,"NetworkSimplexPlacer/lambda$6$Type",1419),D(1420,1,li,OQ),l.Mb=function(e){return Fl(),u(e,10).k==(Vn(),Os)},F(uo,"NetworkSimplexPlacer/lambda$7$Type",1420),D(1421,1,{},PQ),l.Kb=function(e){return Fl(),new Tn(null,new jw(new ar(lr(U0(u(e,10)).a.Kc(),new z))))},F(uo,"NetworkSimplexPlacer/lambda$8$Type",1421),D(1422,1,li,FQ),l.Mb=function(e){return Fl(),wen(u(e,17))},F(uo,"NetworkSimplexPlacer/lambda$9$Type",1422),D(1404,1,zc,vC),l.Yf=function(e){return u(Q(u(e,37),(ae(),Vc)),21).Hc((oo(),vh))?jme:null},l.pf=function(e,n){b3n(u(e,37),n)};var jme;F(uo,"SimpleNodePlacer",1404),D(180,1,{180:1},E4),l.Ib=function(){var e;return e="",this.c==(bd(),zv)?e+=x6:this.c==ep&&(e+=y6),this.o==(C1(),H2)?e+=Dot:this.o==H1?e+="UP":e+="BALANCED",e},F(ub,"BKAlignedLayout",180),D(516,22,{3:1,35:1,22:1,516:1},Gbt);var ep,zv,$me=jr(ub,"BKAlignedLayout/HDirection",516,Hr,Vrn,atn),zme;D(515,22,{3:1,35:1,22:1,515:1},Vbt);var H2,H1,qme=jr(ub,"BKAlignedLayout/VDirection",515,Hr,Grn,otn),Hme;D(1634,1,{},mGt),F(ub,"BKAligner",1634),D(1637,1,{},Zse),F(ub,"BKCompactor",1637),D(654,1,{654:1},NQ),l.a=0,F(ub,"BKCompactor/ClassEdge",654),D(458,1,{458:1},Eqt),l.a=null,l.b=0,F(ub,"BKCompactor/ClassNode",458),D(1407,1,zc,GGt),l.Yf=function(e){return u(Q(u(e,37),(ae(),Vc)),21).Hc((oo(),vh))?Vme:null},l.pf=function(e,n){Bxn(this,u(e,37),n)},l.d=!1;var Vme;F(ub,"BKNodePlacer",1407),D(1635,1,{},BQ),l.d=0,F(ub,"NeighborhoodInformation",1635),D(1636,1,Oi,Y$t),l.ue=function(e,n){return Von(this,u(e,46),u(n,46))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(ub,"NeighborhoodInformation/NeighborComparator",1636),D(808,1,{}),F(ub,"ThresholdStrategy",808),D(1763,808,{},Aqt),l.bg=function(e,n,r){return this.a.o==(C1(),H1)?as:Cs},l.cg=function(){},F(ub,"ThresholdStrategy/NullThresholdStrategy",1763),D(579,1,{579:1},yGt),l.c=!1,l.d=!1,F(ub,"ThresholdStrategy/Postprocessable",579),D(1764,808,{},Lqt),l.bg=function(e,n,r){var s,o,h;return o=n==r,s=this.a.a[r.p]==n,o||s?(h=e,this.a.c==(bd(),zv)?(o&&(h=Dat(this,n,!0)),!isNaN(h)&&!isFinite(h)&&s&&(h=Dat(this,r,!1))):(o&&(h=Dat(this,n,!0)),!isNaN(h)&&!isFinite(h)&&s&&(h=Dat(this,r,!1))),h):e},l.cg=function(){for(var e,n,r,s,o;this.d.b!=0;)o=u(oin(this.d),579),s=mle(this,o),s.a&&(e=s.a,r=je(this.a.f[this.a.g[o.b.p].p]),!(!r&&!Ga(e)&&e.c.i.c==e.d.i.c)&&(n=_ce(this,o),n||WXe(this.e,o)));for(;this.e.a.c.length!=0;)_ce(this,u(Nre(this.e),579))},F(ub,"ThresholdStrategy/SimpleThresholdStrategy",1764),D(635,1,{635:1,246:1,234:1},RQ),l.Kf=function(){return Une(this)},l.Xf=function(){return Une(this)};var Dht;F(Sct,"EdgeRouterFactory",635),D(1458,1,zc,od),l.Yf=function(e){return pvn(u(e,37))},l.pf=function(e,n){E3n(u(e,37),n)};var Gme,Ume,Wme,Yme,Kme,i_t,Xme,Qme;F(Sct,"OrthogonalEdgeRouter",1458),D(1451,1,zc,UGt),l.Yf=function(e){return jdn(u(e,37))},l.pf=function(e,n){H5n(this,u(e,37),n)};var Zme,Jme,tye,eye,jO,nye;F(Sct,"PolylineEdgeRouter",1451),D(1452,1,xd,jQ),l.Lb=function(e){return yyt(u(e,10))},l.Fb=function(e){return this===e},l.Mb=function(e){return yyt(u(e,10))},F(Sct,"PolylineEdgeRouter/1",1452),D(1809,1,li,$Q),l.Mb=function(e){return u(e,129).c==(Uf(),mb)},F(t1,"HyperEdgeCycleDetector/lambda$0$Type",1809),D(1810,1,{},zQ),l.Ge=function(e){return u(e,129).d},F(t1,"HyperEdgeCycleDetector/lambda$1$Type",1810),D(1811,1,li,qQ),l.Mb=function(e){return u(e,129).c==(Uf(),mb)},F(t1,"HyperEdgeCycleDetector/lambda$2$Type",1811),D(1812,1,{},rx),l.Ge=function(e){return u(e,129).d},F(t1,"HyperEdgeCycleDetector/lambda$3$Type",1812),D(1813,1,{},HQ),l.Ge=function(e){return u(e,129).d},F(t1,"HyperEdgeCycleDetector/lambda$4$Type",1813),D(1814,1,{},VQ),l.Ge=function(e){return u(e,129).d},F(t1,"HyperEdgeCycleDetector/lambda$5$Type",1814),D(112,1,{35:1,112:1},PD),l.wd=function(e){return GKe(this,u(e,112))},l.Fb=function(e){var n;return _t(e,112)?(n=u(e,112),this.g==n.g):!1},l.Hb=function(){return this.g},l.Ib=function(){var e,n,r,s;for(e=new Ol("{"),s=new S(this.n);s.a"+this.b+" ("+nZe(this.c)+")"},l.d=0,F(t1,"HyperEdgeSegmentDependency",129),D(520,22,{3:1,35:1,22:1,520:1},Ubt);var mb,Ky,rye=jr(t1,"HyperEdgeSegmentDependency/DependencyType",520,Hr,Hrn,ctn),iye;D(1815,1,{},K$t),F(t1,"HyperEdgeSegmentSplitter",1815),D(1816,1,{},_Ht),l.a=0,l.b=0,F(t1,"HyperEdgeSegmentSplitter/AreaRating",1816),D(329,1,{329:1},Dnt),l.a=0,l.b=0,l.c=0,F(t1,"HyperEdgeSegmentSplitter/FreeArea",329),D(1817,1,Oi,QQ),l.ue=function(e,n){return ZZe(u(e,112),u(n,112))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(t1,"HyperEdgeSegmentSplitter/lambda$0$Type",1817),D(1818,1,Un,$Xt),l.td=function(e){ran(this.a,this.d,this.c,this.b,u(e,112))},l.b=0,F(t1,"HyperEdgeSegmentSplitter/lambda$1$Type",1818),D(1819,1,{},ZQ),l.Kb=function(e){return new Tn(null,new _n(u(e,112).e,16))},F(t1,"HyperEdgeSegmentSplitter/lambda$2$Type",1819),D(1820,1,{},JQ),l.Kb=function(e){return new Tn(null,new _n(u(e,112).j,16))},F(t1,"HyperEdgeSegmentSplitter/lambda$3$Type",1820),D(1821,1,{},tZ),l.Fe=function(e){return Xt(ye(e))},F(t1,"HyperEdgeSegmentSplitter/lambda$4$Type",1821),D(655,1,{},ert),l.a=0,l.b=0,l.c=0,F(t1,"OrthogonalRoutingGenerator",655),D(1638,1,{},eZ),l.Kb=function(e){return new Tn(null,new _n(u(e,112).e,16))},F(t1,"OrthogonalRoutingGenerator/lambda$0$Type",1638),D(1639,1,{},nZ),l.Kb=function(e){return new Tn(null,new _n(u(e,112).j,16))},F(t1,"OrthogonalRoutingGenerator/lambda$1$Type",1639),D(661,1,{}),F(Act,"BaseRoutingDirectionStrategy",661),D(1807,661,{},Mqt),l.dg=function(e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt;if(!(e.r&&!e.q))for(M=n+e.o*r,C=new S(e.n);C.aEd&&(h=M,o=e,s=new $e(j,h),ri(d.a,s),pv(this,d,o,s,!1),H=e.r,H&&(G=Xt(ye(Zf(H.e,0))),s=new $e(G,h),ri(d.a,s),pv(this,d,o,s,!1),h=n+H.o*r,o=H,s=new $e(G,h),ri(d.a,s),pv(this,d,o,s,!1)),s=new $e(tt,h),ri(d.a,s),pv(this,d,o,s,!1)))},l.eg=function(e){return e.i.n.a+e.n.a+e.a.a},l.fg=function(){return ve(),mr},l.gg=function(){return ve(),Pn},F(Act,"NorthToSouthRoutingStrategy",1807),D(1808,661,{},Dqt),l.dg=function(e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt;if(!(e.r&&!e.q))for(M=n-e.o*r,C=new S(e.n);C.aEd&&(h=M,o=e,s=new $e(j,h),ri(d.a,s),pv(this,d,o,s,!1),H=e.r,H&&(G=Xt(ye(Zf(H.e,0))),s=new $e(G,h),ri(d.a,s),pv(this,d,o,s,!1),h=n-H.o*r,o=H,s=new $e(G,h),ri(d.a,s),pv(this,d,o,s,!1)),s=new $e(tt,h),ri(d.a,s),pv(this,d,o,s,!1)))},l.eg=function(e){return e.i.n.a+e.n.a+e.a.a},l.fg=function(){return ve(),Pn},l.gg=function(){return ve(),mr},F(Act,"SouthToNorthRoutingStrategy",1808),D(1806,661,{},Iqt),l.dg=function(e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt;if(!(e.r&&!e.q))for(M=n+e.o*r,C=new S(e.n);C.aEd&&(h=M,o=e,s=new $e(h,j),ri(d.a,s),pv(this,d,o,s,!0),H=e.r,H&&(G=Xt(ye(Zf(H.e,0))),s=new $e(h,G),ri(d.a,s),pv(this,d,o,s,!0),h=n+H.o*r,o=H,s=new $e(h,G),ri(d.a,s),pv(this,d,o,s,!0)),s=new $e(h,tt),ri(d.a,s),pv(this,d,o,s,!0)))},l.eg=function(e){return e.i.n.b+e.n.b+e.a.b},l.fg=function(){return ve(),Hn},l.gg=function(){return ve(),Bn},F(Act,"WestToEastRoutingStrategy",1806),D(813,1,{},fxt),l.Ib=function(){return eb(this.a)},l.b=0,l.c=!1,l.d=!1,l.f=0,F(Sy,"NubSpline",813),D(407,1,{407:1},eue,yQt),F(Sy,"NubSpline/PolarCP",407),D(1453,1,zc,Vse),l.Yf=function(e){return A0n(u(e,37))},l.pf=function(e,n){cxn(this,u(e,37),n)};var sye,aye,oye,cye,uye;F(Sy,"SplineEdgeRouter",1453),D(268,1,{268:1},R$),l.Ib=function(){return this.a+" ->("+this.c+") "+this.b},l.c=0,F(Sy,"SplineEdgeRouter/Dependency",268),D(455,22,{3:1,35:1,22:1,455:1},Wbt);var yb,r5,lye=jr(Sy,"SplineEdgeRouter/SideToProcess",455,Hr,Urn,utn),hye;D(1454,1,li,XQ),l.Mb=function(e){return m_(),!u(e,128).o},F(Sy,"SplineEdgeRouter/lambda$0$Type",1454),D(1455,1,{},KQ),l.Ge=function(e){return m_(),u(e,128).v+1},F(Sy,"SplineEdgeRouter/lambda$1$Type",1455),D(1456,1,Un,xGt),l.td=function(e){men(this.a,this.b,u(e,46))},F(Sy,"SplineEdgeRouter/lambda$2$Type",1456),D(1457,1,Un,kGt),l.td=function(e){yen(this.a,this.b,u(e,46))},F(Sy,"SplineEdgeRouter/lambda$3$Type",1457),D(128,1,{35:1,128:1},voe,vxt),l.wd=function(e){return UKe(this,u(e,128))},l.b=0,l.e=!1,l.f=0,l.g=0,l.j=!1,l.k=!1,l.n=0,l.o=!1,l.p=!1,l.q=!1,l.s=0,l.u=0,l.v=0,l.F=0,F(Sy,"SplineSegment",128),D(459,1,{459:1},YT),l.a=0,l.b=!1,l.c=!1,l.d=!1,l.e=!1,l.f=0,F(Sy,"SplineSegment/EdgeInformation",459),D(1234,1,{},GQ),F(G_,d6t,1234),D(1235,1,Oi,UQ),l.ue=function(e,n){return nbn(u(e,135),u(n,135))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(G_,n1e,1235),D(1233,1,{},qHt),F(G_,"MrTree",1233),D(393,22,{3:1,35:1,22:1,393:1,246:1,234:1},rj),l.Kf=function(){return Hoe(this)},l.Xf=function(){return Hoe(this)};var AG,RS,$O,jS,s_t=jr(G_,"TreeLayoutPhases",393,Hr,Rsn,ltn),fye;D(1130,209,S2,cYt),l.Ze=function(e,n){var r,s,o,h,d,v,k;for(je(Re(qe(e,(gv(),h_t))))||y$((r=new rr((Pm(),new Mm(e))),r)),d=(v=new j$,Mo(v,e),Jt(v,(fc(),qS),e),k=new _r,Wmn(e,v,k),lyn(e,v,k),v),h=ryn(this.a,d),o=new S(h);o.a"+S$(this.c):"e_"+Hi(this)},F(U_,"TEdge",188),D(135,134,{3:1,135:1,94:1,134:1},j$),l.Ib=function(){var e,n,r,s,o;for(o=null,s=ei(this.b,0);s.b!=s.d.c;)r=u(ti(s),86),o+=(r.c==null||r.c.length==0?"n_"+r.g:"n_"+r.c)+` +`;for(n=ei(this.a,0);n.b!=n.d.c;)e=u(ti(n),188),o+=(e.b&&e.c?S$(e.b)+"->"+S$(e.c):"e_"+Hi(e))+` +`;return o};var g6n=F(U_,"TGraph",135);D(633,502,{3:1,502:1,633:1,94:1,134:1}),F(U_,"TShape",633),D(86,633,{3:1,502:1,86:1,633:1,94:1,134:1},Dit),l.Ib=function(){return S$(this)};var p6n=F(U_,"TNode",86);D(255,1,r0,Lp),l.Jc=function(e){va(this,e)},l.Kc=function(){var e;return e=ei(this.a.d,0),new Ex(e)},F(U_,"TNode/2",255),D(358,1,sa,Ex),l.Nb=function(e){ba(this,e)},l.Pb=function(){return u(ti(this.a),188).c},l.Ob=function(){return OR(this.a)},l.Qb=function(){tz(this.a)},F(U_,"TNode/2/1",358),D(1840,1,os,oYt),l.pf=function(e,n){_yn(this,u(e,135),n)},F(A6,"FanProcessor",1840),D(327,22,{3:1,35:1,22:1,327:1,234:1},r9),l.Kf=function(){switch(this.g){case 0:return new Wqt;case 1:return new oYt;case 2:return new ix;case 3:return new rZ;case 4:return new sZ;case 5:return new RL;default:throw it(new Fn(Yot+(this.f!=null?this.f:""+this.g)))}};var Iht,Oht,Pht,Fht,Nht,LG,dye=jr(A6,T6t,327,Hr,ton,htn),gye;D(1843,1,os,rZ),l.pf=function(e,n){c2n(this,u(e,135),n)},l.a=0,F(A6,"LevelHeightProcessor",1843),D(1844,1,r0,iZ),l.Jc=function(e){va(this,e)},l.Kc=function(){return wn(),h8(),a7},F(A6,"LevelHeightProcessor/1",1844),D(1841,1,os,ix),l.pf=function(e,n){ppn(this,u(e,135),n)},l.a=0,F(A6,"NeighborsProcessor",1841),D(1842,1,r0,QN),l.Jc=function(e){va(this,e)},l.Kc=function(){return wn(),h8(),a7},F(A6,"NeighborsProcessor/1",1842),D(1845,1,os,sZ),l.pf=function(e,n){o2n(this,u(e,135),n)},l.a=0,F(A6,"NodePositionProcessor",1845),D(1839,1,os,Wqt),l.pf=function(e,n){O3n(this,u(e,135))},F(A6,"RootProcessor",1839),D(1846,1,os,RL),l.pf=function(e,n){qln(u(e,135))},F(A6,"Untreeifyer",1846);var zO,$S,pye,Bht,MG,zS,Rht,DG,IG,M7,qS,OG,np,a_t,bye,jht,Xy,$ht,o_t;D(851,1,Oh,D3),l.Qe=function(e){an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Hkt),""),"Weighting of Nodes"),"Which weighting to use when computing a node order."),u_t),(Ug(),us)),b_t),un((Qf(),qn))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Vkt),""),"Search Order"),"Which search order to use when computing a spanning tree."),c_t),us),v_t),un(qn)))),phe((new JL,e))};var wye,c_t,vye,u_t;F(EH,"MrTreeMetaDataProvider",851),D(994,1,Oh,JL),l.Qe=function(e){phe(e)};var mye,l_t,yye,xye,kye,Eye,h_t,Tye,f_t,Cye,PG,d_t,_ye,g_t,Sye;F(EH,"MrTreeOptions",994),D(995,1,{},aZ),l.$e=function(){var e;return e=new cYt,e},l._e=function(e){},F(EH,"MrTreeOptions/MrtreeFactory",995),D(480,22,{3:1,35:1,22:1,480:1},Ybt);var zht,p_t,b_t=jr(EH,"OrderWeighting",480,Hr,Yrn,ftn),Aye;D(425,22,{3:1,35:1,22:1,425:1},Kbt);var w_t,qht,v_t=jr(EH,"TreeifyingOrder",425,Hr,Wrn,gtn),Lye;D(1459,1,zc,ZL),l.Yf=function(e){return u(e,135),Mye},l.pf=function(e,n){zcn(this,u(e,135),n)};var Mye;F("org.eclipse.elk.alg.mrtree.p1treeify","DFSTreeifyer",1459),D(1460,1,zc,ctt),l.Yf=function(e){return u(e,135),Dye},l.pf=function(e,n){Cpn(this,u(e,135),n)};var Dye;F("org.eclipse.elk.alg.mrtree.p2order","NodeOrderer",1460),D(1461,1,zc,ott),l.Yf=function(e){return u(e,135),Iye},l.pf=function(e,n){qvn(this,u(e,135),n)},l.a=0;var Iye;F("org.eclipse.elk.alg.mrtree.p3place","NodePlacer",1461),D(1462,1,zc,GB),l.Yf=function(e){return u(e,135),Oye},l.pf=function(e,n){gdn(u(e,135),n)};var Oye;F("org.eclipse.elk.alg.mrtree.p4route","EdgeRouter",1462);var HS;D(495,22,{3:1,35:1,22:1,495:1,246:1,234:1},Xbt),l.Kf=function(){return xie(this)},l.Xf=function(){return xie(this)};var FG,D7,m_t=jr(Gkt,"RadialLayoutPhases",495,Hr,Krn,dtn),Pye;D(1131,209,S2,zHt),l.Ze=function(e,n){var r,s,o,h,d,v;if(r=Toe(this,e),vr(n,"Radial layout",r.c.length),je(Re(qe(e,(uy(),L_t))))||y$((s=new rr((Pm(),new Mm(e))),s)),v=D0n(e),wo(e,(m9(),HS),v),!v)throw it(new Fn("The given graph is not a tree!"));for(o=Xt(ye(qe(e,RG))),o==0&&(o=Roe(e)),wo(e,RG,o),d=new S(Toe(this,e));d.a0&&Ure((Rr(n-1,e.length),e.charCodeAt(n-1)),d1e);)--n;if(s>=n)throw it(new Fn("The given string does not contain any numbers."));if(o=vy(e.substr(s,n-s),`,|;|\r| +`),o.length!=2)throw it(new Fn("Exactly two numbers are expected, "+o.length+" were found."));try{this.a=dy(fy(o[0])),this.b=dy(fy(o[1]))}catch(h){throw h=Wi(h),_t(h,127)?(r=h,it(new Fn(g1e+r))):it(h)}},l.Ib=function(){return"("+this.a+","+this.b+")"},l.a=0,l.b=0;var Ws=F(WI,"KVector",8);D(74,68,{3:1,4:1,20:1,28:1,52:1,14:1,68:1,15:1,74:1,414:1},Pu,DR,MWt),l.Pc=function(){return tln(this)},l.Jf=function(e){var n,r,s,o,h,d;s=vy(e,`,|;|\\(|\\)|\\[|\\]|\\{|\\}| | | +`),Ah(this);try{for(r=0,h=0,o=0,d=0;r0&&(h%2==0?o=dy(s[r]):d=dy(s[r]),h>0&&h%2!=0&&ri(this,new $e(o,d)),++h),++r}catch(v){throw v=Wi(v),_t(v,127)?(n=v,it(new Fn("The given string does not match the expected format for vectors."+n))):it(v)}},l.Ib=function(){var e,n,r;for(e=new Ol("("),n=ei(this,0);n.b!=n.d.c;)r=u(ti(n),8),Gr(e,r.a+","+r.b),n.b!=n.d.c&&(e.a+="; ");return(e.a+=")",e).a};var ASt=F(WI,"KVectorChain",74);D(248,22,{3:1,35:1,22:1,248:1},i9);var uft,GG,UG,GO,UO,WG,LSt=jr(Fh,"Alignment",248,Hr,Yan,Dtn),J3e;D(979,1,Oh,htt),l.Qe=function(e){lle(e)};var MSt,lft,t4e,DSt,ISt,e4e,OSt,n4e,r4e,PSt,FSt,i4e;F(Fh,"BoxLayouterOptions",979),D(980,1,{},qZ),l.$e=function(){var e;return e=new YZ,e},l._e=function(e){},F(Fh,"BoxLayouterOptions/BoxFactory",980),D(291,22,{3:1,35:1,22:1,291:1},s9);var WO,hft,YO,KO,XO,fft,dft=jr(Fh,"ContentAlignment",291,Hr,Wan,Itn),s4e;D(684,1,Oh,Tp),l.Qe=function(e){an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,ude),""),"Layout Algorithm"),"Select a specific layout algorithm."),(Ug(),I7)),Ae),un((Qf(),qn))))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,lde),""),"Resolved Layout Algorithm"),"Meta data associated with the selected algorithm."),V1),v6n),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,xkt),""),"Alignment"),"Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm."),NSt),us),LSt),un(ea)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,E6),""),"Aspect Ratio"),"The desired aspect ratio of the drawing, that is the quotient of width by height."),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,p8t),""),"Bend Points"),"A fixed list of bend points for the edge. This is used by the 'Fixed Layout' algorithm to specify a pre-defined routing for an edge. The vector chain must include the source point, any bend points, and the target point, so it must have at least two points."),V1),ASt),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,mH),""),"Content Alignment"),"Specifies how the content of a node are aligned. Each node can individually control the alignment of its contents. I.e. if a node should be aligned top left in its parent node, the parent node should specify that option."),RSt),U6),dft),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,JI),""),"Debug Mode"),"Whether additional debug information shall be generated."),(Nn(),!1)),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Tkt),""),i6t),"Overall direction of edges: horizontal (right / left) or vertical (down / up)."),jSt),us),XS),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,QI),""),"Edge Routing"),"What kind of edge routing style should be applied for the content of a parent node. Algorithms may also set this option to single edges in order to mark them as splines. The bend point list of edges with this option set to SPLINES must be interpreted as control points for a piecewise cubic spline."),qSt),us),_ft),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,CH),""),"Expand Nodes"),"If active, nodes are expanded to fill the area of their parent."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,vH),""),"Hierarchy Handling"),"Determines whether separate layout runs are triggered for different compound nodes in a hierarchical graph. Setting a node's hierarchy handling to `INCLUDE_CHILDREN` will lay out that node and all of its descendants in a single layout run, until a descendant is encountered which has its hierarchy handling set to `SEPARATE_CHILDREN`. In general, `SEPARATE_CHILDREN` will ensure that a new layout run is triggered for a node with that setting. Including multiple levels of hierarchy in a single layout run may allow cross-hierarchical edges to be laid out properly. If the root node is set to `INHERIT` (or not set at all), the default behavior is `SEPARATE_CHILDREN`."),USt),us),DAt),ji(qn,lt(ct(ip,1),oe,175,0,[ea]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,xv),""),"Padding"),"The padding to be left to a parent element's border when placing child elements. This can also serve as an output option of a layout algorithm if node size calculation is setup appropriately."),nAt),V1),B7t),ji(qn,lt(ct(ip,1),oe,175,0,[ea]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,GI),""),"Interactive"),"Whether the algorithm should be run in interactive mode for the content of a parent node. What this means exactly depends on how the specific algorithm interprets this option. Usually in the interactive mode algorithms try to modify the current layout as little as possible."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,_ct),""),"interactive Layout"),"Whether the graph should be changeable interactively and by setting constraints"),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,j_),""),"Omit Node Micro Layout"),"Node micro layout comprises the computation of node dimensions (if requested), the placement of ports and their labels, and the placement of node labels. The functionality is implemented independent of any specific layout algorithm and shouldn't have any negative impact on the layout algorithm's performance itself. Yet, if any unforeseen behavior occurs, this option allows to deactivate the micro layout."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Got),""),"Port Constraints"),"Defines constraints of the position of the ports of a node."),oAt),us),PAt),un(ea)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,yH),""),"Position"),"The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position."),V1),Ws),ji(ea,lt(ct(ip,1),oe,175,0,[V2,rp]))))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,VI),""),"Priority"),"Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used."),gc),ja),ji(ea,lt(ct(ip,1),oe,175,0,[Pd]))))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,tH),""),"Randomization Seed"),"Seed used for pseudo-random number generators to control the layout algorithm. If the value is 0, the seed shall be determined pseudo-randomly (e.g. from the system time)."),gc),ja),un(qn)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,R_),""),"Separate Connected Components"),"Whether each connected component should be processed separately."),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Okt),""),"Junction Points"),"This option is not used as option, but as output of the layout algorithms. It is attached to edges and determines the points where junction symbols should be drawn in order to represent hyperedges with orthogonal routing. Whether such points are computed depends on the chosen layout algorithm and edge routing style. The points are put into the vector chain with no specific order."),YSt),V1),ASt),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Nkt),""),"Comment Box"),"Whether the node should be regarded as a comment box instead of a regular node. In that case its placement should be similar to how labels are handled. Any edges incident to a comment box specify to which graph elements the comment is related."),!1),La),Rs),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Bkt),""),"Hypernode"),"Whether the node should be handled as a hypernode."),!1),La),Rs),un(ea)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Uxn),""),"Label Manager"),"Label managers can shorten labels upon a layout algorithm's request."),V1),E6n),ji(qn,lt(ct(ip,1),oe,175,0,[rp]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,jkt),""),"Margins"),"Margins define additional space around the actual bounds of a graph element. For instance, ports or labels being placed on the outside of a node's border might introduce such a margin. The margin is used to guarantee non-overlap of other graph elements with those ports or labels."),KSt),V1),N7t),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,mkt),""),"No Layout"),"No layout is done for the associated element. This is used to mark parts of a diagram to avoid their inclusion in the layout graph, or to mark parts of the layout graph to prevent layout engines from processing them. If you wish to exclude the contents of a compound node from automatic layout, while the node itself is still considered on its own layer, use the 'Fixed Layout' algorithm for that node."),!1),La),Rs),ji(ea,lt(ct(ip,1),oe,175,0,[Pd,V2,rp]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,hde),""),"Scale Factor"),"The scaling factor to be applied to the corresponding node in recursive layout. It causes the corresponding node's size to be adjusted, and its ports and labels to be sized and placed accordingly after the layout of that node has been determined (and before the node itself and its siblings are arranged). The scaling is not reverted afterwards, so the resulting layout graph contains the adjusted size and position data. This option is currently not supported if 'Layout Hierarchy' is set."),1),Oo),la),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,fde),""),"Animate"),"Whether the shift from the old layout to the new computed layout shall be animated."),!0),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,dde),""),"Animation Time Factor"),"Factor for computation of animation time. The higher the value, the longer the animation time. If the value is 0, the resulting time is always equal to the minimum defined by 'Minimal Animation Time'."),pe(100)),gc),ja),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,gde),""),"Layout Ancestors"),"Whether the hierarchy levels on the path from the selected element to the root of the diagram shall be included in the layout process."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,pde),""),"Maximal Animation Time"),"The maximal time for animations, in milliseconds."),pe(4e3)),gc),ja),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,bde),""),"Minimal Animation Time"),"The minimal time for animations, in milliseconds."),pe(400)),gc),ja),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,wde),""),"Progress Bar"),"Whether a progress bar shall be displayed during layout computations."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,vde),""),"Validate Graph"),"Whether the graph shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,mde),""),"Validate Options"),"Whether layout options shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!0),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,yde),""),"Zoom to Fit"),"Whether the zoom level shall be set to view the whole diagram after layout."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,g8t),"box"),"Box Layout Mode"),"Configures the packing mode used by the {@link BoxLayoutProvider}. If SIMPLE is not required (neither priorities are used nor the interactive mode), GROUP_DEC can improve the packing and decrease the area. GROUP_MIXED and GROUP_INC may, in very specific scenarios, work better."),BSt),us),$At),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,okt),R1),"Comment Comment Spacing"),"Spacing to be preserved between a comment box and other comment boxes connected to the same node. The space left between comment boxes of different nodes is controlled by the node-node spacing."),10),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,ckt),R1),"Comment Node Spacing"),"Spacing to be preserved between a node and its connected comment boxes. The space left between a node and the comments of another node is controlled by the node-node spacing."),10),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,jot),R1),"Components Spacing"),"Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated."),20),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,ukt),R1),"Edge Spacing"),"Spacing to be preserved between any two edges. Note that while this can somewhat easily be satisfied for the segments of orthogonally drawn edges, it is harder for general polylines or splines."),10),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Vot),R1),"Edge Label Spacing"),"The minimal distance to be preserved between a label and the edge it is associated with. Note that the placement of a label is influenced by the 'edgelabels.placement' option."),2),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,lkt),R1),"Edge Node Spacing"),"Spacing to be preserved between nodes and edges."),10),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,hkt),R1),"Label Spacing"),"Determines the amount of space to be left between two labels of the same graph element."),0),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,gkt),R1),"Label Node Spacing"),"Spacing to be preserved between labels and the border of node they are associated with. Note that the placement of a label is influenced by the 'nodelabels.placement' option."),5),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,fkt),R1),"Horizontal spacing between Label and Port"),"Horizontal spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,dkt),R1),"Vertical spacing between Label and Port"),"Vertical spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Cy),R1),"Node Spacing"),"The minimal distance to be preserved between each two nodes."),20),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,pkt),R1),"Node Self Loop Spacing"),"Spacing to be preserved between a node and its self loops."),10),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,bkt),R1),"Port Spacing"),"Spacing between pairs of ports of the same node."),10),Oo),la),ji(qn,lt(ct(ip,1),oe,175,0,[ea]))))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,wkt),R1),"Individual Spacing"),"Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent."),V1),$4e),ji(ea,lt(ct(ip,1),oe,175,0,[Pd,V2,rp]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,$kt),R1),"Additional Port Space"),"Additional space around the sets of ports on each node side. For each side of a node, this option can reserve additional space before and after the ports on each side. For example, a top spacing of 20 makes sure that the first port on the western and eastern side is 20 units away from the northern border."),wAt),V1),N7t),un(qn)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Cct),Ede),"Layout Partition"),"Partition to which the node belongs. This requires Layout Partitioning to be active. Nodes with lower partition IDs will appear to the left of nodes with higher partition IDs (assuming a left-to-right layout direction)."),gc),ja),ji(qn,lt(ct(ip,1),oe,175,0,[ea]))))),ca(e,Cct,Tct,d4e),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Tct),Ede),"Layout Partitioning"),"Whether to activate partitioned layout. This will allow to group nodes through the Layout Partition option. a pair of nodes with different partition indices is then placed such that the node with lower index is placed to the left of the other node (with left-to-right layout direction). Depending on the layout algorithm, this may only be guaranteed to work if all nodes have a layout partition configured, or at least if edges that cross partitions are not part of a partition-crossing cycle."),rAt),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Ckt),Tde),"Node Label Padding"),"Define padding for node labels that are placed inside of a node."),QSt),V1),B7t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,UE),Tde),"Node Label Placement"),"Hints for where node labels are to be placed; if empty, the node label's position is not modified."),ZSt),U6),lo),ji(ea,lt(ct(ip,1),oe,175,0,[rp]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Akt),SH),"Port Alignment"),"Defines the default port distribution for a node. May be overridden for each side individually."),sAt),us),tA),un(ea)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Lkt),SH),"Port Alignment (North)"),"Defines how ports on the northern side are placed, overriding the node's general port alignment."),us),tA),un(ea)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Mkt),SH),"Port Alignment (South)"),"Defines how ports on the southern side are placed, overriding the node's general port alignment."),us),tA),un(ea)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Dkt),SH),"Port Alignment (West)"),"Defines how ports on the western side are placed, overriding the node's general port alignment."),us),tA),un(ea)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Ikt),SH),"Port Alignment (East)"),"Defines how ports on the eastern side are placed, overriding the node's general port alignment."),us),tA),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,D4),Gct),"Node Size Constraints"),"What should be taken into account when calculating a node's size. Empty size constraints specify that a node's size is already fixed and should not be changed."),JSt),U6),rA),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,T6),Gct),"Node Size Options"),"Options modifying the behavior of the size constraints set on a node. Each member of the set specifies something that should be taken into account when calculating node sizes. The empty set corresponds to no further modifications."),eAt),U6),NAt),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,C6),Gct),"Node Size Minimum"),"The minimal size to which a node can be reduced."),tAt),V1),Ws),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Ect),Gct),"Fixed Graph Size"),"By default, the fixed layout provider will enlarge a graph until it is large enough to contain its children. If this option is set, it won't do so."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Pkt),kct),"Edge Label Placement"),"Gives a hint on where to put edge labels."),$St),us),mAt),un(rp)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,eH),kct),"Inline Edge Labels"),"If true, an edge label is placed directly on its edge. May only apply to center edge labels. This kind of label placement is only advisable if the label's rendering is such that it is not crossed by its edge and thus stays legible."),!1),La),Rs),un(rp)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Wxn),"font"),"Font Name"),"Font name used for a label."),I7),Ae),un(rp)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,xde),"font"),"Font Size"),"Font size used for a label."),gc),ja),un(rp)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Rkt),Uct),"Port Anchor Offset"),"The offset to the port position where connections shall be attached."),V1),Ws),un(V2)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Fkt),Uct),"Port Index"),"The index of a port in the fixed order around a node. The order is assumed as clockwise, starting with the leftmost port on the top side. This option must be set if 'Port Constraints' is set to FIXED_ORDER and no specific positions are given for the ports. Additionally, the option 'Port Side' must be defined in this case."),gc),ja),un(V2)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,ykt),Uct),"Port Side"),"The side of a node on which a port is situated. This option must be set if 'Port Constraints' is set to FIXED_SIDE or FIXED_ORDER and no specific positions are given for the ports."),lAt),us),Xa),un(V2)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,vkt),Uct),"Port Border Offset"),"The offset of ports on the node border. With a positive offset the port is moved outside of the node, while with a negative offset the port is moved towards the inside. An offset of 0 means that the port is placed directly on the node border, i.e. if the port side is north, the port's south border touches the nodes's north border; if the port side is east, the port's west border touches the nodes's east border; if the port side is south, the port's north border touches the node's south border; if the port side is west, the port's east border touches the node's west border."),Oo),la),un(V2)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,WE),b8t),"Port Label Placement"),"Decides on a placement method for port labels; if empty, the node label's position is not modified."),cAt),U6),eU),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,_kt),b8t),"Port Labels Next to Port"),"Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE."),!1),La),Rs),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Skt),b8t),"Treat Port Labels as Group"),"If this option is true (default), the labels of a port will be treated as a group when it comes to centering them next to their port. If this option is false, only the first label will be centered next to the port, with the others being placed below. This only applies to labels of eastern and western ports and will have no effect if labels are not placed next to their port."),!0),La),Rs),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,kkt),Cde),"Activate Inside Self Loops"),"Whether this node allows to route self loops inside of it instead of around it. If set to true, this will make the node a compound node if it isn't already, and will require the layout algorithm to support compound nodes with hierarchical ports."),!1),La),Rs),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Ekt),Cde),"Inside Self Loop"),"Whether a self loop should be routed inside a node instead of around that node."),!1),La),Rs),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,$ot),"edge"),"Edge Thickness"),"The thickness of an edge. This is a hint on the line width used to draw an edge, possibly requiring more space to be reserved for it."),1),Oo),la),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,kde),"edge"),"Edge Type"),"The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations."),VSt),us),CAt),un(Pd)))),WC(e,new Yx(zC(o8(a8(new xm,Gn),"Layered"),'The layer-based method was introduced by Sugiyama, Tagawa and Toda in 1981. It emphasizes the direction of edges by pointing as many edges as possible into the same direction. The nodes are arranged in layers, which are sometimes called "hierarchies", and then reordered such that the number of edge crossings is minimized. Afterwards, concrete coordinates are computed for the nodes and edge bend points.'))),WC(e,new Yx(zC(o8(a8(new xm,"org.eclipse.elk.orthogonal"),"Orthogonal"),`Orthogonal methods that follow the "topology-shape-metrics" approach by Batini, Nardelli and Tamassia '86. The first phase determines the topology of the drawing by applying a planarization technique, which results in a planar representation of the graph. The orthogonal shape is computed in the second phase, which aims at minimizing the number of edge bends, and is called orthogonalization. The third phase leads to concrete coordinates for nodes and edge bend points by applying a compaction method, thus defining the metrics.`))),WC(e,new Yx(zC(o8(a8(new xm,Vl),"Force"),"Layout algorithms that follow physical analogies by simulating a system of attractive and repulsive forces. The first successful method of this kind was proposed by Eades in 1984."))),WC(e,new Yx(zC(o8(a8(new xm,"org.eclipse.elk.circle"),"Circle"),"Circular layout algorithms emphasize cycles or biconnected components of a graph by arranging them in circles. This is useful if a drawing is desired where such components are clearly grouped, or where cycles are shown as prominent OPTIONS of the graph."))),WC(e,new Yx(zC(o8(a8(new xm,K1e),"Tree"),"Specialized layout methods for trees, i.e. acyclic graphs. The regular structure of graphs that have no undirected cycles can be emphasized using an algorithm of this type."))),WC(e,new Yx(zC(o8(a8(new xm,"org.eclipse.elk.planar"),"Planar"),"Algorithms that require a planar or upward planar graph. Most of these algorithms are theoretically interesting, but not practically usable."))),WC(e,new Yx(zC(o8(a8(new xm,Sd),"Radial"),"Radial layout algorithms usually position the nodes of the graph on concentric circles."))),Kue((new QB,e)),lle((new htt,e)),Cue((new ZB,e))};var YS,a4e,NSt,W6,o4e,c4e,BSt,u4e,YG,RSt,QO,qv,jSt,gft,pft,$St,zSt,qSt,HSt,VSt,GSt,s5,USt,l4e,ZO,bft,KG,WSt,a5,YSt,JO,KSt,XSt,QSt,o5,ZSt,G2,JSt,XG,c5,tAt,xb,eAt,QG,tP,U2,nAt,h4e,rAt,f4e,d4e,iAt,sAt,wft,vft,mft,yft,aAt,dl,KS,oAt,xft,kft,Qy,cAt,uAt,u5,lAt,Y6,ZG,Eft,O7,g4e,Tft,p4e,b4e,hAt,w4e,fAt,v4e,K6,dAt,JG,gAt,pAt,W2,m4e,bAt,wAt,vAt;F(Fh,"CoreOptions",684),D(103,22,{3:1,35:1,22:1,103:1},PM);var ng,zh,Cf,h0,rg,XS=jr(Fh,i6t,103,Hr,ban,Ftn),y4e;D(272,22,{3:1,35:1,22:1,272:1},Zet);var P7,Zy,F7,mAt=jr(Fh,"EdgeLabelPlacement",272,Hr,Xin,Ntn),x4e;D(218,22,{3:1,35:1,22:1,218:1},sj);var N7,eP,X6,Cft,_ft=jr(Fh,"EdgeRouting",218,Hr,qsn,Btn),k4e;D(312,22,{3:1,35:1,22:1,312:1},a9);var yAt,xAt,kAt,EAt,Sft,TAt,CAt=jr(Fh,"EdgeType",312,Hr,non,Rtn),E4e;D(977,1,Oh,QB),l.Qe=function(e){Kue(e)};var _At,SAt,AAt,LAt,T4e,MAt,QS;F(Fh,"FixedLayouterOptions",977),D(978,1,{},qL),l.$e=function(){var e;return e=new UZ,e},l._e=function(e){},F(Fh,"FixedLayouterOptions/FixedFactory",978),D(334,22,{3:1,35:1,22:1,334:1},Jet);var sp,tU,ZS,DAt=jr(Fh,"HierarchyHandling",334,Hr,Kin,jtn),C4e;D(285,22,{3:1,35:1,22:1,285:1},aj);var f0,kb,nP,rP,_4e=jr(Fh,"LabelSide",285,Hr,zsn,$tn),S4e;D(93,22,{3:1,35:1,22:1,93:1},q3);var ig,_f,qh,Sf,Yl,Af,Hh,d0,Lf,lo=jr(Fh,"NodeLabelPlacement",93,Hr,scn,ztn),A4e;D(249,22,{3:1,35:1,22:1,249:1},FM);var IAt,JS,Eb,OAt,iP,tA=jr(Fh,"PortAlignment",249,Hr,wan,qtn),L4e;D(98,22,{3:1,35:1,22:1,98:1},o9);var Y2,Gc,g0,B7,G1,Tb,PAt=jr(Fh,"PortConstraints",98,Hr,jan,Htn),M4e;D(273,22,{3:1,35:1,22:1,273:1},c9);var eA,nA,sg,sP,Cb,Q6,eU=jr(Fh,"PortLabelPlacement",273,Hr,eon,Vtn),D4e;D(61,22,{3:1,35:1,22:1,61:1},NM);var Hn,Pn,mh,yh,Su,lu,U1,Mf,el,Vu,Uc,nl,Au,Lu,Df,Kl,Xl,Vh,mr,Zo,Bn,Xa=jr(Fh,"PortSide",61,Hr,dan,Wtn),I4e;D(981,1,Oh,ZB),l.Qe=function(e){Cue(e)};var O4e,P4e,FAt,F4e,N4e;F(Fh,"RandomLayouterOptions",981),D(982,1,{},ZZ),l.$e=function(){var e;return e=new tJ,e},l._e=function(e){},F(Fh,"RandomLayouterOptions/RandomFactory",982),D(374,22,{3:1,35:1,22:1,374:1},oj);var Jy,aP,oP,K2,rA=jr(Fh,"SizeConstraint",374,Hr,$sn,Gtn),B4e;D(259,22,{3:1,35:1,22:1,259:1},H3);var cP,nU,R7,Aft,uP,iA,rU,iU,sU,NAt=jr(Fh,"SizeOptions",259,Hr,fcn,Utn),R4e;D(370,1,{1949:1},r8),l.b=!1,l.c=0,l.d=-1,l.e=null,l.f=null,l.g=-1,l.j=!1,l.k=!1,l.n=!1,l.o=0,l.q=0,l.r=0,F(Ec,"BasicProgressMonitor",370),D(972,209,S2,YZ),l.Ze=function(e,n){var r,s,o,h,d,v,k,C,M;switch(vr(n,"Box layout",2),o=pM(ye(qe(e,(fq(),i4e)))),h=u(qe(e,r4e),116),r=je(Re(qe(e,DSt))),s=je(Re(qe(e,ISt))),u(qe(e,lft),311).g){case 0:d=(v=new Bu((!e.a&&(e.a=new fe(rs,e,10,11)),e.a)),wn(),Zs(v,new ozt(s)),v),k=Q4t(e),C=ye(qe(e,MSt)),(C==null||(On(C),C<=0))&&(C=1.3),M=Q5n(d,o,h,k.a,k.b,r,(On(C),C)),wv(e,M.a,M.b,!1,!0);break;default:W3n(e,o,h,r)}or(n)},F(Ec,"BoxLayoutProvider",972),D(973,1,Oi,ozt),l.ue=function(e,n){return pwn(this,u(e,33),u(n,33))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},l.a=!1,F(Ec,"BoxLayoutProvider/1",973),D(157,1,{157:1},rz,LWt),l.Ib=function(){return this.c?X5t(this.c):eb(this.b)},F(Ec,"BoxLayoutProvider/Group",157),D(311,22,{3:1,35:1,22:1,311:1},cj);var BAt,RAt,jAt,Lft,$At=jr(Ec,"BoxLayoutProvider/PackingMode",311,Hr,Hsn,Ytn),j4e;D(974,1,Oi,KZ),l.ue=function(e,n){return vrn(u(e,157),u(n,157))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(Ec,"BoxLayoutProvider/lambda$0$Type",974),D(975,1,Oi,sB),l.ue=function(e,n){return hrn(u(e,157),u(n,157))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(Ec,"BoxLayoutProvider/lambda$1$Type",975),D(976,1,Oi,XZ),l.ue=function(e,n){return frn(u(e,157),u(n,157))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(Ec,"BoxLayoutProvider/lambda$2$Type",976),D(1365,1,{831:1},QZ),l.qg=function(e,n){return HR(),!_t(n,160)||jHt((i6(),u(e,160)),n)},F(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$0$Type",1365),D(1366,1,Un,czt),l.td=function(e){nln(this.a,u(e,146))},F(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$1$Type",1366),D(1367,1,Un,WZ),l.td=function(e){u(e,94),HR()},F(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$2$Type",1367),D(1371,1,Un,uzt),l.td=function(e){Scn(this.a,u(e,94))},F(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$3$Type",1371),D(1369,1,li,CGt),l.Mb=function(e){return qun(this.a,this.b,u(e,146))},F(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$4$Type",1369),D(1368,1,li,_Gt),l.Mb=function(e){return sZe(this.a,this.b,u(e,831))},F(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$5$Type",1368),D(1370,1,Un,SGt),l.td=function(e){snn(this.a,this.b,u(e,146))},F(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$6$Type",1370),D(935,1,{},GZ),l.Kb=function(e){return SUt(e)},l.Fb=function(e){return this===e},F(Ec,"ElkUtil/lambda$0$Type",935),D(936,1,Un,AGt),l.td=function(e){wbn(this.a,this.b,u(e,79))},l.a=0,l.b=0,F(Ec,"ElkUtil/lambda$1$Type",936),D(937,1,Un,LGt),l.td=function(e){wKe(this.a,this.b,u(e,202))},l.a=0,l.b=0,F(Ec,"ElkUtil/lambda$2$Type",937),D(938,1,Un,MGt),l.td=function(e){cQe(this.a,this.b,u(e,137))},l.a=0,l.b=0,F(Ec,"ElkUtil/lambda$3$Type",938),D(939,1,Un,lzt),l.td=function(e){xen(this.a,u(e,469))},F(Ec,"ElkUtil/lambda$4$Type",939),D(342,1,{35:1,342:1},WYe),l.wd=function(e){return NQe(this,u(e,236))},l.Fb=function(e){var n;return _t(e,342)?(n=u(e,342),this.a==n.a):!1},l.Hb=function(){return ps(this.a)},l.Ib=function(){return this.a+" (exclusive)"},l.a=0,F(Ec,"ExclusiveBounds/ExclusiveLowerBound",342),D(1138,209,S2,UZ),l.Ze=function(e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe;for(vr(n,"Fixed Layout",1),h=u(qe(e,(ui(),zSt)),218),j=0,H=0,St=new nr((!e.a&&(e.a=new fe(rs,e,10,11)),e.a));St.e!=St.i.gc();){for(gt=u(dr(St),33),Qe=u(qe(gt,(Sz(),QS)),8),Qe&&(x1(gt,Qe.a,Qe.b),u(qe(gt,SAt),174).Hc((Al(),Jy))&&(G=u(qe(gt,LAt),8),G.a>0&&G.b>0&&wv(gt,G.a,G.b,!0,!0))),j=b.Math.max(j,gt.i+gt.g),H=b.Math.max(H,gt.j+gt.f),C=new nr((!gt.n&&(gt.n=new fe(qo,gt,1,7)),gt.n));C.e!=C.i.gc();)v=u(dr(C),137),Qe=u(qe(v,QS),8),Qe&&x1(v,Qe.a,Qe.b),j=b.Math.max(j,gt.i+v.i+v.g),H=b.Math.max(H,gt.j+v.j+v.f);for(ue=new nr((!gt.c&&(gt.c=new fe(gl,gt,9,9)),gt.c));ue.e!=ue.i.gc();)for(Kt=u(dr(ue),118),Qe=u(qe(Kt,QS),8),Qe&&x1(Kt,Qe.a,Qe.b),_e=gt.i+Kt.i,We=gt.j+Kt.j,j=b.Math.max(j,_e+Kt.g),H=b.Math.max(H,We+Kt.f),k=new nr((!Kt.n&&(Kt.n=new fe(qo,Kt,1,7)),Kt.n));k.e!=k.i.gc();)v=u(dr(k),137),Qe=u(qe(v,QS),8),Qe&&x1(v,Qe.a,Qe.b),j=b.Math.max(j,_e+v.i+v.g),H=b.Math.max(H,We+v.j+v.f);for(o=new ar(lr(K0(gt).a.Kc(),new z));zr(o);)r=u(Mr(o),79),M=$he(r),j=b.Math.max(j,M.a),H=b.Math.max(H,M.b);for(s=new ar(lr(wI(gt).a.Kc(),new z));zr(s);)r=u(Mr(s),79),es(e0(r))!=e&&(M=$he(r),j=b.Math.max(j,M.a),H=b.Math.max(H,M.b))}if(h==(W0(),N7))for(Mt=new nr((!e.a&&(e.a=new fe(rs,e,10,11)),e.a));Mt.e!=Mt.i.gc();)for(gt=u(dr(Mt),33),s=new ar(lr(K0(gt).a.Kc(),new z));zr(s);)r=u(Mr(s),79),d=gyn(r),d.b==0?wo(r,a5,null):wo(r,a5,d);je(Re(qe(e,(Sz(),AAt))))||(Rt=u(qe(e,T4e),116),tt=j+Rt.b+Rt.c,K=H+Rt.d+Rt.a,wv(e,tt,K,!0,!0)),or(n)},F(Ec,"FixedLayoutProvider",1138),D(373,134,{3:1,414:1,373:1,94:1,134:1},Yu,ree),l.Jf=function(e){var n,r,s,o,h,d,v,k,C;if(e)try{for(k=vy(e,";,;"),h=k,d=0,v=h.length;d>16&ys|n^s<<16},l.Kc=function(){return new hzt(this)},l.Ib=function(){return this.a==null&&this.b==null?"pair(null,null)":this.a==null?"pair(null,"+$o(this.b)+")":this.b==null?"pair("+$o(this.a)+",null)":"pair("+$o(this.a)+","+$o(this.b)+")"},F(Ec,"Pair",46),D(983,1,sa,hzt),l.Nb=function(e){ba(this,e)},l.Ob=function(){return!this.c&&(!this.b&&this.a.a!=null||this.a.b!=null)},l.Pb=function(){if(!this.c&&!this.b&&this.a.a!=null)return this.b=!0,this.a.a;if(!this.c&&this.a.b!=null)return this.c=!0,this.a.b;throw it(new lc)},l.Qb=function(){throw this.c&&this.a.b!=null?this.a.b=null:this.b&&this.a.a!=null&&(this.a.a=null),it(new Ou)},l.b=!1,l.c=!1,F(Ec,"Pair/1",983),D(448,1,{448:1},zXt),l.Fb=function(e){return Fc(this.a,u(e,448).a)&&Fc(this.c,u(e,448).c)&&Fc(this.d,u(e,448).d)&&Fc(this.b,u(e,448).b)},l.Hb=function(){return Az(lt(ct(Qn,1),De,1,5,[this.a,this.c,this.d,this.b]))},l.Ib=function(){return"("+this.a+Ya+this.c+Ya+this.d+Ya+this.b+")"},F(Ec,"Quadruple",448),D(1126,209,S2,tJ),l.Ze=function(e,n){var r,s,o,h,d;if(vr(n,"Random Layout",1),(!e.a&&(e.a=new fe(rs,e,10,11)),e.a).i==0){or(n);return}h=u(qe(e,(S3t(),F4e)),19),h&&h.a!=0?o=new F$(h.a):o=new Zit,r=pM(ye(qe(e,O4e))),d=pM(ye(qe(e,N4e))),s=u(qe(e,P4e),116),A5n(e,o,r,d,s),or(n)},F(Ec,"RandomLayoutProvider",1126);var H4e;D(553,1,{}),l.qf=function(){return new $e(this.f.i,this.f.j)},l.We=function(e){return dQt(e,(ui(),dl))?qe(this.f,V4e):qe(this.f,e)},l.rf=function(){return new $e(this.f.g,this.f.f)},l.sf=function(){return this.g},l.Xe=function(e){return o2(this.f,e)},l.tf=function(e){ku(this.f,e.a),Eu(this.f,e.b)},l.uf=function(e){tv(this.f,e.a),Jw(this.f,e.b)},l.vf=function(e){this.g=e},l.g=0;var V4e;F(K_,"ElkGraphAdapters/AbstractElkGraphElementAdapter",553),D(554,1,{839:1},wR),l.wf=function(){var e,n;if(!this.b)for(this.b=D$(u$(this.a).i),n=new nr(u$(this.a));n.e!=n.i.gc();)e=u(dr(n),137),le(this.b,new get(e));return this.b},l.b=null,F(K_,"ElkGraphAdapters/ElkEdgeAdapter",554),D(301,553,{},Mm),l.xf=function(){return zse(this)},l.a=null,F(K_,"ElkGraphAdapters/ElkGraphAdapter",301),D(630,553,{181:1},get),F(K_,"ElkGraphAdapters/ElkLabelAdapter",630),D(629,553,{680:1},gnt),l.wf=function(){return M1n(this)},l.Af=function(){var e;return e=u(qe(this.f,(ui(),JO)),142),!e&&(e=new OC),e},l.Cf=function(){return D1n(this)},l.Ef=function(e){var n;n=new Lnt(e),wo(this.f,(ui(),JO),n)},l.Ff=function(e){wo(this.f,(ui(),U2),new kwt(e))},l.yf=function(){return this.d},l.zf=function(){var e,n;if(!this.a)for(this.a=new he,n=new ar(lr(wI(u(this.f,33)).a.Kc(),new z));zr(n);)e=u(Mr(n),79),le(this.a,new wR(e));return this.a},l.Bf=function(){var e,n;if(!this.c)for(this.c=new he,n=new ar(lr(K0(u(this.f,33)).a.Kc(),new z));zr(n);)e=u(Mr(n),79),le(this.c,new wR(e));return this.c},l.Df=function(){return p$(u(this.f,33)).i!=0||je(Re(u(this.f,33).We((ui(),ZO))))},l.Gf=function(){xon(this,(Pm(),H4e))},l.a=null,l.b=null,l.c=null,l.d=null,l.e=null,F(K_,"ElkGraphAdapters/ElkNodeAdapter",629),D(1266,553,{838:1},$zt),l.wf=function(){return j1n(this)},l.zf=function(){var e,n;if(!this.a)for(this.a=Ud(u(this.f,118).xg().i),n=new nr(u(this.f,118).xg());n.e!=n.i.gc();)e=u(dr(n),79),le(this.a,new wR(e));return this.a},l.Bf=function(){var e,n;if(!this.c)for(this.c=Ud(u(this.f,118).yg().i),n=new nr(u(this.f,118).yg());n.e!=n.i.gc();)e=u(dr(n),79),le(this.c,new wR(e));return this.c},l.Hf=function(){return u(u(this.f,118).We((ui(),u5)),61)},l.If=function(){var e,n,r,s,o,h,d,v;for(s=T1(u(this.f,118)),r=new nr(u(this.f,118).yg());r.e!=r.i.gc();)for(e=u(dr(r),79),v=new nr((!e.c&&(e.c=new Cn(br,e,5,8)),e.c));v.e!=v.i.gc();){if(d=u(dr(v),82),ey(Do(d),s))return!0;if(Do(d)==s&&je(Re(qe(e,(ui(),bft)))))return!0}for(n=new nr(u(this.f,118).xg());n.e!=n.i.gc();)for(e=u(dr(n),79),h=new nr((!e.b&&(e.b=new Cn(br,e,4,7)),e.b));h.e!=h.i.gc();)if(o=u(dr(h),82),ey(Do(o),s))return!0;return!1},l.a=null,l.b=null,l.c=null,F(K_,"ElkGraphAdapters/ElkPortAdapter",1266),D(1267,1,Oi,eJ),l.ue=function(e,n){return omn(u(e,118),u(n,118))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(K_,"ElkGraphAdapters/PortComparator",1267);var _b=Ki(ph,"EObject"),j7=Ki(F4,Ade),Gh=Ki(F4,Lde),lP=Ki(F4,Mde),hP=Ki(F4,"ElkShape"),br=Ki(F4,Dde),Ys=Ki(F4,w8t),Ji=Ki(F4,Ide),fP=Ki(ph,Ode),sA=Ki(ph,"EFactory"),G4e,Mft=Ki(ph,Pde),i1=Ki(ph,"EPackage"),na,U4e,W4e,VAt,aU,Y4e,GAt,UAt,WAt,Sb,K4e,X4e,qo=Ki(F4,v8t),rs=Ki(F4,m8t),gl=Ki(F4,y8t);D(90,1,Fde),l.Jg=function(){return this.Kg(),null},l.Kg=function(){return null},l.Lg=function(){return this.Kg(),!1},l.Mg=function(){return!1},l.Ng=function(e){mi(this,e)},F(L6,"BasicNotifierImpl",90),D(97,90,jde),l.nh=function(){return xl(this)},l.Og=function(e,n){return e},l.Pg=function(){throw it(new Or)},l.Qg=function(e){var n;return n=no(u(yn(this.Tg(),this.Vg()),18)),this.eh().ih(this,n.n,n.f,e)},l.Rg=function(e,n){throw it(new Or)},l.Sg=function(e,n,r){return Hl(this,e,n,r)},l.Tg=function(){var e;return this.Pg()&&(e=this.Pg().ck(),e)?e:this.zh()},l.Ug=function(){return eat(this)},l.Vg=function(){throw it(new Or)},l.Wg=function(){var e,n;return n=this.ph().dk(),!n&&this.Pg().ik(n=(YC(),e=jvt(vd(this.Tg())),e==null?Rft:new jM(this,e))),n},l.Xg=function(e,n){return e},l.Yg=function(e){var n;return n=e.Gj(),n?e.aj():Gi(this.Tg(),e)},l.Zg=function(){var e;return e=this.Pg(),e?e.fk():null},l.$g=function(){return this.Pg()?this.Pg().ck():null},l._g=function(e,n,r){return Xz(this,e,n,r)},l.ah=function(e){return j8(this,e)},l.bh=function(e,n){return Urt(this,e,n)},l.dh=function(){var e;return e=this.Pg(),!!e&&e.gk()},l.eh=function(){throw it(new Or)},l.fh=function(){return Hz(this)},l.gh=function(e,n,r,s){return c6(this,e,n,s)},l.hh=function(e,n,r){var s;return s=u(yn(this.Tg(),n),66),s.Nj().Qj(this,this.yh(),n-this.Ah(),e,r)},l.ih=function(e,n,r,s){return m$(this,e,n,s)},l.jh=function(e,n,r){var s;return s=u(yn(this.Tg(),n),66),s.Nj().Rj(this,this.yh(),n-this.Ah(),e,r)},l.kh=function(){return!!this.Pg()&&!!this.Pg().ek()},l.lh=function(e){return fst(this,e)},l.mh=function(e){return MQt(this,e)},l.oh=function(e){return ehe(this,e)},l.ph=function(){throw it(new Or)},l.qh=function(){return this.Pg()?this.Pg().ek():null},l.rh=function(){return Hz(this)},l.sh=function(e,n){Xst(this,e,n)},l.th=function(e){this.ph().hk(e)},l.uh=function(e){this.ph().kk(e)},l.vh=function(e){this.ph().jk(e)},l.wh=function(e,n){var r,s,o,h;return h=this.Zg(),h&&e&&(n=Ba(h.Vk(),this,n),h.Zk(this)),s=this.eh(),s&&(wat(this,this.eh(),this.Vg()).Bb&Ka?(o=s.fh(),o&&(e?!h&&o.Zk(this):o.Yk(this))):(n=(r=this.Vg(),r>=0?this.Qg(n):this.eh().ih(this,-1-r,null,n)),n=this.Sg(null,-1,n))),this.uh(e),n},l.xh=function(e){var n,r,s,o,h,d,v,k;if(r=this.Tg(),h=Gi(r,e),n=this.Ah(),h>=n)return u(e,66).Nj().Uj(this,this.yh(),h-n);if(h<=-1)if(d=C4(($u(),ya),r,e),d){if(to(),u(d,66).Oj()||(d=Kx(To(ya,d))),o=(s=this.Yg(d),u(s>=0?this._g(s,!0,!0):dv(this,d,!0),153)),k=d.Zj(),k>1||k==-1)return u(u(o,215).hl(e,!1),76)}else throw it(new Fn(lb+e.ne()+Wct));else if(e.$j())return s=this.Yg(e),u(s>=0?this._g(s,!1,!0):dv(this,e,!1),76);return v=new XGt(this,e),v},l.yh=function(){return $mt(this)},l.zh=function(){return(Hp(),Ln).S},l.Ah=function(){return Jn(this.zh())},l.Bh=function(e){Gst(this,e)},l.Ib=function(){return mf(this)},F(Mn,"BasicEObjectImpl",97);var Q4e;D(114,97,{105:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1}),l.Ch=function(e){var n;return n=zmt(this),n[e]},l.Dh=function(e,n){var r;r=zmt(this),ts(r,e,n)},l.Eh=function(e){var n;n=zmt(this),ts(n,e,null)},l.Jg=function(){return u(Dn(this,4),126)},l.Kg=function(){throw it(new Or)},l.Lg=function(){return(this.Db&4)!=0},l.Pg=function(){throw it(new Or)},l.Fh=function(e){o6(this,2,e)},l.Rg=function(e,n){this.Db=n<<16|this.Db&255,this.Fh(e)},l.Tg=function(){return vu(this)},l.Vg=function(){return this.Db>>16},l.Wg=function(){var e,n;return YC(),n=jvt(vd((e=u(Dn(this,16),26),e||this.zh()))),n==null?Rft:new jM(this,n)},l.Mg=function(){return(this.Db&1)==0},l.Zg=function(){return u(Dn(this,128),1935)},l.$g=function(){return u(Dn(this,16),26)},l.dh=function(){return(this.Db&32)!=0},l.eh=function(){return u(Dn(this,2),49)},l.kh=function(){return(this.Db&64)!=0},l.ph=function(){throw it(new Or)},l.qh=function(){return u(Dn(this,64),281)},l.th=function(e){o6(this,16,e)},l.uh=function(e){o6(this,128,e)},l.vh=function(e){o6(this,64,e)},l.yh=function(){return su(this)},l.Db=0,F(Mn,"MinimalEObjectImpl",114),D(115,114,{105:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),l.Fh=function(e){this.Cb=e},l.eh=function(){return this.Cb},F(Mn,"MinimalEObjectImpl/Container",115),D(1985,115,{105:1,413:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),l._g=function(e,n,r){return Z3t(this,e,n,r)},l.jh=function(e,n,r){return $4t(this,e,n,r)},l.lh=function(e){return Qvt(this,e)},l.sh=function(e,n){Byt(this,e,n)},l.zh=function(){return Jc(),X4e},l.Bh=function(e){_yt(this,e)},l.Ve=function(){return cse(this)},l.We=function(e){return qe(this,e)},l.Xe=function(e){return o2(this,e)},l.Ye=function(e,n){return wo(this,e,n)},F(M2,"EMapPropertyHolderImpl",1985),D(567,115,{105:1,469:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},xp),l._g=function(e,n,r){switch(e){case 0:return this.a;case 1:return this.b}return Xz(this,e,n,r)},l.lh=function(e){switch(e){case 0:return this.a!=0;case 1:return this.b!=0}return fst(this,e)},l.sh=function(e,n){switch(e){case 0:iz(this,Xt(ye(n)));return;case 1:sz(this,Xt(ye(n)));return}Xst(this,e,n)},l.zh=function(){return Jc(),U4e},l.Bh=function(e){switch(e){case 0:iz(this,0);return;case 1:sz(this,0);return}Gst(this,e)},l.Ib=function(){var e;return this.Db&64?mf(this):(e=new _h(mf(this)),e.a+=" (x: ",$3(e,this.a),e.a+=", y: ",$3(e,this.b),e.a+=")",e.a)},l.a=0,l.b=0,F(M2,"ElkBendPointImpl",567),D(723,1985,{105:1,413:1,160:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),l._g=function(e,n,r){return n3t(this,e,n,r)},l.hh=function(e,n,r){return jst(this,e,n,r)},l.jh=function(e,n,r){return Eit(this,e,n,r)},l.lh=function(e){return vyt(this,e)},l.sh=function(e,n){w4t(this,e,n)},l.zh=function(){return Jc(),Y4e},l.Bh=function(e){Zyt(this,e)},l.zg=function(){return this.k},l.Ag=function(){return u$(this)},l.Ib=function(){return Xit(this)},l.k=null,F(M2,"ElkGraphElementImpl",723),D(724,723,{105:1,413:1,160:1,470:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),l._g=function(e,n,r){return f3t(this,e,n,r)},l.lh=function(e){return m3t(this,e)},l.sh=function(e,n){v4t(this,e,n)},l.zh=function(){return Jc(),K4e},l.Bh=function(e){T3t(this,e)},l.Bg=function(){return this.f},l.Cg=function(){return this.g},l.Dg=function(){return this.i},l.Eg=function(){return this.j},l.Fg=function(e,n){bj(this,e,n)},l.Gg=function(e,n){x1(this,e,n)},l.Hg=function(e){ku(this,e)},l.Ig=function(e){Eu(this,e)},l.Ib=function(){return Vst(this)},l.f=0,l.g=0,l.i=0,l.j=0,F(M2,"ElkShapeImpl",724),D(725,724,{105:1,413:1,82:1,160:1,470:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),l._g=function(e,n,r){return U3t(this,e,n,r)},l.hh=function(e,n,r){return h4t(this,e,n,r)},l.jh=function(e,n,r){return f4t(this,e,n,r)},l.lh=function(e){return Fyt(this,e)},l.sh=function(e,n){x5t(this,e,n)},l.zh=function(){return Jc(),W4e},l.Bh=function(e){R3t(this,e)},l.xg=function(){return!this.d&&(this.d=new Cn(Ys,this,8,5)),this.d},l.yg=function(){return!this.e&&(this.e=new Cn(Ys,this,7,4)),this.e},F(M2,"ElkConnectableShapeImpl",725),D(352,723,{105:1,413:1,79:1,160:1,352:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},pw),l.Qg=function(e){return o4t(this,e)},l._g=function(e,n,r){switch(e){case 3:return cD(this);case 4:return!this.b&&(this.b=new Cn(br,this,4,7)),this.b;case 5:return!this.c&&(this.c=new Cn(br,this,5,8)),this.c;case 6:return!this.a&&(this.a=new fe(Ji,this,6,6)),this.a;case 7:return Nn(),!this.b&&(this.b=new Cn(br,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new Cn(br,this,5,8)),this.c.i<=1));case 8:return Nn(),!!w_(this);case 9:return Nn(),!!fv(this);case 10:return Nn(),!this.b&&(this.b=new Cn(br,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new Cn(br,this,5,8)),this.c.i!=0)}return n3t(this,e,n,r)},l.hh=function(e,n,r){var s;switch(n){case 3:return this.Cb&&(r=(s=this.Db>>16,s>=0?o4t(this,r):this.Cb.ih(this,-1-s,null,r))),twt(this,u(e,33),r);case 4:return!this.b&&(this.b=new Cn(br,this,4,7)),Zc(this.b,e,r);case 5:return!this.c&&(this.c=new Cn(br,this,5,8)),Zc(this.c,e,r);case 6:return!this.a&&(this.a=new fe(Ji,this,6,6)),Zc(this.a,e,r)}return jst(this,e,n,r)},l.jh=function(e,n,r){switch(n){case 3:return twt(this,null,r);case 4:return!this.b&&(this.b=new Cn(br,this,4,7)),Ba(this.b,e,r);case 5:return!this.c&&(this.c=new Cn(br,this,5,8)),Ba(this.c,e,r);case 6:return!this.a&&(this.a=new fe(Ji,this,6,6)),Ba(this.a,e,r)}return Eit(this,e,n,r)},l.lh=function(e){switch(e){case 3:return!!cD(this);case 4:return!!this.b&&this.b.i!=0;case 5:return!!this.c&&this.c.i!=0;case 6:return!!this.a&&this.a.i!=0;case 7:return!this.b&&(this.b=new Cn(br,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new Cn(br,this,5,8)),this.c.i<=1));case 8:return w_(this);case 9:return fv(this);case 10:return!this.b&&(this.b=new Cn(br,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new Cn(br,this,5,8)),this.c.i!=0)}return vyt(this,e)},l.sh=function(e,n){switch(e){case 3:oat(this,u(n,33));return;case 4:!this.b&&(this.b=new Cn(br,this,4,7)),xr(this.b),!this.b&&(this.b=new Cn(br,this,4,7)),is(this.b,u(n,14));return;case 5:!this.c&&(this.c=new Cn(br,this,5,8)),xr(this.c),!this.c&&(this.c=new Cn(br,this,5,8)),is(this.c,u(n,14));return;case 6:!this.a&&(this.a=new fe(Ji,this,6,6)),xr(this.a),!this.a&&(this.a=new fe(Ji,this,6,6)),is(this.a,u(n,14));return}w4t(this,e,n)},l.zh=function(){return Jc(),VAt},l.Bh=function(e){switch(e){case 3:oat(this,null);return;case 4:!this.b&&(this.b=new Cn(br,this,4,7)),xr(this.b);return;case 5:!this.c&&(this.c=new Cn(br,this,5,8)),xr(this.c);return;case 6:!this.a&&(this.a=new fe(Ji,this,6,6)),xr(this.a);return}Zyt(this,e)},l.Ib=function(){return $le(this)},F(M2,"ElkEdgeImpl",352),D(439,1985,{105:1,413:1,202:1,439:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},ad),l.Qg=function(e){return r4t(this,e)},l._g=function(e,n,r){switch(e){case 1:return this.j;case 2:return this.k;case 3:return this.b;case 4:return this.c;case 5:return!this.a&&(this.a=new As(Gh,this,5)),this.a;case 6:return SQt(this);case 7:return n?wst(this):this.i;case 8:return n?bst(this):this.f;case 9:return!this.g&&(this.g=new Cn(Ji,this,9,10)),this.g;case 10:return!this.e&&(this.e=new Cn(Ji,this,10,9)),this.e;case 11:return this.d}return Z3t(this,e,n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?r4t(this,r):this.Cb.ih(this,-1-o,null,r))),ewt(this,u(e,79),r);case 9:return!this.g&&(this.g=new Cn(Ji,this,9,10)),Zc(this.g,e,r);case 10:return!this.e&&(this.e=new Cn(Ji,this,10,9)),Zc(this.e,e,r)}return h=u(yn((s=u(Dn(this,16),26),s||(Jc(),aU)),n),66),h.Nj().Qj(this,su(this),n-Jn((Jc(),aU)),e,r)},l.jh=function(e,n,r){switch(n){case 5:return!this.a&&(this.a=new As(Gh,this,5)),Ba(this.a,e,r);case 6:return ewt(this,null,r);case 9:return!this.g&&(this.g=new Cn(Ji,this,9,10)),Ba(this.g,e,r);case 10:return!this.e&&(this.e=new Cn(Ji,this,10,9)),Ba(this.e,e,r)}return $4t(this,e,n,r)},l.lh=function(e){switch(e){case 1:return this.j!=0;case 2:return this.k!=0;case 3:return this.b!=0;case 4:return this.c!=0;case 5:return!!this.a&&this.a.i!=0;case 6:return!!SQt(this);case 7:return!!this.i;case 8:return!!this.f;case 9:return!!this.g&&this.g.i!=0;case 10:return!!this.e&&this.e.i!=0;case 11:return this.d!=null}return Qvt(this,e)},l.sh=function(e,n){switch(e){case 1:G8(this,Xt(ye(n)));return;case 2:W8(this,Xt(ye(n)));return;case 3:V8(this,Xt(ye(n)));return;case 4:U8(this,Xt(ye(n)));return;case 5:!this.a&&(this.a=new As(Gh,this,5)),xr(this.a),!this.a&&(this.a=new As(Gh,this,5)),is(this.a,u(n,14));return;case 6:zce(this,u(n,79));return;case 7:lz(this,u(n,82));return;case 8:uz(this,u(n,82));return;case 9:!this.g&&(this.g=new Cn(Ji,this,9,10)),xr(this.g),!this.g&&(this.g=new Cn(Ji,this,9,10)),is(this.g,u(n,14));return;case 10:!this.e&&(this.e=new Cn(Ji,this,10,9)),xr(this.e),!this.e&&(this.e=new Cn(Ji,this,10,9)),is(this.e,u(n,14));return;case 11:uyt(this,Br(n));return}Byt(this,e,n)},l.zh=function(){return Jc(),aU},l.Bh=function(e){switch(e){case 1:G8(this,0);return;case 2:W8(this,0);return;case 3:V8(this,0);return;case 4:U8(this,0);return;case 5:!this.a&&(this.a=new As(Gh,this,5)),xr(this.a);return;case 6:zce(this,null);return;case 7:lz(this,null);return;case 8:uz(this,null);return;case 9:!this.g&&(this.g=new Cn(Ji,this,9,10)),xr(this.g);return;case 10:!this.e&&(this.e=new Cn(Ji,this,10,9)),xr(this.e);return;case 11:uyt(this,null);return}_yt(this,e)},l.Ib=function(){return sce(this)},l.b=0,l.c=0,l.d=null,l.j=0,l.k=0,F(M2,"ElkEdgeSectionImpl",439),D(150,115,{105:1,92:1,90:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1}),l._g=function(e,n,r){var s;return e==0?(!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab):uh(this,e-Jn(this.zh()),yn((s=u(Dn(this,16),26),s||this.zh()),e),n,r)},l.hh=function(e,n,r){var s,o;return n==0?(!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r)):(o=u(yn((s=u(Dn(this,16),26),s||this.zh()),n),66),o.Nj().Qj(this,su(this),n-Jn(this.zh()),e,r))},l.jh=function(e,n,r){var s,o;return n==0?(!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r)):(o=u(yn((s=u(Dn(this,16),26),s||this.zh()),n),66),o.Nj().Rj(this,su(this),n-Jn(this.zh()),e,r))},l.lh=function(e){var n;return e==0?!!this.Ab&&this.Ab.i!=0:oh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.oh=function(e){return Lxt(this,e)},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return}gh(this,e-Jn(this.zh()),yn((r=u(Dn(this,16),26),r||this.zh()),e),n)},l.uh=function(e){o6(this,128,e)},l.zh=function(){return dn(),p5e},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return}fh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.Gh=function(){this.Bb|=1},l.Hh=function(e){return k_(this,e)},l.Bb=0,F(Mn,"EModelElementImpl",150),D(704,150,{105:1,92:1,90:1,471:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1},JB),l.Ih=function(e,n){return bhe(this,e,n)},l.Jh=function(e){var n,r,s,o,h;if(this.a!=Rl(e)||e.Bb&256)throw it(new Fn(Kct+e.zb+Cv));for(s=Ao(e);Lc(s.a).i!=0;){if(r=u(AI(s,0,(n=u(At(Lc(s.a),0),87),h=n.c,_t(h,88)?u(h,26):(dn(),Kh))),26),hv(r))return o=Rl(r).Nh().Jh(r),u(o,49).th(e),o;s=Ao(r)}return(e.D!=null?e.D:e.B)=="java.util.Map$Entry"?new hKt(e):new zwt(e)},l.Kh=function(e,n){return vv(this,e,n)},l._g=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.a}return uh(this,e-Jn((dn(),Db)),yn((s=u(Dn(this,16),26),s||Db),e),n,r)},l.hh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 1:return this.a&&(r=u(this.a,49).ih(this,4,i1,r)),Xyt(this,u(e,235),r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),Db)),n),66),o.Nj().Qj(this,su(this),n-Jn((dn(),Db)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 1:return Xyt(this,null,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),Db)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),Db)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return!!this.a}return oh(this,e-Jn((dn(),Db)),yn((n=u(Dn(this,16),26),n||Db),e))},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:zae(this,u(n,235));return}gh(this,e-Jn((dn(),Db)),yn((r=u(Dn(this,16),26),r||Db),e),n)},l.zh=function(){return dn(),Db},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:zae(this,null);return}fh(this,e-Jn((dn(),Db)),yn((n=u(Dn(this,16),26),n||Db),e))};var aA,YAt,Z4e;F(Mn,"EFactoryImpl",704),D(xf,704,{105:1,2014:1,92:1,90:1,471:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1},ax),l.Ih=function(e,n){switch(e.yj()){case 12:return u(n,146).tg();case 13:return $o(n);default:throw it(new Fn(QE+e.ne()+Cv))}},l.Jh=function(e){var n,r,s,o,h,d,v,k;switch(e.G==-1&&(e.G=(n=Rl(e),n?Hg(n.Mh(),e):-1)),e.G){case 4:return h=new ZT,h;case 6:return d=new Vpt,d;case 7:return v=new Gpt,v;case 8:return s=new pw,s;case 9:return r=new xp,r;case 10:return o=new ad,o;case 11:return k=new aB,k;default:throw it(new Fn(Kct+e.zb+Cv))}},l.Kh=function(e,n){switch(e.yj()){case 13:case 12:return null;default:throw it(new Fn(QE+e.ne()+Cv))}},F(M2,"ElkGraphFactoryImpl",xf),D(438,150,{105:1,92:1,90:1,147:1,191:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1}),l.Wg=function(){var e,n;return n=(e=u(Dn(this,16),26),jvt(vd(e||this.zh()))),n==null?(YC(),YC(),Rft):new IWt(this,n)},l._g=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.ne()}return uh(this,e-Jn(this.zh()),yn((s=u(Dn(this,16),26),s||this.zh()),e),n,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null}return oh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:this.Lh(Br(n));return}gh(this,e-Jn(this.zh()),yn((r=u(Dn(this,16),26),r||this.zh()),e),n)},l.zh=function(){return dn(),b5e},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:this.Lh(null);return}fh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.ne=function(){return this.zb},l.Lh=function(e){Qc(this,e)},l.Ib=function(){return J9(this)},l.zb=null,F(Mn,"ENamedElementImpl",438),D(179,438,{105:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,49:1,97:1,150:1,179:1,114:1,115:1,675:1},fQt),l.Qg=function(e){return eae(this,e)},l._g=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.yb;case 3:return this.xb;case 4:return this.sb;case 5:return!this.rb&&(this.rb=new Gm(this,s1,this)),this.rb;case 6:return!this.vb&&(this.vb=new Rx(i1,this,6,7)),this.vb;case 7:return n?this.Db>>16==7?u(this.Cb,235):null:AQt(this)}return uh(this,e-Jn((dn(),up)),yn((s=u(Dn(this,16),26),s||up),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 4:return this.sb&&(r=u(this.sb,49).ih(this,1,sA,r)),t3t(this,u(e,471),r);case 5:return!this.rb&&(this.rb=new Gm(this,s1,this)),Zc(this.rb,e,r);case 6:return!this.vb&&(this.vb=new Rx(i1,this,6,7)),Zc(this.vb,e,r);case 7:return this.Cb&&(r=(o=this.Db>>16,o>=0?eae(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,7,r)}return h=u(yn((s=u(Dn(this,16),26),s||(dn(),up)),n),66),h.Nj().Qj(this,su(this),n-Jn((dn(),up)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 4:return t3t(this,null,r);case 5:return!this.rb&&(this.rb=new Gm(this,s1,this)),Ba(this.rb,e,r);case 6:return!this.vb&&(this.vb=new Rx(i1,this,6,7)),Ba(this.vb,e,r);case 7:return Hl(this,null,7,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),up)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),up)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.yb!=null;case 3:return this.xb!=null;case 4:return!!this.sb;case 5:return!!this.rb&&this.rb.i!=0;case 6:return!!this.vb&&this.vb.i!=0;case 7:return!!AQt(this)}return oh(this,e-Jn((dn(),up)),yn((n=u(Dn(this,16),26),n||up),e))},l.oh=function(e){var n;return n=Lwn(this,e),n||Lxt(this,e)},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Qc(this,Br(n));return;case 2:wz(this,Br(n));return;case 3:bz(this,Br(n));return;case 4:Hst(this,u(n,471));return;case 5:!this.rb&&(this.rb=new Gm(this,s1,this)),xr(this.rb),!this.rb&&(this.rb=new Gm(this,s1,this)),is(this.rb,u(n,14));return;case 6:!this.vb&&(this.vb=new Rx(i1,this,6,7)),xr(this.vb),!this.vb&&(this.vb=new Rx(i1,this,6,7)),is(this.vb,u(n,14));return}gh(this,e-Jn((dn(),up)),yn((r=u(Dn(this,16),26),r||up),e),n)},l.vh=function(e){var n,r;if(e&&this.rb)for(r=new nr(this.rb);r.e!=r.i.gc();)n=dr(r),_t(n,351)&&(u(n,351).w=null);o6(this,64,e)},l.zh=function(){return dn(),up},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:Qc(this,null);return;case 2:wz(this,null);return;case 3:bz(this,null);return;case 4:Hst(this,null);return;case 5:!this.rb&&(this.rb=new Gm(this,s1,this)),xr(this.rb);return;case 6:!this.vb&&(this.vb=new Rx(i1,this,6,7)),xr(this.vb);return}fh(this,e-Jn((dn(),up)),yn((n=u(Dn(this,16),26),n||up),e))},l.Gh=function(){Mst(this)},l.Mh=function(){return!this.rb&&(this.rb=new Gm(this,s1,this)),this.rb},l.Nh=function(){return this.sb},l.Oh=function(){return this.ub},l.Ph=function(){return this.xb},l.Qh=function(){return this.yb},l.Rh=function(e){this.ub=e},l.Ib=function(){var e;return this.Db&64?J9(this):(e=new _h(J9(this)),e.a+=" (nsURI: ",go(e,this.yb),e.a+=", nsPrefix: ",go(e,this.xb),e.a+=")",e.a)},l.xb=null,l.yb=null,F(Mn,"EPackageImpl",179),D(555,179,{105:1,2016:1,555:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,49:1,97:1,150:1,179:1,114:1,115:1,675:1},gce),l.q=!1,l.r=!1;var J4e=!1;F(M2,"ElkGraphPackageImpl",555),D(354,724,{105:1,413:1,160:1,137:1,470:1,354:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},ZT),l.Qg=function(e){return i4t(this,e)},l._g=function(e,n,r){switch(e){case 7:return LQt(this);case 8:return this.a}return f3t(this,e,n,r)},l.hh=function(e,n,r){var s;switch(n){case 7:return this.Cb&&(r=(s=this.Db>>16,s>=0?i4t(this,r):this.Cb.ih(this,-1-s,null,r))),nvt(this,u(e,160),r)}return jst(this,e,n,r)},l.jh=function(e,n,r){return n==7?nvt(this,null,r):Eit(this,e,n,r)},l.lh=function(e){switch(e){case 7:return!!LQt(this);case 8:return!hn("",this.a)}return m3t(this,e)},l.sh=function(e,n){switch(e){case 7:F5t(this,u(n,160));return;case 8:nyt(this,Br(n));return}v4t(this,e,n)},l.zh=function(){return Jc(),GAt},l.Bh=function(e){switch(e){case 7:F5t(this,null);return;case 8:nyt(this,"");return}T3t(this,e)},l.Ib=function(){return eoe(this)},l.a="",F(M2,"ElkLabelImpl",354),D(239,725,{105:1,413:1,82:1,160:1,33:1,470:1,239:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},Vpt),l.Qg=function(e){return c4t(this,e)},l._g=function(e,n,r){switch(e){case 9:return!this.c&&(this.c=new fe(gl,this,9,9)),this.c;case 10:return!this.a&&(this.a=new fe(rs,this,10,11)),this.a;case 11:return es(this);case 12:return!this.b&&(this.b=new fe(Ys,this,12,3)),this.b;case 13:return Nn(),!this.a&&(this.a=new fe(rs,this,10,11)),this.a.i>0}return U3t(this,e,n,r)},l.hh=function(e,n,r){var s;switch(n){case 9:return!this.c&&(this.c=new fe(gl,this,9,9)),Zc(this.c,e,r);case 10:return!this.a&&(this.a=new fe(rs,this,10,11)),Zc(this.a,e,r);case 11:return this.Cb&&(r=(s=this.Db>>16,s>=0?c4t(this,r):this.Cb.ih(this,-1-s,null,r))),lwt(this,u(e,33),r);case 12:return!this.b&&(this.b=new fe(Ys,this,12,3)),Zc(this.b,e,r)}return h4t(this,e,n,r)},l.jh=function(e,n,r){switch(n){case 9:return!this.c&&(this.c=new fe(gl,this,9,9)),Ba(this.c,e,r);case 10:return!this.a&&(this.a=new fe(rs,this,10,11)),Ba(this.a,e,r);case 11:return lwt(this,null,r);case 12:return!this.b&&(this.b=new fe(Ys,this,12,3)),Ba(this.b,e,r)}return f4t(this,e,n,r)},l.lh=function(e){switch(e){case 9:return!!this.c&&this.c.i!=0;case 10:return!!this.a&&this.a.i!=0;case 11:return!!es(this);case 12:return!!this.b&&this.b.i!=0;case 13:return!this.a&&(this.a=new fe(rs,this,10,11)),this.a.i>0}return Fyt(this,e)},l.sh=function(e,n){switch(e){case 9:!this.c&&(this.c=new fe(gl,this,9,9)),xr(this.c),!this.c&&(this.c=new fe(gl,this,9,9)),is(this.c,u(n,14));return;case 10:!this.a&&(this.a=new fe(rs,this,10,11)),xr(this.a),!this.a&&(this.a=new fe(rs,this,10,11)),is(this.a,u(n,14));return;case 11:I5t(this,u(n,33));return;case 12:!this.b&&(this.b=new fe(Ys,this,12,3)),xr(this.b),!this.b&&(this.b=new fe(Ys,this,12,3)),is(this.b,u(n,14));return}x5t(this,e,n)},l.zh=function(){return Jc(),UAt},l.Bh=function(e){switch(e){case 9:!this.c&&(this.c=new fe(gl,this,9,9)),xr(this.c);return;case 10:!this.a&&(this.a=new fe(rs,this,10,11)),xr(this.a);return;case 11:I5t(this,null);return;case 12:!this.b&&(this.b=new fe(Ys,this,12,3)),xr(this.b);return}R3t(this,e)},l.Ib=function(){return X5t(this)},F(M2,"ElkNodeImpl",239),D(186,725,{105:1,413:1,82:1,160:1,118:1,470:1,186:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},Gpt),l.Qg=function(e){return s4t(this,e)},l._g=function(e,n,r){return e==9?T1(this):U3t(this,e,n,r)},l.hh=function(e,n,r){var s;switch(n){case 9:return this.Cb&&(r=(s=this.Db>>16,s>=0?s4t(this,r):this.Cb.ih(this,-1-s,null,r))),nwt(this,u(e,33),r)}return h4t(this,e,n,r)},l.jh=function(e,n,r){return n==9?nwt(this,null,r):f4t(this,e,n,r)},l.lh=function(e){return e==9?!!T1(this):Fyt(this,e)},l.sh=function(e,n){switch(e){case 9:D5t(this,u(n,33));return}x5t(this,e,n)},l.zh=function(){return Jc(),WAt},l.Bh=function(e){switch(e){case 9:D5t(this,null);return}R3t(this,e)},l.Ib=function(){return zue(this)},F(M2,"ElkPortImpl",186);var t5e=Ki(Ra,"BasicEMap/Entry");D(1092,115,{105:1,42:1,92:1,90:1,133:1,56:1,108:1,49:1,97:1,114:1,115:1},aB),l.Fb=function(e){return this===e},l.cd=function(){return this.b},l.Hb=function(){return Pw(this)},l.Uh=function(e){ryt(this,u(e,146))},l._g=function(e,n,r){switch(e){case 0:return this.b;case 1:return this.c}return Xz(this,e,n,r)},l.lh=function(e){switch(e){case 0:return!!this.b;case 1:return this.c!=null}return fst(this,e)},l.sh=function(e,n){switch(e){case 0:ryt(this,u(n,146));return;case 1:ayt(this,n);return}Xst(this,e,n)},l.zh=function(){return Jc(),Sb},l.Bh=function(e){switch(e){case 0:ryt(this,null);return;case 1:ayt(this,null);return}Gst(this,e)},l.Sh=function(){var e;return this.a==-1&&(e=this.b,this.a=e?Hi(e):0),this.a},l.dd=function(){return this.c},l.Th=function(e){this.a=e},l.ed=function(e){var n;return n=this.c,ayt(this,e),n},l.Ib=function(){var e;return this.Db&64?mf(this):(e=new Mp,Gr(Gr(Gr(e,this.b?this.b.tg():_u),Uot),b9(this.c)),e.a)},l.a=-1,l.c=null;var Hv=F(M2,"ElkPropertyToValueMapEntryImpl",1092);D(984,1,{},oB),F(ma,"JsonAdapter",984),D(210,60,Q0,ud),F(ma,"JsonImportException",210),D(857,1,{},nae),F(ma,"JsonImporter",857),D(891,1,{},DGt),F(ma,"JsonImporter/lambda$0$Type",891),D(892,1,{},IGt),F(ma,"JsonImporter/lambda$1$Type",892),D(900,1,{},fzt),F(ma,"JsonImporter/lambda$10$Type",900),D(902,1,{},OGt),F(ma,"JsonImporter/lambda$11$Type",902),D(903,1,{},PGt),F(ma,"JsonImporter/lambda$12$Type",903),D(909,1,{},UXt),F(ma,"JsonImporter/lambda$13$Type",909),D(908,1,{},GXt),F(ma,"JsonImporter/lambda$14$Type",908),D(904,1,{},FGt),F(ma,"JsonImporter/lambda$15$Type",904),D(905,1,{},NGt),F(ma,"JsonImporter/lambda$16$Type",905),D(906,1,{},BGt),F(ma,"JsonImporter/lambda$17$Type",906),D(907,1,{},RGt),F(ma,"JsonImporter/lambda$18$Type",907),D(912,1,{},dzt),F(ma,"JsonImporter/lambda$19$Type",912),D(893,1,{},gzt),F(ma,"JsonImporter/lambda$2$Type",893),D(910,1,{},pzt),F(ma,"JsonImporter/lambda$20$Type",910),D(911,1,{},bzt),F(ma,"JsonImporter/lambda$21$Type",911),D(915,1,{},wzt),F(ma,"JsonImporter/lambda$22$Type",915),D(913,1,{},vzt),F(ma,"JsonImporter/lambda$23$Type",913),D(914,1,{},mzt),F(ma,"JsonImporter/lambda$24$Type",914),D(917,1,{},yzt),F(ma,"JsonImporter/lambda$25$Type",917),D(916,1,{},xzt),F(ma,"JsonImporter/lambda$26$Type",916),D(918,1,Un,jGt),l.td=function(e){ion(this.b,this.a,Br(e))},F(ma,"JsonImporter/lambda$27$Type",918),D(919,1,Un,$Gt),l.td=function(e){son(this.b,this.a,Br(e))},F(ma,"JsonImporter/lambda$28$Type",919),D(920,1,{},zGt),F(ma,"JsonImporter/lambda$29$Type",920),D(896,1,{},kzt),F(ma,"JsonImporter/lambda$3$Type",896),D(921,1,{},qGt),F(ma,"JsonImporter/lambda$30$Type",921),D(922,1,{},Ezt),F(ma,"JsonImporter/lambda$31$Type",922),D(923,1,{},Tzt),F(ma,"JsonImporter/lambda$32$Type",923),D(924,1,{},Czt),F(ma,"JsonImporter/lambda$33$Type",924),D(925,1,{},_zt),F(ma,"JsonImporter/lambda$34$Type",925),D(859,1,{},Szt),F(ma,"JsonImporter/lambda$35$Type",859),D(929,1,{},BYt),F(ma,"JsonImporter/lambda$36$Type",929),D(926,1,Un,Azt),l.td=function(e){can(this.a,u(e,469))},F(ma,"JsonImporter/lambda$37$Type",926),D(927,1,Un,YGt),l.td=function(e){NXe(this.a,this.b,u(e,202))},F(ma,"JsonImporter/lambda$38$Type",927),D(928,1,Un,KGt),l.td=function(e){BXe(this.a,this.b,u(e,202))},F(ma,"JsonImporter/lambda$39$Type",928),D(894,1,{},Lzt),F(ma,"JsonImporter/lambda$4$Type",894),D(930,1,Un,Mzt),l.td=function(e){uan(this.a,u(e,8))},F(ma,"JsonImporter/lambda$40$Type",930),D(895,1,{},Dzt),F(ma,"JsonImporter/lambda$5$Type",895),D(899,1,{},Izt),F(ma,"JsonImporter/lambda$6$Type",899),D(897,1,{},Ozt),F(ma,"JsonImporter/lambda$7$Type",897),D(898,1,{},Pzt),F(ma,"JsonImporter/lambda$8$Type",898),D(901,1,{},Fzt),F(ma,"JsonImporter/lambda$9$Type",901),D(948,1,Un,Nzt),l.td=function(e){Vx(this.a,new Um(Br(e)))},F(ma,"JsonMetaDataConverter/lambda$0$Type",948),D(949,1,Un,Bzt),l.td=function(e){Cnn(this.a,u(e,237))},F(ma,"JsonMetaDataConverter/lambda$1$Type",949),D(950,1,Un,Rzt),l.td=function(e){kin(this.a,u(e,149))},F(ma,"JsonMetaDataConverter/lambda$2$Type",950),D(951,1,Un,jzt),l.td=function(e){_nn(this.a,u(e,175))},F(ma,"JsonMetaDataConverter/lambda$3$Type",951),D(237,22,{3:1,35:1,22:1,237:1},Px);var oU,cU,Dft,uU,lU,hU,Ift,Oft,fU=jr(qI,"GraphFeature",237,Hr,Yon,Xtn),e5e;D(13,1,{35:1,146:1},Vi,Ps,mn,eo),l.wd=function(e){return FQe(this,u(e,146))},l.Fb=function(e){return dQt(this,e)},l.wg=function(){return Ie(this)},l.tg=function(){return this.b},l.Hb=function(){return Vg(this.b)},l.Ib=function(){return this.b},F(qI,"Property",13),D(818,1,Oi,Ept),l.ue=function(e,n){return Jln(this,u(e,94),u(n,94))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(qI,"PropertyHolderComparator",818),D(695,1,sa,Tpt),l.Nb=function(e){ba(this,e)},l.Pb=function(){return uon(this)},l.Qb=function(){IHt()},l.Ob=function(){return!!this.a},F(DH,"ElkGraphUtil/AncestorIterator",695);var KAt=Ki(Ra,"EList");D(67,52,{20:1,28:1,52:1,14:1,15:1,67:1,58:1}),l.Vc=function(e,n){n_(this,e,n)},l.Fc=function(e){return Dr(this,e)},l.Wc=function(e,n){return Syt(this,e,n)},l.Gc=function(e){return is(this,e)},l.Zh=function(){return new Bx(this)},l.$h=function(){return new $M(this)},l._h=function(e){return DD(this,e)},l.ai=function(){return!0},l.bi=function(e,n){},l.ci=function(){},l.di=function(e,n){Yrt(this,e,n)},l.ei=function(e,n,r){},l.fi=function(e,n){},l.gi=function(e,n,r){},l.Fb=function(e){return Sue(this,e)},l.Hb=function(){return kyt(this)},l.hi=function(){return!1},l.Kc=function(){return new nr(this)},l.Yc=function(){return new Nx(this)},l.Zc=function(e){var n;if(n=this.gc(),e<0||e>n)throw it(new qm(e,n));return new Jnt(this,e)},l.ji=function(e,n){this.ii(e,this.Xc(n))},l.Mc=function(e){return X$(this,e)},l.li=function(e,n){return n},l._c=function(e,n){return h4(this,e,n)},l.Ib=function(){return g3t(this)},l.ni=function(){return!0},l.oi=function(e,n){return sE(this,n)},F(Ra,"AbstractEList",67),D(63,67,Ld,ox,Qw,gyt),l.Vh=function(e,n){return $st(this,e,n)},l.Wh=function(e){return Lse(this,e)},l.Xh=function(e,n){UD(this,e,n)},l.Yh=function(e){gD(this,e)},l.pi=function(e){return Fmt(this,e)},l.$b=function(){z9(this)},l.Hc=function(e){return yE(this,e)},l.Xb=function(e){return At(this,e)},l.qi=function(e){var n,r,s;++this.j,r=this.g==null?0:this.g.length,e>r&&(s=this.g,n=r+(r/2|0)+4,n=0?(this.$c(n),!0):!1},l.mi=function(e,n){return this.Ui(e,this.oi(e,n))},l.gc=function(){return this.Vi()},l.Pc=function(){return this.Wi()},l.Qc=function(e){return this.Xi(e)},l.Ib=function(){return this.Yi()},F(Ra,"DelegatingEList",1995),D(1996,1995,E0e),l.Vh=function(e,n){return sxt(this,e,n)},l.Wh=function(e){return this.Vh(this.Vi(),e)},l.Xh=function(e,n){fce(this,e,n)},l.Yh=function(e){rce(this,e)},l.ai=function(){return!this.bj()},l.$b=function(){A_(this)},l.Zi=function(e,n,r,s,o){return new pQt(this,e,n,r,s,o)},l.$i=function(e){mi(this.Ai(),e)},l._i=function(){return null},l.aj=function(){return-1},l.Ai=function(){return null},l.bj=function(){return!1},l.cj=function(e,n){return n},l.dj=function(e,n){return n},l.ej=function(){return!1},l.fj=function(){return!this.Ri()},l.ii=function(e,n){var r,s;return this.ej()?(s=this.fj(),r=B4t(this,e,n),this.$i(this.Zi(7,pe(n),r,e,s)),r):B4t(this,e,n)},l.$c=function(e){var n,r,s,o;return this.ej()?(r=null,s=this.fj(),n=this.Zi(4,o=Hj(this,e),null,e,s),this.bj()&&o?(r=this.dj(o,r),r?(r.Ei(n),r.Fi()):this.$i(n)):r?(r.Ei(n),r.Fi()):this.$i(n),o):(o=Hj(this,e),this.bj()&&o&&(r=this.dj(o,null),r&&r.Fi()),o)},l.mi=function(e,n){return yle(this,e,n)},F(L6,"DelegatingNotifyingListImpl",1996),D(143,1,nO),l.Ei=function(e){return T4t(this,e)},l.Fi=function(){rit(this)},l.xi=function(){return this.d},l._i=function(){return null},l.gj=function(){return null},l.yi=function(e){return-1},l.zi=function(){return aue(this)},l.Ai=function(){return null},l.Bi=function(){return $5t(this)},l.Ci=function(){return this.o<0?this.o<-2?-2-this.o-1:-1:this.o},l.hj=function(){return!1},l.Di=function(e){var n,r,s,o,h,d,v,k,C,M,j;switch(this.d){case 1:case 2:switch(o=e.xi(),o){case 1:case 2:if(h=e.Ai(),Vt(h)===Vt(this.Ai())&&this.yi(null)==e.yi(null))return this.g=e.zi(),e.xi()==1&&(this.d=1),!0}case 4:{switch(o=e.xi(),o){case 4:{if(h=e.Ai(),Vt(h)===Vt(this.Ai())&&this.yi(null)==e.yi(null))return C=kxt(this),k=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,d=e.Ci(),this.d=6,j=new Qw(2),k<=d?(Dr(j,this.n),Dr(j,e.Bi()),this.g=lt(ct(Cr,1),Xr,25,15,[this.o=k,d+1])):(Dr(j,e.Bi()),Dr(j,this.n),this.g=lt(ct(Cr,1),Xr,25,15,[this.o=d,k])),this.n=j,C||(this.o=-2-this.o-1),!0;break}}break}case 6:{switch(o=e.xi(),o){case 4:{if(h=e.Ai(),Vt(h)===Vt(this.Ai())&&this.yi(null)==e.yi(null)){for(C=kxt(this),d=e.Ci(),M=u(this.g,48),s=Nt(Cr,Xr,25,M.length+1,15,1),n=0;n>>0,n.toString(16))),s.a+=" (eventType: ",this.d){case 1:{s.a+="SET";break}case 2:{s.a+="UNSET";break}case 3:{s.a+="ADD";break}case 5:{s.a+="ADD_MANY";break}case 4:{s.a+="REMOVE";break}case 6:{s.a+="REMOVE_MANY";break}case 7:{s.a+="MOVE";break}case 8:{s.a+="REMOVING_ADAPTER";break}case 9:{s.a+="RESOLVE";break}default:{xet(s,this.d);break}}if(Yue(this)&&(s.a+=", touch: true"),s.a+=", position: ",xet(s,this.o<0?this.o<-2?-2-this.o-1:-1:this.o),s.a+=", notifier: ",l9(s,this.Ai()),s.a+=", feature: ",l9(s,this._i()),s.a+=", oldValue: ",l9(s,$5t(this)),s.a+=", newValue: ",this.d==6&&_t(this.g,48)){for(r=u(this.g,48),s.a+="[",e=0;e10?((!this.b||this.c.j!=this.a)&&(this.b=new E9(this),this.a=this.j),I0(this.b,e)):yE(this,e)},l.ni=function(){return!0},l.a=0,F(Ra,"AbstractEList/1",953),D(295,73,bot,qm),F(Ra,"AbstractEList/BasicIndexOutOfBoundsException",295),D(40,1,sa,nr),l.Nb=function(e){ba(this,e)},l.mj=function(){if(this.i.j!=this.f)throw it(new rh)},l.nj=function(){return dr(this)},l.Ob=function(){return this.e!=this.i.gc()},l.Pb=function(){return this.nj()},l.Qb=function(){f_(this)},l.e=0,l.f=0,l.g=-1,F(Ra,"AbstractEList/EIterator",40),D(278,40,n0,Nx,Jnt),l.Qb=function(){f_(this)},l.Rb=function(e){Die(this,e)},l.oj=function(){var e;try{return e=this.d.Xb(--this.e),this.mj(),this.g=this.e,e}catch(n){throw n=Wi(n),_t(n,73)?(this.mj(),it(new lc)):it(n)}},l.pj=function(e){Ise(this,e)},l.Sb=function(){return this.e!=0},l.Tb=function(){return this.e},l.Ub=function(){return this.oj()},l.Vb=function(){return this.e-1},l.Wb=function(e){this.pj(e)},F(Ra,"AbstractEList/EListIterator",278),D(341,40,sa,Bx),l.nj=function(){return dst(this)},l.Qb=function(){throw it(new Or)},F(Ra,"AbstractEList/NonResolvingEIterator",341),D(385,278,n0,$M,wwt),l.Rb=function(e){throw it(new Or)},l.nj=function(){var e;try{return e=this.c.ki(this.e),this.mj(),this.g=this.e++,e}catch(n){throw n=Wi(n),_t(n,73)?(this.mj(),it(new lc)):it(n)}},l.oj=function(){var e;try{return e=this.c.ki(--this.e),this.mj(),this.g=this.e,e}catch(n){throw n=Wi(n),_t(n,73)?(this.mj(),it(new lc)):it(n)}},l.Qb=function(){throw it(new Or)},l.Wb=function(e){throw it(new Or)},F(Ra,"AbstractEList/NonResolvingEListIterator",385),D(1982,67,T0e),l.Vh=function(e,n){var r,s,o,h,d,v,k,C,M,j,H;if(o=n.gc(),o!=0){for(C=u(Dn(this.a,4),126),M=C==null?0:C.length,H=M+o,s=Fit(this,H),j=M-e,j>0&&Dc(C,e,s,e+o,j),k=n.Kc(),d=0;dr)throw it(new qm(e,r));return new _Xt(this,e)},l.$b=function(){var e,n;++this.j,e=u(Dn(this.a,4),126),n=e==null?0:e.length,bE(this,null),Yrt(this,n,e)},l.Hc=function(e){var n,r,s,o,h;if(n=u(Dn(this.a,4),126),n!=null){if(e!=null){for(s=n,o=0,h=s.length;o=r)throw it(new qm(e,r));return n[e]},l.Xc=function(e){var n,r,s;if(n=u(Dn(this.a,4),126),n!=null){if(e!=null){for(r=0,s=n.length;rr)throw it(new qm(e,r));return new CXt(this,e)},l.ii=function(e,n){var r,s,o;if(r=jie(this),o=r==null?0:r.length,e>=o)throw it(new yo(iut+e+D2+o));if(n>=o)throw it(new yo(sut+n+D2+o));return s=r[n],e!=n&&(e0&&Dc(e,0,n,0,r),n},l.Qc=function(e){var n,r,s;return n=u(Dn(this.a,4),126),s=n==null?0:n.length,s>0&&(e.lengths&&ts(e,s,null),e};var n5e;F(Ra,"ArrayDelegatingEList",1982),D(1038,40,sa,FJt),l.mj=function(){if(this.b.j!=this.f||Vt(u(Dn(this.b.a,4),126))!==Vt(this.a))throw it(new rh)},l.Qb=function(){f_(this),this.a=u(Dn(this.b.a,4),126)},F(Ra,"ArrayDelegatingEList/EIterator",1038),D(706,278,n0,KKt,CXt),l.mj=function(){if(this.b.j!=this.f||Vt(u(Dn(this.b.a,4),126))!==Vt(this.a))throw it(new rh)},l.pj=function(e){Ise(this,e),this.a=u(Dn(this.b.a,4),126)},l.Qb=function(){f_(this),this.a=u(Dn(this.b.a,4),126)},F(Ra,"ArrayDelegatingEList/EListIterator",706),D(1039,341,sa,NJt),l.mj=function(){if(this.b.j!=this.f||Vt(u(Dn(this.b.a,4),126))!==Vt(this.a))throw it(new rh)},F(Ra,"ArrayDelegatingEList/NonResolvingEIterator",1039),D(707,385,n0,XKt,_Xt),l.mj=function(){if(this.b.j!=this.f||Vt(u(Dn(this.b.a,4),126))!==Vt(this.a))throw it(new rh)},F(Ra,"ArrayDelegatingEList/NonResolvingEListIterator",707),D(606,295,bot,nnt),F(Ra,"BasicEList/BasicIndexOutOfBoundsException",606),D(696,63,Ld,n2t),l.Vc=function(e,n){throw it(new Or)},l.Fc=function(e){throw it(new Or)},l.Wc=function(e,n){throw it(new Or)},l.Gc=function(e){throw it(new Or)},l.$b=function(){throw it(new Or)},l.qi=function(e){throw it(new Or)},l.Kc=function(){return this.Zh()},l.Yc=function(){return this.$h()},l.Zc=function(e){return this._h(e)},l.ii=function(e,n){throw it(new Or)},l.ji=function(e,n){throw it(new Or)},l.$c=function(e){throw it(new Or)},l.Mc=function(e){throw it(new Or)},l._c=function(e,n){throw it(new Or)},F(Ra,"BasicEList/UnmodifiableEList",696),D(705,1,{3:1,20:1,14:1,15:1,58:1,589:1}),l.Vc=function(e,n){CQe(this,e,u(n,42))},l.Fc=function(e){return hZe(this,u(e,42))},l.Jc=function(e){va(this,e)},l.Xb=function(e){return u(At(this.c,e),133)},l.ii=function(e,n){return u(this.c.ii(e,n),42)},l.ji=function(e,n){_Qe(this,e,u(n,42))},l.Lc=function(){return new Tn(null,new _n(this,16))},l.$c=function(e){return u(this.c.$c(e),42)},l._c=function(e,n){return mnn(this,e,u(n,42))},l.ad=function(e){r4(this,e)},l.Nc=function(){return new _n(this,16)},l.Oc=function(){return new Tn(null,new _n(this,16))},l.Wc=function(e,n){return this.c.Wc(e,n)},l.Gc=function(e){return this.c.Gc(e)},l.$b=function(){this.c.$b()},l.Hc=function(e){return this.c.Hc(e)},l.Ic=function(e){return ND(this.c,e)},l.qj=function(){var e,n,r;if(this.d==null){for(this.d=Nt(XAt,R8t,63,2*this.f+1,0,1),r=this.e,this.f=0,n=this.c.Kc();n.e!=n.i.gc();)e=u(n.nj(),133),Jz(this,e);this.e=r}},l.Fb=function(e){return xYt(this,e)},l.Hb=function(){return kyt(this.c)},l.Xc=function(e){return this.c.Xc(e)},l.rj=function(){this.c=new zzt(this)},l.dc=function(){return this.f==0},l.Kc=function(){return this.c.Kc()},l.Yc=function(){return this.c.Yc()},l.Zc=function(e){return this.c.Zc(e)},l.sj=function(){return wD(this)},l.tj=function(e,n,r){return new RYt(e,n,r)},l.uj=function(){return new kp},l.Mc=function(e){return tne(this,e)},l.gc=function(){return this.f},l.bd=function(e,n){return new Qd(this.c,e,n)},l.Pc=function(){return this.c.Pc()},l.Qc=function(e){return this.c.Qc(e)},l.Ib=function(){return g3t(this.c)},l.e=0,l.f=0,F(Ra,"BasicEMap",705),D(1033,63,Ld,zzt),l.bi=function(e,n){cKe(this,u(n,133))},l.ei=function(e,n,r){var s;++(s=this,u(n,133),s).a.e},l.fi=function(e,n){uKe(this,u(n,133))},l.gi=function(e,n,r){ZQe(this,u(n,133),u(r,133))},l.di=function(e,n){Vne(this.a)},F(Ra,"BasicEMap/1",1033),D(1034,63,Ld,kp),l.ri=function(e){return Nt(y6n,C0e,612,e,0,1)},F(Ra,"BasicEMap/2",1034),D(1035,N1,zu,qzt),l.$b=function(){this.a.c.$b()},l.Hc=function(e){return ist(this.a,e)},l.Kc=function(){return this.a.f==0?(y8(),pP.a):new EHt(this.a)},l.Mc=function(e){var n;return n=this.a.f,qz(this.a,e),this.a.f!=n},l.gc=function(){return this.a.f},F(Ra,"BasicEMap/3",1035),D(1036,28,xy,Hzt),l.$b=function(){this.a.c.$b()},l.Hc=function(e){return Aue(this.a,e)},l.Kc=function(){return this.a.f==0?(y8(),pP.a):new THt(this.a)},l.gc=function(){return this.a.f},F(Ra,"BasicEMap/4",1036),D(1037,N1,zu,Vzt),l.$b=function(){this.a.c.$b()},l.Hc=function(e){var n,r,s,o,h,d,v,k,C;if(this.a.f>0&&_t(e,42)&&(this.a.qj(),k=u(e,42),v=k.cd(),o=v==null?0:Hi(v),h=rwt(this.a,o),n=this.a.d[h],n)){for(r=u(n.g,367),C=n.i,d=0;d"+this.c},l.a=0;var y6n=F(Ra,"BasicEMap/EntryImpl",612);D(536,1,{},Ik),F(Ra,"BasicEMap/View",536);var pP;D(768,1,{}),l.Fb=function(e){return k5t((wn(),io),e)},l.Hb=function(){return Pyt((wn(),io))},l.Ib=function(){return eb((wn(),io))},F(Ra,"ECollections/BasicEmptyUnmodifiableEList",768),D(1312,1,n0,cB),l.Nb=function(e){ba(this,e)},l.Rb=function(e){throw it(new Or)},l.Ob=function(){return!1},l.Sb=function(){return!1},l.Pb=function(){throw it(new lc)},l.Tb=function(){return 0},l.Ub=function(){throw it(new lc)},l.Vb=function(){return-1},l.Qb=function(){throw it(new Or)},l.Wb=function(e){throw it(new Or)},F(Ra,"ECollections/BasicEmptyUnmodifiableEList/1",1312),D(1310,768,{20:1,14:1,15:1,58:1},Pqt),l.Vc=function(e,n){GHt()},l.Fc=function(e){return UHt()},l.Wc=function(e,n){return WHt()},l.Gc=function(e){return YHt()},l.$b=function(){KHt()},l.Hc=function(e){return!1},l.Ic=function(e){return!1},l.Jc=function(e){va(this,e)},l.Xb=function(e){return s2t((wn(),e)),null},l.Xc=function(e){return-1},l.dc=function(){return!0},l.Kc=function(){return this.a},l.Yc=function(){return this.a},l.Zc=function(e){return this.a},l.ii=function(e,n){return XHt()},l.ji=function(e,n){QHt()},l.Lc=function(){return new Tn(null,new _n(this,16))},l.$c=function(e){return ZHt()},l.Mc=function(e){return JHt()},l._c=function(e,n){return tVt()},l.gc=function(){return 0},l.ad=function(e){r4(this,e)},l.Nc=function(){return new _n(this,16)},l.Oc=function(){return new Tn(null,new _n(this,16))},l.bd=function(e,n){return wn(),new Qd(io,e,n)},l.Pc=function(){return svt((wn(),io))},l.Qc=function(e){return wn(),eI(io,e)},F(Ra,"ECollections/EmptyUnmodifiableEList",1310),D(1311,768,{20:1,14:1,15:1,58:1,589:1},Fqt),l.Vc=function(e,n){GHt()},l.Fc=function(e){return UHt()},l.Wc=function(e,n){return WHt()},l.Gc=function(e){return YHt()},l.$b=function(){KHt()},l.Hc=function(e){return!1},l.Ic=function(e){return!1},l.Jc=function(e){va(this,e)},l.Xb=function(e){return s2t((wn(),e)),null},l.Xc=function(e){return-1},l.dc=function(){return!0},l.Kc=function(){return this.a},l.Yc=function(){return this.a},l.Zc=function(e){return this.a},l.ii=function(e,n){return XHt()},l.ji=function(e,n){QHt()},l.Lc=function(){return new Tn(null,new _n(this,16))},l.$c=function(e){return ZHt()},l.Mc=function(e){return JHt()},l._c=function(e,n){return tVt()},l.gc=function(){return 0},l.ad=function(e){r4(this,e)},l.Nc=function(){return new _n(this,16)},l.Oc=function(){return new Tn(null,new _n(this,16))},l.bd=function(e,n){return wn(),new Qd(io,e,n)},l.Pc=function(){return svt((wn(),io))},l.Qc=function(e){return wn(),eI(io,e)},l.sj=function(){return wn(),wn(),u0},F(Ra,"ECollections/EmptyUnmodifiableEMap",1311);var ZAt=Ki(Ra,"Enumerator"),dU;D(281,1,{281:1},fat),l.Fb=function(e){var n;return this===e?!0:_t(e,281)?(n=u(e,281),this.f==n.f&&$en(this.i,n.i)&&jnt(this.a,this.f&256?n.f&256?n.a:null:n.f&256?null:n.a)&&jnt(this.d,n.d)&&jnt(this.g,n.g)&&jnt(this.e,n.e)&&Pfn(this,n)):!1},l.Hb=function(){return this.f},l.Ib=function(){return sle(this)},l.f=0;var r5e=0,i5e=0,s5e=0,a5e=0,JAt=0,tLt=0,eLt=0,nLt=0,rLt=0,o5e,oA=0,cA=0,c5e=0,u5e=0,gU,iLt;F(Ra,"URI",281),D(1091,43,A4,Nqt),l.zc=function(e,n){return u(ko(this,Br(e),u(n,281)),281)},F(Ra,"URI/URICache",1091),D(497,63,Ld,Ok,Gj),l.hi=function(){return!0},F(Ra,"UniqueEList",497),D(581,60,Q0,W$),F(Ra,"WrappedException",581);var Zr=Ki(ph,A0e),t3=Ki(ph,L0e),Mu=Ki(ph,M0e),e3=Ki(ph,D0e),s1=Ki(ph,I0e),Uh=Ki(ph,"EClass"),Nft=Ki(ph,"EDataType"),l5e;D(1183,43,A4,Bqt),l.xc=function(e){return ra(e)?Nc(this,e):ec(Lo(this.f,e))},F(ph,"EDataType/Internal/ConversionDelegate/Factory/Registry/Impl",1183);var pU=Ki(ph,"EEnum"),ag=Ki(ph,O0e),ho=Ki(ph,P0e),Wh=Ki(ph,F0e),Yh,Vv=Ki(ph,N0e),n3=Ki(ph,B0e);D(1029,1,{},nJ),l.Ib=function(){return"NIL"},F(ph,"EStructuralFeature/Internal/DynamicValueHolder/1",1029);var h5e;D(1028,43,A4,Rqt),l.xc=function(e){return ra(e)?Nc(this,e):ec(Lo(this.f,e))},F(ph,"EStructuralFeature/Internal/SettingDelegate/Factory/Registry/Impl",1028);var hu=Ki(ph,R0e),Z6=Ki(ph,"EValidator/PatternMatcher"),sLt,aLt,Ln,ap,r3,Lb,f5e,d5e,g5e,Mb,op,Db,Gv,W1,p5e,b5e,Kh,cp,w5e,up,i3,l5,Qa,v5e,m5e,Uv,bU=Ki($i,"FeatureMap/Entry");D(535,1,{72:1},lj),l.ak=function(){return this.a},l.dd=function(){return this.b},F(Mn,"BasicEObjectImpl/1",535),D(1027,1,hut,XGt),l.Wj=function(e){return Urt(this.a,this.b,e)},l.fj=function(){return MQt(this.a,this.b)},l.Wb=function(e){zvt(this.a,this.b,e)},l.Xj=function(){Nnn(this.a,this.b)},F(Mn,"BasicEObjectImpl/4",1027),D(1983,1,{108:1}),l.bk=function(e){this.e=e==0?y5e:Nt(Qn,De,1,e,5,1)},l.Ch=function(e){return this.e[e]},l.Dh=function(e,n){this.e[e]=n},l.Eh=function(e){this.e[e]=null},l.ck=function(){return this.c},l.dk=function(){throw it(new Or)},l.ek=function(){throw it(new Or)},l.fk=function(){return this.d},l.gk=function(){return this.e!=null},l.hk=function(e){this.c=e},l.ik=function(e){throw it(new Or)},l.jk=function(e){throw it(new Or)},l.kk=function(e){this.d=e};var y5e;F(Mn,"BasicEObjectImpl/EPropertiesHolderBaseImpl",1983),D(185,1983,{108:1},nh),l.dk=function(){return this.a},l.ek=function(){return this.b},l.ik=function(e){this.a=e},l.jk=function(e){this.b=e},F(Mn,"BasicEObjectImpl/EPropertiesHolderImpl",185),D(506,97,jde,Pk),l.Kg=function(){return this.f},l.Pg=function(){return this.k},l.Rg=function(e,n){this.g=e,this.i=n},l.Tg=function(){return this.j&2?this.ph().ck():this.zh()},l.Vg=function(){return this.i},l.Mg=function(){return(this.j&1)!=0},l.eh=function(){return this.g},l.kh=function(){return(this.j&4)!=0},l.ph=function(){return!this.k&&(this.k=new nh),this.k},l.th=function(e){this.ph().hk(e),e?this.j|=2:this.j&=-3},l.vh=function(e){this.ph().jk(e),e?this.j|=4:this.j&=-5},l.zh=function(){return(Hp(),Ln).S},l.i=0,l.j=1,F(Mn,"EObjectImpl",506),D(780,506,{105:1,92:1,90:1,56:1,108:1,49:1,97:1},zwt),l.Ch=function(e){return this.e[e]},l.Dh=function(e,n){this.e[e]=n},l.Eh=function(e){this.e[e]=null},l.Tg=function(){return this.d},l.Yg=function(e){return Gi(this.d,e)},l.$g=function(){return this.d},l.dh=function(){return this.e!=null},l.ph=function(){return!this.k&&(this.k=new uB),this.k},l.th=function(e){this.d=e},l.yh=function(){var e;return this.e==null&&(e=Jn(this.d),this.e=e==0?x5e:Nt(Qn,De,1,e,5,1)),this},l.Ah=function(){return 0};var x5e;F(Mn,"DynamicEObjectImpl",780),D(1376,780,{105:1,42:1,92:1,90:1,133:1,56:1,108:1,49:1,97:1},hKt),l.Fb=function(e){return this===e},l.Hb=function(){return Pw(this)},l.th=function(e){this.d=e,this.b=mI(e,"key"),this.c=mI(e,Z_)},l.Sh=function(){var e;return this.a==-1&&(e=iit(this,this.b),this.a=e==null?0:Hi(e)),this.a},l.cd=function(){return iit(this,this.b)},l.dd=function(){return iit(this,this.c)},l.Th=function(e){this.a=e},l.Uh=function(e){zvt(this,this.b,e)},l.ed=function(e){var n;return n=iit(this,this.c),zvt(this,this.c,e),n},l.a=0,F(Mn,"DynamicEObjectImpl/BasicEMapEntry",1376),D(1377,1,{108:1},uB),l.bk=function(e){throw it(new Or)},l.Ch=function(e){throw it(new Or)},l.Dh=function(e,n){throw it(new Or)},l.Eh=function(e){throw it(new Or)},l.ck=function(){throw it(new Or)},l.dk=function(){return this.a},l.ek=function(){return this.b},l.fk=function(){return this.c},l.gk=function(){throw it(new Or)},l.hk=function(e){throw it(new Or)},l.ik=function(e){this.a=e},l.jk=function(e){this.b=e},l.kk=function(e){this.c=e},F(Mn,"DynamicEObjectImpl/DynamicEPropertiesHolderImpl",1377),D(510,150,{105:1,92:1,90:1,590:1,147:1,56:1,108:1,49:1,97:1,510:1,150:1,114:1,115:1},lB),l.Qg=function(e){return a4t(this,e)},l._g=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.d;case 2:return r?(!this.b&&(this.b=new kl((dn(),Qa),cc,this)),this.b):(!this.b&&(this.b=new kl((dn(),Qa),cc,this)),wD(this.b));case 3:return FQt(this);case 4:return!this.a&&(this.a=new As(_b,this,4)),this.a;case 5:return!this.c&&(this.c=new Y3(_b,this,5)),this.c}return uh(this,e-Jn((dn(),ap)),yn((s=u(Dn(this,16),26),s||ap),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 3:return this.Cb&&(r=(o=this.Db>>16,o>=0?a4t(this,r):this.Cb.ih(this,-1-o,null,r))),rvt(this,u(e,147),r)}return h=u(yn((s=u(Dn(this,16),26),s||(dn(),ap)),n),66),h.Nj().Qj(this,su(this),n-Jn((dn(),ap)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 2:return!this.b&&(this.b=new kl((dn(),Qa),cc,this)),Oj(this.b,e,r);case 3:return rvt(this,null,r);case 4:return!this.a&&(this.a=new As(_b,this,4)),Ba(this.a,e,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),ap)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),ap)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.d!=null;case 2:return!!this.b&&this.b.f!=0;case 3:return!!FQt(this);case 4:return!!this.a&&this.a.i!=0;case 5:return!!this.c&&this.c.i!=0}return oh(this,e-Jn((dn(),ap)),yn((n=u(Dn(this,16),26),n||ap),e))},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Cen(this,Br(n));return;case 2:!this.b&&(this.b=new kl((dn(),Qa),cc,this)),xz(this.b,n);return;case 3:Kce(this,u(n,147));return;case 4:!this.a&&(this.a=new As(_b,this,4)),xr(this.a),!this.a&&(this.a=new As(_b,this,4)),is(this.a,u(n,14));return;case 5:!this.c&&(this.c=new Y3(_b,this,5)),xr(this.c),!this.c&&(this.c=new Y3(_b,this,5)),is(this.c,u(n,14));return}gh(this,e-Jn((dn(),ap)),yn((r=u(Dn(this,16),26),r||ap),e),n)},l.zh=function(){return dn(),ap},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:oyt(this,null);return;case 2:!this.b&&(this.b=new kl((dn(),Qa),cc,this)),this.b.c.$b();return;case 3:Kce(this,null);return;case 4:!this.a&&(this.a=new As(_b,this,4)),xr(this.a);return;case 5:!this.c&&(this.c=new Y3(_b,this,5)),xr(this.c);return}fh(this,e-Jn((dn(),ap)),yn((n=u(Dn(this,16),26),n||ap),e))},l.Ib=function(){return lie(this)},l.d=null,F(Mn,"EAnnotationImpl",510),D(151,705,j8t,_l),l.Xh=function(e,n){oQe(this,e,u(n,42))},l.lk=function(e,n){return eJe(this,u(e,42),n)},l.pi=function(e){return u(u(this.c,69).pi(e),133)},l.Zh=function(){return u(this.c,69).Zh()},l.$h=function(){return u(this.c,69).$h()},l._h=function(e){return u(this.c,69)._h(e)},l.mk=function(e,n){return Oj(this,e,n)},l.Wj=function(e){return u(this.c,76).Wj(e)},l.rj=function(){},l.fj=function(){return u(this.c,76).fj()},l.tj=function(e,n,r){var s;return s=u(Rl(this.b).Nh().Jh(this.b),133),s.Th(e),s.Uh(n),s.ed(r),s},l.uj=function(){return new _pt(this)},l.Wb=function(e){xz(this,e)},l.Xj=function(){u(this.c,76).Xj()},F($i,"EcoreEMap",151),D(158,151,j8t,kl),l.qj=function(){var e,n,r,s,o,h;if(this.d==null){for(h=Nt(XAt,R8t,63,2*this.f+1,0,1),r=this.c.Kc();r.e!=r.i.gc();)n=u(r.nj(),133),s=n.Sh(),o=(s&wi)%h.length,e=h[o],!e&&(e=h[o]=new _pt(this)),e.Fc(n);this.d=h}},F(Mn,"EAnnotationImpl/1",158),D(284,438,{105:1,92:1,90:1,147:1,191:1,56:1,108:1,472:1,49:1,97:1,150:1,284:1,114:1,115:1}),l._g=function(e,n,r){var s,o;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return pe(this.s);case 5:return pe(this.t);case 6:return Nn(),!!this.$j();case 7:return Nn(),o=this.s,o>=1;case 8:return n?Dh(this):this.r;case 9:return this.q}return uh(this,e-Jn(this.zh()),yn((s=u(Dn(this,16),26),s||this.zh()),e),n,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 9:return nrt(this,r)}return o=u(yn((s=u(Dn(this,16),26),s||this.zh()),n),66),o.Nj().Rj(this,su(this),n-Jn(this.zh()),e,r)},l.lh=function(e){var n,r;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.$j();case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&qw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&qw(this.q).i==0)}return oh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.sh=function(e,n){var r,s;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:this.Lh(Br(n));return;case 2:zg(this,je(Re(n)));return;case 3:qg(this,je(Re(n)));return;case 4:Rg(this,u(n,19).a);return;case 5:this.ok(u(n,19).a);return;case 8:b2(this,u(n,138));return;case 9:s=F1(this,u(n,87),null),s&&s.Fi();return}gh(this,e-Jn(this.zh()),yn((r=u(Dn(this,16),26),r||this.zh()),e),n)},l.zh=function(){return dn(),m5e},l.Bh=function(e){var n,r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:this.Lh(null);return;case 2:zg(this,!0);return;case 3:qg(this,!0);return;case 4:Rg(this,0);return;case 5:this.ok(1);return;case 8:b2(this,null);return;case 9:r=F1(this,null,null),r&&r.Fi();return}fh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.Gh=function(){Dh(this),this.Bb|=1},l.Yj=function(){return Dh(this)},l.Zj=function(){return this.t},l.$j=function(){var e;return e=this.t,e>1||e==-1},l.hi=function(){return(this.Bb&512)!=0},l.nk=function(e,n){return e3t(this,e,n)},l.ok=function(e){ry(this,e)},l.Ib=function(){return f5t(this)},l.s=0,l.t=1,F(Mn,"ETypedElementImpl",284),D(449,284,{105:1,92:1,90:1,147:1,191:1,56:1,170:1,66:1,108:1,472:1,49:1,97:1,150:1,449:1,284:1,114:1,115:1,677:1}),l.Qg=function(e){return Use(this,e)},l._g=function(e,n,r){var s,o;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return pe(this.s);case 5:return pe(this.t);case 6:return Nn(),!!this.$j();case 7:return Nn(),o=this.s,o>=1;case 8:return n?Dh(this):this.r;case 9:return this.q;case 10:return Nn(),!!(this.Bb&xf);case 11:return Nn(),!!(this.Bb&Dy);case 12:return Nn(),!!(this.Bb&Ey);case 13:return this.j;case 14:return SE(this);case 15:return Nn(),!!(this.Bb&Hu);case 16:return Nn(),!!(this.Bb&md);case 17:return Ym(this)}return uh(this,e-Jn(this.zh()),yn((s=u(Dn(this,16),26),s||this.zh()),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 17:return this.Cb&&(r=(o=this.Db>>16,o>=0?Use(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,17,r)}return h=u(yn((s=u(Dn(this,16),26),s||this.zh()),n),66),h.Nj().Qj(this,su(this),n-Jn(this.zh()),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 9:return nrt(this,r);case 17:return Hl(this,null,17,r)}return o=u(yn((s=u(Dn(this,16),26),s||this.zh()),n),66),o.Nj().Rj(this,su(this),n-Jn(this.zh()),e,r)},l.lh=function(e){var n,r;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.$j();case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&qw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&qw(this.q).i==0);case 10:return(this.Bb&xf)==0;case 11:return(this.Bb&Dy)!=0;case 12:return(this.Bb&Ey)!=0;case 13:return this.j!=null;case 14:return SE(this)!=null;case 15:return(this.Bb&Hu)!=0;case 16:return(this.Bb&md)!=0;case 17:return!!Ym(this)}return oh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.sh=function(e,n){var r,s;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Mrt(this,Br(n));return;case 2:zg(this,je(Re(n)));return;case 3:qg(this,je(Re(n)));return;case 4:Rg(this,u(n,19).a);return;case 5:this.ok(u(n,19).a);return;case 8:b2(this,u(n,138));return;case 9:s=F1(this,u(n,87),null),s&&s.Fi();return;case 10:lE(this,je(Re(n)));return;case 11:dE(this,je(Re(n)));return;case 12:hE(this,je(Re(n)));return;case 13:r2t(this,Br(n));return;case 15:fE(this,je(Re(n)));return;case 16:gE(this,je(Re(n)));return}gh(this,e-Jn(this.zh()),yn((r=u(Dn(this,16),26),r||this.zh()),e),n)},l.zh=function(){return dn(),v5e},l.Bh=function(e){var n,r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:_t(this.Cb,88)&&gy(sl(u(this.Cb,88)),4),Qc(this,null);return;case 2:zg(this,!0);return;case 3:qg(this,!0);return;case 4:Rg(this,0);return;case 5:this.ok(1);return;case 8:b2(this,null);return;case 9:r=F1(this,null,null),r&&r.Fi();return;case 10:lE(this,!0);return;case 11:dE(this,!1);return;case 12:hE(this,!1);return;case 13:this.i=null,fz(this,null);return;case 15:fE(this,!1);return;case 16:gE(this,!1);return}fh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.Gh=function(){M8(To(($u(),ya),this)),Dh(this),this.Bb|=1},l.Gj=function(){return this.f},l.zj=function(){return SE(this)},l.Hj=function(){return Ym(this)},l.Lj=function(){return null},l.pk=function(){return this.k},l.aj=function(){return this.n},l.Mj=function(){return cq(this)},l.Nj=function(){var e,n,r,s,o,h,d,v,k;return this.p||(r=Ym(this),(r.i==null&&vd(r),r.i).length,s=this.Lj(),s&&Jn(Ym(s)),o=Dh(this),d=o.Bj(),e=d?d.i&1?d==pl?Rs:d==Cr?ja:d==a3?i7:d==aa?la:d==Ob?Sv:d==g5?Av:d==Gu?M6:uS:d:null,n=SE(this),v=o.zj(),shn(this),this.Bb&md&&((h=d4t(($u(),ya),r))&&h!=this||(h=Kx(To(ya,this))))?this.p=new ZGt(this,h):this.$j()?this.rk()?s?this.Bb&Hu?e?this.sk()?this.p=new n2(47,e,this,s):this.p=new n2(5,e,this,s):this.sk()?this.p=new s2(46,this,s):this.p=new s2(4,this,s):e?this.sk()?this.p=new n2(49,e,this,s):this.p=new n2(7,e,this,s):this.sk()?this.p=new s2(48,this,s):this.p=new s2(6,this,s):this.Bb&Hu?e?e==P2?this.p=new Ig(50,t5e,this):this.sk()?this.p=new Ig(43,e,this):this.p=new Ig(1,e,this):this.sk()?this.p=new Pg(42,this):this.p=new Pg(0,this):e?e==P2?this.p=new Ig(41,t5e,this):this.sk()?this.p=new Ig(45,e,this):this.p=new Ig(3,e,this):this.sk()?this.p=new Pg(44,this):this.p=new Pg(2,this):_t(o,148)?e==bU?this.p=new Pg(40,this):this.Bb&512?this.Bb&Hu?e?this.p=new Ig(9,e,this):this.p=new Pg(8,this):e?this.p=new Ig(11,e,this):this.p=new Pg(10,this):this.Bb&Hu?e?this.p=new Ig(13,e,this):this.p=new Pg(12,this):e?this.p=new Ig(15,e,this):this.p=new Pg(14,this):s?(k=s.t,k>1||k==-1?this.sk()?this.Bb&Hu?e?this.p=new n2(25,e,this,s):this.p=new s2(24,this,s):e?this.p=new n2(27,e,this,s):this.p=new s2(26,this,s):this.Bb&Hu?e?this.p=new n2(29,e,this,s):this.p=new s2(28,this,s):e?this.p=new n2(31,e,this,s):this.p=new s2(30,this,s):this.sk()?this.Bb&Hu?e?this.p=new n2(33,e,this,s):this.p=new s2(32,this,s):e?this.p=new n2(35,e,this,s):this.p=new s2(34,this,s):this.Bb&Hu?e?this.p=new n2(37,e,this,s):this.p=new s2(36,this,s):e?this.p=new n2(39,e,this,s):this.p=new s2(38,this,s)):this.sk()?this.Bb&Hu?e?this.p=new Ig(17,e,this):this.p=new Pg(16,this):e?this.p=new Ig(19,e,this):this.p=new Pg(18,this):this.Bb&Hu?e?this.p=new Ig(21,e,this):this.p=new Pg(20,this):e?this.p=new Ig(23,e,this):this.p=new Pg(22,this):this.qk()?this.sk()?this.p=new jYt(u(o,26),this,s):this.p=new $vt(u(o,26),this,s):_t(o,148)?e==bU?this.p=new Pg(40,this):this.Bb&Hu?e?this.p=new BKt(n,v,this,(rst(),d==Cr?dLt:d==pl?cLt:d==Ob?gLt:d==a3?fLt:d==aa?hLt:d==g5?pLt:d==Gu?uLt:d==xh?lLt:jft)):this.p=new KXt(u(o,148),n,v,this):e?this.p=new NKt(n,v,this,(rst(),d==Cr?dLt:d==pl?cLt:d==Ob?gLt:d==a3?fLt:d==aa?hLt:d==g5?pLt:d==Gu?uLt:d==xh?lLt:jft)):this.p=new YXt(u(o,148),n,v,this):this.rk()?s?this.Bb&Hu?this.sk()?this.p=new zYt(u(o,26),this,s):this.p=new Dwt(u(o,26),this,s):this.sk()?this.p=new $Yt(u(o,26),this,s):this.p=new Int(u(o,26),this,s):this.Bb&Hu?this.sk()?this.p=new NWt(u(o,26),this):this.p=new G2t(u(o,26),this):this.sk()?this.p=new FWt(u(o,26),this):this.p=new vnt(u(o,26),this):this.sk()?s?this.Bb&Hu?this.p=new qYt(u(o,26),this,s):this.p=new Lwt(u(o,26),this,s):this.Bb&Hu?this.p=new BWt(u(o,26),this):this.p=new U2t(u(o,26),this):s?this.Bb&Hu?this.p=new HYt(u(o,26),this,s):this.p=new Mwt(u(o,26),this,s):this.Bb&Hu?this.p=new RWt(u(o,26),this):this.p=new Uj(u(o,26),this)),this.p},l.Ij=function(){return(this.Bb&xf)!=0},l.qk=function(){return!1},l.rk=function(){return!1},l.Jj=function(){return(this.Bb&md)!=0},l.Oj=function(){return ait(this)},l.sk=function(){return!1},l.Kj=function(){return(this.Bb&Hu)!=0},l.tk=function(e){this.k=e},l.Lh=function(e){Mrt(this,e)},l.Ib=function(){return _q(this)},l.e=!1,l.n=0,F(Mn,"EStructuralFeatureImpl",449),D(322,449,{105:1,92:1,90:1,34:1,147:1,191:1,56:1,170:1,66:1,108:1,472:1,49:1,97:1,322:1,150:1,449:1,284:1,114:1,115:1,677:1},ret),l._g=function(e,n,r){var s,o;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return pe(this.s);case 5:return pe(this.t);case 6:return Nn(),!!c5t(this);case 7:return Nn(),o=this.s,o>=1;case 8:return n?Dh(this):this.r;case 9:return this.q;case 10:return Nn(),!!(this.Bb&xf);case 11:return Nn(),!!(this.Bb&Dy);case 12:return Nn(),!!(this.Bb&Ey);case 13:return this.j;case 14:return SE(this);case 15:return Nn(),!!(this.Bb&Hu);case 16:return Nn(),!!(this.Bb&md);case 17:return Ym(this);case 18:return Nn(),!!(this.Bb&dc);case 19:return n?Tit(this):KJt(this)}return uh(this,e-Jn((dn(),r3)),yn((s=u(Dn(this,16),26),s||r3),e),n,r)},l.lh=function(e){var n,r;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return c5t(this);case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&qw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&qw(this.q).i==0);case 10:return(this.Bb&xf)==0;case 11:return(this.Bb&Dy)!=0;case 12:return(this.Bb&Ey)!=0;case 13:return this.j!=null;case 14:return SE(this)!=null;case 15:return(this.Bb&Hu)!=0;case 16:return(this.Bb&md)!=0;case 17:return!!Ym(this);case 18:return(this.Bb&dc)!=0;case 19:return!!KJt(this)}return oh(this,e-Jn((dn(),r3)),yn((n=u(Dn(this,16),26),n||r3),e))},l.sh=function(e,n){var r,s;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Mrt(this,Br(n));return;case 2:zg(this,je(Re(n)));return;case 3:qg(this,je(Re(n)));return;case 4:Rg(this,u(n,19).a);return;case 5:SHt(this,u(n,19).a);return;case 8:b2(this,u(n,138));return;case 9:s=F1(this,u(n,87),null),s&&s.Fi();return;case 10:lE(this,je(Re(n)));return;case 11:dE(this,je(Re(n)));return;case 12:hE(this,je(Re(n)));return;case 13:r2t(this,Br(n));return;case 15:fE(this,je(Re(n)));return;case 16:gE(this,je(Re(n)));return;case 18:Kit(this,je(Re(n)));return}gh(this,e-Jn((dn(),r3)),yn((r=u(Dn(this,16),26),r||r3),e),n)},l.zh=function(){return dn(),r3},l.Bh=function(e){var n,r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:_t(this.Cb,88)&&gy(sl(u(this.Cb,88)),4),Qc(this,null);return;case 2:zg(this,!0);return;case 3:qg(this,!0);return;case 4:Rg(this,0);return;case 5:this.b=0,ry(this,1);return;case 8:b2(this,null);return;case 9:r=F1(this,null,null),r&&r.Fi();return;case 10:lE(this,!0);return;case 11:dE(this,!1);return;case 12:hE(this,!1);return;case 13:this.i=null,fz(this,null);return;case 15:fE(this,!1);return;case 16:gE(this,!1);return;case 18:Kit(this,!1);return}fh(this,e-Jn((dn(),r3)),yn((n=u(Dn(this,16),26),n||r3),e))},l.Gh=function(){Tit(this),M8(To(($u(),ya),this)),Dh(this),this.Bb|=1},l.$j=function(){return c5t(this)},l.nk=function(e,n){return this.b=0,this.a=null,e3t(this,e,n)},l.ok=function(e){SHt(this,e)},l.Ib=function(){var e;return this.Db&64?_q(this):(e=new _h(_q(this)),e.a+=" (iD: ",Lg(e,(this.Bb&dc)!=0),e.a+=")",e.a)},l.b=0,F(Mn,"EAttributeImpl",322),D(351,438,{105:1,92:1,90:1,138:1,147:1,191:1,56:1,108:1,49:1,97:1,351:1,150:1,114:1,115:1,676:1}),l.uk=function(e){return e.Tg()==this},l.Qg=function(e){return Lst(this,e)},l.Rg=function(e,n){this.w=null,this.Db=n<<16|this.Db&255,this.Cb=e},l._g=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return hv(this);case 4:return this.zj();case 5:return this.F;case 6:return n?Rl(this):O8(this);case 7:return!this.A&&(this.A=new Fu(hu,this,7)),this.A}return uh(this,e-Jn(this.zh()),yn((s=u(Dn(this,16),26),s||this.zh()),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?Lst(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,6,r)}return h=u(yn((s=u(Dn(this,16),26),s||this.zh()),n),66),h.Nj().Qj(this,su(this),n-Jn(this.zh()),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 6:return Hl(this,null,6,r);case 7:return!this.A&&(this.A=new Fu(hu,this,7)),Ba(this.A,e,r)}return o=u(yn((s=u(Dn(this,16),26),s||this.zh()),n),66),o.Nj().Rj(this,su(this),n-Jn(this.zh()),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!hv(this);case 4:return this.zj()!=null;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!O8(this);case 7:return!!this.A&&this.A.i!=0}return oh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:_$(this,Br(n));return;case 2:snt(this,Br(n));return;case 5:OE(this,Br(n));return;case 7:!this.A&&(this.A=new Fu(hu,this,7)),xr(this.A),!this.A&&(this.A=new Fu(hu,this,7)),is(this.A,u(n,14));return}gh(this,e-Jn(this.zh()),yn((r=u(Dn(this,16),26),r||this.zh()),e),n)},l.zh=function(){return dn(),f5e},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:_t(this.Cb,179)&&(u(this.Cb,179).tb=null),Qc(this,null);return;case 2:aE(this,null),Y8(this,this.D);return;case 5:OE(this,null);return;case 7:!this.A&&(this.A=new Fu(hu,this,7)),xr(this.A);return}fh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.yj=function(){var e;return this.G==-1&&(this.G=(e=Rl(this),e?Hg(e.Mh(),this):-1)),this.G},l.zj=function(){return null},l.Aj=function(){return Rl(this)},l.vk=function(){return this.v},l.Bj=function(){return hv(this)},l.Cj=function(){return this.D!=null?this.D:this.B},l.Dj=function(){return this.F},l.wj=function(e){return xat(this,e)},l.wk=function(e){this.v=e},l.xk=function(e){Cne(this,e)},l.yk=function(e){this.C=e},l.Lh=function(e){_$(this,e)},l.Ib=function(){return Rz(this)},l.C=null,l.D=null,l.G=-1,F(Mn,"EClassifierImpl",351),D(88,351,{105:1,92:1,90:1,26:1,138:1,147:1,191:1,56:1,108:1,49:1,97:1,88:1,351:1,150:1,473:1,114:1,115:1,676:1},eM),l.uk=function(e){return zZe(this,e.Tg())},l._g=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return hv(this);case 4:return null;case 5:return this.F;case 6:return n?Rl(this):O8(this);case 7:return!this.A&&(this.A=new Fu(hu,this,7)),this.A;case 8:return Nn(),!!(this.Bb&256);case 9:return Nn(),!!(this.Bb&512);case 10:return Ao(this);case 11:return!this.q&&(this.q=new fe(Wh,this,11,10)),this.q;case 12:return T4(this);case 13:return C_(this);case 14:return C_(this),this.r;case 15:return T4(this),this.k;case 16:return Z4t(this);case 17:return _at(this);case 18:return vd(this);case 19:return mq(this);case 20:return T4(this),this.o;case 21:return!this.s&&(this.s=new fe(Mu,this,21,17)),this.s;case 22:return Lc(this);case 23:return hat(this)}return uh(this,e-Jn((dn(),Lb)),yn((s=u(Dn(this,16),26),s||Lb),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?Lst(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,6,r);case 11:return!this.q&&(this.q=new fe(Wh,this,11,10)),Zc(this.q,e,r);case 21:return!this.s&&(this.s=new fe(Mu,this,21,17)),Zc(this.s,e,r)}return h=u(yn((s=u(Dn(this,16),26),s||(dn(),Lb)),n),66),h.Nj().Qj(this,su(this),n-Jn((dn(),Lb)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 6:return Hl(this,null,6,r);case 7:return!this.A&&(this.A=new Fu(hu,this,7)),Ba(this.A,e,r);case 11:return!this.q&&(this.q=new fe(Wh,this,11,10)),Ba(this.q,e,r);case 21:return!this.s&&(this.s=new fe(Mu,this,21,17)),Ba(this.s,e,r);case 22:return Ba(Lc(this),e,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),Lb)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),Lb)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!hv(this);case 4:return!1;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!O8(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)!=0;case 9:return(this.Bb&512)!=0;case 10:return!!this.u&&Lc(this.u.a).i!=0&&!(this.n&&vst(this.n));case 11:return!!this.q&&this.q.i!=0;case 12:return T4(this).i!=0;case 13:return C_(this).i!=0;case 14:return C_(this),this.r.i!=0;case 15:return T4(this),this.k.i!=0;case 16:return Z4t(this).i!=0;case 17:return _at(this).i!=0;case 18:return vd(this).i!=0;case 19:return mq(this).i!=0;case 20:return T4(this),!!this.o;case 21:return!!this.s&&this.s.i!=0;case 22:return!!this.n&&vst(this.n);case 23:return hat(this).i!=0}return oh(this,e-Jn((dn(),Lb)),yn((n=u(Dn(this,16),26),n||Lb),e))},l.oh=function(e){var n;return n=this.i==null||this.q&&this.q.i!=0?null:mI(this,e),n||Lxt(this,e)},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:_$(this,Br(n));return;case 2:snt(this,Br(n));return;case 5:OE(this,Br(n));return;case 7:!this.A&&(this.A=new Fu(hu,this,7)),xr(this.A),!this.A&&(this.A=new Fu(hu,this,7)),is(this.A,u(n,14));return;case 8:r3t(this,je(Re(n)));return;case 9:i3t(this,je(Re(n)));return;case 10:A_(Ao(this)),is(Ao(this),u(n,14));return;case 11:!this.q&&(this.q=new fe(Wh,this,11,10)),xr(this.q),!this.q&&(this.q=new fe(Wh,this,11,10)),is(this.q,u(n,14));return;case 21:!this.s&&(this.s=new fe(Mu,this,21,17)),xr(this.s),!this.s&&(this.s=new fe(Mu,this,21,17)),is(this.s,u(n,14));return;case 22:xr(Lc(this)),is(Lc(this),u(n,14));return}gh(this,e-Jn((dn(),Lb)),yn((r=u(Dn(this,16),26),r||Lb),e),n)},l.zh=function(){return dn(),Lb},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:_t(this.Cb,179)&&(u(this.Cb,179).tb=null),Qc(this,null);return;case 2:aE(this,null),Y8(this,this.D);return;case 5:OE(this,null);return;case 7:!this.A&&(this.A=new Fu(hu,this,7)),xr(this.A);return;case 8:r3t(this,!1);return;case 9:i3t(this,!1);return;case 10:this.u&&A_(this.u);return;case 11:!this.q&&(this.q=new fe(Wh,this,11,10)),xr(this.q);return;case 21:!this.s&&(this.s=new fe(Mu,this,21,17)),xr(this.s);return;case 22:this.n&&xr(this.n);return}fh(this,e-Jn((dn(),Lb)),yn((n=u(Dn(this,16),26),n||Lb),e))},l.Gh=function(){var e,n;if(T4(this),C_(this),Z4t(this),_at(this),vd(this),mq(this),hat(this),z9(ien(sl(this))),this.s)for(e=0,n=this.s.i;e=0;--n)At(this,n);return _3t(this,e)},l.Xj=function(){xr(this)},l.oi=function(e,n){return Yee(this,e,n)},F($i,"EcoreEList",622),D(496,622,zo,ZM),l.ai=function(){return!1},l.aj=function(){return this.c},l.bj=function(){return!1},l.Fk=function(){return!0},l.hi=function(){return!0},l.li=function(e,n){return n},l.ni=function(){return!1},l.c=0,F($i,"EObjectEList",496),D(85,496,zo,As),l.bj=function(){return!0},l.Dk=function(){return!1},l.rk=function(){return!0},F($i,"EObjectContainmentEList",85),D(545,85,zo,kj),l.ci=function(){this.b=!0},l.fj=function(){return this.b},l.Xj=function(){var e;xr(this),xl(this.e)?(e=this.b,this.b=!1,mi(this.e,new bf(this.e,2,this.c,e,!1))):this.b=!1},l.b=!1,F($i,"EObjectContainmentEList/Unsettable",545),D(1140,545,zo,PKt),l.ii=function(e,n){var r,s;return r=u(r_(this,e,n),87),xl(this.e)&&n8(this,new mD(this.a,7,(dn(),d5e),pe(n),(s=r.c,_t(s,88)?u(s,26):Kh),e)),r},l.jj=function(e,n){return Uhn(this,u(e,87),n)},l.kj=function(e,n){return Ghn(this,u(e,87),n)},l.lj=function(e,n,r){return Wdn(this,u(e,87),u(n,87),r)},l.Zi=function(e,n,r,s,o){switch(e){case 3:return F9(this,e,n,r,s,this.i>1);case 5:return F9(this,e,n,r,s,this.i-u(r,15).gc()>0);default:return new z0(this.e,e,this.c,n,r,s,!0)}},l.ij=function(){return!0},l.fj=function(){return vst(this)},l.Xj=function(){xr(this)},F(Mn,"EClassImpl/1",1140),D(1154,1153,B8t),l.ui=function(e){var n,r,s,o,h,d,v;if(r=e.xi(),r!=8){if(s=Lfn(e),s==0)switch(r){case 1:case 9:{v=e.Bi(),v!=null&&(n=sl(u(v,473)),!n.c&&(n.c=new Tm),X$(n.c,e.Ai())),d=e.zi(),d!=null&&(o=u(d,473),o.Bb&1||(n=sl(o),!n.c&&(n.c=new Tm),Dr(n.c,u(e.Ai(),26))));break}case 3:{d=e.zi(),d!=null&&(o=u(d,473),o.Bb&1||(n=sl(o),!n.c&&(n.c=new Tm),Dr(n.c,u(e.Ai(),26))));break}case 5:{if(d=e.zi(),d!=null)for(h=u(d,14).Kc();h.Ob();)o=u(h.Pb(),473),o.Bb&1||(n=sl(o),!n.c&&(n.c=new Tm),Dr(n.c,u(e.Ai(),26)));break}case 4:{v=e.Bi(),v!=null&&(o=u(v,473),o.Bb&1||(n=sl(o),!n.c&&(n.c=new Tm),X$(n.c,e.Ai())));break}case 6:{if(v=e.Bi(),v!=null)for(h=u(v,14).Kc();h.Ob();)o=u(h.Pb(),473),o.Bb&1||(n=sl(o),!n.c&&(n.c=new Tm),X$(n.c,e.Ai()));break}}this.Hk(s)}},l.Hk=function(e){Oue(this,e)},l.b=63,F(Mn,"ESuperAdapter",1154),D(1155,1154,B8t,Uzt),l.Hk=function(e){gy(this,e)},F(Mn,"EClassImpl/10",1155),D(1144,696,zo),l.Vh=function(e,n){return $st(this,e,n)},l.Wh=function(e){return Lse(this,e)},l.Xh=function(e,n){UD(this,e,n)},l.Yh=function(e){gD(this,e)},l.pi=function(e){return Fmt(this,e)},l.mi=function(e,n){return sit(this,e,n)},l.lk=function(e,n){throw it(new Or)},l.Zh=function(){return new Bx(this)},l.$h=function(){return new $M(this)},l._h=function(e){return DD(this,e)},l.mk=function(e,n){throw it(new Or)},l.Wj=function(e){return this},l.fj=function(){return this.i!=0},l.Wb=function(e){throw it(new Or)},l.Xj=function(){throw it(new Or)},F($i,"EcoreEList/UnmodifiableEList",1144),D(319,1144,zo,V3),l.ni=function(){return!1},F($i,"EcoreEList/UnmodifiableEList/FastCompare",319),D(1147,319,zo,wre),l.Xc=function(e){var n,r,s;if(_t(e,170)&&(n=u(e,170),r=n.aj(),r!=-1)){for(s=this.i;r4)if(this.wj(e)){if(this.rk()){if(s=u(e,49),r=s.Ug(),v=r==this.b&&(this.Dk()?s.Og(s.Vg(),u(yn(vu(this.b),this.aj()).Yj(),26).Bj())==no(u(yn(vu(this.b),this.aj()),18)).n:-1-s.Vg()==this.aj()),this.Ek()&&!v&&!r&&s.Zg()){for(o=0;o1||s==-1)):!1},l.Dk=function(){var e,n,r;return n=yn(vu(this.b),this.aj()),_t(n,99)?(e=u(n,18),r=no(e),!!r):!1},l.Ek=function(){var e,n;return n=yn(vu(this.b),this.aj()),_t(n,99)?(e=u(n,18),(e.Bb&Ka)!=0):!1},l.Xc=function(e){var n,r,s,o;if(s=this.Qi(e),s>=0)return s;if(this.Fk()){for(r=0,o=this.Vi();r=0;--e)AI(this,e,this.Oi(e));return this.Wi()},l.Qc=function(e){var n;if(this.Ek())for(n=this.Vi()-1;n>=0;--n)AI(this,n,this.Oi(n));return this.Xi(e)},l.Xj=function(){A_(this)},l.oi=function(e,n){return Ite(this,e,n)},F($i,"DelegatingEcoreEList",742),D(1150,742,z8t,KWt),l.Hi=function(e,n){pZe(this,e,u(n,26))},l.Ii=function(e){uQe(this,u(e,26))},l.Oi=function(e){var n,r;return n=u(At(Lc(this.a),e),87),r=n.c,_t(r,88)?u(r,26):(dn(),Kh)},l.Ti=function(e){var n,r;return n=u(by(Lc(this.a),e),87),r=n.c,_t(r,88)?u(r,26):(dn(),Kh)},l.Ui=function(e,n){return b1n(this,e,u(n,26))},l.ai=function(){return!1},l.Zi=function(e,n,r,s,o){return null},l.Ji=function(){return new Yzt(this)},l.Ki=function(){xr(Lc(this.a))},l.Li=function(e){return cie(this,e)},l.Mi=function(e){var n,r;for(r=e.Kc();r.Ob();)if(n=r.Pb(),!cie(this,n))return!1;return!0},l.Ni=function(e){var n,r,s;if(_t(e,15)&&(s=u(e,15),s.gc()==Lc(this.a).i)){for(n=s.Kc(),r=new nr(this);n.Ob();)if(Vt(n.Pb())!==Vt(dr(r)))return!1;return!0}return!1},l.Pi=function(){var e,n,r,s,o;for(r=1,n=new nr(Lc(this.a));n.e!=n.i.gc();)e=u(dr(n),87),s=(o=e.c,_t(o,88)?u(o,26):(dn(),Kh)),r=31*r+(s?Pw(s):0);return r},l.Qi=function(e){var n,r,s,o;for(s=0,r=new nr(Lc(this.a));r.e!=r.i.gc();){if(n=u(dr(r),87),Vt(e)===Vt((o=n.c,_t(o,88)?u(o,26):(dn(),Kh))))return s;++s}return-1},l.Ri=function(){return Lc(this.a).i==0},l.Si=function(){return null},l.Vi=function(){return Lc(this.a).i},l.Wi=function(){var e,n,r,s,o,h;for(h=Lc(this.a).i,o=Nt(Qn,De,1,h,5,1),r=0,n=new nr(Lc(this.a));n.e!=n.i.gc();)e=u(dr(n),87),o[r++]=(s=e.c,_t(s,88)?u(s,26):(dn(),Kh));return o},l.Xi=function(e){var n,r,s,o,h,d,v;for(v=Lc(this.a).i,e.lengthv&&ts(e,v,null),s=0,r=new nr(Lc(this.a));r.e!=r.i.gc();)n=u(dr(r),87),h=(d=n.c,_t(d,88)?u(d,26):(dn(),Kh)),ts(e,s++,h);return e},l.Yi=function(){var e,n,r,s,o;for(o=new Ag,o.a+="[",e=Lc(this.a),n=0,s=Lc(this.a).i;n>16,o>=0?Lst(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,6,r);case 9:return!this.a&&(this.a=new fe(ag,this,9,5)),Zc(this.a,e,r)}return h=u(yn((s=u(Dn(this,16),26),s||(dn(),Mb)),n),66),h.Nj().Qj(this,su(this),n-Jn((dn(),Mb)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 6:return Hl(this,null,6,r);case 7:return!this.A&&(this.A=new Fu(hu,this,7)),Ba(this.A,e,r);case 9:return!this.a&&(this.a=new fe(ag,this,9,5)),Ba(this.a,e,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),Mb)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),Mb)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!hv(this);case 4:return!!Hyt(this);case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!O8(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)==0;case 9:return!!this.a&&this.a.i!=0}return oh(this,e-Jn((dn(),Mb)),yn((n=u(Dn(this,16),26),n||Mb),e))},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:_$(this,Br(n));return;case 2:snt(this,Br(n));return;case 5:OE(this,Br(n));return;case 7:!this.A&&(this.A=new Fu(hu,this,7)),xr(this.A),!this.A&&(this.A=new Fu(hu,this,7)),is(this.A,u(n,14));return;case 8:Iz(this,je(Re(n)));return;case 9:!this.a&&(this.a=new fe(ag,this,9,5)),xr(this.a),!this.a&&(this.a=new fe(ag,this,9,5)),is(this.a,u(n,14));return}gh(this,e-Jn((dn(),Mb)),yn((r=u(Dn(this,16),26),r||Mb),e),n)},l.zh=function(){return dn(),Mb},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:_t(this.Cb,179)&&(u(this.Cb,179).tb=null),Qc(this,null);return;case 2:aE(this,null),Y8(this,this.D);return;case 5:OE(this,null);return;case 7:!this.A&&(this.A=new Fu(hu,this,7)),xr(this.A);return;case 8:Iz(this,!0);return;case 9:!this.a&&(this.a=new fe(ag,this,9,5)),xr(this.a);return}fh(this,e-Jn((dn(),Mb)),yn((n=u(Dn(this,16),26),n||Mb),e))},l.Gh=function(){var e,n;if(this.a)for(e=0,n=this.a.i;e>16==5?u(this.Cb,671):null}return uh(this,e-Jn((dn(),op)),yn((s=u(Dn(this,16),26),s||op),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 5:return this.Cb&&(r=(o=this.Db>>16,o>=0?tae(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,5,r)}return h=u(yn((s=u(Dn(this,16),26),s||(dn(),op)),n),66),h.Nj().Qj(this,su(this),n-Jn((dn(),op)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 5:return Hl(this,null,5,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),op)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),op)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.d!=0;case 3:return!!this.b;case 4:return this.c!=null;case 5:return!!(this.Db>>16==5&&u(this.Cb,671))}return oh(this,e-Jn((dn(),op)),yn((n=u(Dn(this,16),26),n||op),e))},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Qc(this,Br(n));return;case 2:hit(this,u(n,19).a);return;case 3:Koe(this,u(n,1940));return;case 4:dit(this,Br(n));return}gh(this,e-Jn((dn(),op)),yn((r=u(Dn(this,16),26),r||op),e),n)},l.zh=function(){return dn(),op},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:Qc(this,null);return;case 2:hit(this,0);return;case 3:Koe(this,null);return;case 4:dit(this,null);return}fh(this,e-Jn((dn(),op)),yn((n=u(Dn(this,16),26),n||op),e))},l.Ib=function(){var e;return e=this.c,e??this.zb},l.b=null,l.c=null,l.d=0,F(Mn,"EEnumLiteralImpl",573);var x6n=Ki(Mn,"EFactoryImpl/InternalEDateTimeFormat");D(489,1,{2015:1},fM),F(Mn,"EFactoryImpl/1ClientInternalEDateTimeFormat",489),D(241,115,{105:1,92:1,90:1,87:1,56:1,108:1,49:1,97:1,241:1,114:1,115:1},xw),l.Sg=function(e,n,r){var s;return r=Hl(this,e,n,r),this.e&&_t(e,170)&&(s=vq(this,this.e),s!=this.c&&(r=PE(this,s,r))),r},l._g=function(e,n,r){var s;switch(e){case 0:return this.f;case 1:return!this.d&&(this.d=new As(ho,this,1)),this.d;case 2:return n?Lq(this):this.c;case 3:return this.b;case 4:return this.e;case 5:return n?xst(this):this.a}return uh(this,e-Jn((dn(),Gv)),yn((s=u(Dn(this,16),26),s||Gv),e),n,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return Zre(this,null,r);case 1:return!this.d&&(this.d=new As(ho,this,1)),Ba(this.d,e,r);case 3:return Qre(this,null,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),Gv)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),Gv)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.f;case 1:return!!this.d&&this.d.i!=0;case 2:return!!this.c;case 3:return!!this.b;case 4:return!!this.e;case 5:return!!this.a}return oh(this,e-Jn((dn(),Gv)),yn((n=u(Dn(this,16),26),n||Gv),e))},l.sh=function(e,n){var r;switch(e){case 0:vae(this,u(n,87));return;case 1:!this.d&&(this.d=new As(ho,this,1)),xr(this.d),!this.d&&(this.d=new As(ho,this,1)),is(this.d,u(n,14));return;case 3:k4t(this,u(n,87));return;case 4:j4t(this,u(n,836));return;case 5:H8(this,u(n,138));return}gh(this,e-Jn((dn(),Gv)),yn((r=u(Dn(this,16),26),r||Gv),e),n)},l.zh=function(){return dn(),Gv},l.Bh=function(e){var n;switch(e){case 0:vae(this,null);return;case 1:!this.d&&(this.d=new As(ho,this,1)),xr(this.d);return;case 3:k4t(this,null);return;case 4:j4t(this,null);return;case 5:H8(this,null);return}fh(this,e-Jn((dn(),Gv)),yn((n=u(Dn(this,16),26),n||Gv),e))},l.Ib=function(){var e;return e=new Ol(mf(this)),e.a+=" (expression: ",Mat(this,e),e.a+=")",e.a};var oLt;F(Mn,"EGenericTypeImpl",241),D(1969,1964,NH),l.Xh=function(e,n){UWt(this,e,n)},l.lk=function(e,n){return UWt(this,this.gc(),e),n},l.pi=function(e){return Zf(this.Gi(),e)},l.Zh=function(){return this.$h()},l.Gi=function(){return new Zzt(this)},l.$h=function(){return this._h(0)},l._h=function(e){return this.Gi().Zc(e)},l.mk=function(e,n){return ay(this,e,!0),n},l.ii=function(e,n){var r,s;return s=Dst(this,n),r=this.Zc(e),r.Rb(s),s},l.ji=function(e,n){var r;ay(this,n,!0),r=this.Zc(e),r.Rb(n)},F($i,"AbstractSequentialInternalEList",1969),D(486,1969,NH,jM),l.pi=function(e){return Zf(this.Gi(),e)},l.Zh=function(){return this.b==null?(Mg(),Mg(),bP):this.Jk()},l.Gi=function(){return new wUt(this.a,this.b)},l.$h=function(){return this.b==null?(Mg(),Mg(),bP):this.Jk()},l._h=function(e){var n,r;if(this.b==null){if(e<0||e>1)throw it(new yo(J_+e+", size=0"));return Mg(),Mg(),bP}for(r=this.Jk(),n=0;n0;)if(n=this.c[--this.d],(!this.e||n.Gj()!=j7||n.aj()!=0)&&(!this.Mk()||this.b.mh(n))){if(h=this.b.bh(n,this.Lk()),this.f=(to(),u(n,66).Oj()),this.f||n.$j()){if(this.Lk()?(s=u(h,15),this.k=s):(s=u(h,69),this.k=this.j=s),_t(this.k,54)?(this.o=this.k.gc(),this.n=this.o):this.p=this.j?this.j._h(this.k.gc()):this.k.Zc(this.k.gc()),this.p?loe(this,this.p):koe(this))return o=this.p?this.p.Ub():this.j?this.j.pi(--this.n):this.k.Xb(--this.n),this.f?(e=u(o,72),e.ak(),r=e.dd(),this.i=r):(r=o,this.i=r),this.g=-3,!0}else if(h!=null)return this.k=null,this.p=null,r=h,this.i=r,this.g=-2,!0}return this.k=null,this.p=null,this.g=-1,!1}else return o=this.p?this.p.Ub():this.j?this.j.pi(--this.n):this.k.Xb(--this.n),this.f?(e=u(o,72),e.ak(),r=e.dd(),this.i=r):(r=o,this.i=r),this.g=-3,!0}},l.Pb=function(){return kz(this)},l.Tb=function(){return this.a},l.Ub=function(){var e;if(this.g<-1||this.Sb())return--this.a,this.g=0,e=this.i,this.Sb(),e;throw it(new lc)},l.Vb=function(){return this.a-1},l.Qb=function(){throw it(new Or)},l.Lk=function(){return!1},l.Wb=function(e){throw it(new Or)},l.Mk=function(){return!0},l.a=0,l.d=0,l.f=!1,l.g=0,l.n=0,l.o=0;var bP;F($i,"EContentsEList/FeatureIteratorImpl",279),D(697,279,BH,V2t),l.Lk=function(){return!0},F($i,"EContentsEList/ResolvingFeatureIteratorImpl",697),D(1157,697,BH,PWt),l.Mk=function(){return!1},F(Mn,"ENamedElementImpl/1/1",1157),D(1158,279,BH,OWt),l.Mk=function(){return!1},F(Mn,"ENamedElementImpl/1/2",1158),D(36,143,nO,Qm,Rrt,Js,Jrt,z0,bf,Ymt,cZt,Kmt,uZt,mmt,lZt,Zmt,hZt,ymt,fZt,Xmt,dZt,A9,mD,brt,Qmt,gZt,xmt,pZt),l._i=function(){return Imt(this)},l.gj=function(){var e;return e=Imt(this),e?e.zj():null},l.yi=function(e){return this.b==-1&&this.a&&(this.b=this.c.Xg(this.a.aj(),this.a.Gj())),this.c.Og(this.b,e)},l.Ai=function(){return this.c},l.hj=function(){var e;return e=Imt(this),e?e.Kj():!1},l.b=-1,F(Mn,"ENotificationImpl",36),D(399,284,{105:1,92:1,90:1,147:1,191:1,56:1,59:1,108:1,472:1,49:1,97:1,150:1,399:1,284:1,114:1,115:1},iet),l.Qg=function(e){return rae(this,e)},l._g=function(e,n,r){var s,o,h;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return pe(this.s);case 5:return pe(this.t);case 6:return Nn(),h=this.t,h>1||h==-1;case 7:return Nn(),o=this.s,o>=1;case 8:return n?Dh(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?u(this.Cb,26):null;case 11:return!this.d&&(this.d=new Fu(hu,this,11)),this.d;case 12:return!this.c&&(this.c=new fe(Vv,this,12,10)),this.c;case 13:return!this.a&&(this.a=new GM(this,this)),this.a;case 14:return al(this)}return uh(this,e-Jn((dn(),cp)),yn((s=u(Dn(this,16),26),s||cp),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 10:return this.Cb&&(r=(o=this.Db>>16,o>=0?rae(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,10,r);case 12:return!this.c&&(this.c=new fe(Vv,this,12,10)),Zc(this.c,e,r)}return h=u(yn((s=u(Dn(this,16),26),s||(dn(),cp)),n),66),h.Nj().Qj(this,su(this),n-Jn((dn(),cp)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 9:return nrt(this,r);case 10:return Hl(this,null,10,r);case 11:return!this.d&&(this.d=new Fu(hu,this,11)),Ba(this.d,e,r);case 12:return!this.c&&(this.c=new fe(Vv,this,12,10)),Ba(this.c,e,r);case 14:return Ba(al(this),e,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),cp)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),cp)),e,r)},l.lh=function(e){var n,r,s;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return s=this.t,s>1||s==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&qw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&qw(this.q).i==0);case 10:return!!(this.Db>>16==10&&u(this.Cb,26));case 11:return!!this.d&&this.d.i!=0;case 12:return!!this.c&&this.c.i!=0;case 13:return!!this.a&&al(this.a.a).i!=0&&!(this.b&&mst(this.b));case 14:return!!this.b&&mst(this.b)}return oh(this,e-Jn((dn(),cp)),yn((n=u(Dn(this,16),26),n||cp),e))},l.sh=function(e,n){var r,s;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Qc(this,Br(n));return;case 2:zg(this,je(Re(n)));return;case 3:qg(this,je(Re(n)));return;case 4:Rg(this,u(n,19).a);return;case 5:ry(this,u(n,19).a);return;case 8:b2(this,u(n,138));return;case 9:s=F1(this,u(n,87),null),s&&s.Fi();return;case 11:!this.d&&(this.d=new Fu(hu,this,11)),xr(this.d),!this.d&&(this.d=new Fu(hu,this,11)),is(this.d,u(n,14));return;case 12:!this.c&&(this.c=new fe(Vv,this,12,10)),xr(this.c),!this.c&&(this.c=new fe(Vv,this,12,10)),is(this.c,u(n,14));return;case 13:!this.a&&(this.a=new GM(this,this)),A_(this.a),!this.a&&(this.a=new GM(this,this)),is(this.a,u(n,14));return;case 14:xr(al(this)),is(al(this),u(n,14));return}gh(this,e-Jn((dn(),cp)),yn((r=u(Dn(this,16),26),r||cp),e),n)},l.zh=function(){return dn(),cp},l.Bh=function(e){var n,r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:Qc(this,null);return;case 2:zg(this,!0);return;case 3:qg(this,!0);return;case 4:Rg(this,0);return;case 5:ry(this,1);return;case 8:b2(this,null);return;case 9:r=F1(this,null,null),r&&r.Fi();return;case 11:!this.d&&(this.d=new Fu(hu,this,11)),xr(this.d);return;case 12:!this.c&&(this.c=new fe(Vv,this,12,10)),xr(this.c);return;case 13:this.a&&A_(this.a);return;case 14:this.b&&xr(this.b);return}fh(this,e-Jn((dn(),cp)),yn((n=u(Dn(this,16),26),n||cp),e))},l.Gh=function(){var e,n;if(this.c)for(e=0,n=this.c.i;ev&&ts(e,v,null),s=0,r=new nr(al(this.a));r.e!=r.i.gc();)n=u(dr(r),87),h=(d=n.c,d||(dn(),W1)),ts(e,s++,h);return e},l.Yi=function(){var e,n,r,s,o;for(o=new Ag,o.a+="[",e=al(this.a),n=0,s=al(this.a).i;n1);case 5:return F9(this,e,n,r,s,this.i-u(r,15).gc()>0);default:return new z0(this.e,e,this.c,n,r,s,!0)}},l.ij=function(){return!0},l.fj=function(){return mst(this)},l.Xj=function(){xr(this)},F(Mn,"EOperationImpl/2",1341),D(498,1,{1938:1,498:1},QGt),F(Mn,"EPackageImpl/1",498),D(16,85,zo,fe),l.zk=function(){return this.d},l.Ak=function(){return this.b},l.Dk=function(){return!0},l.b=0,F($i,"EObjectContainmentWithInverseEList",16),D(353,16,zo,Rx),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectContainmentWithInverseEList/Resolving",353),D(298,353,zo,Gm),l.ci=function(){this.a.tb=null},F(Mn,"EPackageImpl/2",298),D(1228,1,{},hB),F(Mn,"EPackageImpl/3",1228),D(718,43,A4,Upt),l._b=function(e){return ra(e)?wrt(this,e):!!Lo(this.f,e)},F(Mn,"EPackageRegistryImpl",718),D(509,284,{105:1,92:1,90:1,147:1,191:1,56:1,2017:1,108:1,472:1,49:1,97:1,150:1,509:1,284:1,114:1,115:1},set),l.Qg=function(e){return iae(this,e)},l._g=function(e,n,r){var s,o,h;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return pe(this.s);case 5:return pe(this.t);case 6:return Nn(),h=this.t,h>1||h==-1;case 7:return Nn(),o=this.s,o>=1;case 8:return n?Dh(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?u(this.Cb,59):null}return uh(this,e-Jn((dn(),i3)),yn((s=u(Dn(this,16),26),s||i3),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 10:return this.Cb&&(r=(o=this.Db>>16,o>=0?iae(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,10,r)}return h=u(yn((s=u(Dn(this,16),26),s||(dn(),i3)),n),66),h.Nj().Qj(this,su(this),n-Jn((dn(),i3)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 9:return nrt(this,r);case 10:return Hl(this,null,10,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),i3)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),i3)),e,r)},l.lh=function(e){var n,r,s;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return s=this.t,s>1||s==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&qw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&qw(this.q).i==0);case 10:return!!(this.Db>>16==10&&u(this.Cb,59))}return oh(this,e-Jn((dn(),i3)),yn((n=u(Dn(this,16),26),n||i3),e))},l.zh=function(){return dn(),i3},F(Mn,"EParameterImpl",509),D(99,449,{105:1,92:1,90:1,147:1,191:1,56:1,18:1,170:1,66:1,108:1,472:1,49:1,97:1,150:1,99:1,449:1,284:1,114:1,115:1,677:1},K2t),l._g=function(e,n,r){var s,o,h,d;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return pe(this.s);case 5:return pe(this.t);case 6:return Nn(),d=this.t,d>1||d==-1;case 7:return Nn(),o=this.s,o>=1;case 8:return n?Dh(this):this.r;case 9:return this.q;case 10:return Nn(),!!(this.Bb&xf);case 11:return Nn(),!!(this.Bb&Dy);case 12:return Nn(),!!(this.Bb&Ey);case 13:return this.j;case 14:return SE(this);case 15:return Nn(),!!(this.Bb&Hu);case 16:return Nn(),!!(this.Bb&md);case 17:return Ym(this);case 18:return Nn(),!!(this.Bb&dc);case 19:return Nn(),h=no(this),!!(h&&h.Bb&dc);case 20:return Nn(),!!(this.Bb&Ka);case 21:return n?no(this):this.b;case 22:return n?Iyt(this):BJt(this);case 23:return!this.a&&(this.a=new Y3(e3,this,23)),this.a}return uh(this,e-Jn((dn(),l5)),yn((s=u(Dn(this,16),26),s||l5),e),n,r)},l.lh=function(e){var n,r,s,o;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return o=this.t,o>1||o==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&qw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&qw(this.q).i==0);case 10:return(this.Bb&xf)==0;case 11:return(this.Bb&Dy)!=0;case 12:return(this.Bb&Ey)!=0;case 13:return this.j!=null;case 14:return SE(this)!=null;case 15:return(this.Bb&Hu)!=0;case 16:return(this.Bb&md)!=0;case 17:return!!Ym(this);case 18:return(this.Bb&dc)!=0;case 19:return s=no(this),!!s&&(s.Bb&dc)!=0;case 20:return(this.Bb&Ka)==0;case 21:return!!this.b;case 22:return!!BJt(this);case 23:return!!this.a&&this.a.i!=0}return oh(this,e-Jn((dn(),l5)),yn((n=u(Dn(this,16),26),n||l5),e))},l.sh=function(e,n){var r,s;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Mrt(this,Br(n));return;case 2:zg(this,je(Re(n)));return;case 3:qg(this,je(Re(n)));return;case 4:Rg(this,u(n,19).a);return;case 5:ry(this,u(n,19).a);return;case 8:b2(this,u(n,138));return;case 9:s=F1(this,u(n,87),null),s&&s.Fi();return;case 10:lE(this,je(Re(n)));return;case 11:dE(this,je(Re(n)));return;case 12:hE(this,je(Re(n)));return;case 13:r2t(this,Br(n));return;case 15:fE(this,je(Re(n)));return;case 16:gE(this,je(Re(n)));return;case 18:xin(this,je(Re(n)));return;case 20:u3t(this,je(Re(n)));return;case 21:cyt(this,u(n,18));return;case 23:!this.a&&(this.a=new Y3(e3,this,23)),xr(this.a),!this.a&&(this.a=new Y3(e3,this,23)),is(this.a,u(n,14));return}gh(this,e-Jn((dn(),l5)),yn((r=u(Dn(this,16),26),r||l5),e),n)},l.zh=function(){return dn(),l5},l.Bh=function(e){var n,r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:_t(this.Cb,88)&&gy(sl(u(this.Cb,88)),4),Qc(this,null);return;case 2:zg(this,!0);return;case 3:qg(this,!0);return;case 4:Rg(this,0);return;case 5:ry(this,1);return;case 8:b2(this,null);return;case 9:r=F1(this,null,null),r&&r.Fi();return;case 10:lE(this,!0);return;case 11:dE(this,!1);return;case 12:hE(this,!1);return;case 13:this.i=null,fz(this,null);return;case 15:fE(this,!1);return;case 16:gE(this,!1);return;case 18:c3t(this,!1),_t(this.Cb,88)&&gy(sl(u(this.Cb,88)),2);return;case 20:u3t(this,!0);return;case 21:cyt(this,null);return;case 23:!this.a&&(this.a=new Y3(e3,this,23)),xr(this.a);return}fh(this,e-Jn((dn(),l5)),yn((n=u(Dn(this,16),26),n||l5),e))},l.Gh=function(){Iyt(this),M8(To(($u(),ya),this)),Dh(this),this.Bb|=1},l.Lj=function(){return no(this)},l.qk=function(){var e;return e=no(this),!!e&&(e.Bb&dc)!=0},l.rk=function(){return(this.Bb&dc)!=0},l.sk=function(){return(this.Bb&Ka)!=0},l.nk=function(e,n){return this.c=null,e3t(this,e,n)},l.Ib=function(){var e;return this.Db&64?_q(this):(e=new _h(_q(this)),e.a+=" (containment: ",Lg(e,(this.Bb&dc)!=0),e.a+=", resolveProxies: ",Lg(e,(this.Bb&Ka)!=0),e.a+=")",e.a)},F(Mn,"EReferenceImpl",99),D(548,115,{105:1,42:1,92:1,90:1,133:1,56:1,108:1,49:1,97:1,548:1,114:1,115:1},iJ),l.Fb=function(e){return this===e},l.cd=function(){return this.b},l.dd=function(){return this.c},l.Hb=function(){return Pw(this)},l.Uh=function(e){_en(this,Br(e))},l.ed=function(e){return gen(this,Br(e))},l._g=function(e,n,r){var s;switch(e){case 0:return this.b;case 1:return this.c}return uh(this,e-Jn((dn(),Qa)),yn((s=u(Dn(this,16),26),s||Qa),e),n,r)},l.lh=function(e){var n;switch(e){case 0:return this.b!=null;case 1:return this.c!=null}return oh(this,e-Jn((dn(),Qa)),yn((n=u(Dn(this,16),26),n||Qa),e))},l.sh=function(e,n){var r;switch(e){case 0:Sen(this,Br(n));return;case 1:syt(this,Br(n));return}gh(this,e-Jn((dn(),Qa)),yn((r=u(Dn(this,16),26),r||Qa),e),n)},l.zh=function(){return dn(),Qa},l.Bh=function(e){var n;switch(e){case 0:iyt(this,null);return;case 1:syt(this,null);return}fh(this,e-Jn((dn(),Qa)),yn((n=u(Dn(this,16),26),n||Qa),e))},l.Sh=function(){var e;return this.a==-1&&(e=this.b,this.a=e==null?0:Vg(e)),this.a},l.Th=function(e){this.a=e},l.Ib=function(){var e;return this.Db&64?mf(this):(e=new _h(mf(this)),e.a+=" (key: ",go(e,this.b),e.a+=", value: ",go(e,this.c),e.a+=")",e.a)},l.a=-1,l.b=null,l.c=null;var cc=F(Mn,"EStringToStringMapEntryImpl",548),E5e=Ki($i,"FeatureMap/Entry/Internal");D(565,1,RH),l.Ok=function(e){return this.Pk(u(e,49))},l.Pk=function(e){return this.Ok(e)},l.Fb=function(e){var n,r;return this===e?!0:_t(e,72)?(n=u(e,72),n.ak()==this.c?(r=this.dd(),r==null?n.dd()==null:yi(r,n.dd())):!1):!1},l.ak=function(){return this.c},l.Hb=function(){var e;return e=this.dd(),Hi(this.c)^(e==null?0:Hi(e))},l.Ib=function(){var e,n;return e=this.c,n=Rl(e.Hj()).Ph(),e.ne(),(n!=null&&n.length!=0?n+":"+e.ne():e.ne())+"="+this.dd()},F(Mn,"EStructuralFeatureImpl/BasicFeatureMapEntry",565),D(776,565,RH,iwt),l.Pk=function(e){return new iwt(this.c,e)},l.dd=function(){return this.a},l.Qk=function(e,n,r){return Hcn(this,e,this.a,n,r)},l.Rk=function(e,n,r){return Vcn(this,e,this.a,n,r)},F(Mn,"EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry",776),D(1314,1,{},ZGt),l.Pj=function(e,n,r,s,o){var h;return h=u(j8(e,this.b),215),h.nl(this.a).Wj(s)},l.Qj=function(e,n,r,s,o){var h;return h=u(j8(e,this.b),215),h.el(this.a,s,o)},l.Rj=function(e,n,r,s,o){var h;return h=u(j8(e,this.b),215),h.fl(this.a,s,o)},l.Sj=function(e,n,r){var s;return s=u(j8(e,this.b),215),s.nl(this.a).fj()},l.Tj=function(e,n,r,s){var o;o=u(j8(e,this.b),215),o.nl(this.a).Wb(s)},l.Uj=function(e,n,r){return u(j8(e,this.b),215).nl(this.a)},l.Vj=function(e,n,r){var s;s=u(j8(e,this.b),215),s.nl(this.a).Xj()},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator",1314),D(89,1,{},Ig,n2,Pg,s2),l.Pj=function(e,n,r,s,o){var h;if(h=n.Ch(r),h==null&&n.Dh(r,h=jq(this,e)),!o)switch(this.e){case 50:case 41:return u(h,589).sj();case 40:return u(h,215).kl()}return h},l.Qj=function(e,n,r,s,o){var h,d;return d=n.Ch(r),d==null&&n.Dh(r,d=jq(this,e)),h=u(d,69).lk(s,o),h},l.Rj=function(e,n,r,s,o){var h;return h=n.Ch(r),h!=null&&(o=u(h,69).mk(s,o)),o},l.Sj=function(e,n,r){var s;return s=n.Ch(r),s!=null&&u(s,76).fj()},l.Tj=function(e,n,r,s){var o;o=u(n.Ch(r),76),!o&&n.Dh(r,o=jq(this,e)),o.Wb(s)},l.Uj=function(e,n,r){var s,o;return o=n.Ch(r),o==null&&n.Dh(r,o=jq(this,e)),_t(o,76)?u(o,76):(s=u(n.Ch(r),15),new Qzt(s))},l.Vj=function(e,n,r){var s;s=u(n.Ch(r),76),!s&&n.Dh(r,s=jq(this,e)),s.Xj()},l.b=0,l.e=0,F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateMany",89),D(504,1,{}),l.Qj=function(e,n,r,s,o){throw it(new Or)},l.Rj=function(e,n,r,s,o){throw it(new Or)},l.Uj=function(e,n,r){return new WXt(this,e,n,r)};var p0;F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingle",504),D(1331,1,hut,WXt),l.Wj=function(e){return this.a.Pj(this.c,this.d,this.b,e,!0)},l.fj=function(){return this.a.Sj(this.c,this.d,this.b)},l.Wb=function(e){this.a.Tj(this.c,this.d,this.b,e)},l.Xj=function(){this.a.Vj(this.c,this.d,this.b)},l.b=0,F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingle/1",1331),D(769,504,{},$vt),l.Pj=function(e,n,r,s,o){return wat(e,e.eh(),e.Vg())==this.b?this.sk()&&s?eat(e):e.eh():null},l.Qj=function(e,n,r,s,o){var h,d;return e.eh()&&(o=(h=e.Vg(),h>=0?e.Qg(o):e.eh().ih(e,-1-h,null,o))),d=Gi(e.Tg(),this.e),e.Sg(s,d,o)},l.Rj=function(e,n,r,s,o){var h;return h=Gi(e.Tg(),this.e),e.Sg(null,h,o)},l.Sj=function(e,n,r){var s;return s=Gi(e.Tg(),this.e),!!e.eh()&&e.Vg()==s},l.Tj=function(e,n,r,s){var o,h,d,v,k;if(s!=null&&!xat(this.a,s))throw it(new i8(jH+(_t(s,56)?y4t(u(s,56).Tg()):Vmt(ol(s)))+$H+this.a+"'"));if(o=e.eh(),d=Gi(e.Tg(),this.e),Vt(s)!==Vt(o)||e.Vg()!=d&&s!=null){if(vE(e,u(s,56)))throw it(new Fn(Q_+e.Ib()));k=null,o&&(k=(h=e.Vg(),h>=0?e.Qg(k):e.eh().ih(e,-1-h,null,k))),v=u(s,49),v&&(k=v.gh(e,Gi(v.Tg(),this.b),null,k)),k=e.Sg(v,d,k),k&&k.Fi()}else e.Lg()&&e.Mg()&&mi(e,new Js(e,1,d,s,s))},l.Vj=function(e,n,r){var s,o,h,d;s=e.eh(),s?(d=(o=e.Vg(),o>=0?e.Qg(null):e.eh().ih(e,-1-o,null,null)),h=Gi(e.Tg(),this.e),d=e.Sg(null,h,d),d&&d.Fi()):e.Lg()&&e.Mg()&&mi(e,new A9(e,1,this.e,null,null))},l.sk=function(){return!1},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainer",769),D(1315,769,{},jYt),l.sk=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving",1315),D(563,504,{}),l.Pj=function(e,n,r,s,o){var h;return h=n.Ch(r),h==null?this.b:Vt(h)===Vt(p0)?null:h},l.Sj=function(e,n,r){var s;return s=n.Ch(r),s!=null&&(Vt(s)===Vt(p0)||!yi(s,this.b))},l.Tj=function(e,n,r,s){var o,h;e.Lg()&&e.Mg()?(o=(h=n.Ch(r),h==null?this.b:Vt(h)===Vt(p0)?null:h),s==null?this.c!=null?(n.Dh(r,null),s=this.b):this.b!=null?n.Dh(r,p0):n.Dh(r,null):(this.Sk(s),n.Dh(r,s)),mi(e,this.d.Tk(e,1,this.e,o,s))):s==null?this.c!=null?n.Dh(r,null):this.b!=null?n.Dh(r,p0):n.Dh(r,null):(this.Sk(s),n.Dh(r,s))},l.Vj=function(e,n,r){var s,o;e.Lg()&&e.Mg()?(s=(o=n.Ch(r),o==null?this.b:Vt(o)===Vt(p0)?null:o),n.Eh(r),mi(e,this.d.Tk(e,1,this.e,s,this.b))):n.Eh(r)},l.Sk=function(e){throw it(new oqt)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData",563),D(R4,1,{},fB),l.Tk=function(e,n,r,s,o){return new A9(e,n,r,s,o)},l.Uk=function(e,n,r,s,o,h){return new brt(e,n,r,s,o,h)};var cLt,uLt,lLt,hLt,fLt,dLt,gLt,jft,pLt;F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator",R4),D(1332,R4,{},dB),l.Tk=function(e,n,r,s,o){return new xmt(e,n,r,je(Re(s)),je(Re(o)))},l.Uk=function(e,n,r,s,o,h){return new pZt(e,n,r,je(Re(s)),je(Re(o)),h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1",1332),D(1333,R4,{},gB),l.Tk=function(e,n,r,s,o){return new Ymt(e,n,r,u(s,217).a,u(o,217).a)},l.Uk=function(e,n,r,s,o,h){return new cZt(e,n,r,u(s,217).a,u(o,217).a,h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2",1333),D(1334,R4,{},Nk),l.Tk=function(e,n,r,s,o){return new Kmt(e,n,r,u(s,172).a,u(o,172).a)},l.Uk=function(e,n,r,s,o,h){return new uZt(e,n,r,u(s,172).a,u(o,172).a,h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3",1334),D(1335,R4,{},pB),l.Tk=function(e,n,r,s,o){return new mmt(e,n,r,Xt(ye(s)),Xt(ye(o)))},l.Uk=function(e,n,r,s,o,h){return new lZt(e,n,r,Xt(ye(s)),Xt(ye(o)),h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4",1335),D(1336,R4,{},bB),l.Tk=function(e,n,r,s,o){return new Zmt(e,n,r,u(s,155).a,u(o,155).a)},l.Uk=function(e,n,r,s,o,h){return new hZt(e,n,r,u(s,155).a,u(o,155).a,h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5",1336),D(1337,R4,{},sJ),l.Tk=function(e,n,r,s,o){return new ymt(e,n,r,u(s,19).a,u(o,19).a)},l.Uk=function(e,n,r,s,o,h){return new fZt(e,n,r,u(s,19).a,u(o,19).a,h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6",1337),D(1338,R4,{},Bk),l.Tk=function(e,n,r,s,o){return new Xmt(e,n,r,u(s,162).a,u(o,162).a)},l.Uk=function(e,n,r,s,o,h){return new dZt(e,n,r,u(s,162).a,u(o,162).a,h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7",1338),D(1339,R4,{},Rk),l.Tk=function(e,n,r,s,o){return new Qmt(e,n,r,u(s,184).a,u(o,184).a)},l.Uk=function(e,n,r,s,o,h){return new gZt(e,n,r,u(s,184).a,u(o,184).a,h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8",1339),D(1317,563,{},YXt),l.Sk=function(e){if(!this.a.wj(e))throw it(new i8(jH+ol(e)+$H+this.a+"'"))},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic",1317),D(1318,563,{},NKt),l.Sk=function(e){},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic",1318),D(770,563,{}),l.Sj=function(e,n,r){var s;return s=n.Ch(r),s!=null},l.Tj=function(e,n,r,s){var o,h;e.Lg()&&e.Mg()?(o=!0,h=n.Ch(r),h==null?(o=!1,h=this.b):Vt(h)===Vt(p0)&&(h=null),s==null?this.c!=null?(n.Dh(r,null),s=this.b):n.Dh(r,p0):(this.Sk(s),n.Dh(r,s)),mi(e,this.d.Uk(e,1,this.e,h,s,!o))):s==null?this.c!=null?n.Dh(r,null):n.Dh(r,p0):(this.Sk(s),n.Dh(r,s))},l.Vj=function(e,n,r){var s,o;e.Lg()&&e.Mg()?(s=!0,o=n.Ch(r),o==null?(s=!1,o=this.b):Vt(o)===Vt(p0)&&(o=null),n.Eh(r),mi(e,this.d.Uk(e,2,this.e,o,this.b,s))):n.Eh(r)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable",770),D(1319,770,{},KXt),l.Sk=function(e){if(!this.a.wj(e))throw it(new i8(jH+ol(e)+$H+this.a+"'"))},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic",1319),D(1320,770,{},BKt),l.Sk=function(e){},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic",1320),D(398,504,{},Uj),l.Pj=function(e,n,r,s,o){var h,d,v,k,C;if(C=n.Ch(r),this.Kj()&&Vt(C)===Vt(p0))return null;if(this.sk()&&s&&C!=null){if(v=u(C,49),v.kh()&&(k=Zp(e,v),v!=k)){if(!xat(this.a,k))throw it(new i8(jH+ol(k)+$H+this.a+"'"));n.Dh(r,C=k),this.rk()&&(h=u(k,49),d=v.ih(e,this.b?Gi(v.Tg(),this.b):-1-Gi(e.Tg(),this.e),null,null),!h.eh()&&(d=h.gh(e,this.b?Gi(h.Tg(),this.b):-1-Gi(e.Tg(),this.e),null,d)),d&&d.Fi()),e.Lg()&&e.Mg()&&mi(e,new A9(e,9,this.e,v,k))}return C}else return C},l.Qj=function(e,n,r,s,o){var h,d;return d=n.Ch(r),Vt(d)===Vt(p0)&&(d=null),n.Dh(r,s),this.bj()?Vt(d)!==Vt(s)&&d!=null&&(h=u(d,49),o=h.ih(e,Gi(h.Tg(),this.b),null,o)):this.rk()&&d!=null&&(o=u(d,49).ih(e,-1-Gi(e.Tg(),this.e),null,o)),e.Lg()&&e.Mg()&&(!o&&(o=new Dp(4)),o.Ei(new A9(e,1,this.e,d,s))),o},l.Rj=function(e,n,r,s,o){var h;return h=n.Ch(r),Vt(h)===Vt(p0)&&(h=null),n.Eh(r),e.Lg()&&e.Mg()&&(!o&&(o=new Dp(4)),this.Kj()?o.Ei(new A9(e,2,this.e,h,null)):o.Ei(new A9(e,1,this.e,h,null))),o},l.Sj=function(e,n,r){var s;return s=n.Ch(r),s!=null},l.Tj=function(e,n,r,s){var o,h,d,v,k;if(s!=null&&!xat(this.a,s))throw it(new i8(jH+(_t(s,56)?y4t(u(s,56).Tg()):Vmt(ol(s)))+$H+this.a+"'"));k=n.Ch(r),v=k!=null,this.Kj()&&Vt(k)===Vt(p0)&&(k=null),d=null,this.bj()?Vt(k)!==Vt(s)&&(k!=null&&(o=u(k,49),d=o.ih(e,Gi(o.Tg(),this.b),null,d)),s!=null&&(o=u(s,49),d=o.gh(e,Gi(o.Tg(),this.b),null,d))):this.rk()&&Vt(k)!==Vt(s)&&(k!=null&&(d=u(k,49).ih(e,-1-Gi(e.Tg(),this.e),null,d)),s!=null&&(d=u(s,49).gh(e,-1-Gi(e.Tg(),this.e),null,d))),s==null&&this.Kj()?n.Dh(r,p0):n.Dh(r,s),e.Lg()&&e.Mg()?(h=new brt(e,1,this.e,k,s,this.Kj()&&!v),d?(d.Ei(h),d.Fi()):mi(e,h)):d&&d.Fi()},l.Vj=function(e,n,r){var s,o,h,d,v;v=n.Ch(r),d=v!=null,this.Kj()&&Vt(v)===Vt(p0)&&(v=null),h=null,v!=null&&(this.bj()?(s=u(v,49),h=s.ih(e,Gi(s.Tg(),this.b),null,h)):this.rk()&&(h=u(v,49).ih(e,-1-Gi(e.Tg(),this.e),null,h))),n.Eh(r),e.Lg()&&e.Mg()?(o=new brt(e,this.Kj()?2:1,this.e,v,null,d),h?(h.Ei(o),h.Fi()):mi(e,o)):h&&h.Fi()},l.bj=function(){return!1},l.rk=function(){return!1},l.sk=function(){return!1},l.Kj=function(){return!1},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObject",398),D(564,398,{},vnt),l.rk=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment",564),D(1323,564,{},FWt),l.sk=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving",1323),D(772,564,{},G2t),l.Kj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable",772),D(1325,772,{},NWt),l.sk=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving",1325),D(640,564,{},Int),l.bj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse",640),D(1324,640,{},$Yt),l.sk=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving",1324),D(773,640,{},Dwt),l.Kj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable",773),D(1326,773,{},zYt),l.sk=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving",1326),D(641,398,{},U2t),l.sk=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving",641),D(1327,641,{},BWt),l.Kj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable",1327),D(774,641,{},Lwt),l.bj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse",774),D(1328,774,{},qYt),l.Kj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable",1328),D(1321,398,{},RWt),l.Kj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable",1321),D(771,398,{},Mwt),l.bj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse",771),D(1322,771,{},HYt),l.Kj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable",1322),D(775,565,RH,_vt),l.Pk=function(e){return new _vt(this.a,this.c,e)},l.dd=function(){return this.b},l.Qk=function(e,n,r){return Van(this,e,this.b,r)},l.Rk=function(e,n,r){return Gan(this,e,this.b,r)},F(Mn,"EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry",775),D(1329,1,hut,Qzt),l.Wj=function(e){return this.a},l.fj=function(){return _t(this.a,95)?u(this.a,95).fj():!this.a.dc()},l.Wb=function(e){this.a.$b(),this.a.Gc(u(e,15))},l.Xj=function(){_t(this.a,95)?u(this.a,95).Xj():this.a.$b()},F(Mn,"EStructuralFeatureImpl/SettingMany",1329),D(1330,565,RH,rJt),l.Ok=function(e){return new xnt((Ii(),fA),this.b.Ih(this.a,e))},l.dd=function(){return null},l.Qk=function(e,n,r){return r},l.Rk=function(e,n,r){return r},F(Mn,"EStructuralFeatureImpl/SimpleContentFeatureMapEntry",1330),D(642,565,RH,xnt),l.Ok=function(e){return new xnt(this.c,e)},l.dd=function(){return this.a},l.Qk=function(e,n,r){return r},l.Rk=function(e,n,r){return r},F(Mn,"EStructuralFeatureImpl/SimpleFeatureMapEntry",642),D(391,497,Ld,Tm),l.ri=function(e){return Nt(Uh,De,26,e,0,1)},l.ni=function(){return!1},F(Mn,"ESuperAdapter/1",391),D(444,438,{105:1,92:1,90:1,147:1,191:1,56:1,108:1,836:1,49:1,97:1,150:1,444:1,114:1,115:1},HL),l._g=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return!this.a&&(this.a=new T9(this,ho,this)),this.a}return uh(this,e-Jn((dn(),Uv)),yn((s=u(Dn(this,16),26),s||Uv),e),n,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 2:return!this.a&&(this.a=new T9(this,ho,this)),Ba(this.a,e,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),Uv)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),Uv)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return!!this.a&&this.a.i!=0}return oh(this,e-Jn((dn(),Uv)),yn((n=u(Dn(this,16),26),n||Uv),e))},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Qc(this,Br(n));return;case 2:!this.a&&(this.a=new T9(this,ho,this)),xr(this.a),!this.a&&(this.a=new T9(this,ho,this)),is(this.a,u(n,14));return}gh(this,e-Jn((dn(),Uv)),yn((r=u(Dn(this,16),26),r||Uv),e),n)},l.zh=function(){return dn(),Uv},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:Qc(this,null);return;case 2:!this.a&&(this.a=new T9(this,ho,this)),xr(this.a);return}fh(this,e-Jn((dn(),Uv)),yn((n=u(Dn(this,16),26),n||Uv),e))},F(Mn,"ETypeParameterImpl",444),D(445,85,zo,T9),l.cj=function(e,n){return G0n(this,u(e,87),n)},l.dj=function(e,n){return U0n(this,u(e,87),n)},F(Mn,"ETypeParameterImpl/1",445),D(634,43,A4,aet),l.ec=function(){return new mR(this)},F(Mn,"ETypeParameterImpl/2",634),D(556,N1,zu,mR),l.Fc=function(e){return lYt(this,u(e,87))},l.Gc=function(e){var n,r,s;for(s=!1,r=e.Kc();r.Ob();)n=u(r.Pb(),87),ki(this.a,n,"")==null&&(s=!0);return s},l.$b=function(){Xu(this.a)},l.Hc=function(e){return Tl(this.a,e)},l.Kc=function(){var e;return e=new p2(new Cg(this.a).a),new yR(e)},l.Mc=function(e){return XJt(this,e)},l.gc=function(){return HC(this.a)},F(Mn,"ETypeParameterImpl/2/1",556),D(557,1,sa,yR),l.Nb=function(e){ba(this,e)},l.Pb=function(){return u(Zw(this.a).cd(),87)},l.Ob=function(){return this.a.b},l.Qb=function(){Ste(this.a)},F(Mn,"ETypeParameterImpl/2/1/1",557),D(1276,43,A4,zqt),l._b=function(e){return ra(e)?wrt(this,e):!!Lo(this.f,e)},l.xc=function(e){var n,r;return n=ra(e)?Nc(this,e):ec(Lo(this.f,e)),_t(n,837)?(r=u(n,837),n=r._j(),ki(this,u(e,235),n),n):n??(e==null?(Tet(),C5e):null)},F(Mn,"EValidatorRegistryImpl",1276),D(1313,704,{105:1,92:1,90:1,471:1,147:1,56:1,108:1,1941:1,49:1,97:1,150:1,114:1,115:1},aJ),l.Ih=function(e,n){switch(e.yj()){case 21:case 22:case 23:case 24:case 26:case 31:case 32:case 37:case 38:case 39:case 40:case 43:case 44:case 48:case 49:case 20:return n==null?null:$o(n);case 25:return Jon(n);case 27:return bon(n);case 28:return won(n);case 29:return n==null?null:VUt(aA[0],u(n,199));case 41:return n==null?"":Ip(u(n,290));case 42:return $o(n);case 50:return Br(n);default:throw it(new Fn(QE+e.ne()+Cv))}},l.Jh=function(e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt;switch(e.G==-1&&(e.G=(H=Rl(e),H?Hg(H.Mh(),e):-1)),e.G){case 0:return r=new ret,r;case 1:return n=new lB,n;case 2:return s=new eM,s;case 4:return o=new xR,o;case 5:return h=new $qt,h;case 6:return d=new lqt,d;case 7:return v=new JB,v;case 10:return C=new Pk,C;case 11:return M=new iet,M;case 12:return j=new fQt,j;case 13:return G=new set,G;case 14:return K=new K2t,K;case 17:return tt=new iJ,tt;case 18:return k=new xw,k;case 19:return gt=new HL,gt;default:throw it(new Fn(Kct+e.zb+Cv))}},l.Kh=function(e,n){switch(e.yj()){case 20:return n==null?null:new gbt(n);case 21:return n==null?null:new Rp(n);case 23:case 22:return n==null?null:ifn(n);case 26:case 24:return n==null?null:AD(ql(n,-128,127)<<24>>24);case 25:return p2n(n);case 27:return z1n(n);case 28:return q1n(n);case 29:return lgn(n);case 32:case 31:return n==null?null:dy(n);case 38:case 37:return n==null?null:new Ppt(n);case 40:case 39:return n==null?null:pe(ql(n,Sa,wi));case 41:return null;case 42:return n==null,null;case 44:case 43:return n==null?null:v2(Rq(n));case 49:case 48:return n==null?null:uE(ql(n,zH,32767)<<16>>16);case 50:return n;default:throw it(new Fn(QE+e.ne()+Cv))}},F(Mn,"EcoreFactoryImpl",1313),D(547,179,{105:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,1939:1,49:1,97:1,150:1,179:1,547:1,114:1,115:1,675:1},LXt),l.gb=!1,l.hb=!1;var bLt,T5e=!1;F(Mn,"EcorePackageImpl",547),D(1184,1,{837:1},oJ),l._j=function(){return gWt(),_5e},F(Mn,"EcorePackageImpl/1",1184),D(1193,1,si,cJ),l.wj=function(e){return _t(e,147)},l.xj=function(e){return Nt(fP,De,147,e,0,1)},F(Mn,"EcorePackageImpl/10",1193),D(1194,1,si,uJ),l.wj=function(e){return _t(e,191)},l.xj=function(e){return Nt(Mft,De,191,e,0,1)},F(Mn,"EcorePackageImpl/11",1194),D(1195,1,si,lJ),l.wj=function(e){return _t(e,56)},l.xj=function(e){return Nt(_b,De,56,e,0,1)},F(Mn,"EcorePackageImpl/12",1195),D(1196,1,si,hJ),l.wj=function(e){return _t(e,399)},l.xj=function(e){return Nt(Wh,$8t,59,e,0,1)},F(Mn,"EcorePackageImpl/13",1196),D(1197,1,si,fJ),l.wj=function(e){return _t(e,235)},l.xj=function(e){return Nt(i1,De,235,e,0,1)},F(Mn,"EcorePackageImpl/14",1197),D(1198,1,si,dJ),l.wj=function(e){return _t(e,509)},l.xj=function(e){return Nt(Vv,De,2017,e,0,1)},F(Mn,"EcorePackageImpl/15",1198),D(1199,1,si,wB),l.wj=function(e){return _t(e,99)},l.xj=function(e){return Nt(n3,B4,18,e,0,1)},F(Mn,"EcorePackageImpl/16",1199),D(1200,1,si,gJ),l.wj=function(e){return _t(e,170)},l.xj=function(e){return Nt(Mu,B4,170,e,0,1)},F(Mn,"EcorePackageImpl/17",1200),D(1201,1,si,pJ),l.wj=function(e){return _t(e,472)},l.xj=function(e){return Nt(t3,De,472,e,0,1)},F(Mn,"EcorePackageImpl/18",1201),D(1202,1,si,bJ),l.wj=function(e){return _t(e,548)},l.xj=function(e){return Nt(cc,C0e,548,e,0,1)},F(Mn,"EcorePackageImpl/19",1202),D(1185,1,si,vB),l.wj=function(e){return _t(e,322)},l.xj=function(e){return Nt(e3,B4,34,e,0,1)},F(Mn,"EcorePackageImpl/2",1185),D(1203,1,si,jk),l.wj=function(e){return _t(e,241)},l.xj=function(e){return Nt(ho,q0e,87,e,0,1)},F(Mn,"EcorePackageImpl/20",1203),D(1204,1,si,eC),l.wj=function(e){return _t(e,444)},l.xj=function(e){return Nt(hu,De,836,e,0,1)},F(Mn,"EcorePackageImpl/21",1204),D(1205,1,si,mB),l.wj=function(e){return Nm(e)},l.xj=function(e){return Nt(Rs,ee,476,e,8,1)},F(Mn,"EcorePackageImpl/22",1205),D(1206,1,si,wJ),l.wj=function(e){return _t(e,190)},l.xj=function(e){return Nt(Gu,ee,190,e,0,2)},F(Mn,"EcorePackageImpl/23",1206),D(1207,1,si,yB),l.wj=function(e){return _t(e,217)},l.xj=function(e){return Nt(M6,ee,217,e,0,1)},F(Mn,"EcorePackageImpl/24",1207),D(1208,1,si,xB),l.wj=function(e){return _t(e,172)},l.xj=function(e){return Nt(uS,ee,172,e,0,1)},F(Mn,"EcorePackageImpl/25",1208),D(1209,1,si,vJ),l.wj=function(e){return _t(e,199)},l.xj=function(e){return Nt(tV,ee,199,e,0,1)},F(Mn,"EcorePackageImpl/26",1209),D(1210,1,si,nC),l.wj=function(e){return!1},l.xj=function(e){return Nt(PLt,De,2110,e,0,1)},F(Mn,"EcorePackageImpl/27",1210),D(1211,1,si,Cm),l.wj=function(e){return Bm(e)},l.xj=function(e){return Nt(la,ee,333,e,7,1)},F(Mn,"EcorePackageImpl/28",1211),D(1212,1,si,kB),l.wj=function(e){return _t(e,58)},l.xj=function(e){return Nt(KAt,Ty,58,e,0,1)},F(Mn,"EcorePackageImpl/29",1212),D(1186,1,si,EB),l.wj=function(e){return _t(e,510)},l.xj=function(e){return Nt(Zr,{3:1,4:1,5:1,1934:1},590,e,0,1)},F(Mn,"EcorePackageImpl/3",1186),D(1213,1,si,mJ),l.wj=function(e){return _t(e,573)},l.xj=function(e){return Nt(ZAt,De,1940,e,0,1)},F(Mn,"EcorePackageImpl/30",1213),D(1214,1,si,yJ),l.wj=function(e){return _t(e,153)},l.xj=function(e){return Nt(xLt,Ty,153,e,0,1)},F(Mn,"EcorePackageImpl/31",1214),D(1215,1,si,rC),l.wj=function(e){return _t(e,72)},l.xj=function(e){return Nt(bU,Q0e,72,e,0,1)},F(Mn,"EcorePackageImpl/32",1215),D(1216,1,si,TB),l.wj=function(e){return _t(e,155)},l.xj=function(e){return Nt(i7,ee,155,e,0,1)},F(Mn,"EcorePackageImpl/33",1216),D(1217,1,si,CB),l.wj=function(e){return _t(e,19)},l.xj=function(e){return Nt(ja,ee,19,e,0,1)},F(Mn,"EcorePackageImpl/34",1217),D(1218,1,si,uc),l.wj=function(e){return _t(e,290)},l.xj=function(e){return Nt(J8t,De,290,e,0,1)},F(Mn,"EcorePackageImpl/35",1218),D(1219,1,si,xJ),l.wj=function(e){return _t(e,162)},l.xj=function(e){return Nt(Sv,ee,162,e,0,1)},F(Mn,"EcorePackageImpl/36",1219),D(1220,1,si,_B),l.wj=function(e){return _t(e,83)},l.xj=function(e){return Nt(tEt,De,83,e,0,1)},F(Mn,"EcorePackageImpl/37",1220),D(1221,1,si,iC),l.wj=function(e){return _t(e,591)},l.xj=function(e){return Nt(wLt,De,591,e,0,1)},F(Mn,"EcorePackageImpl/38",1221),D(1222,1,si,kJ),l.wj=function(e){return!1},l.xj=function(e){return Nt(FLt,De,2111,e,0,1)},F(Mn,"EcorePackageImpl/39",1222),D(1187,1,si,EJ),l.wj=function(e){return _t(e,88)},l.xj=function(e){return Nt(Uh,De,26,e,0,1)},F(Mn,"EcorePackageImpl/4",1187),D(1223,1,si,sC),l.wj=function(e){return _t(e,184)},l.xj=function(e){return Nt(Av,ee,184,e,0,1)},F(Mn,"EcorePackageImpl/40",1223),D(1224,1,si,SB),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(Mn,"EcorePackageImpl/41",1224),D(1225,1,si,aC),l.wj=function(e){return _t(e,588)},l.xj=function(e){return Nt(QAt,De,588,e,0,1)},F(Mn,"EcorePackageImpl/42",1225),D(1226,1,si,oC),l.wj=function(e){return!1},l.xj=function(e){return Nt(NLt,ee,2112,e,0,1)},F(Mn,"EcorePackageImpl/43",1226),D(1227,1,si,jf),l.wj=function(e){return _t(e,42)},l.xj=function(e){return Nt(P2,Hq,42,e,0,1)},F(Mn,"EcorePackageImpl/44",1227),D(1188,1,si,VL),l.wj=function(e){return _t(e,138)},l.xj=function(e){return Nt(s1,De,138,e,0,1)},F(Mn,"EcorePackageImpl/5",1188),D(1189,1,si,GL),l.wj=function(e){return _t(e,148)},l.xj=function(e){return Nt(Nft,De,148,e,0,1)},F(Mn,"EcorePackageImpl/6",1189),D(1190,1,si,lx),l.wj=function(e){return _t(e,457)},l.xj=function(e){return Nt(pU,De,671,e,0,1)},F(Mn,"EcorePackageImpl/7",1190),D(1191,1,si,TJ),l.wj=function(e){return _t(e,573)},l.xj=function(e){return Nt(ag,De,678,e,0,1)},F(Mn,"EcorePackageImpl/8",1191),D(1192,1,si,CJ),l.wj=function(e){return _t(e,471)},l.xj=function(e){return Nt(sA,De,471,e,0,1)},F(Mn,"EcorePackageImpl/9",1192),D(1025,1982,T0e,sHt),l.bi=function(e,n){Mln(this,u(n,415))},l.fi=function(e,n){moe(this,e,u(n,415))},F(Mn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList",1025),D(1026,143,nO,yXt),l.Ai=function(){return this.a.a},F(Mn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList/1",1026),D(1053,1052,{},NUt),F("org.eclipse.emf.ecore.plugin","EcorePlugin",1053);var wLt=Ki(Z0e,"Resource");D(781,1378,J0e),l.Yk=function(e){},l.Zk=function(e){},l.Vk=function(){return!this.a&&(this.a=new Ztt(this)),this.a},l.Wk=function(e){var n,r,s,o,h;if(s=e.length,s>0)if(Rr(0,e.length),e.charCodeAt(0)==47){for(h=new Xc(4),o=1,n=1;n0&&(e=e.substr(0,r)));return Zpn(this,e)},l.Xk=function(){return this.c},l.Ib=function(){var e;return Ip(this.gm)+"@"+(e=Hi(this)>>>0,e.toString(16))+" uri='"+this.d+"'"},l.b=!1,F(fut,"ResourceImpl",781),D(1379,781,J0e,Jzt),F(fut,"BinaryResourceImpl",1379),D(1169,694,aut),l.si=function(e){return _t(e,56)?Orn(this,u(e,56)):_t(e,591)?new nr(u(e,591).Vk()):Vt(e)===Vt(this.f)?u(e,14).Kc():(y8(),pP.a)},l.Ob=function(){return h5t(this)},l.a=!1,F($i,"EcoreUtil/ContentTreeIterator",1169),D(1380,1169,aut,QKt),l.si=function(e){return Vt(e)===Vt(this.f)?u(e,15).Kc():new PZt(u(e,56))},F(fut,"ResourceImpl/5",1380),D(648,1994,z0e,Ztt),l.Hc=function(e){return this.i<=4?yE(this,e):_t(e,49)&&u(e,49).Zg()==this.a},l.bi=function(e,n){e==this.i-1&&(this.a.b||(this.a.b=!0))},l.di=function(e,n){e==0?this.a.b||(this.a.b=!0):Yrt(this,e,n)},l.fi=function(e,n){},l.gi=function(e,n,r){},l.aj=function(){return 2},l.Ai=function(){return this.a},l.bj=function(){return!0},l.cj=function(e,n){var r;return r=u(e,49),n=r.wh(this.a,n),n},l.dj=function(e,n){var r;return r=u(e,49),r.wh(null,n)},l.ej=function(){return!1},l.hi=function(){return!0},l.ri=function(e){return Nt(_b,De,56,e,0,1)},l.ni=function(){return!1},F(fut,"ResourceImpl/ContentsEList",648),D(957,1964,jE,Zzt),l.Zc=function(e){return this.a._h(e)},l.gc=function(){return this.a.gc()},F($i,"AbstractSequentialInternalEList/1",957);var vLt,mLt,ya,yLt;D(624,1,{},JYt);var wU,vU;F($i,"BasicExtendedMetaData",624),D(1160,1,{},JGt),l.$k=function(){return null},l._k=function(){return this.a==-2&&Tg(this,sgn(this.d,this.b)),this.a},l.al=function(){return null},l.bl=function(){return wn(),wn(),io},l.ne=function(){return this.c==t7&&O3(this,Xie(this.d,this.b)),this.c},l.cl=function(){return 0},l.a=-2,l.c=t7,F($i,"BasicExtendedMetaData/EClassExtendedMetaDataImpl",1160),D(1161,1,{},yZt),l.$k=function(){return this.a==(B8(),wU)&&ypt(this,xwn(this.f,this.b)),this.a},l._k=function(){return 0},l.al=function(){return this.c==(B8(),wU)&&Ftt(this,kwn(this.f,this.b)),this.c},l.bl=function(){return!this.d&&Ntt(this,xmn(this.f,this.b)),this.d},l.ne=function(){return this.e==t7&&cR(this,Xie(this.f,this.b)),this.e},l.cl=function(){return this.g==-2&&uR(this,T0n(this.f,this.b)),this.g},l.e=t7,l.g=-2,F($i,"BasicExtendedMetaData/EDataTypeExtendedMetaDataImpl",1161),D(1159,1,{},eUt),l.b=!1,l.c=!1,F($i,"BasicExtendedMetaData/EPackageExtendedMetaDataImpl",1159),D(1162,1,{},mZt),l.c=-2,l.e=t7,l.f=t7,F($i,"BasicExtendedMetaData/EStructuralFeatureExtendedMetaDataImpl",1162),D(585,622,zo,Rj),l.aj=function(){return this.c},l.Fk=function(){return!1},l.li=function(e,n){return n},l.c=0,F($i,"EDataTypeEList",585);var xLt=Ki($i,"FeatureMap");D(75,585,{3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1,76:1,153:1,215:1,1937:1,69:1,95:1},ss),l.Vc=function(e,n){wwn(this,e,u(n,72))},l.Fc=function(e){return N2n(this,u(e,72))},l.Yh=function(e){knn(this,u(e,72))},l.cj=function(e,n){return nJe(this,u(e,72),n)},l.dj=function(e,n){return vwt(this,u(e,72),n)},l.ii=function(e,n){return jmn(this,e,n)},l.li=function(e,n){return v4n(this,e,u(n,72))},l._c=function(e,n){return ovn(this,e,u(n,72))},l.jj=function(e,n){return rJe(this,u(e,72),n)},l.kj=function(e,n){return TYt(this,u(e,72),n)},l.lj=function(e,n,r){return o0n(this,u(e,72),u(n,72),r)},l.oi=function(e,n){return Rst(this,e,u(n,72))},l.dl=function(e,n){return J5t(this,e,n)},l.Wc=function(e,n){var r,s,o,h,d,v,k,C,M;for(C=new Qw(n.gc()),o=n.Kc();o.Ob();)if(s=u(o.Pb(),72),h=s.ak(),X0(this.e,h))(!h.hi()||!O$(this,h,s.dd())&&!yE(C,s))&&Dr(C,s);else{for(M=ou(this.e.Tg(),h),r=u(this.g,119),d=!0,v=0;v=0;)if(n=e[this.c],this.k.rl(n.ak()))return this.j=this.f?n:n.dd(),this.i=-2,!0;return this.i=-1,this.g=-1,!1},F($i,"BasicFeatureMap/FeatureEIterator",410),D(662,410,n0,rnt),l.Lk=function(){return!0},F($i,"BasicFeatureMap/ResolvingFeatureEIterator",662),D(955,486,NH,UUt),l.Gi=function(){return this},F($i,"EContentsEList/1",955),D(956,486,NH,wUt),l.Lk=function(){return!1},F($i,"EContentsEList/2",956),D(954,279,BH,WUt),l.Nk=function(e){},l.Ob=function(){return!1},l.Sb=function(){return!1},F($i,"EContentsEList/FeatureIteratorImpl/1",954),D(825,585,zo,E2t),l.ci=function(){this.a=!0},l.fj=function(){return this.a},l.Xj=function(){var e;xr(this),xl(this.e)?(e=this.a,this.a=!1,mi(this.e,new bf(this.e,2,this.c,e,!1))):this.a=!1},l.a=!1,F($i,"EDataTypeEList/Unsettable",825),D(1849,585,zo,eWt),l.hi=function(){return!0},F($i,"EDataTypeUniqueEList",1849),D(1850,825,zo,nWt),l.hi=function(){return!0},F($i,"EDataTypeUniqueEList/Unsettable",1850),D(139,85,zo,Fu),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectContainmentEList/Resolving",139),D(1163,545,zo,tWt),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectContainmentEList/Unsettable/Resolving",1163),D(748,16,zo,hwt),l.ci=function(){this.a=!0},l.fj=function(){return this.a},l.Xj=function(){var e;xr(this),xl(this.e)?(e=this.a,this.a=!1,mi(this.e,new bf(this.e,2,this.c,e,!1))):this.a=!1},l.a=!1,F($i,"EObjectContainmentWithInverseEList/Unsettable",748),D(1173,748,zo,hYt),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectContainmentWithInverseEList/Unsettable/Resolving",1173),D(743,496,zo,k2t),l.ci=function(){this.a=!0},l.fj=function(){return this.a},l.Xj=function(){var e;xr(this),xl(this.e)?(e=this.a,this.a=!1,mi(this.e,new bf(this.e,2,this.c,e,!1))):this.a=!1},l.a=!1,F($i,"EObjectEList/Unsettable",743),D(328,496,zo,Y3),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectResolvingEList",328),D(1641,743,zo,rWt),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectResolvingEList/Unsettable",1641),D(1381,1,{},_J);var C5e;F($i,"EObjectValidator",1381),D(546,496,zo,r$),l.zk=function(){return this.d},l.Ak=function(){return this.b},l.bj=function(){return!0},l.Dk=function(){return!0},l.b=0,F($i,"EObjectWithInverseEList",546),D(1176,546,zo,fYt),l.Ck=function(){return!0},F($i,"EObjectWithInverseEList/ManyInverse",1176),D(625,546,zo,Ent),l.ci=function(){this.a=!0},l.fj=function(){return this.a},l.Xj=function(){var e;xr(this),xl(this.e)?(e=this.a,this.a=!1,mi(this.e,new bf(this.e,2,this.c,e,!1))):this.a=!1},l.a=!1,F($i,"EObjectWithInverseEList/Unsettable",625),D(1175,625,zo,dYt),l.Ck=function(){return!0},F($i,"EObjectWithInverseEList/Unsettable/ManyInverse",1175),D(749,546,zo,fwt),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectWithInverseResolvingEList",749),D(31,749,zo,Cn),l.Ck=function(){return!0},F($i,"EObjectWithInverseResolvingEList/ManyInverse",31),D(750,625,zo,dwt),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectWithInverseResolvingEList/Unsettable",750),D(1174,750,zo,gYt),l.Ck=function(){return!0},F($i,"EObjectWithInverseResolvingEList/Unsettable/ManyInverse",1174),D(1164,622,zo),l.ai=function(){return(this.b&1792)==0},l.ci=function(){this.b|=1},l.Bk=function(){return(this.b&4)!=0},l.bj=function(){return(this.b&40)!=0},l.Ck=function(){return(this.b&16)!=0},l.Dk=function(){return(this.b&8)!=0},l.Ek=function(){return(this.b&Dy)!=0},l.rk=function(){return(this.b&32)!=0},l.Fk=function(){return(this.b&xf)!=0},l.wj=function(e){return this.d?KZt(this.d,e):this.ak().Yj().wj(e)},l.fj=function(){return this.b&2?(this.b&1)!=0:this.i!=0},l.hi=function(){return(this.b&128)!=0},l.Xj=function(){var e;xr(this),this.b&2&&(xl(this.e)?(e=(this.b&1)!=0,this.b&=-2,n8(this,new bf(this.e,2,Gi(this.e.Tg(),this.ak()),e,!1))):this.b&=-2)},l.ni=function(){return(this.b&1536)==0},l.b=0,F($i,"EcoreEList/Generic",1164),D(1165,1164,zo,iQt),l.ak=function(){return this.a},F($i,"EcoreEList/Dynamic",1165),D(747,63,Ld,_pt),l.ri=function(e){return MD(this.a.a,e)},F($i,"EcoreEMap/1",747),D(746,85,zo,hvt),l.bi=function(e,n){Jz(this.b,u(n,133))},l.di=function(e,n){Vne(this.b)},l.ei=function(e,n,r){var s;++(s=this.b,u(n,133),s).e},l.fi=function(e,n){Wit(this.b,u(n,133))},l.gi=function(e,n,r){Wit(this.b,u(r,133)),Vt(r)===Vt(n)&&u(r,133).Th(hQe(u(n,133).cd())),Jz(this.b,u(n,133))},F($i,"EcoreEMap/DelegateEObjectContainmentEList",746),D(1171,151,j8t,rne),F($i,"EcoreEMap/Unsettable",1171),D(1172,746,zo,pYt),l.ci=function(){this.a=!0},l.fj=function(){return this.a},l.Xj=function(){var e;xr(this),xl(this.e)?(e=this.a,this.a=!1,mi(this.e,new bf(this.e,2,this.c,e,!1))):this.a=!1},l.a=!1,F($i,"EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList",1172),D(1168,228,A4,oXt),l.a=!1,l.b=!1,F($i,"EcoreUtil/Copier",1168),D(745,1,sa,PZt),l.Nb=function(e){ba(this,e)},l.Ob=function(){return Mie(this)},l.Pb=function(){var e;return Mie(this),e=this.b,this.b=null,e},l.Qb=function(){this.a.Qb()},F($i,"EcoreUtil/ProperContentIterator",745),D(1382,1381,{},tR);var _5e;F($i,"EcoreValidator",1382);var S5e;Ki($i,"FeatureMapUtil/Validator"),D(1260,1,{1942:1},SJ),l.rl=function(e){return!0},F($i,"FeatureMapUtil/1",1260),D(757,1,{1942:1},Axt),l.rl=function(e){var n;return this.c==e?!0:(n=Re(tr(this.a,e)),n==null?nmn(this,e)?(qJt(this.a,e,(Nn(),r7)),!0):(qJt(this.a,e,(Nn(),F2)),!1):n==(Nn(),r7))},l.e=!1;var $ft;F($i,"FeatureMapUtil/BasicValidator",757),D(758,43,A4,v2t),F($i,"FeatureMapUtil/BasicValidator/Cache",758),D(501,52,{20:1,28:1,52:1,14:1,15:1,58:1,76:1,69:1,95:1},BM),l.Vc=function(e,n){sue(this.c,this.b,e,n)},l.Fc=function(e){return J5t(this.c,this.b,e)},l.Wc=function(e,n){return w3n(this.c,this.b,e,n)},l.Gc=function(e){return g9(this,e)},l.Xh=function(e,n){Ron(this.c,this.b,e,n)},l.lk=function(e,n){return W5t(this.c,this.b,e,n)},l.pi=function(e){return Iq(this.c,this.b,e,!1)},l.Zh=function(){return AUt(this.c,this.b)},l.$h=function(){return ZXe(this.c,this.b)},l._h=function(e){return Han(this.c,this.b,e)},l.mk=function(e,n){return WWt(this,e,n)},l.$b=function(){Tx(this)},l.Hc=function(e){return O$(this.c,this.b,e)},l.Ic=function(e){return qcn(this.c,this.b,e)},l.Xb=function(e){return Iq(this.c,this.b,e,!0)},l.Wj=function(e){return this},l.Xc=function(e){return tan(this.c,this.b,e)},l.dc=function(){return hj(this)},l.fj=function(){return!XD(this.c,this.b)},l.Kc=function(){return _on(this.c,this.b)},l.Yc=function(){return Son(this.c,this.b)},l.Zc=function(e){return jln(this.c,this.b,e)},l.ii=function(e,n){return Ele(this.c,this.b,e,n)},l.ji=function(e,n){Ban(this.c,this.b,e,n)},l.$c=function(e){return noe(this.c,this.b,e)},l.Mc=function(e){return Emn(this.c,this.b,e)},l._c=function(e,n){return Lle(this.c,this.b,e,n)},l.Wb=function(e){pq(this.c,this.b),g9(this,u(e,15))},l.gc=function(){return Zln(this.c,this.b)},l.Pc=function(){return Qin(this.c,this.b)},l.Qc=function(e){return ean(this.c,this.b,e)},l.Ib=function(){var e,n;for(n=new Ag,n.a+="[",e=AUt(this.c,this.b);Bit(e);)go(n,b9(Qz(e))),Bit(e)&&(n.a+=Ya);return n.a+="]",n.a},l.Xj=function(){pq(this.c,this.b)},F($i,"FeatureMapUtil/FeatureEList",501),D(627,36,nO,jrt),l.yi=function(e){return e_(this,e)},l.Di=function(e){var n,r,s,o,h,d,v;switch(this.d){case 1:case 2:{if(h=e.Ai(),Vt(h)===Vt(this.c)&&e_(this,null)==e.yi(null))return this.g=e.zi(),e.xi()==1&&(this.d=1),!0;break}case 3:{switch(o=e.xi(),o){case 3:{if(h=e.Ai(),Vt(h)===Vt(this.c)&&e_(this,null)==e.yi(null))return this.d=5,n=new Qw(2),Dr(n,this.g),Dr(n,e.zi()),this.g=n,!0;break}}break}case 5:{switch(o=e.xi(),o){case 3:{if(h=e.Ai(),Vt(h)===Vt(this.c)&&e_(this,null)==e.yi(null))return r=u(this.g,14),r.Fc(e.zi()),!0;break}}break}case 4:{switch(o=e.xi(),o){case 3:{if(h=e.Ai(),Vt(h)===Vt(this.c)&&e_(this,null)==e.yi(null))return this.d=1,this.g=e.zi(),!0;break}case 4:{if(h=e.Ai(),Vt(h)===Vt(this.c)&&e_(this,null)==e.yi(null))return this.d=6,v=new Qw(2),Dr(v,this.n),Dr(v,e.Bi()),this.n=v,d=lt(ct(Cr,1),Xr,25,15,[this.o,e.Ci()]),this.g=d,!0;break}}break}case 6:{switch(o=e.xi(),o){case 4:{if(h=e.Ai(),Vt(h)===Vt(this.c)&&e_(this,null)==e.yi(null))return r=u(this.n,14),r.Fc(e.Bi()),d=u(this.g,48),s=Nt(Cr,Xr,25,d.length+1,15,1),Dc(d,0,s,0,d.length),s[d.length]=e.Ci(),this.g=s,!0;break}}break}}return!1},F($i,"FeatureMapUtil/FeatureENotificationImpl",627),D(552,501,{20:1,28:1,52:1,14:1,15:1,58:1,76:1,153:1,215:1,1937:1,69:1,95:1},qj),l.dl=function(e,n){return J5t(this.c,e,n)},l.el=function(e,n,r){return W5t(this.c,e,n,r)},l.fl=function(e,n,r){return bxt(this.c,e,n,r)},l.gl=function(){return this},l.hl=function(e,n){return SI(this.c,e,n)},l.il=function(e){return u(Iq(this.c,this.b,e,!1),72).ak()},l.jl=function(e){return u(Iq(this.c,this.b,e,!1),72).dd()},l.kl=function(){return this.a},l.ll=function(e){return!XD(this.c,e)},l.ml=function(e,n){Oq(this.c,e,n)},l.nl=function(e){return lne(this.c,e)},l.ol=function(e){Pse(this.c,e)},F($i,"FeatureMapUtil/FeatureFeatureMap",552),D(1259,1,hut,nUt),l.Wj=function(e){return Iq(this.b,this.a,-1,e)},l.fj=function(){return!XD(this.b,this.a)},l.Wb=function(e){Oq(this.b,this.a,e)},l.Xj=function(){pq(this.b,this.a)},F($i,"FeatureMapUtil/FeatureValue",1259);var J6,zft,qft,tk,A5e,wP=Ki(GH,"AnyType");D(666,60,Q0,pet),F(GH,"InvalidDatatypeValueException",666);var mU=Ki(GH,ege),vP=Ki(GH,nge),kLt=Ki(GH,rge),L5e,pc,ELt,X2,M5e,D5e,I5e,O5e,P5e,F5e,N5e,B5e,R5e,j5e,$5e,h5,z5e,f5,lA,q5e,Wv,mP,yP,H5e,hA,fA;D(830,506,{105:1,92:1,90:1,56:1,49:1,97:1,843:1},Wpt),l._g=function(e,n,r){switch(e){case 0:return r?(!this.c&&(this.c=new ss(this,0)),this.c):(!this.c&&(this.c=new ss(this,0)),this.c.b);case 1:return r?(!this.c&&(this.c=new ss(this,0)),u(Bc(this.c,(Ii(),X2)),153)):(!this.c&&(this.c=new ss(this,0)),u(u(Bc(this.c,(Ii(),X2)),153),215)).kl();case 2:return r?(!this.b&&(this.b=new ss(this,2)),this.b):(!this.b&&(this.b=new ss(this,2)),this.b.b)}return uh(this,e-Jn(this.zh()),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():this.zh(),e),n,r)},l.jh=function(e,n,r){var s;switch(n){case 0:return!this.c&&(this.c=new ss(this,0)),EI(this.c,e,r);case 1:return(!this.c&&(this.c=new ss(this,0)),u(u(Bc(this.c,(Ii(),X2)),153),69)).mk(e,r);case 2:return!this.b&&(this.b=new ss(this,2)),EI(this.b,e,r)}return s=u(yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():this.zh(),n),66),s.Nj().Rj(this,$mt(this),n-Jn(this.zh()),e,r)},l.lh=function(e){switch(e){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new ss(this,0)),u(Bc(this.c,(Ii(),X2)),153)).dc();case 2:return!!this.b&&this.b.i!=0}return oh(this,e-Jn(this.zh()),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():this.zh(),e))},l.sh=function(e,n){switch(e){case 0:!this.c&&(this.c=new ss(this,0)),nD(this.c,n);return;case 1:(!this.c&&(this.c=new ss(this,0)),u(u(Bc(this.c,(Ii(),X2)),153),215)).Wb(n);return;case 2:!this.b&&(this.b=new ss(this,2)),nD(this.b,n);return}gh(this,e-Jn(this.zh()),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():this.zh(),e),n)},l.zh=function(){return Ii(),ELt},l.Bh=function(e){switch(e){case 0:!this.c&&(this.c=new ss(this,0)),xr(this.c);return;case 1:(!this.c&&(this.c=new ss(this,0)),u(Bc(this.c,(Ii(),X2)),153)).$b();return;case 2:!this.b&&(this.b=new ss(this,2)),xr(this.b);return}fh(this,e-Jn(this.zh()),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():this.zh(),e))},l.Ib=function(){var e;return this.j&4?mf(this):(e=new _h(mf(this)),e.a+=" (mixed: ",l9(e,this.c),e.a+=", anyAttribute: ",l9(e,this.b),e.a+=")",e.a)},F(xs,"AnyTypeImpl",830),D(667,506,{105:1,92:1,90:1,56:1,49:1,97:1,2021:1,667:1},AB),l._g=function(e,n,r){switch(e){case 0:return this.a;case 1:return this.b}return uh(this,e-Jn((Ii(),h5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():h5,e),n,r)},l.lh=function(e){switch(e){case 0:return this.a!=null;case 1:return this.b!=null}return oh(this,e-Jn((Ii(),h5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():h5,e))},l.sh=function(e,n){switch(e){case 0:$tt(this,Br(n));return;case 1:kpt(this,Br(n));return}gh(this,e-Jn((Ii(),h5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():h5,e),n)},l.zh=function(){return Ii(),h5},l.Bh=function(e){switch(e){case 0:this.a=null;return;case 1:this.b=null;return}fh(this,e-Jn((Ii(),h5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():h5,e))},l.Ib=function(){var e;return this.j&4?mf(this):(e=new _h(mf(this)),e.a+=" (data: ",go(e,this.a),e.a+=", target: ",go(e,this.b),e.a+=")",e.a)},l.a=null,l.b=null,F(xs,"ProcessingInstructionImpl",667),D(668,830,{105:1,92:1,90:1,56:1,49:1,97:1,843:1,2022:1,668:1},Hqt),l._g=function(e,n,r){switch(e){case 0:return r?(!this.c&&(this.c=new ss(this,0)),this.c):(!this.c&&(this.c=new ss(this,0)),this.c.b);case 1:return r?(!this.c&&(this.c=new ss(this,0)),u(Bc(this.c,(Ii(),X2)),153)):(!this.c&&(this.c=new ss(this,0)),u(u(Bc(this.c,(Ii(),X2)),153),215)).kl();case 2:return r?(!this.b&&(this.b=new ss(this,2)),this.b):(!this.b&&(this.b=new ss(this,2)),this.b.b);case 3:return!this.c&&(this.c=new ss(this,0)),Br(SI(this.c,(Ii(),lA),!0));case 4:return gwt(this.a,(!this.c&&(this.c=new ss(this,0)),Br(SI(this.c,(Ii(),lA),!0))));case 5:return this.a}return uh(this,e-Jn((Ii(),f5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():f5,e),n,r)},l.lh=function(e){switch(e){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new ss(this,0)),u(Bc(this.c,(Ii(),X2)),153)).dc();case 2:return!!this.b&&this.b.i!=0;case 3:return!this.c&&(this.c=new ss(this,0)),Br(SI(this.c,(Ii(),lA),!0))!=null;case 4:return gwt(this.a,(!this.c&&(this.c=new ss(this,0)),Br(SI(this.c,(Ii(),lA),!0))))!=null;case 5:return!!this.a}return oh(this,e-Jn((Ii(),f5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():f5,e))},l.sh=function(e,n){switch(e){case 0:!this.c&&(this.c=new ss(this,0)),nD(this.c,n);return;case 1:(!this.c&&(this.c=new ss(this,0)),u(u(Bc(this.c,(Ii(),X2)),153),215)).Wb(n);return;case 2:!this.b&&(this.b=new ss(this,2)),nD(this.b,n);return;case 3:Jvt(this,Br(n));return;case 4:Jvt(this,pwt(this.a,n));return;case 5:vc(this,u(n,148));return}gh(this,e-Jn((Ii(),f5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():f5,e),n)},l.zh=function(){return Ii(),f5},l.Bh=function(e){switch(e){case 0:!this.c&&(this.c=new ss(this,0)),xr(this.c);return;case 1:(!this.c&&(this.c=new ss(this,0)),u(Bc(this.c,(Ii(),X2)),153)).$b();return;case 2:!this.b&&(this.b=new ss(this,2)),xr(this.b);return;case 3:!this.c&&(this.c=new ss(this,0)),Oq(this.c,(Ii(),lA),null);return;case 4:Jvt(this,pwt(this.a,null));return;case 5:this.a=null;return}fh(this,e-Jn((Ii(),f5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():f5,e))},F(xs,"SimpleAnyTypeImpl",668),D(669,506,{105:1,92:1,90:1,56:1,49:1,97:1,2023:1,669:1},qqt),l._g=function(e,n,r){switch(e){case 0:return r?(!this.a&&(this.a=new ss(this,0)),this.a):(!this.a&&(this.a=new ss(this,0)),this.a.b);case 1:return r?(!this.b&&(this.b=new _l((dn(),Qa),cc,this,1)),this.b):(!this.b&&(this.b=new _l((dn(),Qa),cc,this,1)),wD(this.b));case 2:return r?(!this.c&&(this.c=new _l((dn(),Qa),cc,this,2)),this.c):(!this.c&&(this.c=new _l((dn(),Qa),cc,this,2)),wD(this.c));case 3:return!this.a&&(this.a=new ss(this,0)),Bc(this.a,(Ii(),mP));case 4:return!this.a&&(this.a=new ss(this,0)),Bc(this.a,(Ii(),yP));case 5:return!this.a&&(this.a=new ss(this,0)),Bc(this.a,(Ii(),hA));case 6:return!this.a&&(this.a=new ss(this,0)),Bc(this.a,(Ii(),fA))}return uh(this,e-Jn((Ii(),Wv)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():Wv,e),n,r)},l.jh=function(e,n,r){var s;switch(n){case 0:return!this.a&&(this.a=new ss(this,0)),EI(this.a,e,r);case 1:return!this.b&&(this.b=new _l((dn(),Qa),cc,this,1)),Oj(this.b,e,r);case 2:return!this.c&&(this.c=new _l((dn(),Qa),cc,this,2)),Oj(this.c,e,r);case 5:return!this.a&&(this.a=new ss(this,0)),WWt(Bc(this.a,(Ii(),hA)),e,r)}return s=u(yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():(Ii(),Wv),n),66),s.Nj().Rj(this,$mt(this),n-Jn((Ii(),Wv)),e,r)},l.lh=function(e){switch(e){case 0:return!!this.a&&this.a.i!=0;case 1:return!!this.b&&this.b.f!=0;case 2:return!!this.c&&this.c.f!=0;case 3:return!this.a&&(this.a=new ss(this,0)),!hj(Bc(this.a,(Ii(),mP)));case 4:return!this.a&&(this.a=new ss(this,0)),!hj(Bc(this.a,(Ii(),yP)));case 5:return!this.a&&(this.a=new ss(this,0)),!hj(Bc(this.a,(Ii(),hA)));case 6:return!this.a&&(this.a=new ss(this,0)),!hj(Bc(this.a,(Ii(),fA)))}return oh(this,e-Jn((Ii(),Wv)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():Wv,e))},l.sh=function(e,n){switch(e){case 0:!this.a&&(this.a=new ss(this,0)),nD(this.a,n);return;case 1:!this.b&&(this.b=new _l((dn(),Qa),cc,this,1)),xz(this.b,n);return;case 2:!this.c&&(this.c=new _l((dn(),Qa),cc,this,2)),xz(this.c,n);return;case 3:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),mP))),!this.a&&(this.a=new ss(this,0)),g9(Bc(this.a,mP),u(n,14));return;case 4:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),yP))),!this.a&&(this.a=new ss(this,0)),g9(Bc(this.a,yP),u(n,14));return;case 5:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),hA))),!this.a&&(this.a=new ss(this,0)),g9(Bc(this.a,hA),u(n,14));return;case 6:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),fA))),!this.a&&(this.a=new ss(this,0)),g9(Bc(this.a,fA),u(n,14));return}gh(this,e-Jn((Ii(),Wv)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():Wv,e),n)},l.zh=function(){return Ii(),Wv},l.Bh=function(e){switch(e){case 0:!this.a&&(this.a=new ss(this,0)),xr(this.a);return;case 1:!this.b&&(this.b=new _l((dn(),Qa),cc,this,1)),this.b.c.$b();return;case 2:!this.c&&(this.c=new _l((dn(),Qa),cc,this,2)),this.c.c.$b();return;case 3:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),mP)));return;case 4:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),yP)));return;case 5:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),hA)));return;case 6:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),fA)));return}fh(this,e-Jn((Ii(),Wv)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():Wv,e))},l.Ib=function(){var e;return this.j&4?mf(this):(e=new _h(mf(this)),e.a+=" (mixed: ",l9(e,this.a),e.a+=")",e.a)},F(xs,"XMLTypeDocumentRootImpl",669),D(1919,704,{105:1,92:1,90:1,471:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1,2024:1},_m),l.Ih=function(e,n){switch(e.yj()){case 7:case 8:case 9:case 10:case 16:case 22:case 23:case 24:case 25:case 26:case 32:case 33:case 34:case 36:case 37:case 44:case 45:case 50:case 51:case 53:case 55:case 56:case 57:case 58:case 60:case 61:case 4:return n==null?null:$o(n);case 19:case 28:case 29:case 35:case 38:case 39:case 41:case 46:case 52:case 54:case 5:return Br(n);case 6:return bZe(u(n,190));case 12:case 47:case 49:case 11:return bhe(this,e,n);case 13:return n==null?null:r3n(u(n,240));case 15:case 14:return n==null?null:dnn(Xt(ye(n)));case 17:return mae((Ii(),n));case 18:return mae(n);case 21:case 20:return n==null?null:gnn(u(n,155).a);case 27:return wZe(u(n,190));case 30:return Fse((Ii(),u(n,15)));case 31:return Fse(u(n,15));case 40:return mZe((Ii(),n));case 42:return yae((Ii(),n));case 43:return yae(n);case 59:case 48:return vZe((Ii(),n));default:throw it(new Fn(QE+e.ne()+Cv))}},l.Jh=function(e){var n,r,s,o,h;switch(e.G==-1&&(e.G=(r=Rl(e),r?Hg(r.Mh(),e):-1)),e.G){case 0:return n=new Wpt,n;case 1:return s=new AB,s;case 2:return o=new Hqt,o;case 3:return h=new qqt,h;default:throw it(new Fn(Kct+e.zb+Cv))}},l.Kh=function(e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt;switch(e.yj()){case 5:case 52:case 4:return n;case 6:return Ofn(n);case 8:case 7:return n==null?null:y0n(n);case 9:return n==null?null:AD(ql((s=$c(n,!0),s.length>0&&(Rr(0,s.length),s.charCodeAt(0)==43)?s.substr(1):s),-128,127)<<24>>24);case 10:return n==null?null:AD(ql((o=$c(n,!0),o.length>0&&(Rr(0,o.length),o.charCodeAt(0)==43)?o.substr(1):o),-128,127)<<24>>24);case 11:return Br(vv(this,(Ii(),I5e),n));case 12:return Br(vv(this,(Ii(),O5e),n));case 13:return n==null?null:new gbt($c(n,!0));case 15:case 14:return z2n(n);case 16:return Br(vv(this,(Ii(),P5e),n));case 17:return zie((Ii(),n));case 18:return zie(n);case 28:case 29:case 35:case 38:case 39:case 41:case 54:case 19:return $c(n,!0);case 21:case 20:return X2n(n);case 22:return Br(vv(this,(Ii(),F5e),n));case 23:return Br(vv(this,(Ii(),N5e),n));case 24:return Br(vv(this,(Ii(),B5e),n));case 25:return Br(vv(this,(Ii(),R5e),n));case 26:return Br(vv(this,(Ii(),j5e),n));case 27:return Afn(n);case 30:return qie((Ii(),n));case 31:return qie(n);case 32:return n==null?null:pe(ql((M=$c(n,!0),M.length>0&&(Rr(0,M.length),M.charCodeAt(0)==43)?M.substr(1):M),Sa,wi));case 33:return n==null?null:new Rp((j=$c(n,!0),j.length>0&&(Rr(0,j.length),j.charCodeAt(0)==43)?j.substr(1):j));case 34:return n==null?null:pe(ql((H=$c(n,!0),H.length>0&&(Rr(0,H.length),H.charCodeAt(0)==43)?H.substr(1):H),Sa,wi));case 36:return n==null?null:v2(Rq((G=$c(n,!0),G.length>0&&(Rr(0,G.length),G.charCodeAt(0)==43)?G.substr(1):G)));case 37:return n==null?null:v2(Rq((K=$c(n,!0),K.length>0&&(Rr(0,K.length),K.charCodeAt(0)==43)?K.substr(1):K)));case 40:return Vhn((Ii(),n));case 42:return Hie((Ii(),n));case 43:return Hie(n);case 44:return n==null?null:new Rp((tt=$c(n,!0),tt.length>0&&(Rr(0,tt.length),tt.charCodeAt(0)==43)?tt.substr(1):tt));case 45:return n==null?null:new Rp((gt=$c(n,!0),gt.length>0&&(Rr(0,gt.length),gt.charCodeAt(0)==43)?gt.substr(1):gt));case 46:return $c(n,!1);case 47:return Br(vv(this,(Ii(),$5e),n));case 59:case 48:return Hhn((Ii(),n));case 49:return Br(vv(this,(Ii(),z5e),n));case 50:return n==null?null:uE(ql((Mt=$c(n,!0),Mt.length>0&&(Rr(0,Mt.length),Mt.charCodeAt(0)==43)?Mt.substr(1):Mt),zH,32767)<<16>>16);case 51:return n==null?null:uE(ql((h=$c(n,!0),h.length>0&&(Rr(0,h.length),h.charCodeAt(0)==43)?h.substr(1):h),zH,32767)<<16>>16);case 53:return Br(vv(this,(Ii(),q5e),n));case 55:return n==null?null:uE(ql((d=$c(n,!0),d.length>0&&(Rr(0,d.length),d.charCodeAt(0)==43)?d.substr(1):d),zH,32767)<<16>>16);case 56:return n==null?null:uE(ql((v=$c(n,!0),v.length>0&&(Rr(0,v.length),v.charCodeAt(0)==43)?v.substr(1):v),zH,32767)<<16>>16);case 57:return n==null?null:v2(Rq((k=$c(n,!0),k.length>0&&(Rr(0,k.length),k.charCodeAt(0)==43)?k.substr(1):k)));case 58:return n==null?null:v2(Rq((C=$c(n,!0),C.length>0&&(Rr(0,C.length),C.charCodeAt(0)==43)?C.substr(1):C)));case 60:return n==null?null:pe(ql((r=$c(n,!0),r.length>0&&(Rr(0,r.length),r.charCodeAt(0)==43)?r.substr(1):r),Sa,wi));case 61:return n==null?null:pe(ql($c(n,!0),Sa,wi));default:throw it(new Fn(QE+e.ne()+Cv))}};var V5e,TLt,G5e,CLt;F(xs,"XMLTypeFactoryImpl",1919),D(586,179,{105:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,49:1,97:1,150:1,179:1,114:1,115:1,675:1,1945:1,586:1},AXt),l.N=!1,l.O=!1;var U5e=!1;F(xs,"XMLTypePackageImpl",586),D(1852,1,{837:1},hx),l._j=function(){return oxt(),exe},F(xs,"XMLTypePackageImpl/1",1852),D(1861,1,si,d1),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/10",1861),D(1862,1,si,LB),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/11",1862),D(1863,1,si,MB),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/12",1863),D(1864,1,si,DB),l.wj=function(e){return Bm(e)},l.xj=function(e){return Nt(la,ee,333,e,7,1)},F(xs,"XMLTypePackageImpl/13",1864),D(1865,1,si,IB),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/14",1865),D(1866,1,si,OB),l.wj=function(e){return _t(e,15)},l.xj=function(e){return Nt(wh,Ty,15,e,0,1)},F(xs,"XMLTypePackageImpl/15",1866),D(1867,1,si,PB),l.wj=function(e){return _t(e,15)},l.xj=function(e){return Nt(wh,Ty,15,e,0,1)},F(xs,"XMLTypePackageImpl/16",1867),D(1868,1,si,$f),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/17",1868),D(1869,1,si,du),l.wj=function(e){return _t(e,155)},l.xj=function(e){return Nt(i7,ee,155,e,0,1)},F(xs,"XMLTypePackageImpl/18",1869),D(1870,1,si,AJ),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/19",1870),D(1853,1,si,LJ),l.wj=function(e){return _t(e,843)},l.xj=function(e){return Nt(wP,De,843,e,0,1)},F(xs,"XMLTypePackageImpl/2",1853),D(1871,1,si,MJ),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/20",1871),D(1872,1,si,gu),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/21",1872),D(1873,1,si,cC),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/22",1873),D(1874,1,si,FB),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/23",1874),D(1875,1,si,NB),l.wj=function(e){return _t(e,190)},l.xj=function(e){return Nt(Gu,ee,190,e,0,2)},F(xs,"XMLTypePackageImpl/24",1875),D(1876,1,si,fx),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/25",1876),D(1877,1,si,DJ),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/26",1877),D(1878,1,si,$k),l.wj=function(e){return _t(e,15)},l.xj=function(e){return Nt(wh,Ty,15,e,0,1)},F(xs,"XMLTypePackageImpl/27",1878),D(1879,1,si,IJ),l.wj=function(e){return _t(e,15)},l.xj=function(e){return Nt(wh,Ty,15,e,0,1)},F(xs,"XMLTypePackageImpl/28",1879),D(1880,1,si,BB),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/29",1880),D(1854,1,si,OJ),l.wj=function(e){return _t(e,667)},l.xj=function(e){return Nt(mU,De,2021,e,0,1)},F(xs,"XMLTypePackageImpl/3",1854),D(1881,1,si,PJ),l.wj=function(e){return _t(e,19)},l.xj=function(e){return Nt(ja,ee,19,e,0,1)},F(xs,"XMLTypePackageImpl/30",1881),D(1882,1,si,uC),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/31",1882),D(1883,1,si,RB),l.wj=function(e){return _t(e,162)},l.xj=function(e){return Nt(Sv,ee,162,e,0,1)},F(xs,"XMLTypePackageImpl/32",1883),D(1884,1,si,UL),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/33",1884),D(1885,1,si,lC),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/34",1885),D(1886,1,si,FJ),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/35",1886),D(1887,1,si,NJ),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/36",1887),D(1888,1,si,WL),l.wj=function(e){return _t(e,15)},l.xj=function(e){return Nt(wh,Ty,15,e,0,1)},F(xs,"XMLTypePackageImpl/37",1888),D(1889,1,si,hC),l.wj=function(e){return _t(e,15)},l.xj=function(e){return Nt(wh,Ty,15,e,0,1)},F(xs,"XMLTypePackageImpl/38",1889),D(1890,1,si,g1),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/39",1890),D(1855,1,si,zk),l.wj=function(e){return _t(e,668)},l.xj=function(e){return Nt(vP,De,2022,e,0,1)},F(xs,"XMLTypePackageImpl/4",1855),D(1891,1,si,BJ),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/40",1891),D(1892,1,si,qk),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/41",1892),D(1893,1,si,YL),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/42",1893),D(1894,1,si,Wb),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/43",1894),D(1895,1,si,fC),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/44",1895),D(1896,1,si,KL),l.wj=function(e){return _t(e,184)},l.xj=function(e){return Nt(Av,ee,184,e,0,1)},F(xs,"XMLTypePackageImpl/45",1896),D(1897,1,si,zf),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/46",1897),D(1898,1,si,dC),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/47",1898),D(1899,1,si,p1),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/48",1899),D(ab,1,si,b1),l.wj=function(e){return _t(e,184)},l.xj=function(e){return Nt(Av,ee,184,e,0,1)},F(xs,"XMLTypePackageImpl/49",ab),D(1856,1,si,RJ),l.wj=function(e){return _t(e,669)},l.xj=function(e){return Nt(kLt,De,2023,e,0,1)},F(xs,"XMLTypePackageImpl/5",1856),D(1901,1,si,jJ),l.wj=function(e){return _t(e,162)},l.xj=function(e){return Nt(Sv,ee,162,e,0,1)},F(xs,"XMLTypePackageImpl/50",1901),D(1902,1,si,M3),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/51",1902),D(1903,1,si,Hk),l.wj=function(e){return _t(e,19)},l.xj=function(e){return Nt(ja,ee,19,e,0,1)},F(xs,"XMLTypePackageImpl/52",1903),D(1857,1,si,Vk),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/6",1857),D(1858,1,si,gC),l.wj=function(e){return _t(e,190)},l.xj=function(e){return Nt(Gu,ee,190,e,0,2)},F(xs,"XMLTypePackageImpl/7",1858),D(1859,1,si,$J),l.wj=function(e){return Nm(e)},l.xj=function(e){return Nt(Rs,ee,476,e,8,1)},F(xs,"XMLTypePackageImpl/8",1859),D(1860,1,si,dx),l.wj=function(e){return _t(e,217)},l.xj=function(e){return Nt(M6,ee,217,e,0,1)},F(xs,"XMLTypePackageImpl/9",1860);var Y1,lp,dA,yU,wt;D(50,60,Q0,Nr),F(Zg,"RegEx/ParseException",50),D(820,1,{},XL),l.sl=function(e){return er*16)throw it(new Nr(qr((Pr(),g0e))));r=r*16+o}while(!0);if(this.a!=125)throw it(new Nr(qr((Pr(),p0e))));if(r>e7)throw it(new Nr(qr((Pr(),b0e))));e=r}else{if(o=0,this.c!=0||(o=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(r=o,fi(this),this.c!=0||(o=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));r=r*16+o,e=r}break;case 117:if(s=0,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=n*16+s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=n*16+s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));n=n*16+s,e=n;break;case 118:if(fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=n*16+s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=n*16+s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=n*16+s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=n*16+s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=n*16+s,n>e7)throw it(new Nr(qr((Pr(),"parser.descappe.4"))));e=n;break;case 65:case 90:case 122:throw it(new Nr(qr((Pr(),w0e))))}return e},l.ul=function(e){var n,r;switch(e){case 100:r=(this.e&32)==32?ib("Nd",!0):(gi(),xU);break;case 68:r=(this.e&32)==32?ib("Nd",!1):(gi(),DLt);break;case 119:r=(this.e&32)==32?ib("IsWord",!0):(gi(),q7);break;case 87:r=(this.e&32)==32?ib("IsWord",!1):(gi(),OLt);break;case 115:r=(this.e&32)==32?ib("IsSpace",!0):(gi(),ek);break;case 83:r=(this.e&32)==32?ib("IsSpace",!1):(gi(),ILt);break;default:throw it(new Vo((n=e,wge+n.toString(16))))}return r},l.vl=function(e){var n,r,s,o,h,d,v,k,C,M,j,H;for(this.b=1,fi(this),n=null,this.c==0&&this.a==94?(fi(this),e?M=(gi(),gi(),new Nl(5)):(n=(gi(),gi(),new Nl(4)),jc(n,0,e7),M=new Nl(4))):M=(gi(),gi(),new Nl(4)),o=!0;(H=this.c)!=1&&!(H==0&&this.a==93&&!o);){if(o=!1,r=this.a,s=!1,H==10)switch(r){case 100:case 68:case 119:case 87:case 115:case 83:yy(M,this.ul(r)),s=!0;break;case 105:case 73:case 99:case 67:r=this.Ll(M,r),r<0&&(s=!0);break;case 112:case 80:if(j=u5t(this,r),!j)throw it(new Nr(qr((Pr(),cut))));yy(M,j),s=!0;break;default:r=this.tl()}else if(H==20){if(d=v8(this.i,58,this.d),d<0)throw it(new Nr(qr((Pr(),O8t))));if(v=!0,wa(this.i,this.d)==94&&(++this.d,v=!1),h=Pl(this.i,this.d,d),k=Lte(h,v,(this.e&512)==512),!k)throw it(new Nr(qr((Pr(),u0e))));if(yy(M,k),s=!0,d+1>=this.j||wa(this.i,d+1)!=93)throw it(new Nr(qr((Pr(),O8t))));this.d=d+2}if(fi(this),!s)if(this.c!=0||this.a!=45)jc(M,r,r);else{if(fi(this),(H=this.c)==1)throw it(new Nr(qr((Pr(),PH))));H==0&&this.a==93?(jc(M,r,r),jc(M,45,45)):(C=this.a,H==10&&(C=this.tl()),fi(this),jc(M,r,C))}(this.e&xf)==xf&&this.c==0&&this.a==44&&fi(this)}if(this.c==1)throw it(new Nr(qr((Pr(),PH))));return n&&(L_(n,M),M=n),v4(M),S_(M),this.b=0,fi(this),M},l.wl=function(){var e,n,r,s;for(r=this.vl(!1);(s=this.c)!=7;)if(e=this.a,s==0&&(e==45||e==38)||s==4){if(fi(this),this.c!=9)throw it(new Nr(qr((Pr(),h0e))));if(n=this.vl(!1),s==4)yy(r,n);else if(e==45)L_(r,n);else if(e==38)lhe(r,n);else throw it(new Vo("ASSERT"))}else throw it(new Nr(qr((Pr(),f0e))));return fi(this),r},l.xl=function(){var e,n;return e=this.a-48,n=(gi(),gi(),new krt(12,null,e)),!this.g&&(this.g=new ER),kR(this.g,new Spt(e)),fi(this),n},l.yl=function(){return fi(this),gi(),K5e},l.zl=function(){return fi(this),gi(),Y5e},l.Al=function(){throw it(new Nr(qr((Pr(),bh))))},l.Bl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Cl=function(){return fi(this),Gun()},l.Dl=function(){return fi(this),gi(),Q5e},l.El=function(){return fi(this),gi(),J5e},l.Fl=function(){var e;if(this.d>=this.j||((e=wa(this.i,this.d++))&65504)!=64)throw it(new Nr(qr((Pr(),a0e))));return fi(this),gi(),gi(),new Yd(0,e-64)},l.Gl=function(){return fi(this),Ayn()},l.Hl=function(){return fi(this),gi(),txe},l.Il=function(){var e;return e=(gi(),gi(),new Yd(0,105)),fi(this),e},l.Jl=function(){return fi(this),gi(),Z5e},l.Kl=function(){return fi(this),gi(),X5e},l.Ll=function(e,n){return this.tl()},l.Ml=function(){return fi(this),gi(),LLt},l.Nl=function(){var e,n,r,s,o;if(this.d+1>=this.j)throw it(new Nr(qr((Pr(),r0e))));if(s=-1,n=null,e=wa(this.i,this.d),49<=e&&e<=57){if(s=e-48,!this.g&&(this.g=new ER),kR(this.g,new Spt(s)),++this.d,wa(this.i,this.d)!=41)throw it(new Nr(qr((Pr(),I2))));++this.d}else switch(e==63&&--this.d,fi(this),n=Ixt(this),n.e){case 20:case 21:case 22:case 23:break;case 8:if(this.c!=7)throw it(new Nr(qr((Pr(),I2))));break;default:throw it(new Nr(qr((Pr(),i0e))))}if(fi(this),o=cv(this),r=null,o.e==2){if(o.em()!=2)throw it(new Nr(qr((Pr(),s0e))));r=o.am(1),o=o.am(0)}if(this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),gi(),gi(),new oee(s,n,o,r)},l.Ol=function(){return fi(this),gi(),MLt},l.Pl=function(){var e;if(fi(this),e=i$(24,cv(this)),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),e},l.Ql=function(){var e;if(fi(this),e=i$(20,cv(this)),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),e},l.Rl=function(){var e;if(fi(this),e=i$(22,cv(this)),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),e},l.Sl=function(){var e,n,r,s,o;for(e=0,r=0,n=-1;this.d=this.j)throw it(new Nr(qr((Pr(),D8t))));if(n==45){for(++this.d;this.d=this.j)throw it(new Nr(qr((Pr(),D8t))))}if(n==58){if(++this.d,fi(this),s=fXt(cv(this),e,r),this.c!=7)throw it(new Nr(qr((Pr(),I2))));fi(this)}else if(n==41)++this.d,fi(this),s=fXt(cv(this),e,r);else throw it(new Nr(qr((Pr(),n0e))));return s},l.Tl=function(){var e;if(fi(this),e=i$(21,cv(this)),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),e},l.Ul=function(){var e;if(fi(this),e=i$(23,cv(this)),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),e},l.Vl=function(){var e,n;if(fi(this),e=this.f++,n=Knt(cv(this),e),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),n},l.Wl=function(){var e;if(fi(this),e=Knt(cv(this),0),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),e},l.Xl=function(e){return fi(this),this.c==5?(fi(this),Yj(e,(gi(),gi(),new Xm(9,e)))):Yj(e,(gi(),gi(),new Xm(3,e)))},l.Yl=function(e){var n;return fi(this),n=(gi(),gi(),new d9(2)),this.c==5?(fi(this),E2(n,pA),E2(n,e)):(E2(n,e),E2(n,pA)),n},l.Zl=function(e){return fi(this),this.c==5?(fi(this),gi(),gi(),new Xm(9,e)):(gi(),gi(),new Xm(3,e))},l.a=0,l.b=0,l.c=0,l.d=0,l.e=0,l.f=1,l.g=null,l.j=0,F(Zg,"RegEx/RegexParser",820),D(1824,820,{},Vqt),l.sl=function(e){return!1},l.tl=function(){return H5t(this)},l.ul=function(e){return ME(e)},l.vl=function(e){return nfe(this)},l.wl=function(){throw it(new Nr(qr((Pr(),bh))))},l.xl=function(){throw it(new Nr(qr((Pr(),bh))))},l.yl=function(){throw it(new Nr(qr((Pr(),bh))))},l.zl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Al=function(){return fi(this),ME(67)},l.Bl=function(){return fi(this),ME(73)},l.Cl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Dl=function(){throw it(new Nr(qr((Pr(),bh))))},l.El=function(){throw it(new Nr(qr((Pr(),bh))))},l.Fl=function(){return fi(this),ME(99)},l.Gl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Hl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Il=function(){return fi(this),ME(105)},l.Jl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Kl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Ll=function(e,n){return yy(e,ME(n)),-1},l.Ml=function(){return fi(this),gi(),gi(),new Yd(0,94)},l.Nl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Ol=function(){return fi(this),gi(),gi(),new Yd(0,36)},l.Pl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Ql=function(){throw it(new Nr(qr((Pr(),bh))))},l.Rl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Sl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Tl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Ul=function(){throw it(new Nr(qr((Pr(),bh))))},l.Vl=function(){var e;if(fi(this),e=Knt(cv(this),0),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),e},l.Wl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Xl=function(e){return fi(this),Yj(e,(gi(),gi(),new Xm(3,e)))},l.Yl=function(e){var n;return fi(this),n=(gi(),gi(),new d9(2)),E2(n,e),E2(n,pA),n},l.Zl=function(e){return fi(this),gi(),gi(),new Xm(3,e)};var d5=null,$7=null;F(Zg,"RegEx/ParserForXMLSchema",1824),D(117,1,n7,yw),l.$l=function(e){throw it(new Vo("Not supported."))},l._l=function(){return-1},l.am=function(e){return null},l.bm=function(){return null},l.cm=function(e){},l.dm=function(e){},l.em=function(){return 0},l.Ib=function(){return this.fm(0)},l.fm=function(e){return this.e==11?".":""},l.e=0;var _Lt,z7,gA,W5e,SLt,s3=null,xU,Hft=null,ALt,pA,Vft=null,LLt,MLt,DLt,ILt,OLt,Y5e,ek,K5e,X5e,Q5e,Z5e,q7,J5e,txe,k6n=F(Zg,"RegEx/Token",117);D(136,117,{3:1,136:1,117:1},Nl),l.fm=function(e){var n,r,s;if(this.e==4)if(this==ALt)r=".";else if(this==xU)r="\\d";else if(this==q7)r="\\w";else if(this==ek)r="\\s";else{for(s=new Ag,s.a+="[",n=0;n0&&(s.a+=","),this.b[n]===this.b[n+1]?go(s,_I(this.b[n])):(go(s,_I(this.b[n])),s.a+="-",go(s,_I(this.b[n+1])));s.a+="]",r=s.a}else if(this==DLt)r="\\D";else if(this==OLt)r="\\W";else if(this==ILt)r="\\S";else{for(s=new Ag,s.a+="[^",n=0;n0&&(s.a+=","),this.b[n]===this.b[n+1]?go(s,_I(this.b[n])):(go(s,_I(this.b[n])),s.a+="-",go(s,_I(this.b[n+1])));s.a+="]",r=s.a}return r},l.a=!1,l.c=!1,F(Zg,"RegEx/RangeToken",136),D(584,1,{584:1},Spt),l.a=0,F(Zg,"RegEx/RegexParser/ReferencePosition",584),D(583,1,{3:1,583:1},eVt),l.Fb=function(e){var n;return e==null||!_t(e,583)?!1:(n=u(e,583),hn(this.b,n.b)&&this.a==n.a)},l.Hb=function(){return Vg(this.b+"/"+B5t(this.a))},l.Ib=function(){return this.c.fm(this.a)},l.a=0,F(Zg,"RegEx/RegularExpression",583),D(223,117,n7,Yd),l._l=function(){return this.a},l.fm=function(e){var n,r,s;switch(this.e){case 0:switch(this.a){case 124:case 42:case 43:case 63:case 40:case 41:case 46:case 91:case 123:case 92:s="\\"+knt(this.a&ys);break;case 12:s="\\f";break;case 10:s="\\n";break;case 13:s="\\r";break;case 9:s="\\t";break;case 27:s="\\e";break;default:this.a>=Ka?(r=(n=this.a>>>0,"0"+n.toString(16)),s="\\v"+Pl(r,r.length-6,r.length)):s=""+knt(this.a&ys)}break;case 8:this==LLt||this==MLt?s=""+knt(this.a&ys):s="\\"+knt(this.a&ys);break;default:s=null}return s},l.a=0,F(Zg,"RegEx/Token/CharToken",223),D(309,117,n7,Xm),l.am=function(e){return this.a},l.cm=function(e){this.b=e},l.dm=function(e){this.c=e},l.em=function(){return 1},l.fm=function(e){var n;if(this.e==3)if(this.c<0&&this.b<0)n=this.a.fm(e)+"*";else if(this.c==this.b)n=this.a.fm(e)+"{"+this.c+"}";else if(this.c>=0&&this.b>=0)n=this.a.fm(e)+"{"+this.c+","+this.b+"}";else if(this.c>=0&&this.b<0)n=this.a.fm(e)+"{"+this.c+",}";else throw it(new Vo("Token#toString(): CLOSURE "+this.c+Ya+this.b));else if(this.c<0&&this.b<0)n=this.a.fm(e)+"*?";else if(this.c==this.b)n=this.a.fm(e)+"{"+this.c+"}?";else if(this.c>=0&&this.b>=0)n=this.a.fm(e)+"{"+this.c+","+this.b+"}?";else if(this.c>=0&&this.b<0)n=this.a.fm(e)+"{"+this.c+",}?";else throw it(new Vo("Token#toString(): NONGREEDYCLOSURE "+this.c+Ya+this.b));return n},l.b=0,l.c=0,F(Zg,"RegEx/Token/ClosureToken",309),D(821,117,n7,mvt),l.am=function(e){return e==0?this.a:this.b},l.em=function(){return 2},l.fm=function(e){var n;return this.b.e==3&&this.b.am(0)==this.a?n=this.a.fm(e)+"+":this.b.e==9&&this.b.am(0)==this.a?n=this.a.fm(e)+"+?":n=this.a.fm(e)+(""+this.b.fm(e)),n},F(Zg,"RegEx/Token/ConcatToken",821),D(1822,117,n7,oee),l.am=function(e){if(e==0)return this.d;if(e==1)return this.b;throw it(new Vo("Internal Error: "+e))},l.em=function(){return this.b?2:1},l.fm=function(e){var n;return this.c>0?n="(?("+this.c+")":this.a.e==8?n="(?("+this.a+")":n="(?"+this.a,this.b?n+=this.d+"|"+this.b+")":n+=this.d+")",n},l.c=0,F(Zg,"RegEx/Token/ConditionToken",1822),D(1823,117,n7,oZt),l.am=function(e){return this.b},l.em=function(){return 1},l.fm=function(e){return"(?"+(this.a==0?"":B5t(this.a))+(this.c==0?"":B5t(this.c))+":"+this.b.fm(e)+")"},l.a=0,l.c=0,F(Zg,"RegEx/Token/ModifierToken",1823),D(822,117,n7,Cvt),l.am=function(e){return this.a},l.em=function(){return 1},l.fm=function(e){var n;switch(n=null,this.e){case 6:this.b==0?n="(?:"+this.a.fm(e)+")":n="("+this.a.fm(e)+")";break;case 20:n="(?="+this.a.fm(e)+")";break;case 21:n="(?!"+this.a.fm(e)+")";break;case 22:n="(?<="+this.a.fm(e)+")";break;case 23:n="(?"+this.a.fm(e)+")"}return n},l.b=0,F(Zg,"RegEx/Token/ParenToken",822),D(521,117,{3:1,117:1,521:1},krt),l.bm=function(){return this.b},l.fm=function(e){return this.e==12?"\\"+this.a:Nbn(this.b)},l.a=0,F(Zg,"RegEx/Token/StringToken",521),D(465,117,n7,d9),l.$l=function(e){E2(this,e)},l.am=function(e){return u(zw(this.a,e),117)},l.em=function(){return this.a?this.a.a.c.length:0},l.fm=function(e){var n,r,s,o,h;if(this.e==1){if(this.a.a.c.length==2)n=u(zw(this.a,0),117),r=u(zw(this.a,1),117),r.e==3&&r.am(0)==n?o=n.fm(e)+"+":r.e==9&&r.am(0)==n?o=n.fm(e)+"+?":o=n.fm(e)+(""+r.fm(e));else{for(h=new Ag,s=0;s=this.c.b:this.a<=this.c.b},l.Sb=function(){return this.b>0},l.Tb=function(){return this.b},l.Vb=function(){return this.b-1},l.Qb=function(){throw it(new Sg(Tge))},l.a=0,l.b=0,F(Z8t,"ExclusiveRange/RangeIterator",254);var xh=A8(FH,"C"),Cr=A8(rS,"I"),pl=A8(b6,"Z"),Ob=A8(iS,"J"),Gu=A8(tS,"B"),aa=A8(eS,"D"),a3=A8(nS,"F"),g5=A8(sS,"S"),E6n=Ki("org.eclipse.elk.core.labels","ILabelManager"),PLt=Ki(Ra,"DiagnosticChain"),FLt=Ki(Z0e,"ResourceSet"),NLt=F(Ra,"InvocationTargetException",null),nxe=(AR(),gan),rxe=rxe=r0n;ucn(nKe),Fcn("permProps",[[[YH,KH],[XH,"gecko1_8"]],[[YH,KH],[XH,"ie10"]],[[YH,KH],[XH,"ie8"]],[[YH,KH],[XH,"ie9"]],[[YH,KH],[XH,"safari"]]]),rxe(null,"elk",null)}).call(this)}).call(this,typeof b0<"u"?b0:typeof self<"u"?self:typeof window<"u"?window:{})},{}],3:[function(f,p,w){function m(I,B){if(!(I instanceof B))throw new TypeError("Cannot call a class as a function")}function b(I,B){if(!I)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return B&&(typeof B=="object"||typeof B=="function")?B:I}function E(I,B){if(typeof B!="function"&&B!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof B);I.prototype=Object.create(B&&B.prototype,{constructor:{value:I,enumerable:!1,writable:!0,configurable:!0}}),B&&(Object.setPrototypeOf?Object.setPrototypeOf(I,B):I.__proto__=B)}var _=f("./elk-api.js").default,A=function(I){E(B,I);function B(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};m(this,B);var R=Object.assign({},N),z=!1;try{f.resolve("web-worker"),z=!0}catch{}if(N.workerUrl)if(z){var W=f("web-worker");R.workerFactory=function(at){return new W(at)}}else console.warn(`Web worker requested but 'web-worker' package not installed. +Consider installing the package or pass your own 'workerFactory' to ELK's constructor. +... Falling back to non-web worker version.`);if(!R.workerFactory){var et=f("./elk-worker.min.js"),st=et.Worker;R.workerFactory=function(at){return new st(at)}}return b(this,(B.__proto__||Object.getPrototypeOf(B)).call(this,R))}return B}(_);Object.defineProperty(p.exports,"__esModule",{value:!0}),p.exports=A,A.default=A},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(f,p,w){p.exports=Worker},{}]},{},[3])(3)})})(Bjt);var oWe=Bjt.exports;const cWe=G7(oWe),Rjt=new cWe;let ow={};const uWe={};let q5={};const lWe=async function(i,a,f,p,w,m,b){const _=f.select(`[id="${a}"]`).insert("g").attr("class","nodes"),A=Object.keys(i);return await Promise.all(A.map(async function(I){const B=i[I];let N="default";B.classes.length>0&&(N=B.classes.join(" ")),N=N+" flowchart-label";const R=im(B.styles);let z=B.text!==void 0?B.text:B.id;const W={width:0,height:0},et=[{id:B.id+"-west",layoutOptions:{"port.side":"WEST"}},{id:B.id+"-east",layoutOptions:{"port.side":"EAST"}},{id:B.id+"-south",layoutOptions:{"port.side":"SOUTH"}},{id:B.id+"-north",layoutOptions:{"port.side":"NORTH"}}];let st=0,at="",bt={};switch(B.type){case"round":st=5,at="rect";break;case"square":at="rect";break;case"diamond":at="question",bt={portConstraints:"FIXED_SIDE"};break;case"hexagon":at="hexagon";break;case"odd":at="rect_left_inv_arrow";break;case"lean_right":at="lean_right";break;case"lean_left":at="lean_left";break;case"trapezoid":at="trapezoid";break;case"inv_trapezoid":at="inv_trapezoid";break;case"odd_right":at="rect_left_inv_arrow";break;case"circle":at="circle";break;case"ellipse":at="ellipse";break;case"stadium":at="stadium";break;case"subroutine":at="subroutine";break;case"cylinder":at="cylinder";break;case"group":at="rect";break;case"doublecircle":at="doublecircle";break;default:at="rect"}const mt={labelStyle:R.labelStyle,shape:at,labelText:z,labelType:B.labelType,rx:st,ry:st,class:N,style:R.style,id:B.id,link:B.link,linkTarget:B.linkTarget,tooltip:w.db.getTooltip(B.id)||"",domId:w.db.lookUpDomId(B.id),haveCallback:B.haveCallback,width:B.type==="group"?500:void 0,dir:B.dir,type:B.type,props:B.props,padding:Fd().flowchart.padding};let yt,ft;if(mt.type!=="group")ft=await kBt(_,mt,B.dir),yt=ft.node().getBBox();else{p.createElementNS("http://www.w3.org/2000/svg","text");const{shapeSvg:vt,bbox:X}=await Nd(_,mt,void 0,!0);W.width=X.width,W.wrappingWidth=Fd().flowchart.wrappingWidth,W.height=X.height,W.labelNode=vt.node(),mt.labelData=W}const ut={id:B.id,ports:B.type==="diamond"?et:[],layoutOptions:bt,labelText:z,labelData:W,domId:w.db.lookUpDomId(B.id),width:yt==null?void 0:yt.width,height:yt==null?void 0:yt.height,type:B.type,el:ft,parent:m.parentById[B.id]};q5[mt.id]=ut})),b},jjt=(i,a,f)=>{const p={TB:{in:{north:"north"},out:{south:"west",west:"east",east:"south"}},LR:{in:{west:"west"},out:{east:"south",south:"north",north:"east"}},RL:{in:{east:"east"},out:{west:"north",north:"south",south:"west"}},BT:{in:{south:"south"},out:{north:"east",east:"west",west:"north"}}};return p.TD=p.TB,Ut.info("abc88",f,a,i),p[f][a][i]},$jt=(i,a,f)=>{if(Ut.info("getNextPort abc88",{node:i,edgeDirection:a,graphDirection:f}),!ow[i])switch(f){case"TB":case"TD":ow[i]={inPosition:"north",outPosition:"south"};break;case"BT":ow[i]={inPosition:"south",outPosition:"north"};break;case"RL":ow[i]={inPosition:"east",outPosition:"west"};break;case"LR":ow[i]={inPosition:"west",outPosition:"east"};break}const p=a==="in"?ow[i].inPosition:ow[i].outPosition;return a==="in"?ow[i].inPosition=jjt(ow[i].inPosition,a,f):ow[i].outPosition=jjt(ow[i].outPosition,a,f),p},hWe=(i,a)=>{let f=i.start,p=i.end;const w=f,m=p,b=q5[f],E=q5[p];return!b||!E?{source:f,target:p}:(b.type==="diamond"&&(f=`${f}-${$jt(f,"out",a)}`),E.type==="diamond"&&(p=`${p}-${$jt(p,"in",a)}`),{source:f,target:p,sourceId:w,targetId:m})},fWe=function(i,a,f,p){Ut.info("abc78 edges = ",i);const w=p.insert("g").attr("class","edgeLabels");let m={},b=a.db.getDirection(),E,_;if(i.defaultStyle!==void 0){const A=im(i.defaultStyle);E=A.style,_=A.labelStyle}return i.forEach(function(A){const I="L-"+A.start+"-"+A.end;m[I]===void 0?(m[I]=0,Ut.info("abc78 new entry",I,m[I])):(m[I]++,Ut.info("abc78 new entry",I,m[I]));let B=I+"-"+m[I];Ut.info("abc78 new link id to be used is",I,B,m[I]);const N="LS-"+A.start,R="LE-"+A.end,z={style:"",labelStyle:""};switch(z.minlen=A.length||1,A.type==="arrow_open"?z.arrowhead="none":z.arrowhead="normal",z.arrowTypeStart="arrow_open",z.arrowTypeEnd="arrow_open",A.type){case"double_arrow_cross":z.arrowTypeStart="arrow_cross";case"arrow_cross":z.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":z.arrowTypeStart="arrow_point";case"arrow_point":z.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":z.arrowTypeStart="arrow_circle";case"arrow_circle":z.arrowTypeEnd="arrow_circle";break}let W="",et="";switch(A.stroke){case"normal":W="fill:none;",E!==void 0&&(W=E),_!==void 0&&(et=_),z.thickness="normal",z.pattern="solid";break;case"dotted":z.thickness="normal",z.pattern="dotted",z.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":z.thickness="thick",z.pattern="solid",z.style="stroke-width: 3.5px;fill:none;";break}if(A.style!==void 0){const ft=im(A.style);W=ft.style,et=ft.labelStyle}z.style=z.style+=W,z.labelStyle=z.labelStyle+=et,A.interpolate!==void 0?z.curve=ew(A.interpolate,cg):i.defaultInterpolate!==void 0?z.curve=ew(i.defaultInterpolate,cg):z.curve=ew(uWe.curve,cg),A.text===void 0?A.style!==void 0&&(z.arrowheadStyle="fill: #333"):(z.arrowheadStyle="fill: #333",z.labelpos="c"),z.labelType=A.labelType,z.label=A.text.replace(Kr.lineBreakRegex,` +`),A.style===void 0&&(z.style=z.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),z.labelStyle=z.labelStyle.replace("color:","fill:"),z.id=B,z.classes="flowchart-link "+N+" "+R;const st=_Bt(w,z),{source:at,target:bt,sourceId:mt,targetId:yt}=hWe(A,b);Ut.debug("abc78 source and target",at,bt),f.edges.push({id:"e"+A.start+A.end,sources:[at],targets:[bt],sourceId:mt,targetId:yt,labelEl:st,labels:[{width:z.width,height:z.height,orgWidth:z.width,orgHeight:z.height,text:z.label,layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}],edgeData:z})}),f},dWe=function(i,a,f,p,w){let m="";switch(p&&(m=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,m=m.replace(/\(/g,"\\("),m=m.replace(/\)/g,"\\)")),a.arrowTypeStart){case"arrow_cross":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-crossStart)");break;case"arrow_point":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-pointStart)");break;case"arrow_barb":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-barbStart)");break;case"arrow_circle":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-circleStart)");break;case"aggregation":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-aggregationStart)");break;case"extension":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-extensionStart)");break;case"composition":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-compositionStart)");break;case"dependency":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-dependencyStart)");break;case"lollipop":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-lollipopStart)");break}switch(a.arrowTypeEnd){case"arrow_cross":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-crossEnd)");break;case"arrow_point":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-pointEnd)");break;case"arrow_barb":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-barbEnd)");break;case"arrow_circle":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-circleEnd)");break;case"aggregation":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-aggregationEnd)");break;case"extension":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-extensionEnd)");break;case"composition":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-compositionEnd)");break;case"dependency":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-dependencyEnd)");break;case"lollipop":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-lollipopEnd)");break}},gWe=function(i,a){return Ut.info("Extracting classes"),a.db.getClasses()},pWe=function(i){const a={parentById:{},childrenById:{}},f=i.getSubGraphs();return Ut.info("Subgraphs - ",f),f.forEach(function(p){p.nodes.forEach(function(w){a.parentById[w]=p.id,a.childrenById[p.id]===void 0&&(a.childrenById[p.id]=[]),a.childrenById[p.id].push(w)})}),f.forEach(function(p){p.id,a.parentById[p.id]!==void 0&&a.parentById[p.id]}),a},bWe=function(i,a,f){const p=aWe(i,a,f);if(p===void 0||p==="root")return{x:0,y:0};const w=q5[p].offset;return{x:w.posX,y:w.posY}},wWe=function(i,a,f,p,w,m){const b=bWe(a.sourceId,a.targetId,w),E=a.sections[0].startPoint,_=a.sections[0].endPoint,I=(a.sections[0].bendPoints?a.sections[0].bendPoints:[]).map(bt=>[bt.x+b.x,bt.y+b.y]),B=[[E.x+b.x,E.y+b.y],...I,[_.x+b.x,_.y+b.y]],{x:N,y:R}=CBt(a.edgeData),z=E5().x(N).y(R).curve(cg),W=i.insert("path").attr("d",z(B)).attr("class","path "+f.classes).attr("fill","none"),et=i.insert("g").attr("class","edgeLabel"),st=yr(et.node().appendChild(a.labelEl)),at=st.node().firstChild.getBoundingClientRect();st.attr("width",at.width),st.attr("height",at.height),et.attr("transform",`translate(${a.labels[0].x+b.x}, ${a.labels[0].y+b.y})`),dWe(W,f,p.type,p.arrowMarkerAbsolute,m)},zjt=(i,a)=>{i.forEach(f=>{f.children||(f.children=[]);const p=a.childrenById[f.id];p&&p.forEach(w=>{f.children.push(q5[w])}),zjt(f.children,a)})},vWe=async function(i,a,f,p){var ut;p.db.clear(),q5={},ow={},p.db.setGen("gen-2"),p.parser.parse(i);const w=yr("body").append("div").attr("style","height:400px").attr("id","cy");let m={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","org.eclipse.elk.padding":"[top=100, left=100, bottom=110, right=110]","elk.layered.spacing.edgeNodeBetweenLayers":"30","elk.direction":"DOWN"},children:[],edges:[]};switch(Ut.info("Drawing flowchart using v3 renderer",Rjt),p.db.getDirection()){case"BT":m.layoutOptions["elk.direction"]="UP";break;case"TB":m.layoutOptions["elk.direction"]="DOWN";break;case"LR":m.layoutOptions["elk.direction"]="RIGHT";break;case"RL":m.layoutOptions["elk.direction"]="LEFT";break}const{securityLevel:E,flowchart:_}=Fd();let A;E==="sandbox"&&(A=yr("#i"+a));const I=yr(E==="sandbox"?A.nodes()[0].contentDocument.body:"body"),B=E==="sandbox"?A.nodes()[0].contentDocument:document,N=I.select(`[id="${a}"]`);PNt(N,["point","circle","cross"],p.type,a);const z=p.db.getVertices();let W;const et=p.db.getSubGraphs();Ut.info("Subgraphs - ",et);for(let vt=et.length-1;vt>=0;vt--)W=et[vt],p.db.addVertex(W.id,{text:W.title,type:W.labelType},"group",void 0,W.classes,W.dir);const st=N.insert("g").attr("class","subgraphs"),at=pWe(p.db);m=await lWe(z,a,I,B,p,at,m);const bt=N.insert("g").attr("class","edges edgePath"),mt=p.db.getEdges();m=fWe(mt,p,m,N),Object.keys(q5).forEach(vt=>{const X=q5[vt];X.parent||m.children.push(X),at.childrenById[vt]!==void 0&&(X.labels=[{text:X.labelText,layoutOptions:{"nodeLabels.placement":"[H_CENTER, V_TOP, INSIDE]"},width:X.labelData.width,height:X.labelData.height}],delete X.x,delete X.y,delete X.width,delete X.height)}),zjt(m.children,at),Ut.info("after layout",JSON.stringify(m,null,2));const ft=await Rjt.layout(m);qjt(0,0,ft.children,N,st,p,0),Ut.info("after layout",ft),(ut=ft.edges)==null||ut.map(vt=>{wWe(bt,vt,vt.edgeData,p,at,a)}),fT({},N,_.diagramPadding,_.useMaxWidth),w.remove()},qjt=(i,a,f,p,w,m,b)=>{f.forEach(function(E){if(E)if(q5[E.id].offset={posX:E.x+i,posY:E.y+a,x:i,y:a,depth:b,width:E.width,height:E.height},E.type==="group"){const _=w.insert("g").attr("class","subgraph");_.insert("rect").attr("class","subgraph subgraph-lvl-"+b%5+" node").attr("x",E.x+i).attr("y",E.y+a).attr("width",E.width).attr("height",E.height);const A=_.insert("g").attr("class","label"),I=Fd().flowchart.htmlLabels?E.labelData.width/2:0;A.attr("transform",`translate(${E.labels[0].x+i+E.x+I}, ${E.labels[0].y+a+E.y+3})`),A.node().appendChild(E.labelData.labelNode),Ut.info("Id (UGH)= ",E.type,E.labels)}else Ut.info("Id (UGH)= ",E.id),E.el.attr("transform",`translate(${E.x+i+E.width/2}, ${E.y+a+E.height/2})`)}),f.forEach(function(E){E&&E.type==="group"&&qjt(i+E.x,a+E.y,E.children,p,w,m,b+1)})},mWe={getClasses:gWe,draw:vWe},yWe=i=>{let a="";for(let f=0;f<5;f++)a+=` + .subgraph-lvl-${f} { + fill: ${i[`surface${f}`]}; + stroke: ${i[`surfacePeer${f}`]}; + } + `;return a},xWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{db:lIe,renderer:mWe,parser:Hdt,styles:i=>`.label { + font-family: ${i.fontFamily}; + color: ${i.nodeTextColor||i.textColor}; + } + .cluster-label text { + fill: ${i.titleColor}; + } + .cluster-label span { + color: ${i.titleColor}; + } + + .label text,span { + fill: ${i.nodeTextColor||i.textColor}; + color: ${i.nodeTextColor||i.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.85; + background-color: ${i.edgeLabelBackground}; + fill: ${i.edgeLabelBackground}; + } + text-align: center; + } + + .cluster rect { + fill: ${i.clusterBkg}; + stroke: ${i.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${i.titleColor}; + } + + .cluster span { + color: ${i.titleColor}; + } + /* .cluster div { + color: ${i.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${i.fontFamily}; + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } + .subgraph { + stroke-width:2; + rx:3; + } + // .subgraph-lvl-1 { + // fill:#ccc; + // // stroke:black; + // } + + .flowchart-label text { + text-anchor: middle; + } + + ${yWe(i)} +`}},Symbol.toStringTag,{value:"Module"}));var Ygt=function(){var i=function(N,R,z,W){for(z=z||{},W=N.length;W--;z[N[W]]=R);return z},a=[6,8,10,11,12,14,16,17,20,21],f=[1,9],p=[1,10],w=[1,11],m=[1,12],b=[1,13],E=[1,16],_=[1,17],A={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:function(R,z,W,et,st,at,bt){var mt=at.length-1;switch(st){case 1:return at[mt-1];case 2:this.$=[];break;case 3:at[mt-1].push(at[mt]),this.$=at[mt-1];break;case 4:case 5:this.$=at[mt];break;case 6:case 7:this.$=[];break;case 8:et.getCommonDb().setDiagramTitle(at[mt].substr(6)),this.$=at[mt].substr(6);break;case 9:this.$=at[mt].trim(),et.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=at[mt].trim(),et.getCommonDb().setAccDescription(this.$);break;case 12:et.addSection(at[mt].substr(8)),this.$=at[mt].substr(8);break;case 15:et.addTask(at[mt],0,""),this.$=at[mt];break;case 16:et.addEvent(at[mt].substr(2)),this.$=at[mt];break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:f,12:p,14:w,16:m,17:b,18:14,19:15,20:E,21:_},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:18,11:f,12:p,14:w,16:m,17:b,18:14,19:15,20:E,21:_},i(a,[2,5]),i(a,[2,6]),i(a,[2,8]),{13:[1,19]},{15:[1,20]},i(a,[2,11]),i(a,[2,12]),i(a,[2,13]),i(a,[2,14]),i(a,[2,15]),i(a,[2,16]),i(a,[2,4]),i(a,[2,9]),i(a,[2,10])],defaultActions:{},parseError:function(R,z){if(z.recoverable)this.trace(R);else{var W=new Error(R);throw W.hash=z,W}},parse:function(R){var z=this,W=[0],et=[],st=[null],at=[],bt=this.table,mt="",yt=0,ft=0,ut=2,vt=1,X=at.slice.call(arguments,1),pt=Object.create(this.lexer),U={yy:{}};for(var Tt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Tt)&&(U.yy[Tt]=this.yy[Tt]);pt.setInput(R,U.yy),U.yy.lexer=pt,U.yy.parser=this,typeof pt.yylloc>"u"&&(pt.yylloc={});var nt=pt.yylloc;at.push(nt);var It=pt.options&&pt.options.ranges;typeof U.yy.parseError=="function"?this.parseError=U.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ot(){var me;return me=et.pop()||pt.lex()||vt,typeof me!="number"&&(me instanceof Array&&(et=me,me=et.pop()),me=z.symbols_[me]||me),me}for(var Bt,Et,Z,Ct,xt={},Ht,Le,Ft,gn;;){if(Et=W[W.length-1],this.defaultActions[Et]?Z=this.defaultActions[Et]:((Bt===null||typeof Bt>"u")&&(Bt=Ot()),Z=bt[Et]&&bt[Et][Bt]),typeof Z>"u"||!Z.length||!Z[0]){var Se="";gn=[];for(Ht in bt[Et])this.terminals_[Ht]&&Ht>ut&&gn.push("'"+this.terminals_[Ht]+"'");pt.showPosition?Se="Parse error on line "+(yt+1)+`: +`+pt.showPosition()+` +Expecting `+gn.join(", ")+", got '"+(this.terminals_[Bt]||Bt)+"'":Se="Parse error on line "+(yt+1)+": Unexpected "+(Bt==vt?"end of input":"'"+(this.terminals_[Bt]||Bt)+"'"),this.parseError(Se,{text:pt.match,token:this.terminals_[Bt]||Bt,line:pt.yylineno,loc:nt,expected:gn})}if(Z[0]instanceof Array&&Z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Et+", token: "+Bt);switch(Z[0]){case 1:W.push(Bt),st.push(pt.yytext),at.push(pt.yylloc),W.push(Z[1]),Bt=null,ft=pt.yyleng,mt=pt.yytext,yt=pt.yylineno,nt=pt.yylloc;break;case 2:if(Le=this.productions_[Z[1]][1],xt.$=st[st.length-Le],xt._$={first_line:at[at.length-(Le||1)].first_line,last_line:at[at.length-1].last_line,first_column:at[at.length-(Le||1)].first_column,last_column:at[at.length-1].last_column},It&&(xt._$.range=[at[at.length-(Le||1)].range[0],at[at.length-1].range[1]]),Ct=this.performAction.apply(xt,[mt,ft,yt,U.yy,Z[1],st,at].concat(X)),typeof Ct<"u")return Ct;Le&&(W=W.slice(0,-1*Le*2),st=st.slice(0,-1*Le),at=at.slice(0,-1*Le)),W.push(this.productions_[Z[1]][0]),st.push(xt.$),at.push(xt._$),Ft=bt[W[W.length-2]][W[W.length-1]],W.push(Ft);break;case 3:return!0}}return!0}},I=function(){var N={EOF:1,parseError:function(z,W){if(this.yy.parser)this.yy.parser.parseError(z,W);else throw new Error(z)},setInput:function(R,z){return this.yy=z||this.yy||{},this._input=R,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var R=this._input[0];this.yytext+=R,this.yyleng++,this.offset++,this.match+=R,this.matched+=R;var z=R.match(/(?:\r\n?|\n).*/g);return z?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),R},unput:function(R){var z=R.length,W=R.split(/(?:\r\n?|\n)/g);this._input=R+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-z),this.offset-=z;var et=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),W.length-1&&(this.yylineno-=W.length-1);var st=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:W?(W.length===et.length?this.yylloc.first_column:0)+et[et.length-W.length].length-W[0].length:this.yylloc.first_column-z},this.options.ranges&&(this.yylloc.range=[st[0],st[0]+this.yyleng-z]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(R){this.unput(this.match.slice(R))},pastInput:function(){var R=this.matched.substr(0,this.matched.length-this.match.length);return(R.length>20?"...":"")+R.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var R=this.match;return R.length<20&&(R+=this._input.substr(0,20-R.length)),(R.substr(0,20)+(R.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var R=this.pastInput(),z=new Array(R.length+1).join("-");return R+this.upcomingInput()+` +`+z+"^"},test_match:function(R,z){var W,et,st;if(this.options.backtrack_lexer&&(st={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(st.yylloc.range=this.yylloc.range.slice(0))),et=R[0].match(/(?:\r\n?|\n).*/g),et&&(this.yylineno+=et.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:et?et[et.length-1].length-et[et.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+R[0].length},this.yytext+=R[0],this.match+=R[0],this.matches=R,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(R[0].length),this.matched+=R[0],W=this.performAction.call(this,this.yy,this,z,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),W)return W;if(this._backtrack){for(var at in st)this[at]=st[at];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var R,z,W,et;this._more||(this.yytext="",this.match="");for(var st=this._currentRules(),at=0;atz[0].length)){if(z=W,et=at,this.options.backtrack_lexer){if(R=this.test_match(W,st[at]),R!==!1)return R;if(this._backtrack){z=!1;continue}else return!1}else if(!this.options.flex)break}return z?(R=this.test_match(z,st[et]),R!==!1?R:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var z=this.next();return z||this.lex()},begin:function(z){this.conditionStack.push(z)},popState:function(){var z=this.conditionStack.length-1;return z>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(z){return z=this.conditionStack.length-1-Math.abs(z||0),z>=0?this.conditionStack[z]:"INITIAL"},pushState:function(z){this.begin(z)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(z,W,et,st){switch(et){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?::\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};return N}();A.lexer=I;function B(){this.yy={}}return B.prototype=A,A.Parser=B,new B}();Ygt.parser=Ygt;const kWe=Ygt;let yL="",Hjt=0;const Kgt=[],eK=[],xL=[],Vjt=()=>_Ot,Gjt=function(){Kgt.length=0,eK.length=0,yL="",xL.length=0,hg()},Ujt=function(i){yL=i,Kgt.push(i)},Wjt=function(){return Kgt},Yjt=function(){let i=Zjt();const a=100;let f=0;for(;!i&&ff.id===Hjt-1).events.push(i)},Qjt=function(i){const a={section:yL,type:yL,description:i,task:i,classes:[]};eK.push(a)},Zjt=function(){const i=function(f){return xL[f].processed};let a=!0;for(const[f,p]of xL.entries())i(f),a=a&&p.processed;return a},EWe=Object.freeze(Object.defineProperty({__proto__:null,addEvent:Xjt,addSection:Ujt,addTask:Kjt,addTaskOrg:Qjt,clear:Gjt,default:{clear:Gjt,getCommonDb:Vjt,addSection:Ujt,getSections:Wjt,getTasks:Yjt,addTask:Kjt,addTaskOrg:Qjt,addEvent:Xjt},getCommonDb:Vjt,getSections:Wjt,getTasks:Yjt},Symbol.toStringTag,{value:"Module"})),TWe=12,nK=function(i,a){const f=i.append("rect");return f.attr("x",a.x),f.attr("y",a.y),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("width",a.width),f.attr("height",a.height),f.attr("rx",a.rx),f.attr("ry",a.ry),a.class!==void 0&&f.attr("class",a.class),f},CWe=function(i,a){const p=i.append("circle").attr("cx",a.cx).attr("cy",a.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),w=i.append("g");w.append("circle").attr("cx",a.cx-15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),w.append("circle").attr("cx",a.cx+15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function m(_){const A=OA().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",A).attr("transform","translate("+a.cx+","+(a.cy+2)+")")}function b(_){const A=OA().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",A).attr("transform","translate("+a.cx+","+(a.cy+7)+")")}function E(_){_.append("line").attr("class","mouth").attr("stroke",2).attr("x1",a.cx-5).attr("y1",a.cy+7).attr("x2",a.cx+5).attr("y2",a.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return a.score>3?m(w):a.score<3?b(w):E(w),p},_We=function(i,a){const f=i.append("circle");return f.attr("cx",a.cx),f.attr("cy",a.cy),f.attr("class","actor-"+a.pos),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("r",a.r),f.class!==void 0&&f.attr("class",f.class),a.title!==void 0&&f.append("title").text(a.title),f},Jjt=function(i,a){const f=a.text.replace(//gi," "),p=i.append("text");p.attr("x",a.x),p.attr("y",a.y),p.attr("class","legend"),p.style("text-anchor",a.anchor),a.class!==void 0&&p.attr("class",a.class);const w=p.append("tspan");return w.attr("x",a.x+a.textMargin*2),w.text(f),p},SWe=function(i,a){function f(w,m,b,E,_){return w+","+m+" "+(w+b)+","+m+" "+(w+b)+","+(m+E-_)+" "+(w+b-_*1.2)+","+(m+E)+" "+w+","+(m+E)}const p=i.append("polygon");p.attr("points",f(a.x,a.y,50,20,7)),p.attr("class","labelBox"),a.y=a.y+a.labelMargin,a.x=a.x+.5*a.labelMargin,Jjt(i,a)},AWe=function(i,a,f){const p=i.append("g"),w=Xgt();w.x=a.x,w.y=a.y,w.fill=a.fill,w.width=f.width,w.height=f.height,w.class="journey-section section-type-"+a.num,w.rx=3,w.ry=3,nK(p,w),e$t(f)(a.text,p,w.x,w.y,w.width,w.height,{class:"journey-section section-type-"+a.num},f,a.colour)};let t$t=-1;const LWe=function(i,a,f){const p=a.x+f.width/2,w=i.append("g");t$t++;const m=300+5*30;w.append("line").attr("id","task"+t$t).attr("x1",p).attr("y1",a.y).attr("x2",p).attr("y2",m).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),CWe(w,{cx:p,cy:300+(5-a.score)*30,score:a.score});const b=Xgt();b.x=a.x,b.y=a.y,b.fill=a.fill,b.width=f.width,b.height=f.height,b.class="task task-type-"+a.num,b.rx=3,b.ry=3,nK(w,b),a.x+14,e$t(f)(a.task,w,b.x,b.y,b.width,b.height,{class:"task"},f,a.colour)},MWe=function(i,a){nK(i,{x:a.startx,y:a.starty,width:a.stopx-a.startx,height:a.stopy-a.starty,fill:a.fill,class:"rect"}).lower()},DWe=function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},Xgt=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},e$t=function(){function i(w,m,b,E,_,A,I,B){const N=m.append("text").attr("x",b+_/2).attr("y",E+A/2+5).style("font-color",B).style("text-anchor","middle").text(w);p(N,I)}function a(w,m,b,E,_,A,I,B,N){const{taskFontSize:R,taskFontFamily:z}=B,W=w.split(//gi);for(let et=0;et)/).reverse(),w,m=[],b=1.1,E=f.attr("y"),_=parseFloat(f.attr("dy")),A=f.text(null).append("tspan").attr("x",0).attr("y",E).attr("dy",_+"em");for(let I=0;Ia||w==="
")&&(m.pop(),A.text(m.join(" ").trim()),w==="
"?m=[""]:m=[w],A=f.append("tspan").attr("x",0).attr("y",E).attr("dy",b+"em").text(w))})}const OWe=function(i,a,f,p){const w=f%TWe-1,m=i.append("g");a.section=w,m.attr("class",(a.class?a.class+" ":"")+"timeline-node "+("section-"+w));const b=m.append("g"),E=m.append("g"),A=E.append("text").text(a.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(n$t,a.width).node().getBBox(),I=p.fontSize&&p.fontSize.replace?p.fontSize.replace("px",""):p.fontSize;return a.height=A.height+I*1.1*.5+a.padding,a.height=Math.max(a.height,a.maxHeight),a.width=a.width+2*a.padding,E.attr("transform","translate("+a.width/2+", "+a.padding/2+")"),FWe(b,a,w),a},PWe=function(i,a,f){const p=i.append("g"),m=p.append("text").text(a.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(n$t,a.width).node().getBBox(),b=f.fontSize&&f.fontSize.replace?f.fontSize.replace("px",""):f.fontSize;return p.remove(),m.height+b*1.1*.5+a.padding},FWe=function(i,a,f){i.append("path").attr("id","node-"+a.id).attr("class","node-bkg node-"+a.type).attr("d",`M0 ${a.height-5} v${-a.height+2*5} q0,-5 5,-5 h${a.width-2*5} q5,0 5,5 v${a.height-5} H0 Z`),i.append("line").attr("class","node-line-"+f).attr("x1",0).attr("y1",a.height).attr("x2",a.width).attr("y2",a.height)},DT={drawRect:nK,drawCircle:_We,drawSection:AWe,drawText:Jjt,drawLabel:SWe,drawTask:LWe,drawBackgroundRect:MWe,getTextObj:DWe,getNoteRect:Xgt,initGraphics:IWe,drawNode:OWe,getVirtualNodeHeight:PWe},NWe=function(i,a,f,p){var X,pt;const w=Oe(),m=w.leftMargin??50;Ut.debug("timeline",p.db);const b=w.securityLevel;let E;b==="sandbox"&&(E=yr("#i"+a));const A=yr(b==="sandbox"?E.nodes()[0].contentDocument.body:"body").select("#"+a);A.append("g");const I=p.db.getTasks(),B=p.db.getCommonDb().getDiagramTitle();Ut.debug("task",I),DT.initGraphics(A);const N=p.db.getSections();Ut.debug("sections",N);let R=0,z=0,W=0,et=0,st=50+m,at=50;et=50;let bt=0,mt=!0;N.forEach(function(U){const Tt={number:bt,descr:U,section:bt,width:150,padding:20,maxHeight:R},nt=DT.getVirtualNodeHeight(A,Tt,w);Ut.debug("sectionHeight before draw",nt),R=Math.max(R,nt+20)});let yt=0,ft=0;Ut.debug("tasks.length",I.length);for(const[U,Tt]of I.entries()){const nt={number:U,descr:Tt,section:Tt.section,width:150,padding:20,maxHeight:z},It=DT.getVirtualNodeHeight(A,nt,w);Ut.debug("taskHeight before draw",It),z=Math.max(z,It+20),yt=Math.max(yt,Tt.events.length);let Ot=0;for(let Bt=0;Bt0?N.forEach(U=>{const Tt=I.filter(Bt=>Bt.section===U),nt={number:bt,descr:U,section:bt,width:200*Math.max(Tt.length,1)-50,padding:20,maxHeight:R};Ut.debug("sectionNode",nt);const It=A.append("g"),Ot=DT.drawNode(It,nt,bt,w);Ut.debug("sectionNode output",Ot),It.attr("transform",`translate(${st}, ${et})`),at+=R+50,Tt.length>0&&r$t(A,Tt,bt,st,at,z,w,yt,ft,R,!1),st+=200*Math.max(Tt.length,1),at=et,bt++}):(mt=!1,r$t(A,I,bt,st,at,z,w,yt,ft,R,!0));const ut=A.node().getBBox();Ut.debug("bounds",ut),B&&A.append("text").text(B).attr("x",ut.width/2-m).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),W=mt?R+z+150:z+100,A.append("g").attr("class","lineWrapper").append("line").attr("x1",m).attr("y1",W).attr("x2",ut.width+3*m).attr("y2",W).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),fT(void 0,A,((X=w.timeline)==null?void 0:X.padding)??50,((pt=w.timeline)==null?void 0:pt.useMaxWidth)??!1)},r$t=function(i,a,f,p,w,m,b,E,_,A,I){var B;for(const N of a){const R={descr:N.task,section:f,number:f,width:150,padding:20,maxHeight:m};Ut.debug("taskNode",R);const z=i.append("g").attr("class","taskWrapper"),et=DT.drawNode(z,R,f,b).height;if(Ut.debug("taskHeight after draw",et),z.attr("transform",`translate(${p}, ${w})`),m=Math.max(m,et),N.events){const st=i.append("g").attr("class","lineWrapper");let at=m;w+=100,at=at+BWe(i,N.events,f,p,w,b),w-=100,st.append("line").attr("x1",p+190/2).attr("y1",w+m).attr("x2",p+190/2).attr("y2",w+m+(I?m:A)+_+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}p=p+200,I&&!((B=b.timeline)!=null&&B.disableMulticolor)&&f++}w=w-10},BWe=function(i,a,f,p,w,m){let b=0;const E=w;w=w+100;for(const _ of a){const A={descr:_,section:f,number:f,width:150,padding:20,maxHeight:50};Ut.debug("eventNode",A);const I=i.append("g").attr("class","eventWrapper"),N=DT.drawNode(I,A,f,m).height;b=b+N,I.attr("transform",`translate(${p}, ${w})`),w=w+10+N}return w=E,b},RWe={setConf:()=>{},draw:NWe},jWe=i=>{let a="";for(let f=0;f` + .edge { + stroke-width: 3; + } + ${jWe(i)} + .section-root rect, .section-root path, .section-root circle { + fill: ${i.git0}; + } + .section-root text { + fill: ${i.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .eventWrapper { + filter: brightness(120%); + } +`}},Symbol.toStringTag,{value:"Module"}));var Qgt=function(){var i=function(mt,yt,ft,ut){for(ft=ft||{},ut=mt.length;ut--;ft[mt[ut]]=yt);return ft},a=[1,4],f=[1,13],p=[1,12],w=[1,15],m=[1,16],b=[1,20],E=[1,19],_=[6,7,8],A=[1,26],I=[1,24],B=[1,25],N=[6,7,11],R=[1,6,13,15,16,19,22],z=[1,33],W=[1,34],et=[1,6,7,11,13,15,16,19,22],st={trace:function(){},yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:function(yt,ft,ut,vt,X,pt,U){var Tt=pt.length-1;switch(X){case 6:case 7:return vt;case 8:vt.getLogger().trace("Stop NL ");break;case 9:vt.getLogger().trace("Stop EOF ");break;case 11:vt.getLogger().trace("Stop NL2 ");break;case 12:vt.getLogger().trace("Stop EOF2 ");break;case 15:vt.getLogger().info("Node: ",pt[Tt].id),vt.addNode(pt[Tt-1].length,pt[Tt].id,pt[Tt].descr,pt[Tt].type);break;case 16:vt.getLogger().trace("Icon: ",pt[Tt]),vt.decorateNode({icon:pt[Tt]});break;case 17:case 21:vt.decorateNode({class:pt[Tt]});break;case 18:vt.getLogger().trace("SPACELIST");break;case 19:vt.getLogger().trace("Node: ",pt[Tt].id),vt.addNode(0,pt[Tt].id,pt[Tt].descr,pt[Tt].type);break;case 20:vt.decorateNode({icon:pt[Tt]});break;case 25:vt.getLogger().trace("node found ..",pt[Tt-2]),this.$={id:pt[Tt-1],descr:pt[Tt-1],type:vt.getType(pt[Tt-2],pt[Tt])};break;case 26:this.$={id:pt[Tt],descr:pt[Tt],type:vt.nodeType.DEFAULT};break;case 27:vt.getLogger().trace("node found ..",pt[Tt-3]),this.$={id:pt[Tt-3],descr:pt[Tt-1],type:vt.getType(pt[Tt-2],pt[Tt])};break}},table:[{3:1,4:2,5:3,6:[1,5],8:a},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:a},{6:f,7:[1,10],9:9,12:11,13:p,14:14,15:w,16:m,17:17,18:18,19:b,22:E},i(_,[2,3]),{1:[2,2]},i(_,[2,4]),i(_,[2,5]),{1:[2,6],6:f,12:21,13:p,14:14,15:w,16:m,17:17,18:18,19:b,22:E},{6:f,9:22,12:11,13:p,14:14,15:w,16:m,17:17,18:18,19:b,22:E},{6:A,7:I,10:23,11:B},i(N,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:b,22:E}),i(N,[2,18]),i(N,[2,19]),i(N,[2,20]),i(N,[2,21]),i(N,[2,23]),i(N,[2,24]),i(N,[2,26],{19:[1,30]}),{20:[1,31]},{6:A,7:I,10:32,11:B},{1:[2,7],6:f,12:21,13:p,14:14,15:w,16:m,17:17,18:18,19:b,22:E},i(R,[2,14],{7:z,11:W}),i(et,[2,8]),i(et,[2,9]),i(et,[2,10]),i(N,[2,15]),i(N,[2,16]),i(N,[2,17]),{20:[1,35]},{21:[1,36]},i(R,[2,13],{7:z,11:W}),i(et,[2,11]),i(et,[2,12]),{21:[1,37]},i(N,[2,25]),i(N,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:function(yt,ft){if(ft.recoverable)this.trace(yt);else{var ut=new Error(yt);throw ut.hash=ft,ut}},parse:function(yt){var ft=this,ut=[0],vt=[],X=[null],pt=[],U=this.table,Tt="",nt=0,It=0,Ot=2,Bt=1,Et=pt.slice.call(arguments,1),Z=Object.create(this.lexer),Ct={yy:{}};for(var xt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xt)&&(Ct.yy[xt]=this.yy[xt]);Z.setInput(yt,Ct.yy),Ct.yy.lexer=Z,Ct.yy.parser=this,typeof Z.yylloc>"u"&&(Z.yylloc={});var Ht=Z.yylloc;pt.push(Ht);var Le=Z.options&&Z.options.ranges;typeof Ct.yy.parseError=="function"?this.parseError=Ct.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ft(){var Pe;return Pe=vt.pop()||Z.lex()||Bt,typeof Pe!="number"&&(Pe instanceof Array&&(vt=Pe,Pe=vt.pop()),Pe=ft.symbols_[Pe]||Pe),Pe}for(var gn,Se,me,Ve,Ye={},ce,ke,zt,re;;){if(Se=ut[ut.length-1],this.defaultActions[Se]?me=this.defaultActions[Se]:((gn===null||typeof gn>"u")&&(gn=Ft()),me=U[Se]&&U[Se][gn]),typeof me>"u"||!me.length||!me[0]){var se="";re=[];for(ce in U[Se])this.terminals_[ce]&&ce>Ot&&re.push("'"+this.terminals_[ce]+"'");Z.showPosition?se="Parse error on line "+(nt+1)+`: +`+Z.showPosition()+` +Expecting `+re.join(", ")+", got '"+(this.terminals_[gn]||gn)+"'":se="Parse error on line "+(nt+1)+": Unexpected "+(gn==Bt?"end of input":"'"+(this.terminals_[gn]||gn)+"'"),this.parseError(se,{text:Z.match,token:this.terminals_[gn]||gn,line:Z.yylineno,loc:Ht,expected:re})}if(me[0]instanceof Array&&me.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Se+", token: "+gn);switch(me[0]){case 1:ut.push(gn),X.push(Z.yytext),pt.push(Z.yylloc),ut.push(me[1]),gn=null,It=Z.yyleng,Tt=Z.yytext,nt=Z.yylineno,Ht=Z.yylloc;break;case 2:if(ke=this.productions_[me[1]][1],Ye.$=X[X.length-ke],Ye._$={first_line:pt[pt.length-(ke||1)].first_line,last_line:pt[pt.length-1].last_line,first_column:pt[pt.length-(ke||1)].first_column,last_column:pt[pt.length-1].last_column},Le&&(Ye._$.range=[pt[pt.length-(ke||1)].range[0],pt[pt.length-1].range[1]]),Ve=this.performAction.apply(Ye,[Tt,It,nt,Ct.yy,me[1],X,pt].concat(Et)),typeof Ve<"u")return Ve;ke&&(ut=ut.slice(0,-1*ke*2),X=X.slice(0,-1*ke),pt=pt.slice(0,-1*ke)),ut.push(this.productions_[me[1]][0]),X.push(Ye.$),pt.push(Ye._$),zt=U[ut[ut.length-2]][ut[ut.length-1]],ut.push(zt);break;case 3:return!0}}return!0}},at=function(){var mt={EOF:1,parseError:function(ft,ut){if(this.yy.parser)this.yy.parser.parseError(ft,ut);else throw new Error(ft)},setInput:function(yt,ft){return this.yy=ft||this.yy||{},this._input=yt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var yt=this._input[0];this.yytext+=yt,this.yyleng++,this.offset++,this.match+=yt,this.matched+=yt;var ft=yt.match(/(?:\r\n?|\n).*/g);return ft?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),yt},unput:function(yt){var ft=yt.length,ut=yt.split(/(?:\r\n?|\n)/g);this._input=yt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ft),this.offset-=ft;var vt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ut.length-1&&(this.yylineno-=ut.length-1);var X=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ut?(ut.length===vt.length?this.yylloc.first_column:0)+vt[vt.length-ut.length].length-ut[0].length:this.yylloc.first_column-ft},this.options.ranges&&(this.yylloc.range=[X[0],X[0]+this.yyleng-ft]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(yt){this.unput(this.match.slice(yt))},pastInput:function(){var yt=this.matched.substr(0,this.matched.length-this.match.length);return(yt.length>20?"...":"")+yt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var yt=this.match;return yt.length<20&&(yt+=this._input.substr(0,20-yt.length)),(yt.substr(0,20)+(yt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var yt=this.pastInput(),ft=new Array(yt.length+1).join("-");return yt+this.upcomingInput()+` +`+ft+"^"},test_match:function(yt,ft){var ut,vt,X;if(this.options.backtrack_lexer&&(X={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(X.yylloc.range=this.yylloc.range.slice(0))),vt=yt[0].match(/(?:\r\n?|\n).*/g),vt&&(this.yylineno+=vt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:vt?vt[vt.length-1].length-vt[vt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+yt[0].length},this.yytext+=yt[0],this.match+=yt[0],this.matches=yt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(yt[0].length),this.matched+=yt[0],ut=this.performAction.call(this,this.yy,this,ft,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ut)return ut;if(this._backtrack){for(var pt in X)this[pt]=X[pt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var yt,ft,ut,vt;this._more||(this.yytext="",this.match="");for(var X=this._currentRules(),pt=0;ptft[0].length)){if(ft=ut,vt=pt,this.options.backtrack_lexer){if(yt=this.test_match(ut,X[pt]),yt!==!1)return yt;if(this._backtrack){ft=!1;continue}else return!1}else if(!this.options.flex)break}return ft?(yt=this.test_match(ft,X[vt]),yt!==!1?yt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ft=this.next();return ft||this.lex()},begin:function(ft){this.conditionStack.push(ft)},popState:function(){var ft=this.conditionStack.length-1;return ft>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ft){return ft=this.conditionStack.length-1-Math.abs(ft||0),ft>=0?this.conditionStack[ft]:"INITIAL"},pushState:function(ft){this.begin(ft)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ft,ut,vt,X){switch(vt){case 0:return ft.getLogger().trace("Found comment",ut.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:ft.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return ft.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:ft.getLogger().trace("end icon"),this.popState();break;case 10:return ft.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return ft.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return ft.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return ft.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:ft.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return ft.getLogger().trace("description:",ut.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),ft.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),ft.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),ft.getLogger().trace("node end ...",ut.yytext),"NODE_DEND";case 30:return this.popState(),ft.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),ft.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),ft.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),ft.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),ft.getLogger().trace("node end (("),"NODE_DEND";case 35:return ft.getLogger().trace("Long description:",ut.yytext),20;case 36:return ft.getLogger().trace("Long description:",ut.yytext),20}},rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return mt}();st.lexer=at;function bt(){this.yy={}}return bt.prototype=st,st.Parser=bt,new bt}();Qgt.parser=Qgt;const zWe=Qgt,rN=i=>Q1(i,Oe());let cw=[],i$t=0,Zgt={};const qWe=()=>{cw=[],i$t=0,Zgt={}},HWe=function(i){for(let a=cw.length-1;a>=0;a--)if(cw[a].levelcw.length>0?cw[0]:null,GWe=(i,a,f,p)=>{Ut.info("addNode",i,a,f,p);const w=Oe(),m={id:i$t++,nodeId:rN(a),level:i,descr:rN(f),type:p,children:[],width:Oe().mindmap.maxNodeWidth};switch(m.type){case Uu.ROUNDED_RECT:m.padding=2*w.mindmap.padding;break;case Uu.RECT:m.padding=2*w.mindmap.padding;break;case Uu.HEXAGON:m.padding=2*w.mindmap.padding;break;default:m.padding=w.mindmap.padding}const b=HWe(i);if(b)b.children.push(m),cw.push(m);else if(cw.length===0)cw.push(m);else{let E=new Error('There can be only one root. No parent could be found for ("'+m.descr+'")');throw E.hash={text:"branch "+name,token:"branch "+name,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+name+'"']},E}},Uu={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},UWe=(i,a)=>{switch(Ut.debug("In get type",i,a),i){case"[":return Uu.RECT;case"(":return a===")"?Uu.ROUNDED_RECT:Uu.CLOUD;case"((":return Uu.CIRCLE;case")":return Uu.CLOUD;case"))":return Uu.BANG;case"{{":return Uu.HEXAGON;default:return Uu.DEFAULT}},s$t=(i,a)=>{Zgt[i]=a},WWe=i=>{const a=cw[cw.length-1];i&&i.icon&&(a.icon=rN(i.icon)),i&&i.class&&(a.class=rN(i.class))},IT=i=>{switch(i){case Uu.DEFAULT:return"no-border";case Uu.RECT:return"rect";case Uu.ROUNDED_RECT:return"rounded-rect";case Uu.CIRCLE:return"circle";case Uu.CLOUD:return"cloud";case Uu.BANG:return"bang";case Uu.HEXAGON:return"hexgon";default:return"no-border"}};let a$t;const YWe=i=>{a$t=i},KWe=()=>Ut,XWe=i=>cw[i],Jgt=i=>Zgt[i],QWe=Object.freeze(Object.defineProperty({__proto__:null,addNode:GWe,clear:qWe,decorateNode:WWe,getElementById:Jgt,getLogger:KWe,getMindmap:VWe,getNodeById:XWe,getType:UWe,nodeType:Uu,get parseError(){return a$t},sanitizeText:rN,setElementForId:s$t,setErrorHandler:YWe,type2Str:IT},Symbol.toStringTag,{value:"Module"})),o$t=12,ZWe=function(i,a,f){i.append("path").attr("id","node-"+a.id).attr("class","node-bkg node-"+IT(a.type)).attr("d",`M0 ${a.height-5} v${-a.height+2*5} q0,-5 5,-5 h${a.width-2*5} q5,0 5,5 v${a.height-5} H0 Z`),i.append("line").attr("class","node-line-"+f).attr("x1",0).attr("y1",a.height).attr("x2",a.width).attr("y2",a.height)},JWe=function(i,a){i.append("rect").attr("id","node-"+a.id).attr("class","node-bkg node-"+IT(a.type)).attr("height",a.height).attr("width",a.width)},tYe=function(i,a){const f=a.width,p=a.height,w=.15*f,m=.25*f,b=.35*f,E=.2*f;i.append("path").attr("id","node-"+a.id).attr("class","node-bkg node-"+IT(a.type)).attr("d",`M0 0 a${w},${w} 0 0,1 ${f*.25},${-1*f*.1} + a${b},${b} 1 0,1 ${f*.4},${-1*f*.1} + a${m},${m} 1 0,1 ${f*.35},${1*f*.2} + + a${w},${w} 1 0,1 ${f*.15},${1*p*.35} + a${E},${E} 1 0,1 ${-1*f*.15},${1*p*.65} + + a${m},${w} 1 0,1 ${-1*f*.25},${f*.15} + a${b},${b} 1 0,1 ${-1*f*.5},0 + a${w},${w} 1 0,1 ${-1*f*.25},${-1*f*.15} + + a${w},${w} 1 0,1 ${-1*f*.1},${-1*p*.35} + a${E},${E} 1 0,1 ${f*.1},${-1*p*.65} + + H0 V0 Z`)},eYe=function(i,a){const f=a.width,p=a.height,w=.15*f;i.append("path").attr("id","node-"+a.id).attr("class","node-bkg node-"+IT(a.type)).attr("d",`M0 0 a${w},${w} 1 0,0 ${f*.25},${-1*p*.1} + a${w},${w} 1 0,0 ${f*.25},0 + a${w},${w} 1 0,0 ${f*.25},0 + a${w},${w} 1 0,0 ${f*.25},${1*p*.1} + + a${w},${w} 1 0,0 ${f*.15},${1*p*.33} + a${w*.8},${w*.8} 1 0,0 0,${1*p*.34} + a${w},${w} 1 0,0 ${-1*f*.15},${1*p*.33} + + a${w},${w} 1 0,0 ${-1*f*.25},${p*.15} + a${w},${w} 1 0,0 ${-1*f*.25},0 + a${w},${w} 1 0,0 ${-1*f*.25},0 + a${w},${w} 1 0,0 ${-1*f*.25},${-1*p*.15} + + a${w},${w} 1 0,0 ${-1*f*.1},${-1*p*.33} + a${w*.8},${w*.8} 1 0,0 0,${-1*p*.34} + a${w},${w} 1 0,0 ${f*.1},${-1*p*.33} + + H0 V0 Z`)},nYe=function(i,a){i.append("circle").attr("id","node-"+a.id).attr("class","node-bkg node-"+IT(a.type)).attr("r",a.width/2)};function rYe(i,a,f,p,w){return i.insert("polygon",":first-child").attr("points",p.map(function(m){return m.x+","+m.y}).join(" ")).attr("transform","translate("+(w.width-a)/2+", "+f+")")}const iYe=function(i,a){const f=a.height,w=f/4,m=a.width-a.padding+2*w,b=[{x:w,y:0},{x:m-w,y:0},{x:m,y:-f/2},{x:m-w,y:-f},{x:w,y:-f},{x:0,y:-f/2}];rYe(i,m,f,b,a)},sYe=function(i,a){i.append("rect").attr("id","node-"+a.id).attr("class","node-bkg node-"+IT(a.type)).attr("height",a.height).attr("rx",a.padding).attr("ry",a.padding).attr("width",a.width)},c$t={drawNode:function(i,a,f,p){const w=p.htmlLabels,m=f%(o$t-1),b=i.append("g");a.section=m;let E="section-"+m;m<0&&(E+=" section-root"),b.attr("class",(a.class?a.class+" ":"")+"mindmap-node "+E);const _=b.append("g"),A=b.append("g"),I=a.descr.replace(/()/g,` +`);EY(A,I,{useHtmlLabels:w,width:a.width,classes:"mindmap-node-label"}),w||A.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");const B=A.node().getBBox(),N=p.fontSize.replace?p.fontSize.replace("px",""):p.fontSize;if(a.height=B.height+N*1.1*.5+a.padding,a.width=B.width+2*a.padding,a.icon)if(a.type===Uu.CIRCLE)a.height+=50,a.width+=50,b.append("foreignObject").attr("height","50px").attr("width",a.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+m+" "+a.icon),A.attr("transform","translate("+a.width/2+", "+(a.height/2-1.5*a.padding)+")");else{a.width+=50;const R=a.height;a.height=Math.max(R,60);const z=Math.abs(a.height-R);b.append("foreignObject").attr("width","60px").attr("height",a.height).attr("style","text-align: center;margin-top:"+z/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+m+" "+a.icon),A.attr("transform","translate("+(25+a.width/2)+", "+(z/2+a.padding/2)+")")}else if(w){const R=(a.width-B.width)/2,z=(a.height-B.height)/2;A.attr("transform","translate("+R+", "+z+")")}else{const R=a.width/2,z=a.padding/2;A.attr("transform","translate("+R+", "+z+")")}switch(a.type){case Uu.DEFAULT:ZWe(_,a,m);break;case Uu.ROUNDED_RECT:sYe(_,a);break;case Uu.RECT:JWe(_,a);break;case Uu.CIRCLE:_.attr("transform","translate("+a.width/2+", "+ +a.height/2+")"),nYe(_,a);break;case Uu.CLOUD:tYe(_,a);break;case Uu.BANG:eYe(_,a);break;case Uu.HEXAGON:iYe(_,a);break}return s$t(a.id,b),a.height},positionNode:function(i){const a=Jgt(i.id),f=i.x||0,p=i.y||0;a.attr("transform","translate("+f+","+p+")")},drawEdge:function(a,f,p,w,m){const b=m%(o$t-1),E=p.x+p.width/2,_=p.y+p.height/2,A=f.x+f.width/2,I=f.y+f.height/2,B=A>E?E+Math.abs(E-A)/2:E-Math.abs(E-A)/2,N=I>_?_+Math.abs(_-I)/2:_-Math.abs(_-I)/2,R=A>E?Math.abs(E-B)/2+E:-Math.abs(E-B)/2+E,z=I>_?Math.abs(_-N)/2+_:-Math.abs(_-N)/2+_;a.append("path").attr("d",p.direction==="TB"||p.direction==="BT"?`M${E},${_} Q${E},${z} ${B},${N} T${A},${I}`:`M${E},${_} Q${R},${_} ${B},${N} T${A},${I}`).attr("class","edge section-edge-"+b+" edge-depth-"+w)}};var u$t={exports:{}};(function(i,a){(function(f,p){i.exports=p()})(b0,function(){function f(y){"@babel/helpers - typeof";return f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(g){return typeof g}:function(g){return g&&typeof Symbol=="function"&&g.constructor===Symbol&&g!==Symbol.prototype?"symbol":typeof g},f(y)}function p(y,g){if(!(y instanceof g))throw new TypeError("Cannot call a class as a function")}function w(y,g){for(var x=0;xy.length)&&(g=y.length);for(var x=0,T=new Array(g);x"u"?null:window,z=R?R.navigator:null;R&&R.document;var W=f(""),et=f({}),st=f(function(){}),at=typeof HTMLElement>"u"?"undefined":f(HTMLElement),bt=function(g){return g&&g.instanceString&&yt(g.instanceString)?g.instanceString():null},mt=function(g){return g!=null&&f(g)==W},yt=function(g){return g!=null&&f(g)===st},ft=function(g){return!Tt(g)&&(Array.isArray?Array.isArray(g):g!=null&&g instanceof Array)},ut=function(g){return g!=null&&f(g)===et&&!ft(g)&&g.constructor===Object},vt=function(g){return g!=null&&f(g)===et},X=function(g){return g!=null&&f(g)===f(1)&&!isNaN(g)},pt=function(g){return X(g)&&Math.floor(g)===g},U=function(g){if(at!=="undefined")return g!=null&&g instanceof HTMLElement},Tt=function(g){return nt(g)||It(g)},nt=function(g){return bt(g)==="collection"&&g._private.single},It=function(g){return bt(g)==="collection"&&!g._private.single},Ot=function(g){return bt(g)==="core"},Bt=function(g){return bt(g)==="stylesheet"},Et=function(g){return bt(g)==="event"},Z=function(g){return g==null?!0:!!(g===""||g.match(/^\s+$/))},Ct=function(g){return typeof HTMLElement>"u"?!1:g instanceof HTMLElement},xt=function(g){return ut(g)&&X(g.x1)&&X(g.x2)&&X(g.y1)&&X(g.y2)},Ht=function(g){return vt(g)&&yt(g.then)},Le=function(){return z&&z.userAgent.match(/msie|trident|edge/i)},Ft=function(g,x){x||(x=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var O=[],P=0;Px?1:0},Me=function(g,x){return-1*te(g,x)},de=Object.assign!=null?Object.assign.bind(Object):function(y){for(var g=arguments,x=1;x1&&(Lt-=1),Lt<1/6?ht+(dt-ht)*6*Lt:Lt<1/2?dt:Lt<2/3?ht+(dt-ht)*(2/3-Lt)*6:ht}var Y=new RegExp("^"+zt+"$").exec(g);if(Y){if(T=parseInt(Y[1]),T<0?T=(360- -1*T%360)%360:T>360&&(T=T%360),T/=360,L=parseFloat(Y[2]),L<0||L>100||(L=L/100,O=parseFloat(Y[3]),O<0||O>100)||(O=O/100,P=Y[4],P!==void 0&&(P=parseFloat(P),P<0||P>1)))return;if(L===0)$=q=S=Math.round(O*255);else{var rt=O<.5?O*(1+L):O+L-O*L,ot=2*O-rt;$=Math.round(255*V(ot,rt,T+1/3)),q=Math.round(255*V(ot,rt,T)),S=Math.round(255*V(ot,rt,T-1/3))}x=[$,q,S,P]}return x},Ks=function(g){var x,T=new RegExp("^"+ce+"$").exec(g);if(T){x=[];for(var L=[],O=1;O<=3;O++){var P=T[O];if(P[P.length-1]==="%"&&(L[O]=!0),P=parseFloat(P),L[O]&&(P=P/100*255),P<0||P>255)return;x.push(Math.floor(P))}var $=L[1]||L[2]||L[3],q=L[1]&&L[2]&&L[3];if($&&!q)return;var S=T[4];if(S!==void 0){if(S=parseFloat(S),S<0||S>1)return;x.push(S)}}return x},ws=function(g){return Xi[g.toLowerCase()]},fo=function(g){return(ft(g)?g:null)||ws(g)||on(g)||Ks(g)||ni(g)},Xi={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Er=function(g){for(var x=g.map,T=g.keys,L=T.length,O=0;O=g||qt<0||Y&&ne>=O}function kt(){var Yt=Po();if(Lt(Yt))return Dt(Yt);$=setTimeout(kt,dt(Yt))}function Dt(Yt){return $=void 0,rt&&T?ot(Yt):(T=L=void 0,P)}function Pt(){$!==void 0&&clearTimeout($),S=0,T=q=L=$=void 0}function $t(){return $===void 0?P:Dt(Po())}function Zt(){var Yt=Po(),qt=Lt(Yt);if(T=arguments,L=this,q=Yt,qt){if($===void 0)return ht(q);if(Y)return clearTimeout($),$=setTimeout(kt,g),ot(q)}return $===void 0&&($=setTimeout(kt,g)),P}return Zt.cancel=Pt,Zt.flush=$t,Zt}var Yc=xi,Ce=R?R.performance:null,vp=Ce&&Ce.now?function(){return Ce.now()}:function(){return Date.now()},Be=function(){if(R){if(R.requestAnimationFrame)return function(y){R.requestAnimationFrame(y)};if(R.mozRequestAnimationFrame)return function(y){R.mozRequestAnimationFrame(y)};if(R.webkitRequestAnimationFrame)return function(y){R.webkitRequestAnimationFrame(y)};if(R.msRequestAnimationFrame)return function(y){R.msRequestAnimationFrame(y)}}return function(y){y&&setTimeout(function(){y(vp())},1e3/60)}}(),Bf=function(g){return Be(g)},yg=vp,bm=9261,Ek=65599,E3=5381,Il=function(g){for(var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:bm,T=x,L;L=g.next(),!L.done;)T=T*Ek+L.value|0;return T},L0=function(g){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:bm;return x*Ek+g|0},hw=function(g){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:E3;return(x<<5)+x+g|0},H5=function(g,x){return g*2097152+x},Hb=function(g){return g[0]*2097152+g[1]},V5=function(g,x){return[L0(g[0],x[0]),hw(g[1],x[1])]},f1=function(g,x){var T={value:0,done:!1},L=0,O=g.length,P={next:function(){return L=0&&!(g[L]===x&&(g.splice(L,1),T));L--);},TL=function(g){g.splice(0,g.length)},aN=function(g,x){for(var T=0;T"u"?"undefined":f(Set))!==fK?Set:dK,FT=function(g,x){var T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(g===void 0||x===void 0||!Ot(g)){vl("An element must have a core reference and parameters set");return}var L=x.group;if(L==null&&(x.data&&x.data.source!=null&&x.data.target!=null?L="edges":L="nodes"),L!=="nodes"&&L!=="edges"){vl("An element must be of type `nodes` or `edges`; you specified `"+L+"`");return}this.length=1,this[0]=this;var O=this._private={cy:g,single:!0,data:x.data||{},position:x.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:L,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!x.selected,selectable:x.selectable===void 0?!0:!!x.selectable,locked:!!x.locked,grabbed:!1,grabbable:x.grabbable===void 0?!0:!!x.grabbable,pannable:x.pannable===void 0?L==="edges":!!x.pannable,active:!1,classes:new Y5,animation:{current:[],queue:[]},rscratch:{},scratch:x.scratch||{},edges:[],children:[],parent:x.parent&&x.parent.isNode()?x.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(O.position.x==null&&(O.position.x=0),O.position.y==null&&(O.position.y=0),x.renderedPosition){var P=x.renderedPosition,$=g.pan(),q=g.zoom();O.position={x:(P.x-$.x)/q,y:(P.y-$.y)/q}}var S=[];ft(x.classes)?S=x.classes:mt(x.classes)&&(S=x.classes.split(/\s+/));for(var V=0,Y=S.length;VDt?1:0},V=function(kt,Dt,Pt,$t,Zt){var Yt;if(Pt==null&&(Pt=0),Zt==null&&(Zt=T),Pt<0)throw new Error("lo must be non-negative");for($t==null&&($t=kt.length);Pt<$t;)Yt=L((Pt+$t)/2),Zt(Dt,kt[Yt])<0?$t=Yt:Pt=Yt+1;return[].splice.apply(kt,[Pt,Pt-Pt].concat(Dt)),Dt},$=function(kt,Dt,Pt){return Pt==null&&(Pt=T),kt.push(Dt),dt(kt,0,kt.length-1,Pt)},P=function(kt,Dt){var Pt,$t;return Dt==null&&(Dt=T),Pt=kt.pop(),kt.length?($t=kt[0],kt[0]=Pt,Lt(kt,0,Dt)):$t=Pt,$t},S=function(kt,Dt,Pt){var $t;return Pt==null&&(Pt=T),$t=kt[0],kt[0]=Dt,Lt(kt,0,Pt),$t},q=function(kt,Dt,Pt){var $t;return Pt==null&&(Pt=T),kt.length&&Pt(kt[0],Dt)<0&&($t=[kt[0],Dt],Dt=$t[0],kt[0]=$t[1],Lt(kt,0,Pt)),Dt},O=function(kt,Dt){var Pt,$t,Zt,Yt,qt,ne;for(Dt==null&&(Dt=T),Yt=(function(){ne=[];for(var Gt=0,ge=L(kt.length/2);0<=ge?Gtge;0<=ge?Gt++:Gt--)ne.push(Gt);return ne}).apply(this).reverse(),qt=[],$t=0,Zt=Yt.length;$tbe;0<=be?++ne:--ne)ie.push(P(kt,Pt));return ie},dt=function(kt,Dt,Pt,$t){var Zt,Yt,qt;for($t==null&&($t=T),Zt=kt[Pt];Pt>Dt;){if(qt=Pt-1>>1,Yt=kt[qt],$t(Zt,Yt)<0){kt[Pt]=Yt,Pt=qt;continue}break}return kt[Pt]=Zt},Lt=function(kt,Dt,Pt){var $t,Zt,Yt,qt,ne;for(Pt==null&&(Pt=T),Zt=kt.length,ne=Dt,Yt=kt[Dt],$t=2*Dt+1;$t0;){var Yt=Dt.pop(),qt=Lt(Yt),ne=Yt.id();if(rt[ne]=qt,qt!==1/0)for(var Gt=Yt.neighborhood().intersect(ht),ge=0;ge0)for(En.unshift(Ge);Y[Yn];){var Sn=Y[Yn];En.unshift(Sn.edge),En.unshift(Sn.node),In=Sn.node,Yn=In.id()}return $.spawn(En)}}}},wK={kruskal:function(g){g=g||function(Pt){return 1};for(var x=this.byGroup(),T=x.nodes,L=x.edges,O=T.length,P=new Array(O),$=T,q=function($t){for(var Zt=0;Zt0;){if(Zt(),qt++,$t===V){for(var ne=[],Gt=O,ge=V,be=kt[ge];ne.unshift(Gt),be!=null&&ne.unshift(be),Gt=Lt[ge],Gt!=null;)ge=Gt.id(),be=kt[ge];return{found:!0,distance:Y[$t],path:this.spawn(ne),steps:qt}}ot[$t]=!0;for(var ie=Pt._private.edges,Fe=0;Febe&&(ht[ge]=be,Dt[ge]=Gt,Pt[ge]=Zt),!O){var ie=Gt*V+ne;!O&&ht[ie]>be&&(ht[ie]=be,Dt[ie]=ne,Pt[ie]=Zt)}}}for(var Fe=0;Fe1&&arguments[1]!==void 0?arguments[1]:P,Va=Pt(Si),Qs=[],qs=Va;;){if(qs==null)return x.spawn();var Tr=Dt(qs),Qt=Tr.edge,jn=Tr.pred;if(Qs.unshift(qs[0]),qs.same(Ui)&&Qs.length>0)break;Qt!=null&&Qs.unshift(Qt),qs=jn}return q.spawn(Qs)},Yt=0;Yt=0;V--){var Y=S[V],rt=Y[1],ot=Y[2];(x[rt]===$&&x[ot]===q||x[rt]===q&&x[ot]===$)&&S.splice(V,1)}for(var ht=0;htL;){var O=Math.floor(Math.random()*x.length);x=CK(O,g,x),T--}return x},_K={kargerStein:function(){var g=this,x=this.byGroup(),T=x.nodes,L=x.edges;L.unmergeBy(function(En){return En.isLoop()});var O=T.length,P=L.length,$=Math.ceil(Math.pow(Math.log(O)/Math.LN2,2)),q=Math.floor(O/TK);if(O<2){vl("At least 2 nodes are required for Karger-Stein algorithm");return}for(var S=[],V=0;V1&&arguments[1]!==void 0?arguments[1]:0,T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:g.length,L=1/0,O=x;O1&&arguments[1]!==void 0?arguments[1]:0,T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:g.length,L=-1/0,O=x;O1&&arguments[1]!==void 0?arguments[1]:0,T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:g.length,L=0,O=0,P=x;P1&&arguments[1]!==void 0?arguments[1]:0,T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:g.length,L=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,O=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,P=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;L?g=g.slice(x,T):(T0&&g.splice(0,x));for(var $=0,q=g.length-1;q>=0;q--){var S=g[q];P?isFinite(S)||(g[q]=-1/0,$++):g.splice(q,1)}O&&g.sort(function(rt,ot){return rt-ot});var V=g.length,Y=Math.floor(V/2);return V%2!==0?g[Y+1+$]:(g[Y-1+$]+g[Y+$])/2},IK=function(g){return Math.PI*g/180},BT=function(g,x){return Math.atan2(x,g)-Math.PI/2},_L=Math.log2||function(y){return Math.log(y)/Math.log(2)},uN=function(g){return g>0?1:g<0?-1:0},C3=function(g,x){return Math.sqrt(_3(g,x))},_3=function(g,x){var T=x.x-g.x,L=x.y-g.y;return T*T+L*L},OK=function(g){for(var x=g.length,T=0,L=0;L=g.x1&&g.y2>=g.y1)return{x1:g.x1,y1:g.y1,x2:g.x2,y2:g.y2,w:g.x2-g.x1,h:g.y2-g.y1};if(g.w!=null&&g.h!=null&&g.w>=0&&g.h>=0)return{x1:g.x1,y1:g.y1,x2:g.x1+g.w,y2:g.y1+g.h,w:g.w,h:g.h}}},FK=function(g){return{x1:g.x1,x2:g.x2,w:g.w,y1:g.y1,y2:g.y2,h:g.h}},NK=function(g){g.x1=1/0,g.y1=1/0,g.x2=-1/0,g.y2=-1/0,g.w=0,g.h=0},BK=function(g,x){g.x1=Math.min(g.x1,x.x1),g.x2=Math.max(g.x2,x.x2),g.w=g.x2-g.x1,g.y1=Math.min(g.y1,x.y1),g.y2=Math.max(g.y2,x.y2),g.h=g.y2-g.y1},RK=function(g,x,T){g.x1=Math.min(g.x1,x),g.x2=Math.max(g.x2,x),g.w=g.x2-g.x1,g.y1=Math.min(g.y1,T),g.y2=Math.max(g.y2,T),g.h=g.y2-g.y1},RT=function(g){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return g.x1-=x,g.x2+=x,g.y1-=x,g.y2+=x,g.w=g.x2-g.x1,g.h=g.y2-g.y1,g},SL=function(g){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],T,L,O,P;if(x.length===1)T=L=O=P=x[0];else if(x.length===2)T=O=x[0],P=L=x[1];else if(x.length===4){var $=E(x,4);T=$[0],L=$[1],O=$[2],P=$[3]}return g.x1-=P,g.x2+=L,g.y1-=T,g.y2+=O,g.w=g.x2-g.x1,g.h=g.y2-g.y1,g},lN=function(g,x){g.x1=x.x1,g.y1=x.y1,g.x2=x.x2,g.y2=x.y2,g.w=g.x2-g.x1,g.h=g.y2-g.y1},AL=function(g,x){return!(g.x1>x.x2||x.x1>g.x2||g.x2x.y2||x.y1>g.y2)},Q5=function(g,x,T){return g.x1<=x&&x<=g.x2&&g.y1<=T&&T<=g.y2},jK=function(g,x){return Q5(g,x.x,x.y)},hN=function(g,x){return Q5(g,x.x1,x.y1)&&Q5(g,x.x2,x.y2)},fN=function(g,x,T,L,O,P,$){var q=Lk(O,P),S=O/2,V=P/2,Y;{var rt=T-S+q-$,ot=L-V-$,ht=T+S-q+$,dt=ot;if(Y=ym(g,x,T,L,rt,ot,ht,dt,!1),Y.length>0)return Y}{var Lt=T+S+$,kt=L-V+q-$,Dt=Lt,Pt=L+V-q+$;if(Y=ym(g,x,T,L,Lt,kt,Dt,Pt,!1),Y.length>0)return Y}{var $t=T-S+q-$,Zt=L+V+$,Yt=T+S-q+$,qt=Zt;if(Y=ym(g,x,T,L,$t,Zt,Yt,qt,!1),Y.length>0)return Y}{var ne=T-S-$,Gt=L-V+q-$,ge=ne,be=L+V-q+$;if(Y=ym(g,x,T,L,ne,Gt,ge,be,!1),Y.length>0)return Y}var ie;{var Fe=T-S+q,we=L-V+q;if(ie=Sk(g,x,T,L,Fe,we,q+$),ie.length>0&&ie[0]<=Fe&&ie[1]<=we)return[ie[0],ie[1]]}{var bn=T+S-q,ze=L-V+q;if(ie=Sk(g,x,T,L,bn,ze,q+$),ie.length>0&&ie[0]>=bn&&ie[1]<=ze)return[ie[0],ie[1]]}{var Ge=T+S-q,En=L+V-q;if(ie=Sk(g,x,T,L,Ge,En,q+$),ie.length>0&&ie[0]>=Ge&&ie[1]>=En)return[ie[0],ie[1]]}{var In=T-S+q,Yn=L+V-q;if(ie=Sk(g,x,T,L,In,Yn,q+$),ie.length>0&&ie[0]<=In&&ie[1]>=Yn)return[ie[0],ie[1]]}return[]},$K=function(g,x,T,L,O,P,$){var q=$,S=Math.min(T,O),V=Math.max(T,O),Y=Math.min(L,P),rt=Math.max(L,P);return S-q<=g&&g<=V+q&&Y-q<=x&&x<=rt+q},zK=function(g,x,T,L,O,P,$,q,S){var V={x1:Math.min(T,$,O)-S,x2:Math.max(T,$,O)+S,y1:Math.min(L,q,P)-S,y2:Math.max(L,q,P)+S};return!(gV.x2||xV.y2)},qK=function(g,x,T,L){T-=L;var O=x*x-4*g*T;if(O<0)return[];var P=Math.sqrt(O),$=2*g,q=(-x+P)/$,S=(-x-P)/$;return[q,S]},HK=function(g,x,T,L,O){var P=1e-5;g===0&&(g=P),x/=g,T/=g,L/=g;var $,q,S,V,Y,rt,ot,ht;if(q=(3*T-x*x)/9,S=-(27*L)+x*(9*T-2*(x*x)),S/=54,$=q*q*q+S*S,O[1]=0,ot=x/3,$>0){Y=S+Math.sqrt($),Y=Y<0?-Math.pow(-Y,1/3):Math.pow(Y,1/3),rt=S-Math.sqrt($),rt=rt<0?-Math.pow(-rt,1/3):Math.pow(rt,1/3),O[0]=-ot+Y+rt,ot+=(Y+rt)/2,O[4]=O[2]=-ot,ot=Math.sqrt(3)*(-rt+Y)/2,O[3]=ot,O[5]=-ot;return}if(O[5]=O[3]=0,$===0){ht=S<0?-Math.pow(-S,1/3):Math.pow(S,1/3),O[0]=-ot+2*ht,O[4]=O[2]=-(ht+ot);return}q=-q,V=q*q*q,V=Math.acos(S/Math.sqrt(V)),ht=2*Math.sqrt(q),O[0]=-ot+ht*Math.cos(V/3),O[2]=-ot+ht*Math.cos((V+2*Math.PI)/3),O[4]=-ot+ht*Math.cos((V+4*Math.PI)/3)},VK=function(g,x,T,L,O,P,$,q){var S=1*T*T-4*T*O+2*T*$+4*O*O-4*O*$+$*$+L*L-4*L*P+2*L*q+4*P*P-4*P*q+q*q,V=1*9*T*O-3*T*T-3*T*$-6*O*O+3*O*$+9*L*P-3*L*L-3*L*q-6*P*P+3*P*q,Y=1*3*T*T-6*T*O+T*$-T*g+2*O*O+2*O*g-$*g+3*L*L-6*L*P+L*q-L*x+2*P*P+2*P*x-q*x,rt=1*T*O-T*T+T*g-O*g+L*P-L*L+L*x-P*x,ot=[];HK(S,V,Y,rt,ot);for(var ht=1e-7,dt=[],Lt=0;Lt<6;Lt+=2)Math.abs(ot[Lt+1])=0&&ot[Lt]<=1&&dt.push(ot[Lt]);dt.push(1),dt.push(0);for(var kt=-1,Dt,Pt,$t,Zt=0;Zt=0?$tS?(g-O)*(g-O)+(x-P)*(x-P):V-rt},qd=function(g,x,T){for(var L,O,P,$,q,S=0,V=0;V=g&&g>=P||L<=g&&g<=P)q=(g-L)/(P-L)*($-O)+O,q>x&&S++;else continue;return S%2!==0},dw=function(g,x,T,L,O,P,$,q,S){var V=new Array(T.length),Y;q[0]!=null?(Y=Math.atan(q[1]/q[0]),q[0]<0?Y=Y+Math.PI/2:Y=-Y-Math.PI/2):Y=q;for(var rt=Math.cos(-Y),ot=Math.sin(-Y),ht=0;ht0){var Lt=gN(V,-S);dt=dN(Lt)}else dt=V;return qd(g,x,dt)},UK=function(g,x,T,L,O,P,$){for(var q=new Array(T.length),S=P/2,V=$/2,Y=DL(P,$),rt=Y*Y,ot=0;ot=0&&Lt<=1&&Dt.push(Lt),kt>=0&&kt<=1&&Dt.push(kt),Dt.length===0)return[];var Pt=Dt[0]*q[0]+g,$t=Dt[0]*q[1]+x;if(Dt.length>1){if(Dt[0]==Dt[1])return[Pt,$t];var Zt=Dt[1]*q[0]+g,Yt=Dt[1]*q[1]+x;return[Pt,$t,Zt,Yt]}else return[Pt,$t]},LL=function(g,x,T){return x<=g&&g<=T||T<=g&&g<=x?g:g<=x&&x<=T||T<=x&&x<=g?x:T},ym=function(g,x,T,L,O,P,$,q,S){var V=g-O,Y=T-g,rt=$-O,ot=x-P,ht=L-x,dt=q-P,Lt=rt*ot-dt*V,kt=Y*ot-ht*V,Dt=dt*Y-rt*ht;if(Dt!==0){var Pt=Lt/Dt,$t=kt/Dt,Zt=.001,Yt=0-Zt,qt=1+Zt;return Yt<=Pt&&Pt<=qt&&Yt<=$t&&$t<=qt?[g+Pt*Y,x+Pt*ht]:S?[g+Pt*Y,x+Pt*ht]:[]}else return Lt===0||kt===0?LL(g,T,$)===$?[$,q]:LL(g,T,O)===O?[O,P]:LL(O,$,T)===T?[T,L]:[]:[]},Ak=function(g,x,T,L,O,P,$,q){var S=[],V,Y=new Array(T.length),rt=!0;P==null&&(rt=!1);var ot;if(rt){for(var ht=0;ht0){var dt=gN(Y,-q);ot=dN(dt)}else ot=Y}else ot=T;for(var Lt,kt,Dt,Pt,$t=0;$t2){for(var ze=[S[0],S[1]],Ge=Math.pow(ze[0]-g,2)+Math.pow(ze[1]-x,2),En=1;EnV&&(V=$t)},get:function(Pt){return S[Pt]}},rt=0;rt<$.length;rt++){var ot=$[rt],ht=ot.id();T?q[ht]=ot.outgoers().nodes():q[ht]=ot.openNeighborhood().nodes(),Y.set(ht,0)}for(var dt=function(Pt){for(var $t=$[Pt].id(),Zt=[],Yt={},qt={},ne={},Gt=new Ck(function(ur,er){return ne[ur]-ne[er]}),ge=0;ge<$.length;ge++){var be=$[ge].id();Yt[be]=[],qt[be]=0,ne[be]=1/0}for(qt[$t]=1,ne[$t]=0,Gt.push($t);!Gt.empty();){var ie=Gt.pop();if(Zt.push(ie),O)for(var Fe=0;Fe0?ze=bn.edgesTo(we)[0]:ze=we.edgesTo(bn)[0];var Ge=L(ze);we=we.id(),ne[we]>ne[ie]+Ge&&(ne[we]=ne[ie]+Ge,Gt.nodes.indexOf(we)<0?Gt.push(we):Gt.updateItem(we),qt[we]=0,Yt[we]=[]),ne[we]==ne[ie]+Ge&&(qt[we]=qt[we]+qt[ie],Yt[we].push(ie))}else for(var En=0;En0;){for(var Wn=Zt.pop(),rr=0;rr0&&$.push(T[q]);$.length!==0&&O.push(L.collection($))}return O},oX=function(g,x){for(var T=0;T5&&arguments[5]!==void 0?arguments[5]:lX,$=L,q,S,V=0;V=2?Mk(g,x,T,0,TN,hX):Mk(g,x,T,0,EN)},squaredEuclidean:function(g,x,T){return Mk(g,x,T,0,TN)},manhattan:function(g,x,T){return Mk(g,x,T,0,EN)},max:function(g,x,T){return Mk(g,x,T,-1/0,fX)}};tx["squared-euclidean"]=tx.squaredEuclidean,tx.squaredeuclidean=tx.squaredEuclidean;function $T(y,g,x,T,L,O){var P;return yt(y)?P=y:P=tx[y]||tx.euclidean,g===0&&yt(y)?P(L,O):P(g,x,T,L,O)}var dX=Rf({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),PL=function(g){return dX(g)},zT=function(g,x,T,L,O){var P=O!=="kMedoids",$=P?function(Y){return T[Y]}:function(Y){return L[Y](T)},q=function(rt){return L[rt](x)},S=T,V=x;return $T(g,L.length,$,q,S,V)},FL=function(g,x,T){for(var L=T.length,O=new Array(L),P=new Array(L),$=new Array(x),q=null,S=0;ST)return!1}return!0},bX=function(g,x,T){for(var L=0;L$&&($=x[S][V],q=V);O[q].push(g[S])}for(var Y=0;Y=O.threshold||O.mode==="dendrogram"&&g.length===1)return!1;var ht=x[P],dt=x[L[P]],Lt;O.mode==="dendrogram"?Lt={left:ht,right:dt,key:ht.key}:Lt={value:ht.value.concat(dt.value),key:ht.key},g[ht.index]=Lt,g.splice(dt.index,1),x[ht.key]=Lt;for(var kt=0;ktT[dt.key][Dt.key]&&(q=T[dt.key][Dt.key])):O.linkage==="max"?(q=T[ht.key][Dt.key],T[ht.key][Dt.key]0&&L.push(O);return L},IN=function(g,x,T){for(var L=[],O=0;O$&&(P=S,$=x[O*g+S])}P>0&&L.push(P)}for(var V=0;VS&&(q=V,S=Y)}T[O]=P[q]}return L=IN(g,x,T),L},ON=function(g){for(var x=this.cy(),T=this.nodes(),L=MX(g),O={},P=0;P=be?(ie=be,be=we,Fe=bn):we>ie&&(ie=we);for(var ze=0;ze<$;ze++)Y[ge*$+ze]=(1-L.damping)*(S[ge*$+ze]-be)+L.damping*Pt[ze];Y[ge*$+Fe]=(1-L.damping)*(S[ge*$+Fe]-ie)+L.damping*Pt[Fe]}for(var Ge=0;Ge<$;Ge++){for(var En=0,In=0;In<$;In++)Pt[In]=rt[In*$+Ge],$t[In]=Math.max(0,Y[In*$+Ge]),En+=$t[In];En-=$t[Ge],$t[Ge]=Y[Ge*$+Ge],En+=$t[Ge];for(var Yn=0;Yn<$;Yn++)rt[Yn*$+Ge]=(1-L.damping)*Math.min(0,En-$t[Yn])+L.damping*Pt[Yn];rt[Ge*$+Ge]=(1-L.damping)*(En-$t[Ge])+L.damping*Pt[Ge]}for(var Sn=0,Wn=0;Wn<$;Wn++){var rr=rt[Wn*$+Wn]+Y[Wn*$+Wn]>0?1:0;qt[Gt%L.minIterations*$+Wn]=rr,Sn+=rr}if(Sn>0&&(Gt>=L.minIterations-1||Gt==L.maxIterations-1)){for(var wr=0,ur=0;ur<$;ur++){Zt[ur]=0;for(var er=0;er1||Yt>1)&&($=!0),Y[Pt]=[],Dt.outgoers().forEach(function(ne){ne.isEdge()&&Y[Pt].push(ne.id())})}else rt[Pt]=[void 0,Dt.target().id()]}):P.forEach(function(Dt){var Pt=Dt.id();if(Dt.isNode()){var $t=Dt.degree(!0);$t%2&&(q?S?$=!0:S=Pt:q=Pt),Y[Pt]=[],Dt.connectedEdges().forEach(function(Zt){return Y[Pt].push(Zt.id())})}else rt[Pt]=[Dt.source().id(),Dt.target().id()]});var ot={found:!1,trail:void 0};if($)return ot;if(S&&q)if(O){if(V&&S!=V)return ot;V=S}else{if(V&&S!=V&&q!=V)return ot;V||(V=S)}else V||(V=P[0].id());var ht=function(Pt){for(var $t=Pt,Zt=[Pt],Yt,qt,ne;Y[$t].length;)Yt=Y[$t].shift(),qt=rt[Yt][0],ne=rt[Yt][1],$t!=ne?(Y[ne]=Y[ne].filter(function(Gt){return Gt!=Yt}),$t=ne):!O&&$t!=qt&&(Y[qt]=Y[qt].filter(function(Gt){return Gt!=Yt}),$t=qt),Zt.unshift(Yt),Zt.unshift($t);return Zt},dt=[],Lt=[];for(Lt=ht(V);Lt.length!=1;)Y[Lt[0]].length==0?(dt.unshift(P.getElementById(Lt.shift())),dt.unshift(P.getElementById(Lt.shift()))):Lt=ht(Lt.shift()).concat(Lt);dt.unshift(P.getElementById(Lt.shift()));for(var kt in Y)if(Y[kt].length)return ot;return ot.found=!0,ot.trail=this.spawn(dt,!0),ot}},HT=function(){var g=this,x={},T=0,L=0,O=[],P=[],$={},q=function(rt,ot){for(var ht=P.length-1,dt=[],Lt=g.spawn();P[ht].x!=rt||P[ht].y!=ot;)dt.push(P.pop().edge),ht--;dt.push(P.pop().edge),dt.forEach(function(kt){var Dt=kt.connectedNodes().intersection(g);Lt.merge(kt),Dt.forEach(function(Pt){var $t=Pt.id(),Zt=Pt.connectedEdges().intersection(g);Lt.merge(Pt),x[$t].cutVertex?Lt.merge(Zt.filter(function(Yt){return Yt.isLoop()})):Lt.merge(Zt)})}),O.push(Lt)},S=function Y(rt,ot,ht){rt===ht&&(L+=1),x[ot]={id:T,low:T++,cutVertex:!1};var dt=g.getElementById(ot).connectedEdges().intersection(g);if(dt.size()===0)O.push(g.spawn(g.getElementById(ot)));else{var Lt,kt,Dt,Pt;dt.forEach(function($t){Lt=$t.source().id(),kt=$t.target().id(),Dt=Lt===ot?kt:Lt,Dt!==ht&&(Pt=$t.id(),$[Pt]||($[Pt]=!0,P.push({x:ot,y:Dt,edge:$t})),Dt in x?x[ot].low=Math.min(x[ot].low,x[Dt].id):(Y(rt,Dt,ot),x[ot].low=Math.min(x[ot].low,x[Dt].low),x[ot].id<=x[Dt].low&&(x[ot].cutVertex=!0,q(ot,Dt))))})}};g.forEach(function(Y){if(Y.isNode()){var rt=Y.id();rt in x||(L=0,S(rt,rt),x[rt].cutVertex=L>1)}});var V=Object.keys(x).filter(function(Y){return x[Y].cutVertex}).map(function(Y){return g.getElementById(Y)});return{cut:g.spawn(V),components:O}},RX={hopcroftTarjanBiconnected:HT,htbc:HT,htb:HT,hopcroftTarjanBiconnectedComponents:HT},VT=function(){var g=this,x={},T=0,L=[],O=[],P=g.spawn(g),$=function q(S){O.push(S),x[S]={index:T,low:T++,explored:!1};var V=g.getElementById(S).connectedEdges().intersection(g);if(V.forEach(function(dt){var Lt=dt.target().id();Lt!==S&&(Lt in x||q(Lt),x[Lt].explored||(x[S].low=Math.min(x[S].low,x[Lt].low)))}),x[S].index===x[S].low){for(var Y=g.spawn();;){var rt=O.pop();if(Y.merge(g.getElementById(rt)),x[rt].low=x[S].index,x[rt].explored=!0,rt===S)break}var ot=Y.edgesWith(Y),ht=Y.merge(ot);L.push(ht),P=P.difference(ht)}};return g.forEach(function(q){if(q.isNode()){var S=q.id();S in x||$(S)}}),{cut:P,components:L}},jX={tarjanStronglyConnected:VT,tsc:VT,tscc:VT,tarjanStronglyConnectedComponents:VT},PN={};[Tk,bK,wK,mK,xK,EK,_K,QK,Z5,J5,OL,uX,kX,AX,FX,BX,RX,jX].forEach(function(y){de(PN,y)});/*! +Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable +Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) +Licensed under The MIT License (http://opensource.org/licenses/MIT) +*/var FN=0,NN=1,BN=2,gw=function y(g){if(!(this instanceof y))return new y(g);this.id="Thenable/1.0.7",this.state=FN,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof g=="function"&&g.call(this,this.fulfill.bind(this),this.reject.bind(this))};gw.prototype={fulfill:function(g){return RN(this,NN,"fulfillValue",g)},reject:function(g){return RN(this,BN,"rejectReason",g)},then:function(g,x){var T=this,L=new gw;return T.onFulfilled.push(zN(g,L,"fulfill")),T.onRejected.push(zN(x,L,"reject")),jN(T),L.proxy}};var RN=function(g,x,T,L){return g.state===FN&&(g.state=x,g[T]=L,jN(g)),g},jN=function(g){g.state===NN?$N(g,"onFulfilled",g.fulfillValue):g.state===BN&&$N(g,"onRejected",g.rejectReason)},$N=function(g,x,T){if(g[x].length!==0){var L=g[x];g[x]=[];var O=function(){for(var $=0;$0}},clearQueue:function(){return function(){var x=this,T=x.length!==void 0,L=T?x:[x],O=this._private.cy||this;if(!O.styleEnabled())return this;for(var P=0;P-1}var $Q=jQ;function zQ(y,g){var x=this.__data__,T=WT(x,y);return T<0?(++this.size,x.push([y,g])):x[T][1]=g,this}var qQ=zQ;function rx(y){var g=-1,x=y==null?0:y.length;for(this.clear();++g-1&&y%1==0&&y0&&this.spawn(L).updateStyle().emit("class"),x},addClass:function(g){return this.toggleClass(g,!0)},hasClass:function(g){var x=this[0];return x!=null&&x._private.classes.has(g)},toggleClass:function(g,x){ft(g)||(g=g.match(/\S+/g)||[]);for(var T=this,L=x===void 0,O=[],P=0,$=T.length;P<$;P++)for(var q=T[P],S=q._private.classes,V=!1,Y=0;Y0&&this.spawn(O).updateStyle().emit("class"),T},removeClass:function(g){return this.toggleClass(g,!1)},flashClass:function(g,x){var T=this;if(x==null)x=250;else if(x===0)return T;return T.addClass(g),setTimeout(function(){T.removeClass(g)},x),T}};QT.className=QT.classNames=QT.classes;var tc={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Ye,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};tc.variable="(?:[\\w-.]|(?:\\\\"+tc.metaChar+"))+",tc.className="(?:[\\w-]|(?:\\\\"+tc.metaChar+"))+",tc.value=tc.string+"|"+tc.number,tc.id=tc.variable,function(){var y,g,x;for(y=tc.comparatorOp.split("|"),x=0;x=0)&&g!=="="&&(tc.comparatorOp+="|\\!"+g)}();var Kc=function(){return{checks:[]}},zi={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},zL=[{selector:":selected",matches:function(g){return g.selected()}},{selector:":unselected",matches:function(g){return!g.selected()}},{selector:":selectable",matches:function(g){return g.selectable()}},{selector:":unselectable",matches:function(g){return!g.selectable()}},{selector:":locked",matches:function(g){return g.locked()}},{selector:":unlocked",matches:function(g){return!g.locked()}},{selector:":visible",matches:function(g){return g.visible()}},{selector:":hidden",matches:function(g){return!g.visible()}},{selector:":transparent",matches:function(g){return g.transparent()}},{selector:":grabbed",matches:function(g){return g.grabbed()}},{selector:":free",matches:function(g){return!g.grabbed()}},{selector:":removed",matches:function(g){return g.removed()}},{selector:":inside",matches:function(g){return!g.removed()}},{selector:":grabbable",matches:function(g){return g.grabbable()}},{selector:":ungrabbable",matches:function(g){return!g.grabbable()}},{selector:":animated",matches:function(g){return g.animated()}},{selector:":unanimated",matches:function(g){return!g.animated()}},{selector:":parent",matches:function(g){return g.isParent()}},{selector:":childless",matches:function(g){return g.isChildless()}},{selector:":child",matches:function(g){return g.isChild()}},{selector:":orphan",matches:function(g){return g.isOrphan()}},{selector:":nonorphan",matches:function(g){return g.isChild()}},{selector:":compound",matches:function(g){return g.isNode()?g.isParent():g.source().isParent()||g.target().isParent()}},{selector:":loop",matches:function(g){return g.isLoop()}},{selector:":simple",matches:function(g){return g.isSimple()}},{selector:":active",matches:function(g){return g.active()}},{selector:":inactive",matches:function(g){return!g.active()}},{selector:":backgrounding",matches:function(g){return g.backgrounding()}},{selector:":nonbackgrounding",matches:function(g){return!g.backgrounding()}}].sort(function(y,g){return Me(y.selector,g.selector)}),qZ=function(){for(var y={},g,x=0;x0&&V.edgeCount>0)return Sc("The selector `"+g+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(V.edgeCount>1)return Sc("The selector `"+g+"` is invalid because it uses multiple edge selectors"),!1;V.edgeCount===1&&Sc("The selector `"+g+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},YZ=function(){if(this.toStringCache!=null)return this.toStringCache;for(var g=function(V){return V??""},x=function(V){return mt(V)?'"'+V+'"':g(V)},T=function(V){return" "+V+" "},L=function(V,Y){var rt=V.type,ot=V.value;switch(rt){case zi.GROUP:{var ht=g(ot);return ht.substring(0,ht.length-1)}case zi.DATA_COMPARE:{var dt=V.field,Lt=V.operator;return"["+dt+T(g(Lt))+x(ot)+"]"}case zi.DATA_BOOL:{var kt=V.operator,Dt=V.field;return"["+g(kt)+Dt+"]"}case zi.DATA_EXIST:{var Pt=V.field;return"["+Pt+"]"}case zi.META_COMPARE:{var $t=V.operator,Zt=V.field;return"[["+Zt+T(g($t))+x(ot)+"]]"}case zi.STATE:return ot;case zi.ID:return"#"+ot;case zi.CLASS:return"."+ot;case zi.PARENT:case zi.CHILD:return O(V.parent,Y)+T(">")+O(V.child,Y);case zi.ANCESTOR:case zi.DESCENDANT:return O(V.ancestor,Y)+" "+O(V.descendant,Y);case zi.COMPOUND_SPLIT:{var Yt=O(V.left,Y),qt=O(V.subject,Y),ne=O(V.right,Y);return Yt+(Yt.length>0?" ":"")+qt+ne}case zi.TRUE:return""}},O=function(V,Y){return V.checks.reduce(function(rt,ot,ht){return rt+(Y===V&&ht===0?"$":"")+L(ot,Y)},"")},P="",$=0;$1&&$=0&&(x=x.replace("!",""),Y=!0),x.indexOf("@")>=0&&(x=x.replace("@",""),V=!0),(O||$||V)&&(q=!O&&!P?"":""+g,S=""+T),V&&(g=q=q.toLowerCase(),T=S=S.toLowerCase()),x){case"*=":L=q.indexOf(S)>=0;break;case"$=":L=q.indexOf(S,q.length-S.length)>=0;break;case"^=":L=q.indexOf(S)===0;break;case"=":L=g===T;break;case">":rt=!0,L=g>T;break;case">=":rt=!0,L=g>=T;break;case"<":rt=!0,L=g0;){var V=L.shift();g(V),O.add(V.id()),$&&T(L,O,V)}return y}function Ik(y,g,x){if(x.isParent())for(var T=x._private.children,L=0;L1&&arguments[1]!==void 0?arguments[1]:!0;return ZT(this,y,g,Ik)};function aB(y,g,x){if(x.isChild()){var T=x._private.parent;g.has(T.id())||y.push(T)}}ax.forEachUp=function(y){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return ZT(this,y,g,aB)};function nJ(y,g,x){aB(y,g,x),Ik(y,g,x)}ax.forEachUpAndDown=function(y){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return ZT(this,y,g,nJ)},ax.ancestors=ax.parents;var Ok,oB;Ok=oB={data:Ac.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:Ac.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:Ac.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Ac.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:Ac.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:Ac.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var g=this[0];if(g)return g._private.data.id}},Ok.attr=Ok.data,Ok.removeAttr=Ok.removeData;var rJ=oB,JT={};function ox(y){return function(g){var x=this;if(g===void 0&&(g=!0),x.length!==0)if(x.isNode()&&!x.removed()){for(var T=0,L=x[0],O=L._private.edges,P=0;Pg}),minIndegree:cx("indegree",function(y,g){return yg}),minOutdegree:cx("outdegree",function(y,g){return yg})}),de(JT,{totalDegree:function(g){for(var x=0,T=this.nodes(),L=0;L0,rt=Y;Y&&(V=V[0]);var ot=rt?V.position():{x:0,y:0};x!==void 0?S.position(g,x+ot[g]):O!==void 0&&S.position({x:O.x+ot.x,y:O.y+ot.y})}else{var ht=T.position(),dt=$?T.parent():null,Lt=dt&&dt.length>0,kt=Lt;Lt&&(dt=dt[0]);var Dt=kt?dt.position():{x:0,y:0};return O={x:ht.x-Dt.x,y:ht.y-Dt.y},g===void 0?O:O[g]}else if(!P)return;return this}},kp.modelPosition=kp.point=kp.position,kp.modelPositions=kp.points=kp.positions,kp.renderedPoint=kp.renderedPosition,kp.relativePoint=kp.relativePosition;var lB=cB,ux,Ub;ux=Ub={},Ub.renderedBoundingBox=function(y){var g=this.boundingBox(y),x=this.cy(),T=x.zoom(),L=x.pan(),O=g.x1*T+L.x,P=g.x2*T+L.x,$=g.y1*T+L.y,q=g.y2*T+L.y;return{x1:O,x2:P,y1:$,y2:q,w:P-O,h:q-$}},Ub.dirtyCompoundBoundsCache=function(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,g=this.cy();return!g.styleEnabled()||!g.hasCompoundNodes()?this:(this.forEachUp(function(x){if(x.isParent()){var T=x._private;T.compoundBoundsClean=!1,T.bbCache=null,y||x.emitAndNotify("bounds")}}),this)},Ub.updateCompoundBounds=function(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,g=this.cy();if(!g.styleEnabled()||!g.hasCompoundNodes())return this;if(!y&&g.batching())return this;function x(P){if(!P.isParent())return;var $=P._private,q=P.children(),S=P.pstyle("compound-sizing-wrt-labels").value==="include",V={width:{val:P.pstyle("min-width").pfValue,left:P.pstyle("min-width-bias-left"),right:P.pstyle("min-width-bias-right")},height:{val:P.pstyle("min-height").pfValue,top:P.pstyle("min-height-bias-top"),bottom:P.pstyle("min-height-bias-bottom")}},Y=q.boundingBox({includeLabels:S,includeOverlays:!1,useCache:!1}),rt=$.position;(Y.w===0||Y.h===0)&&(Y={w:P.pstyle("width").pfValue,h:P.pstyle("height").pfValue},Y.x1=rt.x-Y.w/2,Y.x2=rt.x+Y.w/2,Y.y1=rt.y-Y.h/2,Y.y2=rt.y+Y.h/2);function ot(Gt,ge,be){var ie=0,Fe=0,we=ge+be;return Gt>0&&we>0&&(ie=ge/we*Gt,Fe=be/we*Gt),{biasDiff:ie,biasComplementDiff:Fe}}function ht(Gt,ge,be,ie){if(be.units==="%")switch(ie){case"width":return Gt>0?be.pfValue*Gt:0;case"height":return ge>0?be.pfValue*ge:0;case"average":return Gt>0&&ge>0?be.pfValue*(Gt+ge)/2:0;case"min":return Gt>0&&ge>0?Gt>ge?be.pfValue*ge:be.pfValue*Gt:0;case"max":return Gt>0&&ge>0?Gt>ge?be.pfValue*Gt:be.pfValue*ge:0;default:return 0}else return be.units==="px"?be.pfValue:0}var dt=V.width.left.value;V.width.left.units==="px"&&V.width.val>0&&(dt=dt*100/V.width.val);var Lt=V.width.right.value;V.width.right.units==="px"&&V.width.val>0&&(Lt=Lt*100/V.width.val);var kt=V.height.top.value;V.height.top.units==="px"&&V.height.val>0&&(kt=kt*100/V.height.val);var Dt=V.height.bottom.value;V.height.bottom.units==="px"&&V.height.val>0&&(Dt=Dt*100/V.height.val);var Pt=ot(V.width.val-Y.w,dt,Lt),$t=Pt.biasDiff,Zt=Pt.biasComplementDiff,Yt=ot(V.height.val-Y.h,kt,Dt),qt=Yt.biasDiff,ne=Yt.biasComplementDiff;$.autoPadding=ht(Y.w,Y.h,P.pstyle("padding"),P.pstyle("padding-relative-to").value),$.autoWidth=Math.max(Y.w,V.width.val),rt.x=(-$t+Y.x1+Y.x2+Zt)/2,$.autoHeight=Math.max(Y.h,V.height.val),rt.y=(-qt+Y.y1+Y.y2+ne)/2}for(var T=0;Tg.x2?L:g.x2,g.y1=Tg.y2?O:g.y2,g.w=g.x2-g.x1,g.h=g.y2-g.y1)},L3=function(g,x){return x==null?g:Ep(g,x.x1,x.y1,x.x2,x.y2)},Fk=function(g,x,T){return yp(g,x,T)},tC=function(g,x,T){if(!x.cy().headless()){var L=x._private,O=L.rstyle,P=O.arrowWidth/2,$=x.pstyle(T+"-arrow-shape").value,q,S;if($!=="none"){T==="source"?(q=O.srcX,S=O.srcY):T==="target"?(q=O.tgtX,S=O.tgtY):(q=O.midX,S=O.midY);var V=L.arrowBounds=L.arrowBounds||{},Y=V[T]=V[T]||{};Y.x1=q-P,Y.y1=S-P,Y.x2=q+P,Y.y2=S+P,Y.w=Y.x2-Y.x1,Y.h=Y.y2-Y.y1,RT(Y,1),Ep(g,Y.x1,Y.y1,Y.x2,Y.y2)}}},hB=function(g,x,T){if(!x.cy().headless()){var L;T?L=T+"-":L="";var O=x._private,P=O.rstyle,$=x.pstyle(L+"label").strValue;if($){var q=x.pstyle("text-halign"),S=x.pstyle("text-valign"),V=Fk(P,"labelWidth",T),Y=Fk(P,"labelHeight",T),rt=Fk(P,"labelX",T),ot=Fk(P,"labelY",T),ht=x.pstyle(L+"text-margin-x").pfValue,dt=x.pstyle(L+"text-margin-y").pfValue,Lt=x.isEdge(),kt=x.pstyle(L+"text-rotation"),Dt=x.pstyle("text-outline-width").pfValue,Pt=x.pstyle("text-border-width").pfValue,$t=Pt/2,Zt=x.pstyle("text-background-padding").pfValue,Yt=2,qt=Y,ne=V,Gt=ne/2,ge=qt/2,be,ie,Fe,we;if(Lt)be=rt-Gt,ie=rt+Gt,Fe=ot-ge,we=ot+ge;else{switch(q.value){case"left":be=rt-ne,ie=rt;break;case"center":be=rt-Gt,ie=rt+Gt;break;case"right":be=rt,ie=rt+ne;break}switch(S.value){case"top":Fe=ot-qt,we=ot;break;case"center":Fe=ot-ge,we=ot+ge;break;case"bottom":Fe=ot,we=ot+qt;break}}be+=ht-Math.max(Dt,$t)-Zt-Yt,ie+=ht+Math.max(Dt,$t)+Zt+Yt,Fe+=dt-Math.max(Dt,$t)-Zt-Yt,we+=dt+Math.max(Dt,$t)+Zt+Yt;var bn=T||"main",ze=O.labelBounds,Ge=ze[bn]=ze[bn]||{};Ge.x1=be,Ge.y1=Fe,Ge.x2=ie,Ge.y2=we,Ge.w=ie-be,Ge.h=we-Fe;var En=Lt&&kt.strValue==="autorotate",In=kt.pfValue!=null&&kt.pfValue!==0;if(En||In){var Yn=En?Fk(O.rstyle,"labelAngle",T):kt.pfValue,Sn=Math.cos(Yn),Wn=Math.sin(Yn),rr=(be+ie)/2,wr=(Fe+we)/2;if(!Lt){switch(q.value){case"left":rr=ie;break;case"right":rr=be;break}switch(S.value){case"top":wr=we;break;case"bottom":wr=Fe;break}}var ur=function(Ea,Ci){return Ea=Ea-rr,Ci=Ci-wr,{x:Ea*Sn-Ci*Wn+rr,y:Ea*Wn+Ci*Sn+wr}},er=ur(be,Fe),vn=ur(be,we),gr=ur(ie,Fe),fr=ur(ie,we);be=Math.min(er.x,vn.x,gr.x,fr.x),ie=Math.max(er.x,vn.x,gr.x,fr.x),Fe=Math.min(er.y,vn.y,gr.y,fr.y),we=Math.max(er.y,vn.y,gr.y,fr.y)}var Jr=bn+"Rot",vi=ze[Jr]=ze[Jr]||{};vi.x1=be,vi.y1=Fe,vi.x2=ie,vi.y2=we,vi.w=ie-be,vi.h=we-Fe,Ep(g,be,Fe,ie,we),Ep(O.labelBounds.all,be,Fe,ie,we)}return g}},iJ=function(g,x){var T=g._private.cy,L=T.styleEnabled(),O=T.headless(),P=zd(),$=g._private,q=g.isNode(),S=g.isEdge(),V,Y,rt,ot,ht,dt,Lt=$.rstyle,kt=q&&L?g.pstyle("bounds-expansion").pfValue:[0],Dt=function(gs){return gs.pstyle("display").value!=="none"},Pt=!L||Dt(g)&&(!S||Dt(g.source())&&Dt(g.target()));if(Pt){var $t=0,Zt=0;L&&x.includeOverlays&&($t=g.pstyle("overlay-opacity").value,$t!==0&&(Zt=g.pstyle("overlay-padding").value));var Yt=0,qt=0;L&&x.includeUnderlays&&(Yt=g.pstyle("underlay-opacity").value,Yt!==0&&(qt=g.pstyle("underlay-padding").value));var ne=Math.max(Zt,qt),Gt=0,ge=0;if(L&&(Gt=g.pstyle("width").pfValue,ge=Gt/2),q&&x.includeNodes){var be=g.position();ht=be.x,dt=be.y;var ie=g.outerWidth(),Fe=ie/2,we=g.outerHeight(),bn=we/2;V=ht-Fe,Y=ht+Fe,rt=dt-bn,ot=dt+bn,Ep(P,V,rt,Y,ot)}else if(S&&x.includeEdges)if(L&&!O){var ze=g.pstyle("curve-style").strValue;if(V=Math.min(Lt.srcX,Lt.midX,Lt.tgtX),Y=Math.max(Lt.srcX,Lt.midX,Lt.tgtX),rt=Math.min(Lt.srcY,Lt.midY,Lt.tgtY),ot=Math.max(Lt.srcY,Lt.midY,Lt.tgtY),V-=ge,Y+=ge,rt-=ge,ot+=ge,Ep(P,V,rt,Y,ot),ze==="haystack"){var Ge=Lt.haystackPts;if(Ge&&Ge.length===2){if(V=Ge[0].x,rt=Ge[0].y,Y=Ge[1].x,ot=Ge[1].y,V>Y){var En=V;V=Y,Y=En}if(rt>ot){var In=rt;rt=ot,ot=In}Ep(P,V-ge,rt-ge,Y+ge,ot+ge)}}else if(ze==="bezier"||ze==="unbundled-bezier"||ze==="segments"||ze==="taxi"){var Yn;switch(ze){case"bezier":case"unbundled-bezier":Yn=Lt.bezierPts;break;case"segments":case"taxi":Yn=Lt.linePts;break}if(Yn!=null)for(var Sn=0;SnY){var vn=V;V=Y,Y=vn}if(rt>ot){var gr=rt;rt=ot,ot=gr}V-=ge,Y+=ge,rt-=ge,ot+=ge,Ep(P,V,rt,Y,ot)}if(L&&x.includeEdges&&S&&(tC(P,g,"mid-source"),tC(P,g,"mid-target"),tC(P,g,"source"),tC(P,g,"target")),L){var fr=g.pstyle("ghost").value==="yes";if(fr){var Jr=g.pstyle("ghost-offset-x").pfValue,vi=g.pstyle("ghost-offset-y").pfValue;Ep(P,P.x1+Jr,P.y1+vi,P.x2+Jr,P.y2+vi)}}var Xs=$.bodyBounds=$.bodyBounds||{};lN(Xs,P),SL(Xs,kt),RT(Xs,1),L&&(V=P.x1,Y=P.x2,rt=P.y1,ot=P.y2,Ep(P,V-ne,rt-ne,Y+ne,ot+ne));var Ea=$.overlayBounds=$.overlayBounds||{};lN(Ea,P),SL(Ea,kt),RT(Ea,1);var Ci=$.labelBounds=$.labelBounds||{};Ci.all!=null?NK(Ci.all):Ci.all=zd(),L&&x.includeLabels&&(x.includeMainLabels&&hB(P,g,null),S&&(x.includeSourceLabels&&hB(P,g,"source"),x.includeTargetLabels&&hB(P,g,"target")))}return P.x1=M0(P.x1),P.y1=M0(P.y1),P.x2=M0(P.x2),P.y2=M0(P.y2),P.w=M0(P.x2-P.x1),P.h=M0(P.y2-P.y1),P.w>0&&P.h>0&&Pt&&(SL(P,kt),RT(P,1)),P},fB=function(g){var x=0,T=function(P){return(P?1:0)<0&&arguments[0]!==void 0?arguments[0]:vJ,g=arguments.length>1?arguments[1]:void 0,x=0;x=0;$--)P($);return this},Cm.removeAllListeners=function(){return this.removeListener("*")},Cm.emit=Cm.trigger=function(y,g,x){var T=this.listeners,L=T.length;return this.emitting++,ft(g)||(g=[g]),mJ(this,function(O,P){x!=null&&(T=[{event:P.event,type:P.type,namespace:P.namespace,callback:x}],L=T.length);for(var $=function(V){var Y=T[V];if(Y.type===P.type&&(!Y.namespace||Y.namespace===P.namespace||Y.namespace===wJ)&&O.eventMatches(O.context,Y,P)){var rt=[P];g!=null&&aN(rt,g),O.beforeEmit(O.context,Y,P),Y.conf&&Y.conf.one&&(O.listeners=O.listeners.filter(function(dt){return dt!==Y}));var ot=O.callbackContext(O.context,Y,P),ht=Y.callback.apply(ot,rt);O.afterEmit(O.context,Y,P),ht===!1&&(P.stopPropagation(),P.preventDefault())}},q=0;q1&&!P){var $=this.length-1,q=this[$],S=q._private.data.id;this[$]=void 0,this[g]=q,O.set(S,{ele:q,index:g})}return this.length--,this},unmergeOne:function(g){g=g[0];var x=this._private,T=g._private.data.id,L=x.map,O=L.get(T);if(!O)return this;var P=O.index;return this.unmergeAt(P),this},unmerge:function(g){var x=this._private.cy;if(!g)return this;if(g&&mt(g)){var T=g;g=x.mutableElements().filter(T)}for(var L=0;L=0;x--){var T=this[x];g(T)&&this.unmergeAt(x)}return this},map:function(g,x){for(var T=[],L=this,O=0;OT&&(T=q,L=$)}return{value:T,ele:L}},min:function(g,x){for(var T=1/0,L,O=this,P=0;P=0&&O"u"?"undefined":f(Symbol))!=g&&f(Symbol.iterator)!=g;x&&(iC[Symbol.iterator]=function(){var T=this,L={value:void 0,done:!1},O=0,P=this.length;return b({next:function(){return O1&&arguments[1]!==void 0?arguments[1]:!0,T=this[0],L=T.cy();if(L.styleEnabled()&&T){this.cleanStyle();var O=T._private.style[g];return O??(x?L.style().getDefaultProperty(g):null)}},numericStyle:function(g){var x=this[0];if(x.cy().styleEnabled()&&x){var T=x.pstyle(g);return T.pfValue!==void 0?T.pfValue:T.value}},numericStyleUnits:function(g){var x=this[0];if(x.cy().styleEnabled()&&x)return x.pstyle(g).units},renderedStyle:function(g){var x=this.cy();if(!x.styleEnabled())return this;var T=this[0];if(T)return x.style().getRenderedStyle(T,g)},style:function(g,x){var T=this.cy();if(!T.styleEnabled())return this;var L=!1,O=T.style();if(ut(g)){var P=g;O.applyBypass(this,P,L),this.emitAndNotify("style")}else if(mt(g))if(x===void 0){var $=this[0];return $?O.getStylePropertyValue($,g):void 0}else O.applyBypass(this,g,x,L),this.emitAndNotify("style");else if(g===void 0){var q=this[0];return q?O.getRawStyle(q):void 0}return this},removeStyle:function(g){var x=this.cy();if(!x.styleEnabled())return this;var T=!1,L=x.style(),O=this;if(g===void 0)for(var P=0;P0&&g.push(V[0]),g.push($[0])}return this.spawn(g,!0).filter(y)},"neighborhood"),closedNeighborhood:function(g){return this.neighborhood().add(this).filter(g)},openNeighborhood:function(g){return this.neighborhood(g)}}),d1.neighbourhood=d1.neighborhood,d1.closedNeighbourhood=d1.closedNeighborhood,d1.openNeighbourhood=d1.openNeighborhood,de(d1,{source:ad(function(g){var x=this[0],T;return x&&(T=x._private.source||x.cy().collection()),T&&g?T.filter(g):T},"source"),target:ad(function(g){var x=this[0],T;return x&&(T=x._private.target||x.cy().collection()),T&&g?T.filter(g):T},"target"),sources:IB({attr:"source"}),targets:IB({attr:"target"})});function IB(y){return function(x){for(var T=[],L=0;L0);return P},component:function(){var g=this[0];return g.cy().mutableElements().components(g)[0]}}),d1.componentsOf=d1.components;var $f=function(g,x){var T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,L=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(g===void 0){vl("A collection must have a reference to the core");return}var O=new Gb,P=!1;if(!x)x=[];else if(x.length>0&&ut(x[0])&&!nt(x[0])){P=!0;for(var $=[],q=new Y5,S=0,V=x.length;S0&&arguments[0]!==void 0?arguments[0]:!0,g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,x=this,T=x.cy(),L=T._private,O=[],P=[],$,q=0,S=x.length;q0){for(var In=$.length===x.length?x:new $f(T,$),Yn=0;Yn0&&arguments[0]!==void 0?arguments[0]:!0,g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,x=this,T=[],L={},O=x._private.cy;function P(we){for(var bn=we._private.edges,ze=0;ze0&&(y?be.emitAndNotify("remove"):g&&be.emit("remove"));for(var ie=0;ie0?ie=we:be=we;while(Math.abs(Fe)>P&&++bn<$);return we}function Zt(ge){for(var be=0,ie=1,Fe=q-1;ie!==Fe&&rt[ie]<=ge;++ie)be+=S;--ie;var we=(ge-rt[ie])/(rt[ie+1]-rt[ie]),bn=be+we*S,ze=kt(bn,y,x);return ze>=O?Dt(ge,bn):ze===0?bn:$t(ge,be,be+S)}var Yt=!1;function qt(){Yt=!0,(y!==g||x!==T)&&Pt()}var ne=function(be){return Yt||qt(),y===g&&x===T?be:be===0?0:be===1?1:Lt(Zt(be),g,T)};ne.getControlPoints=function(){return[{x:y,y:g},{x,y:T}]};var Gt="generateBezier("+[y,g,x,T]+")";return ne.toString=function(){return Gt},ne}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var MJ=function(){function y(T){return-T.tension*T.x-T.friction*T.v}function g(T,L,O){var P={x:T.x+O.dx*L,v:T.v+O.dv*L,tension:T.tension,friction:T.friction};return{dx:P.v,dv:y(P)}}function x(T,L){var O={dx:T.v,dv:y(T)},P=g(T,L*.5,O),$=g(T,L*.5,P),q=g(T,L,$),S=1/6*(O.dx+2*(P.dx+$.dx)+q.dx),V=1/6*(O.dv+2*(P.dv+$.dv)+q.dv);return T.x=T.x+S*L,T.v=T.v+V*L,T}return function T(L,O,P){var $={x:-1,v:0,tension:null,friction:null},q=[0],S=0,V=1/1e4,Y=16/1e3,rt,ot,ht;for(L=parseFloat(L)||500,O=parseFloat(O)||20,P=P||null,$.tension=L,$.friction=O,rt=P!==null,rt?(S=T(L,O),ot=S/P*Y):ot=Y;ht=x(ht||$,ot),q.push(1+ht.x),S+=16,Math.abs(ht.x)>V&&Math.abs(ht.v)>V;);return rt?function(dt){return q[dt*(q.length-1)|0]}:S}}(),gu=function(g,x,T,L){var O=LJ(g,x,T,L);return function(P,$,q){return P+($-P)*O(q)}},cC={linear:function(g,x,T){return g+(x-g)*T},ease:gu(.25,.1,.25,1),"ease-in":gu(.42,0,1,1),"ease-out":gu(0,0,.58,1),"ease-in-out":gu(.42,0,.58,1),"ease-in-sine":gu(.47,0,.745,.715),"ease-out-sine":gu(.39,.575,.565,1),"ease-in-out-sine":gu(.445,.05,.55,.95),"ease-in-quad":gu(.55,.085,.68,.53),"ease-out-quad":gu(.25,.46,.45,.94),"ease-in-out-quad":gu(.455,.03,.515,.955),"ease-in-cubic":gu(.55,.055,.675,.19),"ease-out-cubic":gu(.215,.61,.355,1),"ease-in-out-cubic":gu(.645,.045,.355,1),"ease-in-quart":gu(.895,.03,.685,.22),"ease-out-quart":gu(.165,.84,.44,1),"ease-in-out-quart":gu(.77,0,.175,1),"ease-in-quint":gu(.755,.05,.855,.06),"ease-out-quint":gu(.23,1,.32,1),"ease-in-out-quint":gu(.86,0,.07,1),"ease-in-expo":gu(.95,.05,.795,.035),"ease-out-expo":gu(.19,1,.22,1),"ease-in-out-expo":gu(1,0,0,1),"ease-in-circ":gu(.6,.04,.98,.335),"ease-out-circ":gu(.075,.82,.165,1),"ease-in-out-circ":gu(.785,.135,.15,.86),spring:function(g,x,T){if(T===0)return cC.linear;var L=MJ(g,x,T);return function(O,P,$){return O+(P-O)*L($)}},"cubic-bezier":gu};function FB(y,g,x,T,L){if(T===1||g===x)return x;var O=L(g,x,T);return y==null||((y.roundValue||y.color)&&(O=Math.round(O)),y.min!==void 0&&(O=Math.max(O,y.min)),y.max!==void 0&&(O=Math.min(O,y.max))),O}function NB(y,g){return y.pfValue!=null||y.value!=null?y.pfValue!=null&&(g==null||g.type.units!=="%")?y.pfValue:y.value:y}function fx(y,g,x,T,L){var O=L!=null?L.type:null;x<0?x=0:x>1&&(x=1);var P=NB(y,L),$=NB(g,L);if(X(P)&&X($))return FB(O,P,$,x,T);if(ft(P)&&ft($)){for(var q=[],S=0;S<$.length;S++){var V=P[S],Y=$[S];if(V!=null&&Y!=null){var rt=FB(O,V,Y,x,T);q.push(rt)}else q.push(Y)}return q}}function DJ(y,g,x,T){var L=!T,O=y._private,P=g._private,$=P.easing,q=P.startTime,S=T?y:y.cy(),V=S.style();if(!P.easingImpl)if($==null)P.easingImpl=cC.linear;else{var Y;if(mt($)){var rt=V.parse("transition-timing-function",$);Y=rt.value}else Y=$;var ot,ht;mt(Y)?(ot=Y,ht=[]):(ot=Y[1],ht=Y.slice(2).map(function(In){return+In})),ht.length>0?(ot==="spring"&&ht.push(P.duration),P.easingImpl=cC[ot].apply(null,ht)):P.easingImpl=cC[ot]}var dt=P.easingImpl,Lt;if(P.duration===0?Lt=1:Lt=(x-q)/P.duration,P.applying&&(Lt=P.progress),Lt<0?Lt=0:Lt>1&&(Lt=1),P.delay==null){var kt=P.startPosition,Dt=P.position;if(Dt&&L&&!y.locked()){var Pt={};$k(kt.x,Dt.x)&&(Pt.x=fx(kt.x,Dt.x,Lt,dt)),$k(kt.y,Dt.y)&&(Pt.y=fx(kt.y,Dt.y,Lt,dt)),y.position(Pt)}var $t=P.startPan,Zt=P.pan,Yt=O.pan,qt=Zt!=null&&T;qt&&($k($t.x,Zt.x)&&(Yt.x=fx($t.x,Zt.x,Lt,dt)),$k($t.y,Zt.y)&&(Yt.y=fx($t.y,Zt.y,Lt,dt)),y.emit("pan"));var ne=P.startZoom,Gt=P.zoom,ge=Gt!=null&&T;ge&&($k(ne,Gt)&&(O.zoom=_k(O.minZoom,fx(ne,Gt,Lt,dt),O.maxZoom)),y.emit("zoom")),(qt||ge)&&y.emit("viewport");var be=P.style;if(be&&be.length>0&&L){for(var ie=0;ie=0;qt--){var ne=Yt[qt];ne()}Yt.splice(0,Yt.length)},Dt=ot.length-1;Dt>=0;Dt--){var Pt=ot[Dt],$t=Pt._private;if($t.stopped){ot.splice(Dt,1),$t.hooked=!1,$t.playing=!1,$t.started=!1,kt($t.frames);continue}!$t.playing&&!$t.applying||($t.playing&&$t.applying&&($t.applying=!1),$t.started||IJ(V,Pt,y),DJ(V,Pt,y,Y),$t.applying&&($t.applying=!1),kt($t.frames),$t.step!=null&&$t.step(y),Pt.completed()&&(ot.splice(Dt,1),$t.hooked=!1,$t.playing=!1,$t.started=!1,kt($t.completes)),dt=!0)}return!Y&&ot.length===0&&ht.length===0&&T.push(V),dt}for(var O=!1,P=0;P0?g.notify("draw",x):g.notify("draw")),x.unmerge(T),g.emit("step")}var OJ={animate:Ac.animate(),animation:Ac.animation(),animated:Ac.animated(),clearQueue:Ac.clearQueue(),delay:Ac.delay(),delayAnimation:Ac.delayAnimation(),stop:Ac.stop(),addToAnimationPool:function(g){var x=this;x.styleEnabled()&&x._private.aniEles.merge(g)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var g=this;if(g._private.animationsRunning=!0,!g.styleEnabled())return;function x(){g._private.animationsRunning&&Bf(function(O){BB(O,g),x()})}var T=g.renderer();T&&T.beforeRender?T.beforeRender(function(O,P){BB(P,g)},T.beforeRenderPriorities.animations):x()}},PJ={qualifierCompare:function(g,x){return g==null||x==null?g==null&&x==null:g.sameText(x)},eventMatches:function(g,x,T){var L=x.qualifier;return L!=null?g!==T.target&&nt(T.target)&&L.matches(T.target):!0},addEventFields:function(g,x){x.cy=g,x.target=g},callbackContext:function(g,x,T){return x.qualifier!=null?T.target:g}},uC=function(g){return mt(g)?new Em(g):g},RB={createEmitter:function(){var g=this._private;return g.emitter||(g.emitter=new nC(PJ,this)),this},emitter:function(){return this._private.emitter},on:function(g,x,T){return this.emitter().on(g,uC(x),T),this},removeListener:function(g,x,T){return this.emitter().removeListener(g,uC(x),T),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(g,x,T){return this.emitter().one(g,uC(x),T),this},once:function(g,x,T){return this.emitter().one(g,uC(x),T),this},emit:function(g,x){return this.emitter().emit(g,x),this},emitAndNotify:function(g,x){return this.emit(g),this.notify(g,x),this}};Ac.eventAliasesOn(RB);var UL={png:function(g){var x=this._private.renderer;return g=g||{},x.png(g)},jpg:function(g){var x=this._private.renderer;return g=g||{},g.bg=g.bg||"#fff",x.jpg(g)}};UL.jpeg=UL.jpg;var lC={layout:function(g){var x=this;if(g==null){vl("Layout options must be specified to make a layout");return}if(g.name==null){vl("A `name` must be specified to make a layout");return}var T=g.name,L=x.extension("layout",T);if(L==null){vl("No such layout `"+T+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var O;mt(g.eles)?O=x.$(g.eles):O=g.eles!=null?g.eles:x.$();var P=new L(de({},g,{cy:x,eles:O}));return P}};lC.createLayout=lC.makeLayout=lC.layout;var FJ={notify:function(g,x){var T=this._private;if(this.batching()){T.batchNotifications=T.batchNotifications||{};var L=T.batchNotifications[g]=T.batchNotifications[g]||this.collection();x!=null&&L.merge(x);return}if(T.notificationsEnabled){var O=this.renderer();this.destroyed()||!O||O.notify(g,x)}},notifications:function(g){var x=this._private;return g===void 0?x.notificationsEnabled:(x.notificationsEnabled=!!g,this)},noNotifications:function(g){this.notifications(!1),g(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var g=this._private;return g.batchCount==null&&(g.batchCount=0),g.batchCount===0&&(g.batchStyleEles=this.collection(),g.batchNotifications={}),g.batchCount++,this},endBatch:function(){var g=this._private;if(g.batchCount===0)return this;if(g.batchCount--,g.batchCount===0){g.batchStyleEles.updateStyle();var x=this.renderer();Object.keys(g.batchNotifications).forEach(function(T){var L=g.batchNotifications[T];L.empty()?x.notify(T):x.notify(T,L)})}return this},batch:function(g){return this.startBatch(),g(),this.endBatch(),this},batchData:function(g){var x=this;return this.batch(function(){for(var T=Object.keys(g),L=0;L0;)x.removeChild(x.childNodes[0]);g._private.renderer=null,g.mutableElements().forEach(function(T){var L=T._private;L.rscratch={},L.rstyle={},L.animation.current=[],L.animation.queue=[]})},onRender:function(g){return this.on("render",g)},offRender:function(g){return this.off("render",g)}};WL.invalidateDimensions=WL.resize;var hC={collection:function(g,x){return mt(g)?this.$(g):Tt(g)?g.collection():ft(g)?(x||(x={}),new $f(this,g,x.unique,x.removed)):new $f(this)},nodes:function(g){var x=this.$(function(T){return T.isNode()});return g?x.filter(g):x},edges:function(g){var x=this.$(function(T){return T.isEdge()});return g?x.filter(g):x},$:function(g){var x=this._private.elements;return g?x.filter(g):x.spawnSelf()},mutableElements:function(){return this._private.elements}};hC.elements=hC.filter=hC.$;var g1={},zk="t",BJ="f";g1.apply=function(y){for(var g=this,x=g._private,T=x.cy,L=T.collection(),O=0;O0;if(rt||Y&&ot){var ht=void 0;rt&&ot||rt?ht=S.properties:ot&&(ht=S.mappedProperties);for(var dt=0;dt1&&($t=1),$.color){var Yt=T.valueMin[0],qt=T.valueMax[0],ne=T.valueMin[1],Gt=T.valueMax[1],ge=T.valueMin[2],be=T.valueMax[2],ie=T.valueMin[3]==null?1:T.valueMin[3],Fe=T.valueMax[3]==null?1:T.valueMax[3],we=[Math.round(Yt+(qt-Yt)*$t),Math.round(ne+(Gt-ne)*$t),Math.round(ge+(be-ge)*$t),Math.round(ie+(Fe-ie)*$t)];O={bypass:T.bypass,name:T.name,value:we,strValue:"rgb("+we[0]+", "+we[1]+", "+we[2]+")"}}else if($.number){var bn=T.valueMin+(T.valueMax-T.valueMin)*$t;O=this.parse(T.name,bn,T.bypass,rt)}else return!1;if(!O)return dt(),!1;O.mapping=T,T=O;break}case P.data:{for(var ze=T.field.split("."),Ge=Y.data,En=0;En0&&O>0){for(var $={},q=!1,S=0;S0?y.delayAnimation(P).play().promise().then(Pt):Pt()}).then(function(){return y.animation({style:$,duration:O,easing:y.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){x.removeBypasses(y,L),y.emitAndNotify("style"),T.transitioning=!1})}else T.transitioning&&(this.removeBypasses(y,L),y.emitAndNotify("style"),T.transitioning=!1)},g1.checkTrigger=function(y,g,x,T,L,O){var P=this.properties[g],$=L(P);$!=null&&$(x,T)&&O(P)},g1.checkZOrderTrigger=function(y,g,x,T){var L=this;this.checkTrigger(y,g,x,T,function(O){return O.triggersZOrder},function(){L._private.cy.notify("zorder",y)})},g1.checkBoundsTrigger=function(y,g,x,T){this.checkTrigger(y,g,x,T,function(L){return L.triggersBounds},function(L){y.dirtyCompoundBoundsCache(),y.dirtyBoundingBoxCache(),L.triggersBoundsOfParallelBeziers&&(g==="curve-style"&&(x==="bezier"||T==="bezier")||g==="display"&&(x==="none"||T==="none"))&&y.parallelEdges().forEach(function(O){O.isBundledBezier()&&O.dirtyBoundingBoxCache()})})},g1.checkTriggers=function(y,g,x,T){y.dirtyStyleCache(),this.checkZOrderTrigger(y,g,x,T),this.checkBoundsTrigger(y,g,x,T)};var qk={};qk.applyBypass=function(y,g,x,T){var L=this,O=[],P=!0;if(g==="*"||g==="**"){if(x!==void 0)for(var $=0;$L.length?T=T.substr(L.length):T=""}function q(){O.length>P.length?O=O.substr(P.length):O=""}for(;;){var S=T.match(/^\s*$/);if(S)break;var V=T.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!V){Sc("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+T);break}L=V[0];var Y=V[1];if(Y!=="core"){var rt=new Em(Y);if(rt.invalid){Sc("Skipping parsing of block: Invalid selector found in string stylesheet: "+Y),$();continue}}var ot=V[2],ht=!1;O=ot;for(var dt=[];;){var Lt=O.match(/^\s*$/);if(Lt)break;var kt=O.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!kt){Sc("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+ot),ht=!0;break}P=kt[0];var Dt=kt[1],Pt=kt[2],$t=g.properties[Dt];if(!$t){Sc("Skipping property: Invalid property name in: "+P),q();continue}var Zt=x.parse(Dt,Pt);if(!Zt){Sc("Skipping property: Invalid property definition in: "+P),q();continue}dt.push({name:Dt,val:Pt}),q()}if(ht){$();break}x.selector(Y);for(var Yt=0;Yt=7&&g[0]==="d"&&(V=new RegExp($.data.regex).exec(g))){if(x)return!1;var rt=$.data;return{name:y,value:V,strValue:""+g,mapped:rt,field:V[1],bypass:x}}else if(g.length>=10&&g[0]==="m"&&(Y=new RegExp($.mapData.regex).exec(g))){if(x||S.multiple)return!1;var ot=$.mapData;if(!(S.color||S.number))return!1;var ht=this.parse(y,Y[4]);if(!ht||ht.mapped)return!1;var dt=this.parse(y,Y[5]);if(!dt||dt.mapped)return!1;if(ht.pfValue===dt.pfValue||ht.strValue===dt.strValue)return Sc("`"+y+": "+g+"` is not a valid mapper because the output range is zero; converting to `"+y+": "+ht.strValue+"`"),this.parse(y,ht.strValue);if(S.color){var Lt=ht.value,kt=dt.value,Dt=Lt[0]===kt[0]&&Lt[1]===kt[1]&&Lt[2]===kt[2]&&(Lt[3]===kt[3]||(Lt[3]==null||Lt[3]===1)&&(kt[3]==null||kt[3]===1));if(Dt)return!1}return{name:y,value:Y,strValue:""+g,mapped:ot,field:Y[1],fieldMin:parseFloat(Y[2]),fieldMax:parseFloat(Y[3]),valueMin:ht.value,valueMax:dt.value,bypass:x}}}if(S.multiple&&T!=="multiple"){var Pt;if(q?Pt=g.split(/\s+/):ft(g)?Pt=g:Pt=[g],S.evenMultiple&&Pt.length%2!==0)return null;for(var $t=[],Zt=[],Yt=[],qt="",ne=!1,Gt=0;Gt0?" ":"")+ge.strValue}return S.validate&&!S.validate($t,Zt)?null:S.singleEnum&&ne?$t.length===1&&mt($t[0])?{name:y,value:$t[0],strValue:$t[0],bypass:x}:null:{name:y,value:$t,pfValue:Yt,strValue:qt,bypass:x,units:Zt}}var be=function(){for(var fr=0;frS.max||S.strictMax&&g===S.max))return null;var ze={name:y,value:g,strValue:""+g+(ie||""),units:ie,bypass:x};return S.unitless||ie!=="px"&&ie!=="em"?ze.pfValue=g:ze.pfValue=ie==="px"||!ie?g:this.getEmSizeInPixels()*g,(ie==="ms"||ie==="s")&&(ze.pfValue=ie==="ms"?g:1e3*g),(ie==="deg"||ie==="rad")&&(ze.pfValue=ie==="rad"?g:IK(g)),ie==="%"&&(ze.pfValue=g/100),ze}else if(S.propList){var Ge=[],En=""+g;if(En!=="none"){for(var In=En.split(/\s*,\s*|\s+/),Yn=0;Yn0&&$>0&&!isNaN(T.w)&&!isNaN(T.h)&&T.w>0&&T.h>0){q=Math.min((P-2*x)/T.w,($-2*x)/T.h),q=q>this._private.maxZoom?this._private.maxZoom:q,q=q=T.minZoom&&(T.maxZoom=x),this},minZoom:function(g){return g===void 0?this._private.minZoom:this.zoomRange({min:g})},maxZoom:function(g){return g===void 0?this._private.maxZoom:this.zoomRange({max:g})},getZoomedViewport:function(g){var x=this._private,T=x.pan,L=x.zoom,O,P,$=!1;if(x.zoomingEnabled||($=!0),X(g)?P=g:ut(g)&&(P=g.level,g.position!=null?O=NT(g.position,L,T):g.renderedPosition!=null&&(O=g.renderedPosition),O!=null&&!x.panningEnabled&&($=!0)),P=P>x.maxZoom?x.maxZoom:P,P=Px.maxZoom||!x.zoomingEnabled?P=!0:(x.zoom=q,O.push("zoom"))}if(L&&(!P||!g.cancelOnFailedZoom)&&x.panningEnabled){var S=g.pan;X(S.x)&&(x.pan.x=S.x,$=!1),X(S.y)&&(x.pan.y=S.y,$=!1),$||O.push("pan")}return O.length>0&&(O.push("viewport"),this.emit(O.join(" ")),this.notify("viewport")),this},center:function(g){var x=this.getCenterPan(g);return x&&(this._private.pan=x,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(g,x){if(this._private.panningEnabled){if(mt(g)){var T=g;g=this.mutableElements().filter(T)}else Tt(g)||(g=this.mutableElements());if(g.length!==0){var L=g.boundingBox(),O=this.width(),P=this.height();x=x===void 0?this._private.zoom:x;var $={x:(O-x*(L.x1+L.x2))/2,y:(P-x*(L.y1+L.y2))/2};return $}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var g=this._private,x=g.container;return g.sizeCache=g.sizeCache||(x?function(){var T=R.getComputedStyle(x),L=function(P){return parseFloat(T.getPropertyValue(P))};return{width:x.clientWidth-L("padding-left")-L("padding-right"),height:x.clientHeight-L("padding-top")-L("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var g=this._private.pan,x=this._private.zoom,T=this.renderedExtent(),L={x1:(T.x1-g.x)/x,x2:(T.x2-g.x)/x,y1:(T.y1-g.y)/x,y2:(T.y2-g.y)/x};return L.w=L.x2-L.x1,L.h=L.y2-L.y1,L},renderedExtent:function(){var g=this.width(),x=this.height();return{x1:0,y1:0,x2:g,y2:x,w:g,h:x}},multiClickDebounceTime:function(g){if(g)this._private.multiClickDebounceTime=g;else return this._private.multiClickDebounceTime;return this}};M3.centre=M3.center,M3.autolockNodes=M3.autolock,M3.autoungrabifyNodes=M3.autoungrabify;var Hk={data:Ac.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Ac.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Ac.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Ac.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Hk.attr=Hk.data,Hk.removeAttr=Hk.removeData;var Vk=function(g){var x=this;g=de({},g);var T=g.container;T&&!U(T)&&U(T[0])&&(T=T[0]);var L=T?T._cyreg:null;L=L||{},L&&L.cy&&(L.cy.destroy(),L={});var O=L.readies=L.readies||[];T&&(T._cyreg=L),L.cy=x;var P=R!==void 0&&T!==void 0&&!g.headless,$=g;$.layout=de({name:P?"grid":"null"},$.layout),$.renderer=de({name:P?"canvas":"null"},$.renderer);var q=function(ht,dt,Lt){return dt!==void 0?dt:Lt!==void 0?Lt:ht},S=this._private={container:T,ready:!1,options:$,elements:new $f(this),listeners:[],aniEles:new $f(this),data:$.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:q(!0,$.zoomingEnabled),userZoomingEnabled:q(!0,$.userZoomingEnabled),panningEnabled:q(!0,$.panningEnabled),userPanningEnabled:q(!0,$.userPanningEnabled),boxSelectionEnabled:q(!0,$.boxSelectionEnabled),autolock:q(!1,$.autolock,$.autolockNodes),autoungrabify:q(!1,$.autoungrabify,$.autoungrabifyNodes),autounselectify:q(!1,$.autounselectify),styleEnabled:$.styleEnabled===void 0?P:$.styleEnabled,zoom:X($.zoom)?$.zoom:1,pan:{x:ut($.pan)&&X($.pan.x)?$.pan.x:0,y:ut($.pan)&&X($.pan.y)?$.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:q(250,$.multiClickDebounceTime)};this.createEmitter(),this.selectionType($.selectionType),this.zoomRange({min:$.minZoom,max:$.maxZoom});var V=function(ht,dt){var Lt=ht.some(Ht);if(Lt)return ex.all(ht).then(dt);dt(ht)};S.styleEnabled&&x.setStyle([]);var Y=de({},$,$.renderer);x.initRenderer(Y);var rt=function(ht,dt,Lt){x.notifications(!1);var kt=x.mutableElements();kt.length>0&&kt.remove(),ht!=null&&(ut(ht)||ft(ht))&&x.add(ht),x.one("layoutready",function(Pt){x.notifications(!0),x.emit(Pt),x.one("load",dt),x.emitAndNotify("load")}).one("layoutstop",function(){x.one("done",Lt),x.emit("done")});var Dt=de({},x._private.options.layout);Dt.eles=x.elements(),x.layout(Dt).run()};V([$.style,$.elements],function(ot){var ht=ot[0],dt=ot[1];S.styleEnabled&&x.style().append(ht),rt(dt,function(){x.startAnimationLoop(),S.ready=!0,yt($.ready)&&x.on("ready",$.ready);for(var Lt=0;Lt0,q=zd(g.boundingBox?g.boundingBox:{x1:0,y1:0,w:x.width(),h:x.height()}),S;if(Tt(g.roots))S=g.roots;else if(ft(g.roots)){for(var V=[],Y=0;Y0;){var bn=we(),ze=ge(bn,ie);if(ze)bn.outgoers().filter(function(Ci){return Ci.isNode()&&T.has(Ci)}).forEach(Fe);else if(ze===null){Sc("Detected double maximal shift for node `"+bn.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}Gt();var Ge=0;if(g.avoidOverlap)for(var En=0;En0&&kt[0].length<=3?qs/2:0),jn=2*Math.PI/kt[qi].length*Si;return qi===0&&kt[0].length===1&&(Qt=1),{x:vi.x+Qt*Math.cos(jn),y:vi.y+Qt*Math.sin(jn)}}else{var Tr={x:vi.x+(Si+1-(Ui+1)/2)*Va,y:(qi+1)*Qs};return Tr}};return T.nodes().layoutPositions(this,g,Ea),this};var zJ={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(g,x){return!0},ready:void 0,stop:void 0,transform:function(g,x){return x}};function pC(y){this.options=de({},zJ,y)}pC.prototype.run=function(){var y=this.options,g=y,x=y.cy,T=g.eles,L=g.counterclockwise!==void 0?!g.counterclockwise:g.clockwise,O=T.nodes().not(":parent");g.sort&&(O=O.sort(g.sort));for(var P=zd(g.boundingBox?g.boundingBox:{x1:0,y1:0,w:x.width(),h:x.height()}),$={x:P.x1+P.w/2,y:P.y1+P.h/2},q=g.sweep===void 0?2*Math.PI-2*Math.PI/O.length:g.sweep,S=q/Math.max(1,O.length-1),V,Y=0,rt=0;rt1&&g.avoidOverlap){Y*=1.75;var kt=Math.cos(S)-Math.cos(0),Dt=Math.sin(S)-Math.sin(0),Pt=Math.sqrt(Y*Y/(kt*kt+Dt*Dt));V=Math.max(Pt,V)}var $t=function(Yt,qt){var ne=g.startAngle+qt*S*(L?1:-1),Gt=V*Math.cos(ne),ge=V*Math.sin(ne),be={x:$.x+Gt,y:$.y+ge};return be};return T.nodes().layoutPositions(this,g,$t),this};var qJ={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(g){return g.degree()},levelWidth:function(g){return g.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(g,x){return!0},ready:void 0,stop:void 0,transform:function(g,x){return x}};function $B(y){this.options=de({},qJ,y)}$B.prototype.run=function(){for(var y=this.options,g=y,x=g.counterclockwise!==void 0?!g.counterclockwise:g.clockwise,T=y.cy,L=g.eles,O=L.nodes().not(":parent"),P=zd(g.boundingBox?g.boundingBox:{x1:0,y1:0,w:T.width(),h:T.height()}),$={x:P.x1+P.w/2,y:P.y1+P.h/2},q=[],S=0,V=0;V0){var Zt=Math.abs(Dt[0].value-$t.value);Zt>=Lt&&(Dt=[],kt.push(Dt))}Dt.push($t)}var Yt=S+g.minNodeSpacing;if(!g.avoidOverlap){var qt=kt.length>0&&kt[0].length>1,ne=Math.min(P.w,P.h)/2-Yt,Gt=ne/(kt.length+qt?1:0);Yt=Math.min(Yt,Gt)}for(var ge=0,be=0;be1&&g.avoidOverlap){var bn=Math.cos(we)-Math.cos(0),ze=Math.sin(we)-Math.sin(0),Ge=Math.sqrt(Yt*Yt/(bn*bn+ze*ze));ge=Math.max(Ge,ge)}ie.r=ge,ge+=Yt}if(g.equidistant){for(var En=0,In=0,Yn=0;Yn=y.numIter||(XJ(T,y),T.temperature=T.temperature*y.coolingFactor,T.temperature=y.animationThreshold&&O(),Bf(Y)}};V()}else{for(;S;)S=P(q),q++;HB(T,y),$()}return this},bC.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},bC.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var VJ=function(g,x,T){for(var L=T.eles.edges(),O=T.eles.nodes(),P={isCompound:g.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:O.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:L.size(),temperature:T.initialTemp,clientWidth:g.width(),clientHeight:g.width(),boundingBox:zd(T.boundingBox?T.boundingBox:{x1:0,y1:0,w:g.width(),h:g.height()})},$=T.eles.components(),q={},S=0;S<$.length;S++)for(var V=$[S],Y=0;Y0){P.graphSet.push(qt);for(var S=0;SL.count?0:L.graph},UJ=function y(g,x,T,L){var O=L.graphSet[T];if(-10)var Y=L.nodeOverlap*V,rt=Math.sqrt($*$+q*q),ot=Y*$/rt,ht=Y*q/rt;else var dt=wC(g,$,q),Lt=wC(x,-1*$,-1*q),kt=Lt.x-dt.x,Dt=Lt.y-dt.y,Pt=kt*kt+Dt*Dt,rt=Math.sqrt(Pt),Y=(g.nodeRepulsion+x.nodeRepulsion)/Pt,ot=Y*kt/rt,ht=Y*Dt/rt;g.isLocked||(g.offsetX-=ot,g.offsetY-=ht),x.isLocked||(x.offsetX+=ot,x.offsetY+=ht)}},JJ=function(g,x,T,L){if(T>0)var O=g.maxX-x.minX;else var O=x.maxX-g.minX;if(L>0)var P=g.maxY-x.minY;else var P=x.maxY-g.minY;return O>=0&&P>=0?Math.sqrt(O*O+P*P):0},wC=function(g,x,T){var L=g.positionX,O=g.positionY,P=g.height||1,$=g.width||1,q=T/x,S=P/$,V={};return x===0&&0T?(V.x=L,V.y=O+P/2,V):0x&&-1*S<=q&&q<=S?(V.x=L-$/2,V.y=O-$*T/2/x,V):0=S)?(V.x=L+P*x/2/T,V.y=O+P/2,V):(0>T&&(q<=-1*S||q>=S)&&(V.x=L-P*x/2/T,V.y=O-P/2),V)},ttt=function(g,x){for(var T=0;TT){var Lt=x.gravity*ot/dt,kt=x.gravity*ht/dt;rt.offsetX+=Lt,rt.offsetY+=kt}}}}},ntt=function(g,x){var T=[],L=0,O=-1;for(T.push.apply(T,g.graphSet[0]),O+=g.graphSet[0].length;L<=O;){var P=T[L++],$=g.idToIndex[P],q=g.layoutNodes[$],S=q.children;if(0T)var O={x:T*g/L,y:T*x/L};else var O={x:g,y:x};return O},stt=function y(g,x){var T=g.parentId;if(T!=null){var L=x.layoutNodes[x.idToIndex[T]],O=!1;if((L.maxX==null||g.maxX+L.padRight>L.maxX)&&(L.maxX=g.maxX+L.padRight,O=!0),(L.minX==null||g.minX-L.padLeftL.maxY)&&(L.maxY=g.maxY+L.padBottom,O=!0),(L.minY==null||g.minY-L.padTopkt&&(ht+=Lt+x.componentSpacing,ot=0,dt=0,Lt=0)}}},att={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(g){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(g,x){return!0},ready:void 0,stop:void 0,transform:function(g,x){return x}};function VB(y){this.options=de({},att,y)}VB.prototype.run=function(){var y=this.options,g=y,x=y.cy,T=g.eles,L=T.nodes().not(":parent");g.sort&&(L=L.sort(g.sort));var O=zd(g.boundingBox?g.boundingBox:{x1:0,y1:0,w:x.width(),h:x.height()});if(O.h===0||O.w===0)T.nodes().layoutPositions(this,g,function(rr){return{x:O.x1,y:O.y1}});else{var P=L.size(),$=Math.sqrt(P*O.h/O.w),q=Math.round($),S=Math.round(O.w/O.h*$),V=function(wr){if(wr==null)return Math.min(q,S);var ur=Math.min(q,S);ur==q?q=wr:S=wr},Y=function(wr){if(wr==null)return Math.max(q,S);var ur=Math.max(q,S);ur==q?q=wr:S=wr},rt=g.rows,ot=g.cols!=null?g.cols:g.columns;if(rt!=null&&ot!=null)q=rt,S=ot;else if(rt!=null&&ot==null)q=rt,S=Math.ceil(P/q);else if(rt==null&&ot!=null)S=ot,q=Math.ceil(P/S);else if(S*q>P){var ht=V(),dt=Y();(ht-1)*dt>=P?V(ht-1):(dt-1)*ht>=P&&Y(dt-1)}else for(;S*q=P?Y(kt+1):V(Lt+1)}var Dt=O.w/S,Pt=O.h/q;if(g.condense&&(Dt=0,Pt=0),g.avoidOverlap)for(var $t=0;$t=S&&(bn=0,we++)},Ge={},En=0;En(bn=GK(y,g,ze[Ge],ze[Ge+1],ze[Ge+2],ze[Ge+3])))return Lt(qt,bn),!0}else if(Gt.edgeType==="bezier"||Gt.edgeType==="multibezier"||Gt.edgeType==="self"||Gt.edgeType==="compound"){for(var ze=Gt.allpts,Ge=0;Ge+5(bn=VK(y,g,ze[Ge],ze[Ge+1],ze[Ge+2],ze[Ge+3],ze[Ge+4],ze[Ge+5])))return Lt(qt,bn),!0}for(var En=En||ne.source,In=In||ne.target,Yn=L.getArrowWidth(ge,be),Sn=[{name:"source",x:Gt.arrowStartX,y:Gt.arrowStartY,angle:Gt.srcArrowAngle},{name:"target",x:Gt.arrowEndX,y:Gt.arrowEndY,angle:Gt.tgtArrowAngle},{name:"mid-source",x:Gt.midX,y:Gt.midY,angle:Gt.midsrcArrowAngle},{name:"mid-target",x:Gt.midX,y:Gt.midY,angle:Gt.midtgtArrowAngle}],Ge=0;Ge0&&(kt(En),kt(In))}function Pt(qt,ne,Gt){return yp(qt,ne,Gt)}function $t(qt,ne){var Gt=qt._private,ge=rt,be;ne?be=ne+"-":be="",qt.boundingBox();var ie=Gt.labelBounds[ne||"main"],Fe=qt.pstyle(be+"label").value,we=qt.pstyle("text-events").strValue==="yes";if(!(!we||!Fe)){var bn=Pt(Gt.rscratch,"labelX",ne),ze=Pt(Gt.rscratch,"labelY",ne),Ge=Pt(Gt.rscratch,"labelAngle",ne),En=qt.pstyle(be+"text-margin-x").pfValue,In=qt.pstyle(be+"text-margin-y").pfValue,Yn=ie.x1-ge-En,Sn=ie.x2+ge-En,Wn=ie.y1-ge-In,rr=ie.y2+ge-In;if(Ge){var wr=Math.cos(Ge),ur=Math.sin(Ge),er=function(Ea,Ci){return Ea=Ea-bn,Ci=Ci-ze,{x:Ea*wr-Ci*ur+bn,y:Ea*ur+Ci*wr+ze}},vn=er(Yn,Wn),gr=er(Yn,rr),fr=er(Sn,Wn),Jr=er(Sn,rr),vi=[vn.x+En,vn.y+In,fr.x+En,fr.y+In,Jr.x+En,Jr.y+In,gr.x+En,gr.y+In];if(qd(y,g,vi))return Lt(qt),!0}else if(Q5(ie,y,g))return Lt(qt),!0}}for(var Zt=P.length-1;Zt>=0;Zt--){var Yt=P[Zt];Yt.isNode()?kt(Yt)||$t(Yt):Dt(Yt)||$t(Yt)||$t(Yt,"source")||$t(Yt,"target")}return $},D3.getAllInBox=function(y,g,x,T){var L=this.getCachedZSortedEles().interactive,O=[],P=Math.min(y,x),$=Math.max(y,x),q=Math.min(g,T),S=Math.max(g,T);y=P,x=$,g=q,T=S;for(var V=zd({x1:y,y1:g,x2:x,y2:T}),Y=0;Y0?Math.max(Yi-Fo,0):Math.min(Yi+Fo,0)},Fe=ie(ge,ne),we=ie(be,Gt),bn=!1;Dt===S?kt=Math.abs(Fe)>Math.abs(we)?L:T:Dt===q||Dt===$?(kt=T,bn=!0):(Dt===O||Dt===P)&&(kt=L,bn=!0);var ze=kt===T,Ge=ze?we:Fe,En=ze?be:ge,In=uN(En),Yn=!1;!(bn&&($t||Yt))&&(Dt===$&&En<0||Dt===q&&En>0||Dt===O&&En>0||Dt===P&&En<0)&&(In*=-1,Ge=In*Math.abs(Ge),Yn=!0);var Sn;if($t){var Wn=Zt<0?1+Zt:Zt;Sn=Wn*Ge}else{var rr=Zt<0?Ge:0;Sn=rr+Zt*In}var wr=function(Yi){return Math.abs(Yi)=Math.abs(Ge)},ur=wr(Sn),er=wr(Math.abs(Ge)-Math.abs(Sn)),vn=ur||er;if(vn&&!Yn)if(ze){var gr=Math.abs(En)<=rt/2,fr=Math.abs(ge)<=ot/2;if(gr){var Jr=(V.x1+V.x2)/2,vi=V.y1,Xs=V.y2;x.segpts=[Jr,vi,Jr,Xs]}else if(fr){var Ea=(V.y1+V.y2)/2,Ci=V.x1,hi=V.x2;x.segpts=[Ci,Ea,hi,Ea]}else x.segpts=[V.x1,V.y2]}else{var gs=Math.abs(En)<=Y/2,qi=Math.abs(be)<=ht/2;if(gs){var Si=(V.y1+V.y2)/2,Ui=V.x1,Va=V.x2;x.segpts=[Ui,Si,Va,Si]}else if(qi){var Qs=(V.x1+V.x2)/2,qs=V.y1,Tr=V.y2;x.segpts=[Qs,qs,Qs,Tr]}else x.segpts=[V.x2,V.y1]}else if(ze){var Qt=V.y1+Sn+(Lt?rt/2*In:0),jn=V.x1,Sr=V.x2;x.segpts=[jn,Qt,Sr,Qt]}else{var ir=V.x1+Sn+(Lt?Y/2*In:0),sr=V.y1,Ia=V.y2;x.segpts=[ir,sr,ir,Ia]}},od.tryToCorrectInvalidPoints=function(y,g){var x=y._private.rscratch;if(x.edgeType==="bezier"){var T=g.srcPos,L=g.tgtPos,O=g.srcW,P=g.srcH,$=g.tgtW,q=g.tgtH,S=g.srcShape,V=g.tgtShape,Y=!X(x.startX)||!X(x.startY),rt=!X(x.arrowStartX)||!X(x.arrowStartY),ot=!X(x.endX)||!X(x.endY),ht=!X(x.arrowEndX)||!X(x.arrowEndY),dt=3,Lt=this.getArrowWidth(y.pstyle("width").pfValue,y.pstyle("arrow-scale").value)*this.arrowShapeWidth,kt=dt*Lt,Dt=C3({x:x.ctrlpts[0],y:x.ctrlpts[1]},{x:x.startX,y:x.startY}),Pt=Dtwe.poolIndex()){var bn=Fe;Fe=we,we=bn}var ze=Gt.srcPos=Fe.position(),Ge=Gt.tgtPos=we.position(),En=Gt.srcW=Fe.outerWidth(),In=Gt.srcH=Fe.outerHeight(),Yn=Gt.tgtW=we.outerWidth(),Sn=Gt.tgtH=we.outerHeight(),Wn=Gt.srcShape=x.nodeShapes[g.getNodeShape(Fe)],rr=Gt.tgtShape=x.nodeShapes[g.getNodeShape(we)];Gt.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var wr=0;wr0){var gr=O,fr=_3(gr,K5(x)),Jr=_3(gr,K5(vn)),vi=fr;if(Jr2){var Xs=_3(gr,{x:vn[2],y:vn[3]});Xs0){var jn=P,Sr=_3(jn,K5(x)),ir=_3(jn,K5(Qt)),sr=Sr;if(ir2){var Ia=_3(jn,{x:Qt[2],y:Qt[3]});Ia=ht||qt){Lt={cp:$t,segment:Yt};break}}if(Lt)break}var ne=Lt.cp,Gt=Lt.segment,ge=(ht-kt)/Gt.length,be=Gt.t1-Gt.t0,ie=ot?Gt.t0+be*ge:Gt.t1-be*ge;ie=_k(0,ie,1),g=X5(ne.p0,ne.p1,ne.p2,ie),rt=JB(ne.p0,ne.p1,ne.p2,ie);break}case"straight":case"segments":case"haystack":{for(var Fe=0,we,bn,ze,Ge,En=T.allpts.length,In=0;In+3=ht));In+=2);var Yn=ht-bn,Sn=Yn/we;Sn=_k(0,Sn,1),g=PK(ze,Ge,Sn),rt=ZB(ze,Ge);break}}P("labelX",Y,g.x),P("labelY",Y,g.y),P("labelAutoAngle",Y,rt)}};S("source"),S("target"),this.applyLabelDimensions(y)}},Tp.applyLabelDimensions=function(y){this.applyPrefixedLabelDimensions(y),y.isEdge()&&(this.applyPrefixedLabelDimensions(y,"source"),this.applyPrefixedLabelDimensions(y,"target"))},Tp.applyPrefixedLabelDimensions=function(y,g){var x=y._private,T=this.getLabelText(y,g),L=this.calculateLabelDimensions(y,T),O=y.pstyle("line-height").pfValue,P=y.pstyle("text-wrap").strValue,$=yp(x.rscratch,"labelWrapCachedLines",g)||[],q=P!=="wrap"?1:Math.max($.length,1),S=L.height/q,V=S*O,Y=L.width,rt=L.height+(q-1)*(O-1)*S;mm(x.rstyle,"labelWidth",g,Y),mm(x.rscratch,"labelWidth",g,Y),mm(x.rstyle,"labelHeight",g,rt),mm(x.rscratch,"labelHeight",g,rt),mm(x.rscratch,"labelLineHeight",g,V)},Tp.getLabelText=function(y,g){var x=y._private,T=g?g+"-":"",L=y.pstyle(T+"label").strValue,O=y.pstyle("text-transform").value,P=function(Yn,Sn){return Sn?(mm(x.rscratch,Yn,g,Sn),Sn):yp(x.rscratch,Yn,g)};if(!L)return"";O=="none"||(O=="uppercase"?L=L.toUpperCase():O=="lowercase"&&(L=L.toLowerCase()));var $=y.pstyle("text-wrap").value;if($==="wrap"){var q=P("labelKey");if(q!=null&&P("labelWrapKey")===q)return P("labelWrapCachedText");for(var S="​",V=L.split(` +`),Y=y.pstyle("text-max-width").pfValue,rt=y.pstyle("text-overflow-wrap").value,ot=rt==="anywhere",ht=[],dt=/[\s\u200b]+/,Lt=ot?"":" ",kt=0;ktY){for(var Yt=Dt.split(dt),qt="",ne=0;neFe)break;we+=L[Ge],Ge===L.length-1&&(ze=!0)}return ze||(we+=bn),we}return L},Tp.getLabelJustification=function(y){var g=y.pstyle("text-justification").strValue,x=y.pstyle("text-halign").strValue;if(g==="auto")if(y.isNode())switch(x){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return g},Tp.calculateLabelDimensions=function(y,g){var x=this,T=rd(g,y._private.labelDimsKey),L=x.labelDimCache||(x.labelDimCache=[]),O=L[T];if(O!=null)return O;var P=0,$=y.pstyle("font-style").strValue,q=y.pstyle("font-size").pfValue,S=y.pstyle("font-family").strValue,V=y.pstyle("font-weight").strValue,Y=this.labelCalcCanvas,rt=this.labelCalcCanvasContext;if(!Y){Y=this.labelCalcCanvas=document.createElement("canvas"),rt=this.labelCalcCanvasContext=Y.getContext("2d");var ot=Y.style;ot.position="absolute",ot.left="-9999px",ot.top="-9999px",ot.zIndex="-1",ot.visibility="hidden",ot.pointerEvents="none"}rt.font="".concat($," ").concat(V," ").concat(q,"px ").concat(S);for(var ht=0,dt=0,Lt=g.split(` +`),kt=0;kt1&&arguments[1]!==void 0?arguments[1]:!0;if(g.merge(P),$)for(var q=0;q=y.desktopTapThreshold2}var mw=T(Qt);qf&&(y.hoverData.tapholdCancelled=!0);var Lm=function(){var Yb=y.hoverData.dragDelta=y.hoverData.dragDelta||[];Yb.length===0?(Yb.push(Ja[0]),Yb.push(Ja[1])):(Yb[0]+=Ja[0],Yb[1]+=Ja[1])};Sr=!0,x(Za,["mousemove","vmousemove","tapdrag"],Qt,{x:$r[0],y:$r[1]});var xx=function(){y.data.bgActivePosistion=void 0,y.hoverData.selecting||ir.emit({originalEvent:Qt,type:"boxstart",position:{x:$r[0],y:$r[1]}}),Pc[4]=1,y.hoverData.selecting=!0,y.redrawHint("select",!0),y.redraw()};if(y.hoverData.which===3){if(qf){var F3={originalEvent:Qt,type:"cxtdrag",position:{x:$r[0],y:$r[1]}};Ta?Ta.emit(F3):ir.emit(F3),y.hoverData.cxtDragged=!0,(!y.hoverData.cxtOver||Za!==y.hoverData.cxtOver)&&(y.hoverData.cxtOver&&y.hoverData.cxtOver.emit({originalEvent:Qt,type:"cxtdragout",position:{x:$r[0],y:$r[1]}}),y.hoverData.cxtOver=Za,Za&&Za.emit({originalEvent:Qt,type:"cxtdragover",position:{x:$r[0],y:$r[1]}}))}}else if(y.hoverData.dragging){if(Sr=!0,ir.panningEnabled()&&ir.userPanningEnabled()){var kx;if(y.hoverData.justStartedPan){var SC=y.hoverData.mdownPos;kx={x:($r[0]-SC[0])*sr,y:($r[1]-SC[1])*sr},y.hoverData.justStartedPan=!1}else kx={x:Ja[0]*sr,y:Ja[1]*sr};ir.panBy(kx),ir.emit("dragpan"),y.hoverData.dragged=!0}$r=y.projectIntoViewport(Qt.clientX,Qt.clientY)}else if(Pc[4]==1&&(Ta==null||Ta.pannable())){if(qf){if(!y.hoverData.dragging&&ir.boxSelectionEnabled()&&(mw||!ir.panningEnabled()||!ir.userPanningEnabled()))xx();else if(!y.hoverData.selecting&&ir.panningEnabled()&&ir.userPanningEnabled()){var N3=L(Ta,y.hoverData.downs);N3&&(y.hoverData.dragging=!0,y.hoverData.justStartedPan=!0,Pc[4]=0,y.data.bgActivePosistion=K5(Yi),y.redrawHint("select",!0),y.redraw())}Ta&&Ta.pannable()&&Ta.active()&&Ta.unactivate()}}else{if(Ta&&Ta.pannable()&&Ta.active()&&Ta.unactivate(),(!Ta||!Ta.grabbed())&&Za!=mc&&(mc&&x(mc,["mouseout","tapdragout"],Qt,{x:$r[0],y:$r[1]}),Za&&x(Za,["mouseover","tapdragover"],Qt,{x:$r[0],y:$r[1]}),y.hoverData.last=Za),Ta)if(qf){if(ir.boxSelectionEnabled()&&mw)Ta&&Ta.grabbed()&&(dt(ml),Ta.emit("freeon"),ml.emit("free"),y.dragData.didDrag&&(Ta.emit("dragfreeon"),ml.emit("dragfree"))),xx();else if(Ta&&Ta.grabbed()&&y.nodeIsDraggable(Ta)){var Hd=!y.dragData.didDrag;Hd&&y.redrawHint("eles",!0),y.dragData.didDrag=!0,y.hoverData.draggingEles||ot(ml,{inDragLayer:!0});var y1={x:0,y:0};if(X(Ja[0])&&X(Ja[1])&&(y1.x+=Ja[0],y1.y+=Ja[1],Hd)){var Vd=y.hoverData.dragDelta;Vd&&X(Vd[0])&&X(Vd[1])&&(y1.x+=Vd[0],y1.y+=Vd[1])}y.hoverData.draggingEles=!0,ml.silentShift(y1).emit("position drag"),y.redrawHint("drag",!0),y.redraw()}}else Lm();Sr=!0}if(Pc[2]=$r[0],Pc[3]=$r[1],Sr)return Qt.stopPropagation&&Qt.stopPropagation(),Qt.preventDefault&&Qt.preventDefault(),!1}},!1);var Gt,ge,be;y.registerBinding(window,"mouseup",function(Qt){var jn=y.hoverData.capture;if(jn){y.hoverData.capture=!1;var Sr=y.cy,ir=y.projectIntoViewport(Qt.clientX,Qt.clientY),sr=y.selection,Ia=y.findNearestElement(ir[0],ir[1],!0,!1),$r=y.dragData.possibleDragElements,Yi=y.hoverData.down,Fo=T(Qt);if(y.data.bgActivePosistion&&(y.redrawHint("select",!0),y.redraw()),y.hoverData.tapholdCancelled=!0,y.data.bgActivePosistion=void 0,Yi&&Yi.unactivate(),y.hoverData.which===3){var Pc={originalEvent:Qt,type:"cxttapend",position:{x:ir[0],y:ir[1]}};if(Yi?Yi.emit(Pc):Sr.emit(Pc),!y.hoverData.cxtDragged){var Za={originalEvent:Qt,type:"cxttap",position:{x:ir[0],y:ir[1]}};Yi?Yi.emit(Za):Sr.emit(Za)}y.hoverData.cxtDragged=!1,y.hoverData.which=null}else if(y.hoverData.which===1){if(x(Ia,["mouseup","tapend","vmouseup"],Qt,{x:ir[0],y:ir[1]}),!y.dragData.didDrag&&!y.hoverData.dragged&&!y.hoverData.selecting&&!y.hoverData.isOverThresholdDrag&&(x(Yi,["click","tap","vclick"],Qt,{x:ir[0],y:ir[1]}),ge=!1,Qt.timeStamp-be<=Sr.multiClickDebounceTime()?(Gt&&clearTimeout(Gt),ge=!0,be=null,x(Yi,["dblclick","dbltap","vdblclick"],Qt,{x:ir[0],y:ir[1]})):(Gt=setTimeout(function(){ge||x(Yi,["oneclick","onetap","voneclick"],Qt,{x:ir[0],y:ir[1]})},Sr.multiClickDebounceTime()),be=Qt.timeStamp)),Yi==null&&!y.dragData.didDrag&&!y.hoverData.selecting&&!y.hoverData.dragged&&!T(Qt)&&(Sr.$(g).unselect(["tapunselect"]),$r.length>0&&y.redrawHint("eles",!0),y.dragData.possibleDragElements=$r=Sr.collection()),Ia==Yi&&!y.dragData.didDrag&&!y.hoverData.selecting&&Ia!=null&&Ia._private.selectable&&(y.hoverData.dragging||(Sr.selectionType()==="additive"||Fo?Ia.selected()?Ia.unselect(["tapunselect"]):Ia.select(["tapselect"]):Fo||(Sr.$(g).unmerge(Ia).unselect(["tapunselect"]),Ia.select(["tapselect"]))),y.redrawHint("eles",!0)),y.hoverData.selecting){var mc=Sr.collection(y.getAllInBox(sr[0],sr[1],sr[2],sr[3]));y.redrawHint("select",!0),mc.length>0&&y.redrawHint("eles",!0),Sr.emit({type:"boxend",originalEvent:Qt,position:{x:ir[0],y:ir[1]}});var Ta=function(qf){return qf.selectable()&&!qf.selected()};Sr.selectionType()==="additive"||Fo||Sr.$(g).unmerge(mc).unselect(),mc.emit("box").stdFilter(Ta).select().emit("boxselect"),y.redraw()}if(y.hoverData.dragging&&(y.hoverData.dragging=!1,y.redrawHint("select",!0),y.redrawHint("eles",!0),y.redraw()),!sr[4]){y.redrawHint("drag",!0),y.redrawHint("eles",!0);var Ja=Yi&&Yi.grabbed();dt($r),Ja&&(Yi.emit("freeon"),$r.emit("free"),y.dragData.didDrag&&(Yi.emit("dragfreeon"),$r.emit("dragfree")))}}sr[4]=0,y.hoverData.down=null,y.hoverData.cxtStarted=!1,y.hoverData.draggingEles=!1,y.hoverData.selecting=!1,y.hoverData.isOverThresholdDrag=!1,y.dragData.didDrag=!1,y.hoverData.dragged=!1,y.hoverData.dragDelta=[],y.hoverData.mdownPos=null,y.hoverData.mdownGPos=null}},!1);var ie=function(Qt){if(!y.scrollingPage){var jn=y.cy,Sr=jn.zoom(),ir=jn.pan(),sr=y.projectIntoViewport(Qt.clientX,Qt.clientY),Ia=[sr[0]*Sr+ir.x,sr[1]*Sr+ir.y];if(y.hoverData.draggingEles||y.hoverData.dragging||y.hoverData.cxtStarted||qt()){Qt.preventDefault();return}if(jn.panningEnabled()&&jn.userPanningEnabled()&&jn.zoomingEnabled()&&jn.userZoomingEnabled()){Qt.preventDefault(),y.data.wheelZooming=!0,clearTimeout(y.data.wheelTimeout),y.data.wheelTimeout=setTimeout(function(){y.data.wheelZooming=!1,y.redrawHint("eles",!0),y.redraw()},150);var $r;Qt.deltaY!=null?$r=Qt.deltaY/-250:Qt.wheelDeltaY!=null?$r=Qt.wheelDeltaY/1e3:$r=Qt.wheelDelta/1e3,$r=$r*y.wheelSensitivity;var Yi=Qt.deltaMode===1;Yi&&($r*=33);var Fo=jn.zoom()*Math.pow(10,$r);Qt.type==="gesturechange"&&(Fo=y.gestureStartZoom*Qt.scale),jn.zoom({level:Fo,renderedPosition:{x:Ia[0],y:Ia[1]}}),jn.emit(Qt.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};y.registerBinding(y.container,"wheel",ie,!0),y.registerBinding(window,"scroll",function(Qt){y.scrollingPage=!0,clearTimeout(y.scrollingPageTimeout),y.scrollingPageTimeout=setTimeout(function(){y.scrollingPage=!1},250)},!0),y.registerBinding(y.container,"gesturestart",function(Qt){y.gestureStartZoom=y.cy.zoom(),y.hasTouchStarted||Qt.preventDefault()},!0),y.registerBinding(y.container,"gesturechange",function(Tr){y.hasTouchStarted||ie(Tr)},!0),y.registerBinding(y.container,"mouseout",function(Qt){var jn=y.projectIntoViewport(Qt.clientX,Qt.clientY);y.cy.emit({originalEvent:Qt,type:"mouseout",position:{x:jn[0],y:jn[1]}})},!1),y.registerBinding(y.container,"mouseover",function(Qt){var jn=y.projectIntoViewport(Qt.clientX,Qt.clientY);y.cy.emit({originalEvent:Qt,type:"mouseover",position:{x:jn[0],y:jn[1]}})},!1);var Fe,we,bn,ze,Ge,En,In,Yn,Sn,Wn,rr,wr,ur,er=function(Qt,jn,Sr,ir){return Math.sqrt((Sr-Qt)*(Sr-Qt)+(ir-jn)*(ir-jn))},vn=function(Qt,jn,Sr,ir){return(Sr-Qt)*(Sr-Qt)+(ir-jn)*(ir-jn)},gr;y.registerBinding(y.container,"touchstart",gr=function(Qt){if(y.hasTouchStarted=!0,!!ne(Qt)){kt(),y.touchData.capture=!0,y.data.bgActivePosistion=void 0;var jn=y.cy,Sr=y.touchData.now,ir=y.touchData.earlier;if(Qt.touches[0]){var sr=y.projectIntoViewport(Qt.touches[0].clientX,Qt.touches[0].clientY);Sr[0]=sr[0],Sr[1]=sr[1]}if(Qt.touches[1]){var sr=y.projectIntoViewport(Qt.touches[1].clientX,Qt.touches[1].clientY);Sr[2]=sr[0],Sr[3]=sr[1]}if(Qt.touches[2]){var sr=y.projectIntoViewport(Qt.touches[2].clientX,Qt.touches[2].clientY);Sr[4]=sr[0],Sr[5]=sr[1]}if(Qt.touches[1]){y.touchData.singleTouchMoved=!0,dt(y.dragData.touchDragEles);var Ia=y.findContainerClientCoords();Sn=Ia[0],Wn=Ia[1],rr=Ia[2],wr=Ia[3],Fe=Qt.touches[0].clientX-Sn,we=Qt.touches[0].clientY-Wn,bn=Qt.touches[1].clientX-Sn,ze=Qt.touches[1].clientY-Wn,ur=0<=Fe&&Fe<=rr&&0<=bn&&bn<=rr&&0<=we&&we<=wr&&0<=ze&&ze<=wr;var $r=jn.pan(),Yi=jn.zoom();Ge=er(Fe,we,bn,ze),En=vn(Fe,we,bn,ze),In=[(Fe+bn)/2,(we+ze)/2],Yn=[(In[0]-$r.x)/Yi,(In[1]-$r.y)/Yi];var Fo=200,Pc=Fo*Fo;if(En=1){for(var _p=y.touchData.startPosition=[],Hf=0;Hf=y.touchTapThreshold2}if(jn&&y.touchData.cxt){Qt.preventDefault();var _p=Qt.touches[0].clientX-Sn,Hf=Qt.touches[0].clientY-Wn,_g=Qt.touches[1].clientX-Sn,cd=Qt.touches[1].clientY-Wn,mw=vn(_p,Hf,_g,cd),Lm=mw/En,xx=150,F3=xx*xx,kx=1.5,SC=kx*kx;if(Lm>=SC||mw>=F3){y.touchData.cxt=!1,y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);var N3={originalEvent:Qt,type:"cxttapend",position:{x:sr[0],y:sr[1]}};y.touchData.start?(y.touchData.start.unactivate().emit(N3),y.touchData.start=null):ir.emit(N3)}}if(jn&&y.touchData.cxt){var N3={originalEvent:Qt,type:"cxtdrag",position:{x:sr[0],y:sr[1]}};y.data.bgActivePosistion=void 0,y.redrawHint("select",!0),y.touchData.start?y.touchData.start.emit(N3):ir.emit(N3),y.touchData.start&&(y.touchData.start._private.grabbed=!1),y.touchData.cxtDragged=!0;var Hd=y.findNearestElement(sr[0],sr[1],!0,!0);(!y.touchData.cxtOver||Hd!==y.touchData.cxtOver)&&(y.touchData.cxtOver&&y.touchData.cxtOver.emit({originalEvent:Qt,type:"cxtdragout",position:{x:sr[0],y:sr[1]}}),y.touchData.cxtOver=Hd,Hd&&Hd.emit({originalEvent:Qt,type:"cxtdragover",position:{x:sr[0],y:sr[1]}}))}else if(jn&&Qt.touches[2]&&ir.boxSelectionEnabled())Qt.preventDefault(),y.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,y.touchData.selecting||ir.emit({originalEvent:Qt,type:"boxstart",position:{x:sr[0],y:sr[1]}}),y.touchData.selecting=!0,y.touchData.didSelect=!0,Sr[4]=1,!Sr||Sr.length===0||Sr[0]===void 0?(Sr[0]=(sr[0]+sr[2]+sr[4])/3,Sr[1]=(sr[1]+sr[3]+sr[5])/3,Sr[2]=(sr[0]+sr[2]+sr[4])/3+1,Sr[3]=(sr[1]+sr[3]+sr[5])/3+1):(Sr[2]=(sr[0]+sr[2]+sr[4])/3,Sr[3]=(sr[1]+sr[3]+sr[5])/3),y.redrawHint("select",!0),y.redraw();else if(jn&&Qt.touches[1]&&!y.touchData.didSelect&&ir.zoomingEnabled()&&ir.panningEnabled()&&ir.userZoomingEnabled()&&ir.userPanningEnabled()){Qt.preventDefault(),y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);var y1=y.dragData.touchDragEles;if(y1){y.redrawHint("drag",!0);for(var Vd=0;Vd0&&!y.hoverData.draggingEles&&!y.swipePanning&&y.data.bgActivePosistion!=null&&(y.data.bgActivePosistion=void 0,y.redrawHint("select",!0),y.redraw())}},!1);var Jr;y.registerBinding(window,"touchcancel",Jr=function(Qt){var jn=y.touchData.start;y.touchData.capture=!1,jn&&jn.unactivate()});var vi,Xs,Ea,Ci;if(y.registerBinding(window,"touchend",vi=function(Qt){var jn=y.touchData.start,Sr=y.touchData.capture;if(Sr)Qt.touches.length===0&&(y.touchData.capture=!1),Qt.preventDefault();else return;var ir=y.selection;y.swipePanning=!1,y.hoverData.draggingEles=!1;var sr=y.cy,Ia=sr.zoom(),$r=y.touchData.now,Yi=y.touchData.earlier;if(Qt.touches[0]){var Fo=y.projectIntoViewport(Qt.touches[0].clientX,Qt.touches[0].clientY);$r[0]=Fo[0],$r[1]=Fo[1]}if(Qt.touches[1]){var Fo=y.projectIntoViewport(Qt.touches[1].clientX,Qt.touches[1].clientY);$r[2]=Fo[0],$r[3]=Fo[1]}if(Qt.touches[2]){var Fo=y.projectIntoViewport(Qt.touches[2].clientX,Qt.touches[2].clientY);$r[4]=Fo[0],$r[5]=Fo[1]}jn&&jn.unactivate();var Pc;if(y.touchData.cxt){if(Pc={originalEvent:Qt,type:"cxttapend",position:{x:$r[0],y:$r[1]}},jn?jn.emit(Pc):sr.emit(Pc),!y.touchData.cxtDragged){var Za={originalEvent:Qt,type:"cxttap",position:{x:$r[0],y:$r[1]}};jn?jn.emit(Za):sr.emit(Za)}y.touchData.start&&(y.touchData.start._private.grabbed=!1),y.touchData.cxt=!1,y.touchData.start=null,y.redraw();return}if(!Qt.touches[2]&&sr.boxSelectionEnabled()&&y.touchData.selecting){y.touchData.selecting=!1;var mc=sr.collection(y.getAllInBox(ir[0],ir[1],ir[2],ir[3]));ir[0]=void 0,ir[1]=void 0,ir[2]=void 0,ir[3]=void 0,ir[4]=0,y.redrawHint("select",!0),sr.emit({type:"boxend",originalEvent:Qt,position:{x:$r[0],y:$r[1]}});var Ta=function(F3){return F3.selectable()&&!F3.selected()};mc.emit("box").stdFilter(Ta).select().emit("boxselect"),mc.nonempty()&&y.redrawHint("eles",!0),y.redraw()}if(jn!=null&&jn.unactivate(),Qt.touches[2])y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);else if(!Qt.touches[1]){if(!Qt.touches[0]){if(!Qt.touches[0]){y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);var Ja=y.dragData.touchDragEles;if(jn!=null){var ml=jn._private.grabbed;dt(Ja),y.redrawHint("drag",!0),y.redrawHint("eles",!0),ml&&(jn.emit("freeon"),Ja.emit("free"),y.dragData.didDrag&&(jn.emit("dragfreeon"),Ja.emit("dragfree"))),x(jn,["touchend","tapend","vmouseup","tapdragout"],Qt,{x:$r[0],y:$r[1]}),jn.unactivate(),y.touchData.start=null}else{var qf=y.findNearestElement($r[0],$r[1],!0,!0);x(qf,["touchend","tapend","vmouseup","tapdragout"],Qt,{x:$r[0],y:$r[1]})}var Cp=y.touchData.startPosition[0]-$r[0],_p=Cp*Cp,Hf=y.touchData.startPosition[1]-$r[1],_g=Hf*Hf,cd=_p+_g,mw=cd*Ia*Ia;y.touchData.singleTouchMoved||(jn||sr.$(":selected").unselect(["tapunselect"]),x(jn,["tap","vclick"],Qt,{x:$r[0],y:$r[1]}),Xs=!1,Qt.timeStamp-Ci<=sr.multiClickDebounceTime()?(Ea&&clearTimeout(Ea),Xs=!0,Ci=null,x(jn,["dbltap","vdblclick"],Qt,{x:$r[0],y:$r[1]})):(Ea=setTimeout(function(){Xs||x(jn,["onetap","voneclick"],Qt,{x:$r[0],y:$r[1]})},sr.multiClickDebounceTime()),Ci=Qt.timeStamp)),jn!=null&&!y.dragData.didDrag&&jn._private.selectable&&mw"u"){var hi=[],gs=function(Qt){return{clientX:Qt.clientX,clientY:Qt.clientY,force:1,identifier:Qt.pointerId,pageX:Qt.pageX,pageY:Qt.pageY,radiusX:Qt.width/2,radiusY:Qt.height/2,screenX:Qt.screenX,screenY:Qt.screenY,target:Qt.target}},qi=function(Qt){return{event:Qt,touch:gs(Qt)}},Si=function(Qt){hi.push(qi(Qt))},Ui=function(Qt){for(var jn=0;jn0)return Sn[0]}return null},ot=Object.keys(Y),ht=0;ht0?rt:fN(O,P,g,x,T,L,$)},checkPoint:function(g,x,T,L,O,P,$){var q=Lk(L,O),S=2*q;if(dw(g,x,this.points,P,$,L,O-S,[0,-1],T)||dw(g,x,this.points,P,$,L-S,O,[0,-1],T))return!0;var V=L/2+2*T,Y=O/2+2*T,rt=[P-V,$-Y,P-V,$,P+V,$,P+V,$-Y];return!!(qd(g,x,rt)||S3(g,x,S,S,P+L/2-q,$+O/2-q,T)||S3(g,x,S,S,P-L/2+q,$+O/2-q,T))}}},bw.registerNodeShapes=function(){var y=this.nodeShapes={},g=this;this.generateEllipse(),this.generatePolygon("triangle",sd(3,0)),this.generateRoundPolygon("round-triangle",sd(3,0)),this.generatePolygon("rectangle",sd(4,0)),y.square=y.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var x=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",x),this.generateRoundPolygon("round-diamond",x)}this.generatePolygon("pentagon",sd(5,0)),this.generateRoundPolygon("round-pentagon",sd(5,0)),this.generatePolygon("hexagon",sd(6,0)),this.generateRoundPolygon("round-hexagon",sd(6,0)),this.generatePolygon("heptagon",sd(7,0)),this.generateRoundPolygon("round-heptagon",sd(7,0)),this.generatePolygon("octagon",sd(8,0)),this.generateRoundPolygon("round-octagon",sd(8,0));var T=new Array(20);{var L=ML(5,0),O=ML(5,Math.PI/5),P=.5*(3-Math.sqrt(5));P*=1.57;for(var $=0;$=g.deqFastCost*$t)break}else if(S){if(Dt>=g.deqCost*ot||Dt>=g.deqAvgCost*rt)break}else if(Pt>=g.deqNoDrawCost*rM)break;var Zt=g.deq(T,Lt,dt);if(Zt.length>0)for(var Yt=0;Yt0&&(g.onDeqd(T,ht),!S&&g.shouldRedraw(T,ht,Lt,dt)&&O())},$=g.priority||EL;L.beforeRender(P,$(T))}}}},dtt=function(){function y(g){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:wm;p(this,y),this.idsByKey=new Gb,this.keyForId=new Gb,this.cachesByLvl=new Gb,this.lvls=[],this.getKey=g,this.doesEleInvalidateKey=x}return m(y,[{key:"getIdsFor",value:function(x){x==null&&vl("Can not get id list for null key");var T=this.idsByKey,L=this.idsByKey.get(x);return L||(L=new Y5,T.set(x,L)),L}},{key:"addIdForKey",value:function(x,T){x!=null&&this.getIdsFor(x).add(T)}},{key:"deleteIdForKey",value:function(x,T){x!=null&&this.getIdsFor(x).delete(T)}},{key:"getNumberOfIdsForKey",value:function(x){return x==null?0:this.getIdsFor(x).size}},{key:"updateKeyMappingFor",value:function(x){var T=x.id(),L=this.keyForId.get(T),O=this.getKey(x);this.deleteIdForKey(L,T),this.addIdForKey(O,T),this.keyForId.set(T,O)}},{key:"deleteKeyMappingFor",value:function(x){var T=x.id(),L=this.keyForId.get(T);this.deleteIdForKey(L,T),this.keyForId.delete(T)}},{key:"keyHasChangedFor",value:function(x){var T=x.id(),L=this.keyForId.get(T),O=this.getKey(x);return L!==O}},{key:"isInvalid",value:function(x){return this.keyHasChangedFor(x)||this.doesEleInvalidateKey(x)}},{key:"getCachesAt",value:function(x){var T=this.cachesByLvl,L=this.lvls,O=T.get(x);return O||(O=new Gb,T.set(x,O),L.push(x)),O}},{key:"getCache",value:function(x,T){return this.getCachesAt(T).get(x)}},{key:"get",value:function(x,T){var L=this.getKey(x),O=this.getCache(L,T);return O!=null&&this.updateKeyMappingFor(x),O}},{key:"getForCachedKey",value:function(x,T){var L=this.keyForId.get(x.id()),O=this.getCache(L,T);return O}},{key:"hasCache",value:function(x,T){return this.getCachesAt(T).has(x)}},{key:"has",value:function(x,T){var L=this.getKey(x);return this.hasCache(L,T)}},{key:"setCache",value:function(x,T,L){L.key=x,this.getCachesAt(T).set(x,L)}},{key:"set",value:function(x,T,L){var O=this.getKey(x);this.setCache(O,T,L),this.updateKeyMappingFor(x)}},{key:"deleteCache",value:function(x,T){this.getCachesAt(T).delete(x)}},{key:"delete",value:function(x,T){var L=this.getKey(x);this.deleteCache(L,T)}},{key:"invalidateKey",value:function(x){var T=this;this.lvls.forEach(function(L){return T.deleteCache(x,L)})}},{key:"invalidate",value:function(x){var T=x.id(),L=this.keyForId.get(T);this.deleteKeyMappingFor(x);var O=this.doesEleInvalidateKey(x);return O&&this.invalidateKey(L),O||this.getNumberOfIdsForKey(L)===0}}]),y}(),xC=25,kC=50,px=-4,iM=3,sM=7.99,gtt=8,ptt=1024,btt=1024,rR=1024,wtt=.2,vtt=.8,mtt=10,ytt=.15,xtt=.1,ktt=.9,Ett=.9,Ttt=100,Ctt=1,bx={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},_tt=Rf({getKey:null,doesEleInvalidateKey:wm,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:T3,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),Kk=function(g,x){var T=this;T.renderer=g,T.onDequeues=[];var L=_tt(x);de(T,L),T.lookup=new dtt(L.getKey,L.doesEleInvalidateKey),T.setupDequeueing()},Th=Kk.prototype;Th.reasons=bx,Th.getTextureQueue=function(y){var g=this;return g.eleImgCaches=g.eleImgCaches||{},g.eleImgCaches[y]=g.eleImgCaches[y]||[]},Th.getRetiredTextureQueue=function(y){var g=this,x=g.eleImgCaches.retired=g.eleImgCaches.retired||{},T=x[y]=x[y]||[];return T},Th.getElementQueue=function(){var y=this,g=y.eleCacheQueue=y.eleCacheQueue||new Ck(function(x,T){return T.reqs-x.reqs});return g},Th.getElementKeyToQueue=function(){var y=this,g=y.eleKeyToCacheQueue=y.eleKeyToCacheQueue||{};return g},Th.getElement=function(y,g,x,T,L){var O=this,P=this.renderer,$=P.cy.zoom(),q=this.lookup;if(!g||g.w===0||g.h===0||isNaN(g.w)||isNaN(g.h)||!y.visible()||y.removed()||!O.allowEdgeTxrCaching&&y.isEdge()||!O.allowParentTxrCaching&&y.isParent())return null;if(T==null&&(T=Math.ceil(_L($*x))),T=sM||T>iM)return null;var S=Math.pow(2,T),V=g.h*S,Y=g.w*S,rt=P.eleTextBiggerThanMin(y,S);if(!this.isVisible(y,rt))return null;var ot=q.get(y,T);if(ot&&ot.invalidated&&(ot.invalidated=!1,ot.texture.invalidatedWidth-=ot.width),ot)return ot;var ht;if(V<=xC?ht=xC:V<=kC?ht=kC:ht=Math.ceil(V/kC)*kC,V>rR||Y>btt)return null;var dt=O.getTextureQueue(ht),Lt=dt[dt.length-2],kt=function(){return O.recycleTexture(ht,Y)||O.addTexture(ht,Y)};Lt||(Lt=dt[dt.length-1]),Lt||(Lt=kt()),Lt.width-Lt.usedWidthT;be--)Gt=O.getElement(y,g,x,be,bx.downscale);ge()}else return O.queueElement(y,Yt.level-1),Yt;else{var ie;if(!Pt&&!$t&&!Zt)for(var Fe=T-1;Fe>=px;Fe--){var we=q.get(y,Fe);if(we){ie=we;break}}if(Dt(ie))return O.queueElement(y,T),ie;Lt.context.translate(Lt.usedWidth,0),Lt.context.scale(S,S),this.drawElement(Lt.context,y,g,rt,!1),Lt.context.scale(1/S,1/S),Lt.context.translate(-Lt.usedWidth,0)}return ot={x:Lt.usedWidth,texture:Lt,level:T,scale:S,width:Y,height:V,scaledLabelShown:rt},Lt.usedWidth+=Math.ceil(Y+gtt),Lt.eleCaches.push(ot),q.set(y,T,ot),O.checkTextureFullness(Lt),ot},Th.invalidateElements=function(y){for(var g=0;g=wtt*y.width&&this.retireTexture(y)},Th.checkTextureFullness=function(y){var g=this,x=g.getTextureQueue(y.height);y.usedWidth/y.width>vtt&&y.fullnessChecks>=mtt?vm(x,y):y.fullnessChecks++},Th.retireTexture=function(y){var g=this,x=y.height,T=g.getTextureQueue(x),L=this.lookup;vm(T,y),y.retired=!0;for(var O=y.eleCaches,P=0;P=g)return P.retired=!1,P.usedWidth=0,P.invalidatedWidth=0,P.fullnessChecks=0,TL(P.eleCaches),P.context.setTransform(1,0,0,1,0,0),P.context.clearRect(0,0,P.width,P.height),vm(L,P),T.push(P),P}},Th.queueElement=function(y,g){var x=this,T=x.getElementQueue(),L=x.getElementKeyToQueue(),O=this.getKey(y),P=L[O];if(P)P.level=Math.max(P.level,g),P.eles.merge(y),P.reqs++,T.updateItem(P);else{var $={eles:y.spawn().merge(y),level:g,reqs:1,key:O};T.push($),L[O]=$}},Th.dequeue=function(y){for(var g=this,x=g.getElementQueue(),T=g.getElementKeyToQueue(),L=[],O=g.lookup,P=0;P0;P++){var $=x.pop(),q=$.key,S=$.eles[0],V=O.hasCache(S,$.level);if(T[q]=null,V)continue;L.push($);var Y=g.getBoundingBox(S);g.getElement(S,Y,y,$.level,bx.dequeue)}return L},Th.removeFromQueue=function(y){var g=this,x=g.getElementQueue(),T=g.getElementKeyToQueue(),L=this.getKey(y),O=T[L];O!=null&&(O.eles.length===1?(O.reqs=W5,x.updateItem(O),x.pop(),T[L]=null):O.eles.unmerge(y))},Th.onDequeue=function(y){this.onDequeues.push(y)},Th.offDequeue=function(y){vm(this.onDequeues,y)},Th.setupDequeueing=yC.setupDequeueing({deqRedrawThreshold:Ttt,deqCost:ytt,deqAvgCost:xtt,deqNoDrawCost:ktt,deqFastCost:Ett,deq:function(g,x,T){return g.dequeue(x,T)},onDeqd:function(g,x){for(var T=0;T=EC||x>Xk)return null}T.validateLayersElesOrdering(x,y);var q=T.layersByLevel,S=Math.pow(2,x),V=q[x]=q[x]||[],Y,rt=T.levelIsComplete(x,y),ot,ht=function(){var ge=function(bn){if(T.validateLayersElesOrdering(bn,y),T.levelIsComplete(bn,y))return ot=q[bn],!0},be=function(bn){if(!ot)for(var ze=x+bn;wx<=ze&&ze<=Xk&&!ge(ze);ze+=bn);};be(1),be(-1);for(var ie=V.length-1;ie>=0;ie--){var Fe=V[ie];Fe.invalid&&vm(V,Fe)}};if(!rt)ht();else return V;var dt=function(){if(!Y){Y=zd();for(var ge=0;gefpt)return null;var Fe=T.makeLayer(Y,x);if(be!=null){var we=V.indexOf(be)+1;V.splice(we,0,Fe)}else(ge.insert===void 0||ge.insert)&&V.unshift(Fe);return Fe};if(T.skipping&&!$)return null;for(var kt=null,Dt=y.length/Stt,Pt=!$,$t=0;$t=Dt||!hN(kt.bb,Zt.boundingBox()))&&(kt=Lt({insert:!0,after:kt}),!kt))return null;ot||Pt?T.queueLayer(kt,Zt):T.drawEleInLayer(kt,Zt,x,g),kt.eles.push(Zt),qt[x]=kt}return ot||(Pt?null:V)},w1.getEleLevelForLayerLevel=function(y,g){return y},w1.drawEleInLayer=function(y,g,x,T){var L=this,O=this.renderer,P=y.context,$=g.boundingBox();$.w===0||$.h===0||!g.visible()||(x=L.getEleLevelForLayerLevel(x,T),O.setImgSmoothing(P,!1),O.drawCachedElement(P,g,null,null,x,dpt),O.setImgSmoothing(P,!0))},w1.levelIsComplete=function(y,g){var x=this,T=x.layersByLevel[y];if(!T||T.length===0)return!1;for(var L=0,O=0;O0||P.invalid)return!1;L+=P.eles.length}return L===g.length},w1.validateLayersElesOrdering=function(y,g){var x=this.layersByLevel[y];if(x)for(var T=0;T0){g=!0;break}}return g},w1.invalidateElements=function(y){var g=this;y.length!==0&&(g.lastInvalidationTime=yg(),!(y.length===0||!g.haveLayers())&&g.updateElementsInLayers(y,function(T,L,O){g.invalidateLayer(T)}))},w1.invalidateLayer=function(y){if(this.lastInvalidationTime=yg(),!y.invalid){var g=y.level,x=y.eles,T=this.layersByLevel[g];vm(T,y),y.elesQueue=[],y.invalid=!0,y.replacement&&(y.replacement.invalid=!0);for(var L=0;L3&&arguments[3]!==void 0?arguments[3]:!0,L=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,P=this,$=g._private.rscratch;if(!(O&&!g.visible())&&!($.badLine||$.allpts==null||isNaN($.allpts[0]))){var q;x&&(q=x,y.translate(-q.x1,-q.y1));var S=O?g.pstyle("opacity").value:1,V=O?g.pstyle("line-opacity").value:1,Y=g.pstyle("curve-style").value,rt=g.pstyle("line-style").value,ot=g.pstyle("width").pfValue,ht=g.pstyle("line-cap").value,dt=S*V,Lt=S*V,kt=function(){var ie=arguments.length>0&&arguments[0]!==void 0?arguments[0]:dt;Y==="straight-triangle"?(P.eleStrokeStyle(y,g,ie),P.drawEdgeTrianglePath(g,y,$.allpts)):(y.lineWidth=ot,y.lineCap=ht,P.eleStrokeStyle(y,g,ie),P.drawEdgePath(g,y,$.allpts,rt),y.lineCap="butt")},Dt=function(){L&&P.drawEdgeOverlay(y,g)},Pt=function(){L&&P.drawEdgeUnderlay(y,g)},$t=function(){var ie=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Lt;P.drawArrowheads(y,g,ie)},Zt=function(){P.drawElementText(y,g,null,T)};y.lineJoin="round";var Yt=g.pstyle("ghost").value==="yes";if(Yt){var qt=g.pstyle("ghost-offset-x").pfValue,ne=g.pstyle("ghost-offset-y").pfValue,Gt=g.pstyle("ghost-opacity").value,ge=dt*Gt;y.translate(qt,ne),kt(ge),$t(ge),y.translate(-qt,-ne)}Pt(),kt(),$t(),Dt(),Zt(),x&&y.translate(q.x1,q.y1)}};var Ott=function(g){if(!["overlay","underlay"].includes(g))throw new Error("Invalid state");return function(x,T){if(T.visible()){var L=T.pstyle("".concat(g,"-opacity")).value;if(L!==0){var O=this,P=O.usePaths(),$=T._private.rscratch,q=T.pstyle("".concat(g,"-padding")).pfValue,S=2*q,V=T.pstyle("".concat(g,"-color")).value;x.lineWidth=S,$.edgeType==="self"&&!P?x.lineCap="butt":x.lineCap="round",O.colorStrokeStyle(x,V[0],V[1],V[2],L),O.drawEdgePath(T,x,$.allpts,"solid")}}}};vw.drawEdgeOverlay=Ott("overlay"),vw.drawEdgeUnderlay=Ott("underlay"),vw.drawEdgePath=function(y,g,x,T){var L=y._private.rscratch,O=g,P,$=!1,q=this.usePaths(),S=y.pstyle("line-dash-pattern").pfValue,V=y.pstyle("line-dash-offset").pfValue;if(q){var Y=x.join("$"),rt=L.pathCacheKey&&L.pathCacheKey===Y;rt?(P=g=L.pathCache,$=!0):(P=g=new Path2D,L.pathCacheKey=Y,L.pathCache=P)}if(O.setLineDash)switch(T){case"dotted":O.setLineDash([1,1]);break;case"dashed":O.setLineDash(S),O.lineDashOffset=V;break;case"solid":O.setLineDash([]);break}if(!$&&!L.badLine)switch(g.beginPath&&g.beginPath(),g.moveTo(x[0],x[1]),L.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var ot=2;ot+35&&arguments[5]!==void 0?arguments[5]:!0,P=this;if(T==null){if(O&&!P.eleTextBiggerThanMin(g))return}else if(T===!1)return;if(g.isNode()){var $=g.pstyle("label");if(!$||!$.value)return;var q=P.getLabelJustification(g);y.textAlign=q,y.textBaseline="bottom"}else{var S=g.element()._private.rscratch.badLine,V=g.pstyle("label"),Y=g.pstyle("source-label"),rt=g.pstyle("target-label");if(S||(!V||!V.value)&&(!Y||!Y.value)&&(!rt||!rt.value))return;y.textAlign="center",y.textBaseline="bottom"}var ot=!x,ht;x&&(ht=x,y.translate(-ht.x1,-ht.y1)),L==null?(P.drawText(y,g,null,ot,O),g.isEdge()&&(P.drawText(y,g,"source",ot,O),P.drawText(y,g,"target",ot,O))):P.drawText(y,g,L,ot,O),x&&y.translate(ht.x1,ht.y1)},vx.getFontCache=function(y){var g;this.fontCaches=this.fontCaches||[];for(var x=0;x2&&arguments[2]!==void 0?arguments[2]:!0,T=g.pstyle("font-style").strValue,L=g.pstyle("font-size").pfValue+"px",O=g.pstyle("font-family").strValue,P=g.pstyle("font-weight").strValue,$=x?g.effectiveOpacity()*g.pstyle("text-opacity").value:1,q=g.pstyle("text-outline-opacity").value*$,S=g.pstyle("color").value,V=g.pstyle("text-outline-color").value;y.font=T+" "+P+" "+L+" "+O,y.lineJoin="round",this.colorFillStyle(y,S[0],S[1],S[2],$),this.colorStrokeStyle(y,V[0],V[1],V[2],q)};function mpt(y,g,x,T,L){var O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5;y.beginPath(),y.moveTo(g+O,x),y.lineTo(g+T-O,x),y.quadraticCurveTo(g+T,x,g+T,x+O),y.lineTo(g+T,x+L-O),y.quadraticCurveTo(g+T,x+L,g+T-O,x+L),y.lineTo(g+O,x+L),y.quadraticCurveTo(g,x+L,g,x+L-O),y.lineTo(g,x+O),y.quadraticCurveTo(g,x,g+O,x),y.closePath(),y.fill()}vx.getTextAngle=function(y,g){var x,T=y._private,L=T.rscratch,O=g?g+"-":"",P=y.pstyle(O+"text-rotation"),$=yp(L,"labelAngle",g);return P.strValue==="autorotate"?x=y.isEdge()?$:0:P.strValue==="none"?x=0:x=P.pfValue,x},vx.drawText=function(y,g,x){var T=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,L=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=g._private,P=O.rscratch,$=L?g.effectiveOpacity():1;if(!(L&&($===0||g.pstyle("text-opacity").value===0))){x==="main"&&(x=null);var q=yp(P,"labelX",x),S=yp(P,"labelY",x),V,Y,rt=this.getLabelText(g,x);if(rt!=null&&rt!==""&&!isNaN(q)&&!isNaN(S)){this.setupTextStyle(y,g,L);var ot=x?x+"-":"",ht=yp(P,"labelWidth",x),dt=yp(P,"labelHeight",x),Lt=g.pstyle(ot+"text-margin-x").pfValue,kt=g.pstyle(ot+"text-margin-y").pfValue,Dt=g.isEdge(),Pt=g.pstyle("text-halign").value,$t=g.pstyle("text-valign").value;Dt&&(Pt="center",$t="center"),q+=Lt,S+=kt;var Zt;switch(T?Zt=this.getTextAngle(g,x):Zt=0,Zt!==0&&(V=q,Y=S,y.translate(V,Y),y.rotate(Zt),q=0,S=0),$t){case"top":break;case"center":S+=dt/2;break;case"bottom":S+=dt;break}var Yt=g.pstyle("text-background-opacity").value,qt=g.pstyle("text-border-opacity").value,ne=g.pstyle("text-border-width").pfValue,Gt=g.pstyle("text-background-padding").pfValue;if(Yt>0||ne>0&&qt>0){var ge=q-Gt;switch(Pt){case"left":ge-=ht;break;case"center":ge-=ht/2;break}var be=S-dt-Gt,ie=ht+2*Gt,Fe=dt+2*Gt;if(Yt>0){var we=y.fillStyle,bn=g.pstyle("text-background-color").value;y.fillStyle="rgba("+bn[0]+","+bn[1]+","+bn[2]+","+Yt*$+")";var ze=g.pstyle("text-background-shape").strValue;ze.indexOf("round")===0?mpt(y,ge,be,ie,Fe,2):y.fillRect(ge,be,ie,Fe),y.fillStyle=we}if(ne>0&&qt>0){var Ge=y.strokeStyle,En=y.lineWidth,In=g.pstyle("text-border-color").value,Yn=g.pstyle("text-border-style").value;if(y.strokeStyle="rgba("+In[0]+","+In[1]+","+In[2]+","+qt*$+")",y.lineWidth=ne,y.setLineDash)switch(Yn){case"dotted":y.setLineDash([1,1]);break;case"dashed":y.setLineDash([4,2]);break;case"double":y.lineWidth=ne/4,y.setLineDash([]);break;case"solid":y.setLineDash([]);break}if(y.strokeRect(ge,be,ie,Fe),Yn==="double"){var Sn=ne/2;y.strokeRect(ge+Sn,be+Sn,ie-Sn*2,Fe-Sn*2)}y.setLineDash&&y.setLineDash([]),y.lineWidth=En,y.strokeStyle=Ge}}var Wn=2*g.pstyle("text-outline-width").pfValue;if(Wn>0&&(y.lineWidth=Wn),g.pstyle("text-wrap").value==="wrap"){var rr=yp(P,"labelWrapCachedLines",x),wr=yp(P,"labelLineHeight",x),ur=ht/2,er=this.getLabelJustification(g);switch(er==="auto"||(Pt==="left"?er==="left"?q+=-ht:er==="center"&&(q+=-ur):Pt==="center"?er==="left"?q+=-ur:er==="right"&&(q+=ur):Pt==="right"&&(er==="center"?q+=ur:er==="right"&&(q+=ht))),$t){case"top":S-=(rr.length-1)*wr;break;case"center":case"bottom":S-=(rr.length-1)*wr;break}for(var vn=0;vn0&&y.strokeText(rr[vn],q,S),y.fillText(rr[vn],q,S),S+=wr}else Wn>0&&y.strokeText(rt,q,S),y.fillText(rt,q,S);Zt!==0&&(y.rotate(-Zt),y.translate(-V,-Y))}}};var Zk={};Zk.drawNode=function(y,g,x){var T=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,L=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,P=this,$,q,S=g._private,V=S.rscratch,Y=g.position();if(!(!X(Y.x)||!X(Y.y))&&!(O&&!g.visible())){var rt=O?g.effectiveOpacity():1,ot=P.usePaths(),ht,dt=!1,Lt=g.padding();$=g.width()+2*Lt,q=g.height()+2*Lt;var kt;x&&(kt=x,y.translate(-kt.x1,-kt.y1));for(var Dt=g.pstyle("background-image"),Pt=Dt.value,$t=new Array(Pt.length),Zt=new Array(Pt.length),Yt=0,qt=0;qt0&&arguments[0]!==void 0?arguments[0]:Fe;P.eleFillStyle(y,g,Si)},En=function(){var Si=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ze;P.colorStrokeStyle(y,we[0],we[1],we[2],Si)},In=g.pstyle("shape").strValue,Yn=g.pstyle("shape-polygon-points").pfValue;if(ot){y.translate(Y.x,Y.y);var Sn=P.nodePathCache=P.nodePathCache||[],Wn=id(In==="polygon"?In+","+Yn.join(","):In,""+q,""+$),rr=Sn[Wn];rr!=null?(ht=rr,dt=!0,V.pathCache=ht):(ht=new Path2D,Sn[Wn]=V.pathCache=ht)}var wr=function(){if(!dt){var Si=Y;ot&&(Si={x:0,y:0}),P.nodeShapes[P.getNodeShape(g)].draw(ht||y,Si.x,Si.y,$,q)}ot?y.fill(ht):y.fill()},ur=function(){for(var Si=arguments.length>0&&arguments[0]!==void 0?arguments[0]:rt,Ui=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Va=S.backgrounding,Qs=0,qs=0;qs0&&arguments[0]!==void 0?arguments[0]:!1,Ui=arguments.length>1&&arguments[1]!==void 0?arguments[1]:rt;P.hasPie(g)&&(P.drawPie(y,g,Ui),Si&&(ot||P.nodeShapes[P.getNodeShape(g)].draw(y,Y.x,Y.y,$,q)))},vn=function(){var Si=arguments.length>0&&arguments[0]!==void 0?arguments[0]:rt,Ui=(be>0?be:-be)*Si,Va=be>0?0:255;be!==0&&(P.colorFillStyle(y,Va,Va,Va,Ui),ot?y.fill(ht):y.fill())},gr=function(){if(ie>0){if(y.lineWidth=ie,y.lineCap="butt",y.setLineDash)switch(bn){case"dotted":y.setLineDash([1,1]);break;case"dashed":y.setLineDash([4,2]);break;case"solid":case"double":y.setLineDash([]);break}if(ot?y.stroke(ht):y.stroke(),bn==="double"){y.lineWidth=ie/3;var Si=y.globalCompositeOperation;y.globalCompositeOperation="destination-out",ot?y.stroke(ht):y.stroke(),y.globalCompositeOperation=Si}y.setLineDash&&y.setLineDash([])}},fr=function(){L&&P.drawNodeOverlay(y,g,Y,$,q)},Jr=function(){L&&P.drawNodeUnderlay(y,g,Y,$,q)},vi=function(){P.drawElementText(y,g,null,T)},Xs=g.pstyle("ghost").value==="yes";if(Xs){var Ea=g.pstyle("ghost-offset-x").pfValue,Ci=g.pstyle("ghost-offset-y").pfValue,hi=g.pstyle("ghost-opacity").value,gs=hi*rt;y.translate(Ea,Ci),Ge(hi*Fe),wr(),ur(gs,!0),En(hi*ze),gr(),er(be!==0||ie!==0),ur(gs,!1),vn(gs),y.translate(-Ea,-Ci)}ot&&y.translate(-Y.x,-Y.y),Jr(),ot&&y.translate(Y.x,Y.y),Ge(),wr(),ur(rt,!0),En(),gr(),er(be!==0||ie!==0),ur(rt,!1),vn(),ot&&y.translate(-Y.x,-Y.y),vi(),fr(),x&&y.translate(kt.x1,kt.y1)}};var Ptt=function(g){if(!["overlay","underlay"].includes(g))throw new Error("Invalid state");return function(x,T,L,O,P){var $=this;if(T.visible()){var q=T.pstyle("".concat(g,"-padding")).pfValue,S=T.pstyle("".concat(g,"-opacity")).value,V=T.pstyle("".concat(g,"-color")).value,Y=T.pstyle("".concat(g,"-shape")).value;if(S>0){if(L=L||T.position(),O==null||P==null){var rt=T.padding();O=T.width()+2*rt,P=T.height()+2*rt}$.colorFillStyle(x,V[0],V[1],V[2],S),$.nodeShapes[Y].draw(x,L.x,L.y,O+q*2,P+q*2),x.fill()}}}};Zk.drawNodeOverlay=Ptt("overlay"),Zk.drawNodeUnderlay=Ptt("underlay"),Zk.hasPie=function(y){return y=y[0],y._private.hasPie},Zk.drawPie=function(y,g,x,T){g=g[0],T=T||g.position();var L=g.cy().style(),O=g.pstyle("pie-size"),P=T.x,$=T.y,q=g.width(),S=g.height(),V=Math.min(q,S)/2,Y=0,rt=this.usePaths();rt&&(P=0,$=0),O.units==="%"?V=V*O.pfValue:O.pfValue!==void 0&&(V=O.pfValue/2);for(var ot=1;ot<=L.pieBackgroundN;ot++){var ht=g.pstyle("pie-"+ot+"-background-size").value,dt=g.pstyle("pie-"+ot+"-background-color").value,Lt=g.pstyle("pie-"+ot+"-background-opacity").value*x,kt=ht/100;kt+Y>1&&(kt=1-Y);var Dt=1.5*Math.PI+2*Math.PI*Y,Pt=2*Math.PI*kt,$t=Dt+Pt;ht===0||Y>=1||Y+kt>1||(y.beginPath(),y.moveTo(P,$),y.arc(P,$,V,Dt,$t),y.closePath(),this.colorFillStyle(y,dt[0],dt[1],dt[2],Lt),y.fill(),Y+=kt)}};var Tg={},ypt=100;Tg.getPixelRatio=function(){var y=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var g=y.backingStorePixelRatio||y.webkitBackingStorePixelRatio||y.mozBackingStorePixelRatio||y.msBackingStorePixelRatio||y.oBackingStorePixelRatio||y.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/g},Tg.paintCache=function(y){for(var g=this.paintCaches=this.paintCaches||[],x=!0,T,L=0;LP.minMbLowQualFrames&&(P.motionBlurPxRatio=P.mbPxRBlurry)),P.clearingMotionBlur&&(P.motionBlurPxRatio=1),P.textureDrawLastFrame&&!Y&&(V[P.NODE]=!0,V[P.SELECT_BOX]=!0);var Dt=q.style(),Pt=q.zoom(),$t=L!==void 0?L:Pt,Zt=q.pan(),Yt={x:Zt.x,y:Zt.y},qt={zoom:Pt,pan:{x:Zt.x,y:Zt.y}},ne=P.prevViewport,Gt=ne===void 0||qt.zoom!==ne.zoom||qt.pan.x!==ne.pan.x||qt.pan.y!==ne.pan.y;!Gt&&!(dt&&!ht)&&(P.motionBlurPxRatio=1),O&&(Yt=O),$t*=$,Yt.x*=$,Yt.y*=$;var ge=P.getCachedZSortedEles();function be(Ci,hi,gs,qi,Si){var Ui=Ci.globalCompositeOperation;Ci.globalCompositeOperation="destination-out",P.colorFillStyle(Ci,255,255,255,P.motionBlurTransparency),Ci.fillRect(hi,gs,qi,Si),Ci.globalCompositeOperation=Ui}function ie(Ci,hi){var gs,qi,Si,Ui;!P.clearingMotionBlur&&(Ci===S.bufferContexts[P.MOTIONBLUR_BUFFER_NODE]||Ci===S.bufferContexts[P.MOTIONBLUR_BUFFER_DRAG])?(gs={x:Zt.x*ot,y:Zt.y*ot},qi=Pt*ot,Si=P.canvasWidth*ot,Ui=P.canvasHeight*ot):(gs=Yt,qi=$t,Si=P.canvasWidth,Ui=P.canvasHeight),Ci.setTransform(1,0,0,1,0,0),hi==="motionBlur"?be(Ci,0,0,Si,Ui):!g&&(hi===void 0||hi)&&Ci.clearRect(0,0,Si,Ui),x||(Ci.translate(gs.x,gs.y),Ci.scale(qi,qi)),O&&Ci.translate(O.x,O.y),L&&Ci.scale(L,L)}if(Y||(P.textureDrawLastFrame=!1),Y){if(P.textureDrawLastFrame=!0,!P.textureCache){P.textureCache={},P.textureCache.bb=q.mutableElements().boundingBox(),P.textureCache.texture=P.data.bufferCanvases[P.TEXTURE_BUFFER];var Fe=P.data.bufferContexts[P.TEXTURE_BUFFER];Fe.setTransform(1,0,0,1,0,0),Fe.clearRect(0,0,P.canvasWidth*P.textureMult,P.canvasHeight*P.textureMult),P.render({forcedContext:Fe,drawOnlyNodeLayer:!0,forcedPxRatio:$*P.textureMult});var qt=P.textureCache.viewport={zoom:q.zoom(),pan:q.pan(),width:P.canvasWidth,height:P.canvasHeight};qt.mpan={x:(0-qt.pan.x)/qt.zoom,y:(0-qt.pan.y)/qt.zoom}}V[P.DRAG]=!1,V[P.NODE]=!1;var we=S.contexts[P.NODE],bn=P.textureCache.texture,qt=P.textureCache.viewport;we.setTransform(1,0,0,1,0,0),rt?be(we,0,0,qt.width,qt.height):we.clearRect(0,0,qt.width,qt.height);var ze=Dt.core("outside-texture-bg-color").value,Ge=Dt.core("outside-texture-bg-opacity").value;P.colorFillStyle(we,ze[0],ze[1],ze[2],Ge),we.fillRect(0,0,qt.width,qt.height);var Pt=q.zoom();ie(we,!1),we.clearRect(qt.mpan.x,qt.mpan.y,qt.width/qt.zoom/$,qt.height/qt.zoom/$),we.drawImage(bn,qt.mpan.x,qt.mpan.y,qt.width/qt.zoom/$,qt.height/qt.zoom/$)}else P.textureOnViewport&&!g&&(P.textureCache=null);var En=q.extent(),In=P.pinching||P.hoverData.dragging||P.swipePanning||P.data.wheelZooming||P.hoverData.draggingEles||P.cy.animated(),Yn=P.hideEdgesOnViewport&&In,Sn=[];if(Sn[P.NODE]=!V[P.NODE]&&rt&&!P.clearedForMotionBlur[P.NODE]||P.clearingMotionBlur,Sn[P.NODE]&&(P.clearedForMotionBlur[P.NODE]=!0),Sn[P.DRAG]=!V[P.DRAG]&&rt&&!P.clearedForMotionBlur[P.DRAG]||P.clearingMotionBlur,Sn[P.DRAG]&&(P.clearedForMotionBlur[P.DRAG]=!0),V[P.NODE]||x||T||Sn[P.NODE]){var Wn=rt&&!Sn[P.NODE]&&ot!==1,we=g||(Wn?P.data.bufferContexts[P.MOTIONBLUR_BUFFER_NODE]:S.contexts[P.NODE]),rr=rt&&!Wn?"motionBlur":void 0;ie(we,rr),Yn?P.drawCachedNodes(we,ge.nondrag,$,En):P.drawLayeredElements(we,ge.nondrag,$,En),P.debug&&P.drawDebugPoints(we,ge.nondrag),!x&&!rt&&(V[P.NODE]=!1)}if(!T&&(V[P.DRAG]||x||Sn[P.DRAG])){var Wn=rt&&!Sn[P.DRAG]&&ot!==1,we=g||(Wn?P.data.bufferContexts[P.MOTIONBLUR_BUFFER_DRAG]:S.contexts[P.DRAG]);ie(we,rt&&!Wn?"motionBlur":void 0),Yn?P.drawCachedNodes(we,ge.drag,$,En):P.drawCachedElements(we,ge.drag,$,En),P.debug&&P.drawDebugPoints(we,ge.drag),!x&&!rt&&(V[P.DRAG]=!1)}if(P.showFps||!T&&V[P.SELECT_BOX]&&!x){var we=g||S.contexts[P.SELECT_BOX];if(ie(we),P.selection[4]==1&&(P.hoverData.selecting||P.touchData.selecting)){var Pt=P.cy.zoom(),wr=Dt.core("selection-box-border-width").value/Pt;we.lineWidth=wr,we.fillStyle="rgba("+Dt.core("selection-box-color").value[0]+","+Dt.core("selection-box-color").value[1]+","+Dt.core("selection-box-color").value[2]+","+Dt.core("selection-box-opacity").value+")",we.fillRect(P.selection[0],P.selection[1],P.selection[2]-P.selection[0],P.selection[3]-P.selection[1]),wr>0&&(we.strokeStyle="rgba("+Dt.core("selection-box-border-color").value[0]+","+Dt.core("selection-box-border-color").value[1]+","+Dt.core("selection-box-border-color").value[2]+","+Dt.core("selection-box-opacity").value+")",we.strokeRect(P.selection[0],P.selection[1],P.selection[2]-P.selection[0],P.selection[3]-P.selection[1]))}if(S.bgActivePosistion&&!P.hoverData.selecting){var Pt=P.cy.zoom(),ur=S.bgActivePosistion;we.fillStyle="rgba("+Dt.core("active-bg-color").value[0]+","+Dt.core("active-bg-color").value[1]+","+Dt.core("active-bg-color").value[2]+","+Dt.core("active-bg-opacity").value+")",we.beginPath(),we.arc(ur.x,ur.y,Dt.core("active-bg-size").pfValue/Pt,0,2*Math.PI),we.fill()}var er=P.lastRedrawTime;if(P.showFps&&er){er=Math.round(er);var vn=Math.round(1e3/er);we.setTransform(1,0,0,1,0,0),we.fillStyle="rgba(255, 0, 0, 0.75)",we.strokeStyle="rgba(255, 0, 0, 0.75)",we.lineWidth=1,we.fillText("1 frame = "+er+" ms = "+vn+" fps",0,20);var gr=60;we.strokeRect(0,30,250,20),we.fillRect(0,30,250*Math.min(vn/gr,1),20)}x||(V[P.SELECT_BOX]=!1)}if(rt&&ot!==1){var fr=S.contexts[P.NODE],Jr=P.data.bufferCanvases[P.MOTIONBLUR_BUFFER_NODE],vi=S.contexts[P.DRAG],Xs=P.data.bufferCanvases[P.MOTIONBLUR_BUFFER_DRAG],Ea=function(hi,gs,qi){hi.setTransform(1,0,0,1,0,0),qi||!kt?hi.clearRect(0,0,P.canvasWidth,P.canvasHeight):be(hi,0,0,P.canvasWidth,P.canvasHeight);var Si=ot;hi.drawImage(gs,0,0,P.canvasWidth*Si,P.canvasHeight*Si,0,0,P.canvasWidth,P.canvasHeight)};(V[P.NODE]||Sn[P.NODE])&&(Ea(fr,Jr,Sn[P.NODE]),V[P.NODE]=!1),(V[P.DRAG]||Sn[P.DRAG])&&(Ea(vi,Xs,Sn[P.DRAG]),V[P.DRAG]=!1)}P.prevViewport=qt,P.clearingMotionBlur&&(P.clearingMotionBlur=!1,P.motionBlurCleared=!0,P.motionBlur=!0),rt&&(P.motionBlurTimeout=setTimeout(function(){P.motionBlurTimeout=null,P.clearedForMotionBlur[P.NODE]=!1,P.clearedForMotionBlur[P.DRAG]=!1,P.motionBlur=!1,P.clearingMotionBlur=!Y,P.mbFrames=0,V[P.NODE]=!0,V[P.DRAG]=!0,P.redraw()},ypt)),g||q.emit("render")};var O3={};O3.drawPolygonPath=function(y,g,x,T,L,O){var P=T/2,$=L/2;y.beginPath&&y.beginPath(),y.moveTo(g+P*O[0],x+$*O[1]);for(var q=1;q0&&P>0){ot.clearRect(0,0,O,P),ot.globalCompositeOperation="source-over";var ht=this.getCachedZSortedEles();if(y.full)ot.translate(-T.x1*S,-T.y1*S),ot.scale(S,S),this.drawElements(ot,ht),ot.scale(1/S,1/S),ot.translate(T.x1*S,T.y1*S);else{var dt=g.pan(),Lt={x:dt.x*S,y:dt.y*S};S*=g.zoom(),ot.translate(Lt.x,Lt.y),ot.scale(S,S),this.drawElements(ot,ht),ot.scale(1/S,1/S),ot.translate(-Lt.x,-Lt.y)}y.bg&&(ot.globalCompositeOperation="destination-over",ot.fillStyle=y.bg,ot.rect(0,0,O,P),ot.fill())}return rt};function xpt(y,g){for(var x=atob(y),T=new ArrayBuffer(x.length),L=new Uint8Array(T),O=0;O"u"?"undefined":f(OffscreenCanvas))!=="undefined"?x=new OffscreenCanvas(y,g):(x=document.createElement("canvas"),x.width=y,x.height=g),x},[D0,ww,vw,CC,vx,Zk,Tg,O3,_C,$tt].forEach(function(y){de(vc,y)});var mx=[{name:"null",impl:WB},{name:"base",impl:nM},{name:"canvas",impl:kpt}],Cg=[{type:"layout",extensions:ltt},{type:"renderer",extensions:mx}],Sm={},cM={};function v1(y,g,x){var T=x,L=function(ne){Sc("Can not register `"+g+"` for `"+y+"` since `"+ne+"` already exists in the prototype and can not be overridden")};if(y==="core"){if(Vk.prototype[g])return L(g);Vk.prototype[g]=x}else if(y==="collection"){if($f.prototype[g])return L(g);$f.prototype[g]=x}else if(y==="layout"){for(var O=function(ne){this.options=ne,x.call(this,ne),ut(this._private)||(this._private={}),this._private.cy=ne.cy,this._private.listeners=[],this.createEmitter()},P=O.prototype=Object.create(x.prototype),$=[],q=0;q<$.length;q++){var S=$[q];P[S]=P[S]||function(){return this}}P.start&&!P.run?P.run=function(){return this.start(),this}:!P.start&&P.run&&(P.start=function(){return this.run(),this});var V=x.prototype.stop;P.stop=function(){var qt=this.options;if(qt&&qt.animate){var ne=this.animations;if(ne)for(var Gt=0;Gtz&&(this.rect.x-=(this.labelWidth-z)/2,this.setWidth(this.labelWidth)),this.labelHeight>W&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-W)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-W),this.setHeight(this.labelHeight))}}},B.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==b.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},B.prototype.transform=function(R){var z=this.rect.x;z>_.WORLD_BOUNDARY?z=_.WORLD_BOUNDARY:z<-_.WORLD_BOUNDARY&&(z=-_.WORLD_BOUNDARY);var W=this.rect.y;W>_.WORLD_BOUNDARY?W=_.WORLD_BOUNDARY:W<-_.WORLD_BOUNDARY&&(W=-_.WORLD_BOUNDARY);var et=new I(z,W),st=R.inverseTransformPoint(et);this.setLocation(st.x,st.y)},B.prototype.getLeft=function(){return this.rect.x},B.prototype.getRight=function(){return this.rect.x+this.rect.width},B.prototype.getTop=function(){return this.rect.y},B.prototype.getBottom=function(){return this.rect.y+this.rect.height},B.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},f.exports=B},function(f,p,w){function m(b,E){b==null&&E==null?(this.x=0,this.y=0):(this.x=b,this.y=E)}m.prototype.getX=function(){return this.x},m.prototype.getY=function(){return this.y},m.prototype.setX=function(b){this.x=b},m.prototype.setY=function(b){this.y=b},m.prototype.getDifference=function(b){return new DimensionD(this.x-b.x,this.y-b.y)},m.prototype.getCopy=function(){return new m(this.x,this.y)},m.prototype.translate=function(b){return this.x+=b.width,this.y+=b.height,this},f.exports=m},function(f,p,w){var m=w(2),b=w(10),E=w(0),_=w(6),A=w(3),I=w(1),B=w(13),N=w(12),R=w(11);function z(et,st,at){m.call(this,at),this.estimatedSize=b.MIN_VALUE,this.margin=E.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=et,st!=null&&st instanceof _?this.graphManager=st:st!=null&&st instanceof Layout&&(this.graphManager=st.graphManager)}z.prototype=Object.create(m.prototype);for(var W in m)z[W]=m[W];z.prototype.getNodes=function(){return this.nodes},z.prototype.getEdges=function(){return this.edges},z.prototype.getGraphManager=function(){return this.graphManager},z.prototype.getParent=function(){return this.parent},z.prototype.getLeft=function(){return this.left},z.prototype.getRight=function(){return this.right},z.prototype.getTop=function(){return this.top},z.prototype.getBottom=function(){return this.bottom},z.prototype.isConnected=function(){return this.isConnected},z.prototype.add=function(et,st,at){if(st==null&&at==null){var bt=et;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(bt)>-1)throw"Node already in graph!";return bt.owner=this,this.getNodes().push(bt),bt}else{var mt=et;if(!(this.getNodes().indexOf(st)>-1&&this.getNodes().indexOf(at)>-1))throw"Source or target not in graph!";if(!(st.owner==at.owner&&st.owner==this))throw"Both owners must be this graph!";return st.owner!=at.owner?null:(mt.source=st,mt.target=at,mt.isInterGraph=!1,this.getEdges().push(mt),st.edges.push(mt),at!=st&&at.edges.push(mt),mt)}},z.prototype.remove=function(et){var st=et;if(et instanceof A){if(st==null)throw"Node is null!";if(!(st.owner!=null&&st.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var at=st.edges.slice(),bt,mt=at.length,yt=0;yt-1&&vt>-1))throw"Source and/or target doesn't know this edge!";bt.source.edges.splice(ut,1),bt.target!=bt.source&&bt.target.edges.splice(vt,1);var ft=bt.source.owner.getEdges().indexOf(bt);if(ft==-1)throw"Not in owner's edge list!";bt.source.owner.getEdges().splice(ft,1)}},z.prototype.updateLeftTop=function(){for(var et=b.MAX_VALUE,st=b.MAX_VALUE,at,bt,mt,yt=this.getNodes(),ft=yt.length,ut=0;utat&&(et=at),st>bt&&(st=bt)}return et==b.MAX_VALUE?null:(yt[0].getParent().paddingLeft!=null?mt=yt[0].getParent().paddingLeft:mt=this.margin,this.left=st-mt,this.top=et-mt,new N(this.left,this.top))},z.prototype.updateBounds=function(et){for(var st=b.MAX_VALUE,at=-b.MAX_VALUE,bt=b.MAX_VALUE,mt=-b.MAX_VALUE,yt,ft,ut,vt,X,pt=this.nodes,U=pt.length,Tt=0;Ttyt&&(st=yt),atut&&(bt=ut),mtyt&&(st=yt),atut&&(bt=ut),mt=this.nodes.length){var U=0;at.forEach(function(Tt){Tt.owner==et&&U++}),U==this.nodes.length&&(this.isConnected=!0)}},f.exports=z},function(f,p,w){var m,b=w(1);function E(_){m=w(5),this.layout=_,this.graphs=[],this.edges=[]}E.prototype.addRoot=function(){var _=this.layout.newGraph(),A=this.layout.newNode(null),I=this.add(_,A);return this.setRootGraph(I),this.rootGraph},E.prototype.add=function(_,A,I,B,N){if(I==null&&B==null&&N==null){if(_==null)throw"Graph is null!";if(A==null)throw"Parent node is null!";if(this.graphs.indexOf(_)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(_),_.parent!=null)throw"Already has a parent!";if(A.child!=null)throw"Already has a child!";return _.parent=A,A.child=_,_}else{N=I,B=A,I=_;var R=B.getOwner(),z=N.getOwner();if(!(R!=null&&R.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(z!=null&&z.getGraphManager()==this))throw"Target not in this graph mgr!";if(R==z)return I.isInterGraph=!1,R.add(I,B,N);if(I.isInterGraph=!0,I.source=B,I.target=N,this.edges.indexOf(I)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(I),!(I.source!=null&&I.target!=null))throw"Edge source and/or target is null!";if(!(I.source.edges.indexOf(I)==-1&&I.target.edges.indexOf(I)==-1))throw"Edge already in source and/or target incidency list!";return I.source.edges.push(I),I.target.edges.push(I),I}},E.prototype.remove=function(_){if(_ instanceof m){var A=_;if(A.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(A==this.rootGraph||A.parent!=null&&A.parent.graphManager==this))throw"Invalid parent node!";var I=[];I=I.concat(A.getEdges());for(var B,N=I.length,R=0;R=_.getRight()?A[0]+=Math.min(_.getX()-E.getX(),E.getRight()-_.getRight()):_.getX()<=E.getX()&&_.getRight()>=E.getRight()&&(A[0]+=Math.min(E.getX()-_.getX(),_.getRight()-E.getRight())),E.getY()<=_.getY()&&E.getBottom()>=_.getBottom()?A[1]+=Math.min(_.getY()-E.getY(),E.getBottom()-_.getBottom()):_.getY()<=E.getY()&&_.getBottom()>=E.getBottom()&&(A[1]+=Math.min(E.getY()-_.getY(),_.getBottom()-E.getBottom()));var N=Math.abs((_.getCenterY()-E.getCenterY())/(_.getCenterX()-E.getCenterX()));_.getCenterY()===E.getCenterY()&&_.getCenterX()===E.getCenterX()&&(N=1);var R=N*A[0],z=A[1]/N;A[0]R)return A[0]=I,A[1]=W,A[2]=N,A[3]=pt,!1;if(BN)return A[0]=z,A[1]=B,A[2]=vt,A[3]=R,!1;if(IN?(A[0]=st,A[1]=at,It=!0):(A[0]=et,A[1]=W,It=!0):Bt===Z&&(I>N?(A[0]=z,A[1]=W,It=!0):(A[0]=bt,A[1]=at,It=!0)),-Et===Z?N>I?(A[2]=X,A[3]=pt,Ot=!0):(A[2]=vt,A[3]=ut,Ot=!0):Et===Z&&(N>I?(A[2]=ft,A[3]=ut,Ot=!0):(A[2]=U,A[3]=pt,Ot=!0)),It&&Ot)return!1;if(I>N?B>R?(Ct=this.getCardinalDirection(Bt,Z,4),xt=this.getCardinalDirection(Et,Z,2)):(Ct=this.getCardinalDirection(-Bt,Z,3),xt=this.getCardinalDirection(-Et,Z,1)):B>R?(Ct=this.getCardinalDirection(-Bt,Z,1),xt=this.getCardinalDirection(-Et,Z,3)):(Ct=this.getCardinalDirection(Bt,Z,2),xt=this.getCardinalDirection(Et,Z,4)),!It)switch(Ct){case 1:Le=W,Ht=I+-yt/Z,A[0]=Ht,A[1]=Le;break;case 2:Ht=bt,Le=B+mt*Z,A[0]=Ht,A[1]=Le;break;case 3:Le=at,Ht=I+yt/Z,A[0]=Ht,A[1]=Le;break;case 4:Ht=st,Le=B+-mt*Z,A[0]=Ht,A[1]=Le;break}if(!Ot)switch(xt){case 1:gn=ut,Ft=N+-nt/Z,A[2]=Ft,A[3]=gn;break;case 2:Ft=U,gn=R+Tt*Z,A[2]=Ft,A[3]=gn;break;case 3:gn=pt,Ft=N+nt/Z,A[2]=Ft,A[3]=gn;break;case 4:Ft=X,gn=R+-Tt*Z,A[2]=Ft,A[3]=gn;break}}return!1},b.getCardinalDirection=function(E,_,A){return E>_?A:1+A%4},b.getIntersection=function(E,_,A,I){if(I==null)return this.getIntersection2(E,_,A);var B=E.x,N=E.y,R=_.x,z=_.y,W=A.x,et=A.y,st=I.x,at=I.y,bt=void 0,mt=void 0,yt=void 0,ft=void 0,ut=void 0,vt=void 0,X=void 0,pt=void 0,U=void 0;return yt=z-N,ut=B-R,X=R*N-B*z,ft=at-et,vt=W-st,pt=st*et-W*at,U=yt*vt-ft*ut,U===0?null:(bt=(ut*pt-vt*X)/U,mt=(ft*X-yt*pt)/U,new m(bt,mt))},b.angleOfVector=function(E,_,A,I){var B=void 0;return E!==A?(B=Math.atan((I-_)/(A-E)),A0?1:b<0?-1:0},m.floor=function(b){return b<0?Math.ceil(b):Math.floor(b)},m.ceil=function(b){return b<0?Math.floor(b):Math.ceil(b)},f.exports=m},function(f,p,w){function m(){}m.MAX_VALUE=2147483647,m.MIN_VALUE=-2147483648,f.exports=m},function(f,p,w){var m=function(){function B(N,R){for(var z=0;z"u"?"undefined":m(E);return E==null||_!="object"&&_!="function"},f.exports=b},function(f,p,w){function m(W){if(Array.isArray(W)){for(var et=0,st=Array(W.length);et0&&et;){for(yt.push(ut[0]);yt.length>0&&et;){var vt=yt[0];yt.splice(0,1),mt.add(vt);for(var X=vt.getEdges(),bt=0;bt-1&&ut.splice(nt,1)}mt=new Set,ft=new Map}}return W},z.prototype.createDummyNodesForBendpoints=function(W){for(var et=[],st=W.source,at=this.graphManager.calcLowestCommonAncestor(W.source,W.target),bt=0;bt0){for(var at=this.edgeToDummyNodes.get(st),bt=0;bt=0&&et.splice(pt,1);var U=ft.getNeighborsList();U.forEach(function(It){if(st.indexOf(It)<0){var Ot=at.get(It),Bt=Ot-1;Bt==1&&vt.push(It),at.set(It,Bt)}})}st=st.concat(vt),(et.length==1||et.length==2)&&(bt=!0,mt=et[0])}return mt},z.prototype.setGraphManager=function(W){this.graphManager=W},f.exports=z},function(f,p,w){function m(){}m.seed=1,m.x=0,m.nextDouble=function(){return m.x=Math.sin(m.seed++)*1e4,m.x-Math.floor(m.x)},f.exports=m},function(f,p,w){var m=w(4);function b(E,_){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}b.prototype.getWorldOrgX=function(){return this.lworldOrgX},b.prototype.setWorldOrgX=function(E){this.lworldOrgX=E},b.prototype.getWorldOrgY=function(){return this.lworldOrgY},b.prototype.setWorldOrgY=function(E){this.lworldOrgY=E},b.prototype.getWorldExtX=function(){return this.lworldExtX},b.prototype.setWorldExtX=function(E){this.lworldExtX=E},b.prototype.getWorldExtY=function(){return this.lworldExtY},b.prototype.setWorldExtY=function(E){this.lworldExtY=E},b.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},b.prototype.setDeviceOrgX=function(E){this.ldeviceOrgX=E},b.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},b.prototype.setDeviceOrgY=function(E){this.ldeviceOrgY=E},b.prototype.getDeviceExtX=function(){return this.ldeviceExtX},b.prototype.setDeviceExtX=function(E){this.ldeviceExtX=E},b.prototype.getDeviceExtY=function(){return this.ldeviceExtY},b.prototype.setDeviceExtY=function(E){this.ldeviceExtY=E},b.prototype.transformX=function(E){var _=0,A=this.lworldExtX;return A!=0&&(_=this.ldeviceOrgX+(E-this.lworldOrgX)*this.ldeviceExtX/A),_},b.prototype.transformY=function(E){var _=0,A=this.lworldExtY;return A!=0&&(_=this.ldeviceOrgY+(E-this.lworldOrgY)*this.ldeviceExtY/A),_},b.prototype.inverseTransformX=function(E){var _=0,A=this.ldeviceExtX;return A!=0&&(_=this.lworldOrgX+(E-this.ldeviceOrgX)*this.lworldExtX/A),_},b.prototype.inverseTransformY=function(E){var _=0,A=this.ldeviceExtY;return A!=0&&(_=this.lworldOrgY+(E-this.ldeviceOrgY)*this.lworldExtY/A),_},b.prototype.inverseTransformPoint=function(E){var _=new m(this.inverseTransformX(E.x),this.inverseTransformY(E.y));return _},f.exports=b},function(f,p,w){function m(R){if(Array.isArray(R)){for(var z=0,W=Array(R.length);zE.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*E.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(R-E.ADAPTATION_LOWER_NODE_LIMIT)/(E.ADAPTATION_UPPER_NODE_LIMIT-E.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-E.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=E.MAX_NODE_DISPLACEMENT_INCREMENTAL):(R>E.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(E.COOLING_ADAPTATION_FACTOR,1-(R-E.ADAPTATION_LOWER_NODE_LIMIT)/(E.ADAPTATION_UPPER_NODE_LIMIT-E.ADAPTATION_LOWER_NODE_LIMIT)*(1-E.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=E.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},B.prototype.calcSpringForces=function(){for(var R=this.getAllEdges(),z,W=0;W0&&arguments[0]!==void 0?arguments[0]:!0,z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,W,et,st,at,bt=this.getAllNodes(),mt;if(this.useFRGridVariant)for(this.totalIterations%E.GRID_CALCULATION_CHECK_PERIOD==1&&R&&this.updateGrid(),mt=new Set,W=0;Wyt||mt>yt)&&(R.gravitationForceX=-this.gravityConstant*st,R.gravitationForceY=-this.gravityConstant*at)):(yt=z.getEstimatedSize()*this.compoundGravityRangeFactor,(bt>yt||mt>yt)&&(R.gravitationForceX=-this.gravityConstant*st*this.compoundGravityConstant,R.gravitationForceY=-this.gravityConstant*at*this.compoundGravityConstant))},B.prototype.isConverged=function(){var R,z=!1;return this.totalIterations>this.maxIterations/3&&(z=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),R=this.totalDisplacement=bt.length||yt>=bt[0].length)){for(var ft=0;ftB}}]),A}();f.exports=_},function(f,p,w){var m=function(){function _(A,I){for(var B=0;B2&&arguments[2]!==void 0?arguments[2]:1,N=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,R=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;b(this,_),this.sequence1=A,this.sequence2=I,this.match_score=B,this.mismatch_penalty=N,this.gap_penalty=R,this.iMax=A.length+1,this.jMax=I.length+1,this.grid=new Array(this.iMax);for(var z=0;z=0;A--){var I=this.listeners[A];I.event===E&&I.callback===_&&this.listeners.splice(A,1)}},b.emit=function(E,_){for(var A=0;AI.coolingFactor*I.maxNodeDisplacement&&(this.displacementX=I.coolingFactor*I.maxNodeDisplacement*E.sign(this.displacementX)),Math.abs(this.displacementY)>I.coolingFactor*I.maxNodeDisplacement&&(this.displacementY=I.coolingFactor*I.maxNodeDisplacement*E.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),I.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},_.prototype.propogateDisplacementToChildren=function(I,B){for(var N=this.getChild().getNodes(),R,z=0;z0)this.positionNodesRadially(ut);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var vt=new Set(this.getAllNodes()),X=this.nodesWithGravity.filter(function(pt){return vt.has(pt)});this.graphManager.setAllNodesToApplyGravitation(X),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},yt.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%N.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var ut=new Set(this.getAllNodes()),vt=this.nodesWithGravity.filter(function(U){return ut.has(U)});this.graphManager.setAllNodesToApplyGravitation(vt),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=N.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=N.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var X=!this.isTreeGrowing&&!this.isGrowthFinished,pt=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(X,pt),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},yt.prototype.getPositionsData=function(){for(var ut=this.graphManager.getAllNodes(),vt={},X=0;X1){var It;for(It=0;Itpt&&(pt=Math.floor(nt.y)),Tt=Math.floor(nt.x+B.DEFAULT_COMPONENT_SEPERATION)}this.transform(new W(R.WORLD_CENTER_X-nt.x/2,R.WORLD_CENTER_Y-nt.y/2))},yt.radialLayout=function(ut,vt,X){var pt=Math.max(this.maxDiagonalInTree(ut),B.DEFAULT_RADIAL_SEPARATION);yt.branchRadialLayout(vt,null,0,359,0,pt);var U=bt.calculateBounds(ut),Tt=new mt;Tt.setDeviceOrgX(U.getMinX()),Tt.setDeviceOrgY(U.getMinY()),Tt.setWorldOrgX(X.x),Tt.setWorldOrgY(X.y);for(var nt=0;nt1;){var gn=Ft[0];Ft.splice(0,1);var Se=Z.indexOf(gn);Se>=0&&Z.splice(Se,1),Ht--,Ct--}vt!=null?Le=(Z.indexOf(Ft[0])+1)%Ht:Le=0;for(var me=Math.abs(pt-X)/Ct,Ve=Le;xt!=Ct;Ve=++Ve%Ht){var Ye=Z[Ve].getOtherEnd(ut);if(Ye!=vt){var ce=(X+xt*me)%360,ke=(ce+me)%360;yt.branchRadialLayout(Ye,ut,ce,ke,U+Tt,Tt),xt++}}},yt.maxDiagonalInTree=function(ut){for(var vt=st.MIN_VALUE,X=0;Xvt&&(vt=U)}return vt},yt.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},yt.prototype.groupZeroDegreeMembers=function(){var ut=this,vt={};this.memberGroups={},this.idToDummyNode={};for(var X=[],pt=this.graphManager.getAllNodes(),U=0;U"u"&&(vt[It]=[]),vt[It]=vt[It].concat(Tt)}Object.keys(vt).forEach(function(Ot){if(vt[Ot].length>1){var Bt="DummyCompound_"+Ot;ut.memberGroups[Bt]=vt[Ot];var Et=vt[Ot][0].getParent(),Z=new A(ut.graphManager);Z.id=Bt,Z.paddingLeft=Et.paddingLeft||0,Z.paddingRight=Et.paddingRight||0,Z.paddingBottom=Et.paddingBottom||0,Z.paddingTop=Et.paddingTop||0,ut.idToDummyNode[Bt]=Z;var Ct=ut.getGraphManager().add(ut.newGraph(),Z),xt=Et.getChild();xt.add(Z);for(var Ht=0;Ht=0;ut--){var vt=this.compoundOrder[ut],X=vt.id,pt=vt.paddingLeft,U=vt.paddingTop;this.adjustLocations(this.tiledMemberPack[X],vt.rect.x,vt.rect.y,pt,U)}},yt.prototype.repopulateZeroDegreeMembers=function(){var ut=this,vt=this.tiledZeroDegreePack;Object.keys(vt).forEach(function(X){var pt=ut.idToDummyNode[X],U=pt.paddingLeft,Tt=pt.paddingTop;ut.adjustLocations(vt[X],pt.rect.x,pt.rect.y,U,Tt)})},yt.prototype.getToBeTiled=function(ut){var vt=ut.id;if(this.toBeTiled[vt]!=null)return this.toBeTiled[vt];var X=ut.getChild();if(X==null)return this.toBeTiled[vt]=!1,!1;for(var pt=X.getNodes(),U=0;U0)return this.toBeTiled[vt]=!1,!1;if(Tt.getChild()==null){this.toBeTiled[Tt.id]=!1;continue}if(!this.getToBeTiled(Tt))return this.toBeTiled[vt]=!1,!1}return this.toBeTiled[vt]=!0,!0},yt.prototype.getNodeDegree=function(ut){ut.id;for(var vt=ut.getEdges(),X=0,pt=0;ptOt&&(Ot=Et.rect.height)}X+=Ot+ut.verticalPadding}},yt.prototype.tileCompoundMembers=function(ut,vt){var X=this;this.tiledMemberPack=[],Object.keys(ut).forEach(function(pt){var U=vt[pt];X.tiledMemberPack[pt]=X.tileNodes(ut[pt],U.paddingLeft+U.paddingRight),U.rect.width=X.tiledMemberPack[pt].width,U.rect.height=X.tiledMemberPack[pt].height})},yt.prototype.tileNodes=function(ut,vt){var X=B.TILING_PADDING_VERTICAL,pt=B.TILING_PADDING_HORIZONTAL,U={rows:[],rowWidth:[],rowHeight:[],width:0,height:vt,verticalPadding:X,horizontalPadding:pt};ut.sort(function(It,Ot){return It.rect.width*It.rect.height>Ot.rect.width*Ot.rect.height?-1:It.rect.width*It.rect.height0&&(nt+=ut.horizontalPadding),ut.rowWidth[X]=nt,ut.width0&&(It+=ut.verticalPadding);var Ot=0;It>ut.rowHeight[X]&&(Ot=ut.rowHeight[X],ut.rowHeight[X]=It,Ot=ut.rowHeight[X]-Ot),ut.height+=Ot,ut.rows[X].push(vt)},yt.prototype.getShortestRowIndex=function(ut){for(var vt=-1,X=Number.MAX_VALUE,pt=0;ptX&&(vt=pt,X=ut.rowWidth[pt]);return vt},yt.prototype.canAddHorizontal=function(ut,vt,X){var pt=this.getShortestRowIndex(ut);if(pt<0)return!0;var U=ut.rowWidth[pt];if(U+ut.horizontalPadding+vt<=ut.width)return!0;var Tt=0;ut.rowHeight[pt]0&&(Tt=X+ut.verticalPadding-ut.rowHeight[pt]);var nt;ut.width-U>=vt+ut.horizontalPadding?nt=(ut.height+Tt)/(U+vt+ut.horizontalPadding):nt=(ut.height+Tt)/ut.width,Tt=X+ut.verticalPadding;var It;return ut.widthTt&&vt!=X){pt.splice(-1,1),ut.rows[X].push(U),ut.rowWidth[vt]=ut.rowWidth[vt]-Tt,ut.rowWidth[X]=ut.rowWidth[X]+Tt,ut.width=ut.rowWidth[instance.getLongestRowIndex(ut)];for(var nt=Number.MIN_VALUE,It=0;Itnt&&(nt=pt[It].height);vt>0&&(nt+=ut.verticalPadding);var Ot=ut.rowHeight[vt]+ut.rowHeight[X];ut.rowHeight[vt]=nt,ut.rowHeight[X]0)for(var xt=U;xt<=Tt;xt++)Ct[0]+=this.grid[xt][nt-1].length+this.grid[xt][nt].length-1;if(Tt0)for(var xt=nt;xt<=It;xt++)Ct[3]+=this.grid[U-1][xt].length+this.grid[U][xt].length-1;for(var Ht=st.MAX_VALUE,Le,Ft,gn=0;gn0){var It;It=mt.getGraphManager().add(mt.newGraph(),X),this.processChildrenList(It,vt,mt)}}},W.prototype.stop=function(){return this.stopped=!0,this};var st=function(bt){bt("layout","cose-bilkent",W)};typeof cytoscape<"u"&&st(cytoscape),p.exports=st}])})})(h$t);var uYe=h$t.exports;const lYe=G7(uYe);l$t.use(lYe);function g$t(i,a,f,p){c$t.drawNode(i,a,f,p),a.children&&a.children.forEach((w,m)=>{g$t(i,w,f<0?m:f,p)})}function hYe(i,a){a.edges().map((f,p)=>{const w=f.data();if(f[0]._private.bodyBounds){const m=f[0]._private.rscratch;Ut.trace("Edge: ",p,w),i.insert("path").attr("d",`M ${m.startX},${m.startY} L ${m.midX},${m.midY} L${m.endX},${m.endY} `).attr("class","edge section-edge-"+w.section+" edge-depth-"+w.depth)}})}function p$t(i,a,f,p){a.add({group:"nodes",data:{id:i.id,labelText:i.descr,height:i.height,width:i.width,level:p,nodeId:i.id,padding:i.padding,type:i.type},position:{x:i.x,y:i.y}}),i.children&&i.children.forEach(w=>{p$t(w,a,f,p+1),a.add({group:"edges",data:{id:`${i.id}_${w.id}`,source:i.id,target:w.id,depth:p,section:w.section}})})}function fYe(i,a){return new Promise(f=>{const p=yr("body").append("div").attr("id","cy").attr("style","display:none"),w=l$t({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});p.remove(),p$t(i,w,a,0),w.nodes().forEach(function(m){m.layoutDimensions=()=>{const b=m.data();return{w:b.width,h:b.height}}}),w.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),w.ready(m=>{Ut.info("Ready",m),f(w)})})}function dYe(i){i.nodes().map((a,f)=>{const p=a.data();p.x=a.position().x,p.y=a.position().y,c$t.positionNode(p);const w=Jgt(p.nodeId);Ut.info("Id:",f,"Position: (",a.position().x,", ",a.position().y,")",p),w.attr("transform",`translate(${a.position().x-p.width/2}, ${a.position().y-p.height/2})`),w.attr("attr",`apa-${f})`)})}const gYe={draw:async(i,a,f,p)=>{const w=Oe();w.htmlLabels=!1,Ut.debug(`Rendering mindmap diagram +`+i,p.parser);const m=Oe().securityLevel;let b;m==="sandbox"&&(b=yr("#i"+a));const _=yr(m==="sandbox"?b.nodes()[0].contentDocument.body:"body").select("#"+a);_.append("g");const A=p.db.getMindmap(),I=_.append("g");I.attr("class","mindmap-edges");const B=_.append("g");B.attr("class","mindmap-nodes"),g$t(B,A,-1,w);const N=await fYe(A,w);hYe(I,N),dYe(N),fT(void 0,_,w.mindmap.padding,w.mindmap.useMaxWidth)}},pYe=i=>{let a="";for(let f=0;f` + .edge { + stroke-width: 3; + } + ${pYe(i)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${i.git0}; + } + .section-root text { + fill: ${i.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .mindmap-node-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } +`}},Symbol.toStringTag,{value:"Module"}));var npt=function(){var i=function(E,_,A,I){for(A=A||{},I=E.length;I--;A[E[I]]=_);return A},a=[1,9],f=[1,10],p=[1,5,10,12],w={trace:function(){},yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:function(_,A,I,B,N,R,z){var W=R.length-1;switch(N){case 7:const et=B.findOrCreateNode(R[W-4].trim().replaceAll('""','"')),st=B.findOrCreateNode(R[W-2].trim().replaceAll('""','"')),at=parseFloat(R[W].trim());B.addLink(et,st,at);break;case 8:case 9:case 11:this.$=R[W];break;case 10:this.$=R[W-1];break}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:a,20:f},{1:[2,6],7:11,10:[1,12]},i(f,[2,4],{9:13,5:[1,14]}),{12:[1,15]},i(p,[2,8]),i(p,[2,9]),{19:[1,16]},i(p,[2,11]),{1:[2,1]},{1:[2,5]},i(f,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:a,20:f},{15:18,16:7,17:8,18:a,20:f},{18:[1,19]},i(f,[2,3]),{12:[1,20]},i(p,[2,10]),{15:21,16:7,17:8,18:a,20:f},i([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(_,A){if(A.recoverable)this.trace(_);else{var I=new Error(_);throw I.hash=A,I}},parse:function(_){var A=this,I=[0],B=[],N=[null],R=[],z=this.table,W="",et=0,st=0,at=2,bt=1,mt=R.slice.call(arguments,1),yt=Object.create(this.lexer),ft={yy:{}};for(var ut in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ut)&&(ft.yy[ut]=this.yy[ut]);yt.setInput(_,ft.yy),ft.yy.lexer=yt,ft.yy.parser=this,typeof yt.yylloc>"u"&&(yt.yylloc={});var vt=yt.yylloc;R.push(vt);var X=yt.options&&yt.options.ranges;typeof ft.yy.parseError=="function"?this.parseError=ft.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pt(){var Ht;return Ht=B.pop()||yt.lex()||bt,typeof Ht!="number"&&(Ht instanceof Array&&(B=Ht,Ht=B.pop()),Ht=A.symbols_[Ht]||Ht),Ht}for(var U,Tt,nt,It,Ot={},Bt,Et,Z,Ct;;){if(Tt=I[I.length-1],this.defaultActions[Tt]?nt=this.defaultActions[Tt]:((U===null||typeof U>"u")&&(U=pt()),nt=z[Tt]&&z[Tt][U]),typeof nt>"u"||!nt.length||!nt[0]){var xt="";Ct=[];for(Bt in z[Tt])this.terminals_[Bt]&&Bt>at&&Ct.push("'"+this.terminals_[Bt]+"'");yt.showPosition?xt="Parse error on line "+(et+1)+`: +`+yt.showPosition()+` +Expecting `+Ct.join(", ")+", got '"+(this.terminals_[U]||U)+"'":xt="Parse error on line "+(et+1)+": Unexpected "+(U==bt?"end of input":"'"+(this.terminals_[U]||U)+"'"),this.parseError(xt,{text:yt.match,token:this.terminals_[U]||U,line:yt.yylineno,loc:vt,expected:Ct})}if(nt[0]instanceof Array&&nt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Tt+", token: "+U);switch(nt[0]){case 1:I.push(U),N.push(yt.yytext),R.push(yt.yylloc),I.push(nt[1]),U=null,st=yt.yyleng,W=yt.yytext,et=yt.yylineno,vt=yt.yylloc;break;case 2:if(Et=this.productions_[nt[1]][1],Ot.$=N[N.length-Et],Ot._$={first_line:R[R.length-(Et||1)].first_line,last_line:R[R.length-1].last_line,first_column:R[R.length-(Et||1)].first_column,last_column:R[R.length-1].last_column},X&&(Ot._$.range=[R[R.length-(Et||1)].range[0],R[R.length-1].range[1]]),It=this.performAction.apply(Ot,[W,st,et,ft.yy,nt[1],N,R].concat(mt)),typeof It<"u")return It;Et&&(I=I.slice(0,-1*Et*2),N=N.slice(0,-1*Et),R=R.slice(0,-1*Et)),I.push(this.productions_[nt[1]][0]),N.push(Ot.$),R.push(Ot._$),Z=z[I[I.length-2]][I[I.length-1]],I.push(Z);break;case 3:return!0}}return!0}},m=function(){var E={EOF:1,parseError:function(A,I){if(this.yy.parser)this.yy.parser.parseError(A,I);else throw new Error(A)},setInput:function(_,A){return this.yy=A||this.yy||{},this._input=_,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var A=_.match(/(?:\r\n?|\n).*/g);return A?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_},unput:function(_){var A=_.length,I=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-A),this.offset-=A;var B=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),I.length-1&&(this.yylineno-=I.length-1);var N=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:I?(I.length===B.length?this.yylloc.first_column:0)+B[B.length-I.length].length-I[0].length:this.yylloc.first_column-A},this.options.ranges&&(this.yylloc.range=[N[0],N[0]+this.yyleng-A]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(_){this.unput(this.match.slice(_))},pastInput:function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var _=this.pastInput(),A=new Array(_.length+1).join("-");return _+this.upcomingInput()+` +`+A+"^"},test_match:function(_,A){var I,B,N;if(this.options.backtrack_lexer&&(N={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(N.yylloc.range=this.yylloc.range.slice(0))),B=_[0].match(/(?:\r\n?|\n).*/g),B&&(this.yylineno+=B.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:B?B[B.length-1].length-B[B.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_[0].length},this.yytext+=_[0],this.match+=_[0],this.matches=_,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_[0].length),this.matched+=_[0],I=this.performAction.call(this,this.yy,this,A,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),I)return I;if(this._backtrack){for(var R in N)this[R]=N[R];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _,A,I,B;this._more||(this.yytext="",this.match="");for(var N=this._currentRules(),R=0;RA[0].length)){if(A=I,B=R,this.options.backtrack_lexer){if(_=this.test_match(I,N[R]),_!==!1)return _;if(this._backtrack){A=!1;continue}else return!1}else if(!this.options.flex)break}return A?(_=this.test_match(A,N[B]),_!==!1?_:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var A=this.next();return A||this.lex()},begin:function(A){this.conditionStack.push(A)},popState:function(){var A=this.conditionStack.length-1;return A>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(A){return A=this.conditionStack.length-1-Math.abs(A||0),A>=0?this.conditionStack[A]:"INITIAL"},pushState:function(A){this.begin(A)},stateStackSize:function(){return this.conditionStack.length},options:{easy_keword_rules:!0},performAction:function(A,I,B,N){switch(B){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},rules:[/^(?:sankey-beta\b)/,/^(?:$)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:(\u002C))/,/^(?:(\u0022))/,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/,/^(?:(\u0022)(?!(\u0022)))/,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return E}();w.lexer=m;function b(){this.yy={}}return b.prototype=w,w.Parser=b,new b}();npt.parser=npt;const rK=npt;let iK=[],sK=[],kL={};const wYe=()=>{iK=[],sK=[],kL={},hg()};class vYe{constructor(a,f,p=0){this.source=a,this.target=f,this.value=p}}const mYe=(i,a,f)=>{iK.push(new vYe(i,a,f))};class yYe{constructor(a){this.ID=a}}const xYe={nodesMap:kL,getConfig:()=>Oe().sankey,getNodes:()=>sK,getLinks:()=>iK,getGraph:()=>({nodes:sK.map(i=>({id:i.ID})),links:iK.map(i=>({source:i.source.ID,target:i.target.ID,value:i.value}))}),addLink:mYe,findOrCreateNode:i=>(i=Kr.sanitizeText(i,Oe()),kL[i]||(kL[i]=new yYe(i),sK.push(kL[i])),kL[i]),getAccTitle:fg,setAccTitle:E0,getAccDescription:gg,setAccDescription:dg,getDiagramTitle:pg,setDiagramTitle:Nb,clear:wYe};function b$t(i,a){let f;if(a===void 0)for(const p of i)p!=null&&(f=p)&&(f=p);else{let p=-1;for(let w of i)(w=a(w,++p,i))!=null&&(f=w)&&(f=w)}return f}function w$t(i,a){let f;if(a===void 0)for(const p of i)p!=null&&(f>p||f===void 0&&p>=p)&&(f=p);else{let p=-1;for(let w of i)(w=a(w,++p,i))!=null&&(f>w||f===void 0&&w>=w)&&(f=w)}return f}function rpt(i,a){let f=0;if(a===void 0)for(let p of i)(p=+p)&&(f+=p);else{let p=-1;for(let w of i)(w=+a(w,++p,i))&&(f+=w)}return f}function kYe(i){return i.target.depth}function EYe(i){return i.depth}function TYe(i,a){return a-1-i.height}function v$t(i,a){return i.sourceLinks.length?i.depth:a-1}function CYe(i){return i.targetLinks.length?i.depth:i.sourceLinks.length?w$t(i.sourceLinks,kYe)-1:0}function aK(i){return function(){return i}}function m$t(i,a){return oK(i.source,a.source)||i.index-a.index}function y$t(i,a){return oK(i.target,a.target)||i.index-a.index}function oK(i,a){return i.y0-a.y0}function ipt(i){return i.value}function _Ye(i){return i.index}function SYe(i){return i.nodes}function AYe(i){return i.links}function x$t(i,a){const f=i.get(a);if(!f)throw new Error("missing: "+a);return f}function k$t({nodes:i}){for(const a of i){let f=a.y0,p=f;for(const w of a.sourceLinks)w.y0=f+w.width/2,f+=w.width;for(const w of a.targetLinks)w.y1=p+w.width/2,p+=w.width}}function LYe(){let i=0,a=0,f=1,p=1,w=24,m=8,b,E=_Ye,_=v$t,A,I,B=SYe,N=AYe,R=6;function z(){const Ot={nodes:B.apply(null,arguments),links:N.apply(null,arguments)};return W(Ot),et(Ot),st(Ot),at(Ot),yt(Ot),k$t(Ot),Ot}z.update=function(Ot){return k$t(Ot),Ot},z.nodeId=function(Ot){return arguments.length?(E=typeof Ot=="function"?Ot:aK(Ot),z):E},z.nodeAlign=function(Ot){return arguments.length?(_=typeof Ot=="function"?Ot:aK(Ot),z):_},z.nodeSort=function(Ot){return arguments.length?(A=Ot,z):A},z.nodeWidth=function(Ot){return arguments.length?(w=+Ot,z):w},z.nodePadding=function(Ot){return arguments.length?(m=b=+Ot,z):m},z.nodes=function(Ot){return arguments.length?(B=typeof Ot=="function"?Ot:aK(Ot),z):B},z.links=function(Ot){return arguments.length?(N=typeof Ot=="function"?Ot:aK(Ot),z):N},z.linkSort=function(Ot){return arguments.length?(I=Ot,z):I},z.size=function(Ot){return arguments.length?(i=a=0,f=+Ot[0],p=+Ot[1],z):[f-i,p-a]},z.extent=function(Ot){return arguments.length?(i=+Ot[0][0],f=+Ot[1][0],a=+Ot[0][1],p=+Ot[1][1],z):[[i,a],[f,p]]},z.iterations=function(Ot){return arguments.length?(R=+Ot,z):R};function W({nodes:Ot,links:Bt}){for(const[Z,Ct]of Ot.entries())Ct.index=Z,Ct.sourceLinks=[],Ct.targetLinks=[];const Et=new Map(Ot.map((Z,Ct)=>[E(Z,Ct,Ot),Z]));for(const[Z,Ct]of Bt.entries()){Ct.index=Z;let{source:xt,target:Ht}=Ct;typeof xt!="object"&&(xt=Ct.source=x$t(Et,xt)),typeof Ht!="object"&&(Ht=Ct.target=x$t(Et,Ht)),xt.sourceLinks.push(Ct),Ht.targetLinks.push(Ct)}if(I!=null)for(const{sourceLinks:Z,targetLinks:Ct}of Ot)Z.sort(I),Ct.sort(I)}function et({nodes:Ot}){for(const Bt of Ot)Bt.value=Bt.fixedValue===void 0?Math.max(rpt(Bt.sourceLinks,ipt),rpt(Bt.targetLinks,ipt)):Bt.fixedValue}function st({nodes:Ot}){const Bt=Ot.length;let Et=new Set(Ot),Z=new Set,Ct=0;for(;Et.size;){for(const xt of Et){xt.depth=Ct;for(const{target:Ht}of xt.sourceLinks)Z.add(Ht)}if(++Ct>Bt)throw new Error("circular link");Et=Z,Z=new Set}}function at({nodes:Ot}){const Bt=Ot.length;let Et=new Set(Ot),Z=new Set,Ct=0;for(;Et.size;){for(const xt of Et){xt.height=Ct;for(const{source:Ht}of xt.targetLinks)Z.add(Ht)}if(++Ct>Bt)throw new Error("circular link");Et=Z,Z=new Set}}function bt({nodes:Ot}){const Bt=b$t(Ot,Ct=>Ct.depth)+1,Et=(f-i-w)/(Bt-1),Z=new Array(Bt);for(const Ct of Ot){const xt=Math.max(0,Math.min(Bt-1,Math.floor(_.call(null,Ct,Bt))));Ct.layer=xt,Ct.x0=i+xt*Et,Ct.x1=Ct.x0+w,Z[xt]?Z[xt].push(Ct):Z[xt]=[Ct]}if(A)for(const Ct of Z)Ct.sort(A);return Z}function mt(Ot){const Bt=w$t(Ot,Et=>(p-a-(Et.length-1)*b)/rpt(Et,ipt));for(const Et of Ot){let Z=a;for(const Ct of Et){Ct.y0=Z,Ct.y1=Z+Ct.value*Bt,Z=Ct.y1+b;for(const xt of Ct.sourceLinks)xt.width=xt.value*Bt}Z=(p-Z+b)/(Et.length+1);for(let Ct=0;CtEt.length)-1)),mt(Bt);for(let Et=0;Et0))continue;let gn=(Le/Ft-Ht.y0)*Bt;Ht.y0+=gn,Ht.y1+=gn,U(Ht)}A===void 0&&xt.sort(oK),vt(xt,Et)}}function ut(Ot,Bt,Et){for(let Z=Ot.length,Ct=Z-2;Ct>=0;--Ct){const xt=Ot[Ct];for(const Ht of xt){let Le=0,Ft=0;for(const{target:Se,value:me}of Ht.sourceLinks){let Ve=me*(Se.layer-Ht.layer);Le+=It(Ht,Se)*Ve,Ft+=Ve}if(!(Ft>0))continue;let gn=(Le/Ft-Ht.y0)*Bt;Ht.y0+=gn,Ht.y1+=gn,U(Ht)}A===void 0&&xt.sort(oK),vt(xt,Et)}}function vt(Ot,Bt){const Et=Ot.length>>1,Z=Ot[Et];pt(Ot,Z.y0-b,Et-1,Bt),X(Ot,Z.y1+b,Et+1,Bt),pt(Ot,p,Ot.length-1,Bt),X(Ot,a,0,Bt)}function X(Ot,Bt,Et,Z){for(;Et1e-6&&(Ct.y0+=xt,Ct.y1+=xt),Bt=Ct.y1+b}}function pt(Ot,Bt,Et,Z){for(;Et>=0;--Et){const Ct=Ot[Et],xt=(Ct.y1-Bt)*Z;xt>1e-6&&(Ct.y0-=xt,Ct.y1-=xt),Bt=Ct.y0-b}}function U({sourceLinks:Ot,targetLinks:Bt}){if(I===void 0){for(const{source:{sourceLinks:Et}}of Bt)Et.sort(y$t);for(const{target:{targetLinks:Et}}of Ot)Et.sort(m$t)}}function Tt(Ot){if(I===void 0)for(const{sourceLinks:Bt,targetLinks:Et}of Ot)Bt.sort(y$t),Et.sort(m$t)}function nt(Ot,Bt){let Et=Ot.y0-(Ot.sourceLinks.length-1)*b/2;for(const{target:Z,width:Ct}of Ot.sourceLinks){if(Z===Bt)break;Et+=Ct+b}for(const{source:Z,width:Ct}of Bt.targetLinks){if(Z===Ot)break;Et-=Ct}return Et}function It(Ot,Bt){let Et=Bt.y0-(Bt.targetLinks.length-1)*b/2;for(const{source:Z,width:Ct}of Bt.targetLinks){if(Z===Ot)break;Et+=Ct+b}for(const{target:Z,width:Ct}of Ot.sourceLinks){if(Z===Bt)break;Et-=Ct}return Et}return z}var spt=Math.PI,apt=2*spt,OT=1e-6,MYe=apt-OT;function opt(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function E$t(){return new opt}opt.prototype=E$t.prototype={constructor:opt,moveTo:function(i,a){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+a)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(i,a){this._+="L"+(this._x1=+i)+","+(this._y1=+a)},quadraticCurveTo:function(i,a,f,p){this._+="Q"+ +i+","+ +a+","+(this._x1=+f)+","+(this._y1=+p)},bezierCurveTo:function(i,a,f,p,w,m){this._+="C"+ +i+","+ +a+","+ +f+","+ +p+","+(this._x1=+w)+","+(this._y1=+m)},arcTo:function(i,a,f,p,w){i=+i,a=+a,f=+f,p=+p,w=+w;var m=this._x1,b=this._y1,E=f-i,_=p-a,A=m-i,I=b-a,B=A*A+I*I;if(w<0)throw new Error("negative radius: "+w);if(this._x1===null)this._+="M"+(this._x1=i)+","+(this._y1=a);else if(B>OT)if(!(Math.abs(I*E-_*A)>OT)||!w)this._+="L"+(this._x1=i)+","+(this._y1=a);else{var N=f-m,R=p-b,z=E*E+_*_,W=N*N+R*R,et=Math.sqrt(z),st=Math.sqrt(B),at=w*Math.tan((spt-Math.acos((z+B-W)/(2*et*st)))/2),bt=at/st,mt=at/et;Math.abs(bt-1)>OT&&(this._+="L"+(i+bt*A)+","+(a+bt*I)),this._+="A"+w+","+w+",0,0,"+ +(I*N>A*R)+","+(this._x1=i+mt*E)+","+(this._y1=a+mt*_)}},arc:function(i,a,f,p,w,m){i=+i,a=+a,f=+f,m=!!m;var b=f*Math.cos(p),E=f*Math.sin(p),_=i+b,A=a+E,I=1^m,B=m?p-w:w-p;if(f<0)throw new Error("negative radius: "+f);this._x1===null?this._+="M"+_+","+A:(Math.abs(this._x1-_)>OT||Math.abs(this._y1-A)>OT)&&(this._+="L"+_+","+A),f&&(B<0&&(B=B%apt+apt),B>MYe?this._+="A"+f+","+f+",0,1,"+I+","+(i-b)+","+(a-E)+"A"+f+","+f+",0,1,"+I+","+(this._x1=_)+","+(this._y1=A):B>OT&&(this._+="A"+f+","+f+",0,"+ +(B>=spt)+","+I+","+(this._x1=i+f*Math.cos(w))+","+(this._y1=a+f*Math.sin(w))))},rect:function(i,a,f,p){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+a)+"h"+ +f+"v"+ +p+"h"+-f+"Z"},toString:function(){return this._}};function T$t(i){return function(){return i}}function DYe(i){return i[0]}function IYe(i){return i[1]}var OYe=Array.prototype.slice;function PYe(i){return i.source}function FYe(i){return i.target}function NYe(i){var a=PYe,f=FYe,p=DYe,w=IYe,m=null;function b(){var E,_=OYe.call(arguments),A=a.apply(this,_),I=f.apply(this,_);if(m||(m=E=E$t()),i(m,+p.apply(this,(_[0]=A,_)),+w.apply(this,_),+p.apply(this,(_[0]=I,_)),+w.apply(this,_)),E)return m=null,E+""||null}return b.source=function(E){return arguments.length?(a=E,b):a},b.target=function(E){return arguments.length?(f=E,b):f},b.x=function(E){return arguments.length?(p=typeof E=="function"?E:T$t(+E),b):p},b.y=function(E){return arguments.length?(w=typeof E=="function"?E:T$t(+E),b):w},b.context=function(E){return arguments.length?(m=E??null,b):m},b}function BYe(i,a,f,p,w){i.moveTo(a,f),i.bezierCurveTo(a=(a+p)/2,f,a,w,p,w)}function RYe(){return NYe(BYe)}function jYe(i){return[i.source.x1,i.y0]}function $Ye(i){return[i.target.x0,i.y1]}function zYe(){return RYe().source(jYe).target($Ye)}const C$t=class RLt{static next(a){return new RLt(a+ ++RLt.count)}constructor(a){this.id=a,this.href=`#${a}`}toString(){return"url("+this.href+")"}};C$t.count=0;let _$t=C$t;const qYe={left:EYe,right:TYe,center:CYe,justify:v$t},HYe={draw:function(i,a,f,p){const{securityLevel:w,sankey:m}=Oe(),b=SOt.sankey;let E;w==="sandbox"&&(E=yr("#i"+a));const _=yr(w==="sandbox"?E.nodes()[0].contentDocument.body:"body"),A=w==="sandbox"?_.select(`[id="${a}"]`):yr(`[id="${a}"]`),I=(m==null?void 0:m.width)??b.width,B=(m==null?void 0:m.height)??b.width,N=(m==null?void 0:m.useMaxWidth)??b.useMaxWidth,R=(m==null?void 0:m.nodeAlignment)??b.nodeAlignment,z=(m==null?void 0:m.prefix)??b.prefix,W=(m==null?void 0:m.suffix)??b.suffix,et=(m==null?void 0:m.showValues)??b.showValues;k0(A,B,I,N);const st=p.db.getGraph(),at=qYe[R],bt=10;LYe().nodeId(pt=>pt.id).nodeWidth(bt).nodePadding(10+(et?15:0)).nodeAlign(at).extent([[0,0],[I,B]])(st);const yt=XU(X7e);A.append("g").attr("class","nodes").selectAll(".node").data(st.nodes).join("g").attr("class","node").attr("id",pt=>(pt.uid=_$t.next("node-")).id).attr("transform",function(pt){return"translate("+pt.x0+","+pt.y0+")"}).attr("x",pt=>pt.x0).attr("y",pt=>pt.y0).append("rect").attr("height",pt=>pt.y1-pt.y0).attr("width",pt=>pt.x1-pt.x0).attr("fill",pt=>yt(pt.id));const ft=({id:pt,value:U})=>et?`${pt} +${z}${Math.round(U*100)/100}${W}`:pt;A.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(st.nodes).join("text").attr("x",pt=>pt.x0(pt.y1+pt.y0)/2).attr("dy",`${et?"0":"0.35"}em`).attr("text-anchor",pt=>pt.x0(U.uid=_$t.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",U=>U.source.x1).attr("x2",U=>U.target.x0);pt.append("stop").attr("offset","0%").attr("stop-color",U=>yt(U.source.id)),pt.append("stop").attr("offset","100%").attr("stop-color",U=>yt(U.target.id))}let X;switch(vt){case"gradient":X=pt=>pt.uid;break;case"source":X=pt=>yt(pt.source.id);break;case"target":X=pt=>yt(pt.target.id);break;default:X=vt}ut.append("path").attr("d",zYe()).attr("stroke",X).attr("stroke-width",pt=>Math.max(1,pt.width))}},VYe=i=>i.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),GYe=rK.parse.bind(rK);rK.parse=i=>GYe(VYe(i));const UYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:rK,db:xYe,renderer:HYe}},Symbol.toStringTag,{value:"Module"}));return Bb}); diff --git a/dist1/kg/haystack.html b/dist1/kg/haystack.html new file mode 100644 index 0000000..faa30e4 --- /dev/null +++ b/dist1/kg/haystack.html @@ -0,0 +1,206 @@ + + + + + + Haystack | mdBook test book + + + + + + + + + + + +
+ + +
+
+

Haystack

+

Haystack

+

synonyms:: datasource, service, agent

+ +
+
+ + +
+
+ +
+ + \ No newline at end of file diff --git a/dist1/kg/service.html b/dist1/kg/service.html new file mode 100644 index 0000000..5254329 --- /dev/null +++ b/dist1/kg/service.html @@ -0,0 +1,207 @@ + + + + + + Terraphim Service | mdBook test book + + + + + + + + + + + +
+ + +
+
+

Terraphim Service

+

Terraphim Service

+

synonyms:: provider, middleware

+ + +
+
+ + +
+
+ +
+ + \ No newline at end of file diff --git a/dist1/kg/terraphim-graph.html b/dist1/kg/terraphim-graph.html new file mode 100644 index 0000000..894b6d4 --- /dev/null +++ b/dist1/kg/terraphim-graph.html @@ -0,0 +1,210 @@ + + + + + + Terraphim-graph | mdBook test book + + + + + + + + + + + +
+ + +
+
+

Terraphim-graph

+

Terraphim-graph

+

Terraphim Graph scorer

+

Terraphim Graph (scorer) is using unique graph embeddings, where the rank of the term is defined by number of synonyms connected to the concept.

+

synonyms:: graph embeddings, graph, knowledge graph based embeddings

+

Now we will have a concept "Terraphim Graph Scorer" with synonyms "graph embeddings".

+ + +
+
+ + +
+
+ +
+ + \ No newline at end of file diff --git a/dist1/scorers/Title-Scorer.html b/dist1/scorers/Title-Scorer.html new file mode 100644 index 0000000..817a15d --- /dev/null +++ b/dist1/scorers/Title-Scorer.html @@ -0,0 +1,208 @@ + + + + + + Title-Scorer | mdBook test book + + + + + + + + + + + +
+ + +
+
+

Title-Scorer

+

Title-Scorer

+

Title scorer is a simplest scorer for "Default" role and match by applying Levenstain distance to document title. +Other similarity functions are available, let me know if you want them exposed via config.

+ + +
+
+ + +
+
+ +
+ + \ No newline at end of file diff --git a/dist1/scorers/terraphim-graph.html b/dist1/scorers/terraphim-graph.html new file mode 100644 index 0000000..b989480 --- /dev/null +++ b/dist1/scorers/terraphim-graph.html @@ -0,0 +1,209 @@ + + + + + + Terraphim Graph scorer | mdBook test book + + + + + + + + + + + +
+ + +
+
+

Terraphim Graph scorer

+

Terraphim Graph scorer

+

Terraphim Graph (scorer) is using unique graph embeddings, where the rank of the term is defined by number of synonyms connected to the concept.

+

synonyms:: graph embeddings, graph, knowledge graph based embeddings

+

Now we will have a concept "Terrpahim Graph Scorer" with synonyms "graph embeddings".

+ + +
+
+ + +
+
+ +
+ + \ No newline at end of file diff --git a/dist2/components/doc-toc.js b/dist2/components/doc-toc.js new file mode 100644 index 0000000..88f118a --- /dev/null +++ b/dist2/components/doc-toc.js @@ -0,0 +1,120 @@ +class DocToc extends HTMLElement { + constructor() { + super(); + this.attachShadow({ mode: 'open' }); + } + + connectedCallback() { + this.render(); + this.generateToc(); + } + + generateToc() { + const article = document.querySelector('.main-article'); + if (!article) return; + + const headers = Array.from(article.querySelectorAll('h1, h2, h3, h4, h5, h6')); + const tocList = document.createElement('ul'); + tocList.className = 'toc-list'; + + headers.forEach(header => { + // Skip the main title + if (header.tagName === 'H1' && header === article.querySelector('h1')) { + return; + } + + const level = parseInt(header.tagName.charAt(1)); + const title = header.textContent; + const id = this.slugify(title); + + // Add id to the header if it doesn't have one + if (!header.id) { + header.id = id; + } + + const listItem = document.createElement('li'); + listItem.className = `toc-item level-${level}`; + + const link = document.createElement('a'); + link.href = `#${id}`; + link.textContent = title; + + listItem.appendChild(link); + tocList.appendChild(listItem); + }); + + const tocContent = this.shadowRoot.querySelector('.toc-content'); + tocContent.innerHTML = ''; + tocContent.appendChild(tocList); + } + + slugify(text) { + return text.toLowerCase() + .replace(/[^a-z0-9]+/g, '-') + .replace(/(^-|-$)/g, ''); + } + + render() { + this.shadowRoot.innerHTML = ` + + + +
On this page
+
+ `; + } +} + +customElements.define('doc-toc', DocToc); \ No newline at end of file diff --git a/dist2/components/search-modal.js b/dist2/components/search-modal.js new file mode 100644 index 0000000..37d1ad1 --- /dev/null +++ b/dist2/components/search-modal.js @@ -0,0 +1,351 @@ +/** + * Search Modal Component + * Provides a modal interface for search functionality + */ + +class SearchModal extends HTMLElement { + constructor() { + super(); + this.isOpen = false; + this.search = null; + this.currentResults = []; + this.selectedIndex = -1; + + // Bind methods + this.handleKeydown = this.handleKeydown.bind(this); + this.handleClickOutside = this.handleClickOutside.bind(this); + this.handleSearchResults = this.handleSearchResults.bind(this); + } + + connectedCallback() { + this.render(); + this.setupEventListeners(); + this.initializeSearch(); + } + + disconnectedCallback() { + this.removeEventListeners(); + if (this.search) { + this.search.destroy(); + } + } + + render() { + this.innerHTML = ` + + `; + + this.setupModalElements(); + } + + setupModalElements() { + this.overlay = this.querySelector('.search-modal-overlay'); + this.modal = this.querySelector('.search-modal'); + this.input = this.querySelector('.search-input'); + this.closeBtn = this.querySelector('.search-close-btn'); + this.resultsContainer = this.querySelector('.search-results'); + this.loadingElement = this.querySelector('.search-loading'); + this.emptyElement = this.querySelector('.search-empty'); + } + + async initializeSearch() { + try { + // Import PagefindSearch if not already available + if (typeof PagefindSearch === 'undefined') { + const module = await import('/js/pagefind-search.js'); + window.PagefindSearch = module.default || module.PagefindSearch; + } + + this.search = new window.PagefindSearch({ + debounceDelay: 200, + minQueryLength: 1, + maxResults: 10 + }); + + // Handle URL parameters + const initialQuery = this.search.handleUrlParams(); + if (initialQuery) { + this.input.value = initialQuery; + this.performSearch(initialQuery); + } + } catch (error) { + console.error('Failed to initialize search:', error); + } + } + + setupEventListeners() { + // Keyboard shortcuts + document.addEventListener('keydown', this.handleKeydown); + + // Modal events + this.closeBtn?.addEventListener('click', () => this.close()); + this.overlay?.addEventListener('click', this.handleClickOutside); + + // Search input events + this.input?.addEventListener('input', (e) => { + const query = e.target.value.trim(); + this.performSearch(query); + }); + + this.input?.addEventListener('keydown', (e) => { + if (e.key === 'ArrowDown' || e.key === 'ArrowUp') { + e.preventDefault(); + this.navigateResults(e.key === 'ArrowDown' ? 1 : -1); + } else if (e.key === 'Enter') { + e.preventDefault(); + this.selectCurrentResult(); + } + }); + } + + removeEventListeners() { + document.removeEventListener('keydown', this.handleKeydown); + } + + handleKeydown(e) { + // Open search modal with '/' or 'Cmd+K' + if (e.key === '/' || (e.key === 'k' && (e.metaKey || e.ctrlKey))) { + e.preventDefault(); + this.open(); + return; + } + + // Close modal with Escape + if (e.key === 'Escape' && this.isOpen) { + e.preventDefault(); + this.close(); + return; + } + } + + handleClickOutside(e) { + if (e.target === this.overlay) { + this.close(); + } + } + + async performSearch(query) { + if (!this.search) return; + + // Update URL + this.search.updateUrl(query); + + if (!query || query.length < 1) { + this.showEmpty(); + return; + } + + this.showLoading(); + + try { + await this.search.search(query, this.handleSearchResults); + } catch (error) { + console.error('Search error:', error); + this.showEmpty(); + } + } + + handleSearchResults(searchData, error) { + this.hideLoading(); + + if (error) { + this.showEmpty(); + return; + } + + this.currentResults = searchData.results || []; + + if (this.currentResults.length === 0) { + this.showEmpty(); + return; + } + + this.renderResults(searchData); + } + + renderResults(searchData) { + const { query, results, totalResults } = searchData; + + this.resultsContainer.innerHTML = ''; + this.selectedIndex = -1; + + results.forEach((result, index) => { + const resultElement = this.createResultElement(result, query, index); + this.resultsContainer.appendChild(resultElement); + }); + + this.emptyElement.style.display = 'none'; + this.resultsContainer.parentElement.style.display = 'block'; + } + + createResultElement(result, query, index) { + const element = document.createElement('div'); + element.className = 'search-result-item'; + element.setAttribute('data-index', index); + element.setAttribute('role', 'option'); + + const highlightedTitle = this.search ? + this.search.highlightTerms(result.title, query) : + result.title; + + const highlightedExcerpt = this.search ? + this.search.highlightTerms(result.excerpt, query) : + result.excerpt; + + element.innerHTML = ` +
+

${highlightedTitle}

+

${highlightedExcerpt}

+ ${result.url} +
+
+ +
+ `; + + element.addEventListener('click', () => { + this.selectResult(result); + }); + + element.addEventListener('mouseenter', () => { + this.setSelectedIndex(index); + }); + + return element; + } + + navigateResults(direction) { + if (this.currentResults.length === 0) return; + + const newIndex = this.selectedIndex + direction; + + if (newIndex >= 0 && newIndex < this.currentResults.length) { + this.setSelectedIndex(newIndex); + } else if (direction > 0 && this.selectedIndex === this.currentResults.length - 1) { + this.setSelectedIndex(0); + } else if (direction < 0 && this.selectedIndex === 0) { + this.setSelectedIndex(this.currentResults.length - 1); + } + } + + setSelectedIndex(index) { + // Remove previous selection + const previousSelected = this.resultsContainer.querySelector('.selected'); + if (previousSelected) { + previousSelected.classList.remove('selected'); + } + + this.selectedIndex = index; + + // Add selection to current item + const currentItem = this.resultsContainer.querySelector(`[data-index="${index}"]`); + if (currentItem) { + currentItem.classList.add('selected'); + currentItem.scrollIntoView({ block: 'nearest' }); + } + } + + selectCurrentResult() { + if (this.selectedIndex >= 0 && this.currentResults[this.selectedIndex]) { + this.selectResult(this.currentResults[this.selectedIndex]); + } + } + + selectResult(result) { + // Navigate to the result + window.location.href = result.url; + } + + showLoading() { + this.loadingElement.style.display = 'flex'; + this.emptyElement.style.display = 'none'; + this.resultsContainer.parentElement.style.display = 'none'; + } + + hideLoading() { + this.loadingElement.style.display = 'none'; + } + + showEmpty() { + this.hideLoading(); + this.emptyElement.style.display = 'flex'; + this.resultsContainer.parentElement.style.display = 'none'; + this.currentResults = []; + this.selectedIndex = -1; + } + + open() { + this.isOpen = true; + this.overlay.style.display = 'flex'; + + // Focus input after modal opens + requestAnimationFrame(() => { + this.input?.focus(); + }); + + // Prevent body scroll + document.body.style.overflow = 'hidden'; + } + + close() { + this.isOpen = false; + this.overlay.style.display = 'none'; + + // Restore body scroll + document.body.style.overflow = ''; + + // Clear selection + this.selectedIndex = -1; + this.currentResults = []; + } + + // Public API + triggerSearch(query) { + this.input.value = query; + this.performSearch(query); + this.open(); + } +} + +// Define the custom element +customElements.define('search-modal', SearchModal); \ No newline at end of file diff --git a/dist2/components/simple-block.js b/dist2/components/simple-block.js new file mode 100644 index 0000000..5ab63a2 --- /dev/null +++ b/dist2/components/simple-block.js @@ -0,0 +1,113 @@ +class SimpleBlock extends HTMLElement { + constructor() { + super(); + this.attachShadow({ mode: 'open' }); + } + + connectedCallback() { + this.render(); + } + + render() { + this.shadowRoot.innerHTML = ` + + + +
+
+ + +
+
+
+ +
+
+
+ `; + } +} + +customElements.define('simple-block', SimpleBlock); \ No newline at end of file diff --git a/dist2/css/highlight.css b/dist2/css/highlight.css new file mode 100644 index 0000000..352c79b --- /dev/null +++ b/dist2/css/highlight.css @@ -0,0 +1,83 @@ +/* + * An increased contrast highlighting scheme loosely based on the + * "Base16 Atelier Dune Light" theme by Bram de Haan + * (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) + * Original Base16 color scheme by Chris Kempson + * (https://github.com/chriskempson/base16) + */ + +/* Comment */ +.hljs-comment, +.hljs-quote { + color: #575757; +} + +/* Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-attr, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d70025; +} + +/* Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b21e00; +} + +/* Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #008200; +} + +/* Blue */ +.hljs-title, +.hljs-section { + color: #0030f2; +} + +/* Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #9d00ec; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f6f7f6; + color: #000; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-addition { + color: #22863a; + background-color: #f0fff4; +} + +.hljs-deletion { + color: #b31d28; + background-color: #ffeef0; +} diff --git a/dist2/css/search.css b/dist2/css/search.css new file mode 100644 index 0000000..8ad3bca --- /dev/null +++ b/dist2/css/search.css @@ -0,0 +1,299 @@ +/* Search Modal Styles */ +.search-modal-overlay { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.5); + backdrop-filter: blur(4px); + z-index: 9999; + display: flex; + align-items: flex-start; + justify-content: center; + padding-top: 15vh; +} + +.search-modal { + background: var(--sl-color-neutral-0); + border-radius: var(--sl-border-radius-large); + box-shadow: var(--sl-shadow-x-large); + width: 90%; + max-width: 600px; + max-height: 70vh; + display: flex; + flex-direction: column; + overflow: hidden; + border: 1px solid var(--sl-color-neutral-200); +} + +.search-modal-header { + display: flex; + align-items: center; + padding: var(--sl-spacing-medium); + border-bottom: 1px solid var(--sl-color-neutral-200); + gap: var(--sl-spacing-small); +} + +.search-input-container { + flex: 1; +} + +.search-input { + width: 100%; +} + +.search-input::part(base) { + border: none; + background: transparent; + font-size: var(--sl-font-size-large); +} + +.search-input::part(input) { + font-size: var(--sl-font-size-large); +} + +.search-close-btn { + flex-shrink: 0; +} + +.search-results-container { + flex: 1; + display: flex; + flex-direction: column; + min-height: 0; +} + +.search-results { + flex: 1; + overflow-y: auto; + padding: var(--sl-spacing-small); +} + +.search-result-item { + display: flex; + align-items: center; + padding: var(--sl-spacing-medium); + border-radius: var(--sl-border-radius-medium); + cursor: pointer; + transition: background-color 0.15s ease; + gap: var(--sl-spacing-medium); +} + +.search-result-item:hover, +.search-result-item.selected { + background: var(--sl-color-neutral-100); +} + +.search-result-content { + flex: 1; + min-width: 0; +} + +.search-result-title { + font-size: var(--sl-font-size-medium); + font-weight: var(--sl-font-weight-semibold); + margin: 0 0 var(--sl-spacing-x-small) 0; + color: var(--sl-color-neutral-900); + line-height: 1.3; +} + +.search-result-excerpt { + font-size: var(--sl-font-size-small); + color: var(--sl-color-neutral-600); + margin: 0 0 var(--sl-spacing-x-small) 0; + line-height: 1.4; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; +} + +.search-result-url { + font-size: var(--sl-font-size-x-small); + color: var(--sl-color-neutral-500); + font-family: var(--sl-font-mono); +} + +.search-result-action { + flex-shrink: 0; + color: var(--sl-color-neutral-400); + opacity: 0; + transition: opacity 0.15s ease; +} + +.search-result-item:hover .search-result-action, +.search-result-item.selected .search-result-action { + opacity: 1; +} + +/* Search highlighting */ +.search-result-title mark, +.search-result-excerpt mark { + background: var(--sl-color-primary-100); + color: var(--sl-color-primary-900); + padding: 0 2px; + border-radius: 2px; +} + +.search-footer { + padding: var(--sl-spacing-small) var(--sl-spacing-medium); + border-top: 1px solid var(--sl-color-neutral-200); + background: var(--sl-color-neutral-50); +} + +.search-shortcuts { + display: flex; + gap: var(--sl-spacing-medium); + font-size: var(--sl-font-size-x-small); + color: var(--sl-color-neutral-600); +} + +.search-shortcuts kbd { + background: var(--sl-color-neutral-200); + color: var(--sl-color-neutral-700); + padding: 2px 6px; + border-radius: var(--sl-border-radius-small); + font-family: var(--sl-font-mono); + font-size: var(--sl-font-size-2x-small); + font-weight: var(--sl-font-weight-semibold); + border: 1px solid var(--sl-color-neutral-300); + box-shadow: inset 0 1px 0 var(--sl-color-neutral-100); +} + +/* Loading state */ +.search-loading { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: var(--sl-spacing-2x-large); + gap: var(--sl-spacing-medium); + color: var(--sl-color-neutral-600); +} + +/* Empty state */ +.search-empty { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: var(--sl-spacing-2x-large); + text-align: center; + color: var(--sl-color-neutral-600); +} + +.search-empty-icon { + font-size: 3rem; + color: var(--sl-color-neutral-400); + margin-bottom: var(--sl-spacing-medium); +} + +.search-empty p { + margin: 0; + font-size: var(--sl-font-size-medium); +} + +.search-empty-subtitle { + font-size: var(--sl-font-size-small) !important; + color: var(--sl-color-neutral-500) !important; + margin-top: var(--sl-spacing-x-small) !important; +} + +/* Header search input enhancement */ +.header-search { + min-width: 200px; + transition: min-width 0.2s ease; +} + +.header-search:focus-within { + min-width: 300px; +} + +/* Responsive design */ +@media (max-width: 768px) { + .search-modal-overlay { + padding-top: 10vh; + } + + .search-modal { + width: 95%; + max-height: 80vh; + } + + .search-modal-header { + padding: var(--sl-spacing-small) var(--sl-spacing-medium); + } + + .search-result-item { + padding: var(--sl-spacing-small) var(--sl-spacing-medium); + } + + .search-shortcuts { + flex-wrap: wrap; + gap: var(--sl-spacing-small); + } + + .header-search { + min-width: 150px; + } + + .header-search:focus-within { + min-width: 200px; + } +} + +/* Dark mode support */ +@media (prefers-color-scheme: dark) { + .search-modal-overlay { + background: rgba(0, 0, 0, 0.7); + } + + .search-modal { + background: var(--sl-color-neutral-900); + border-color: var(--sl-color-neutral-700); + } + + .search-modal-header { + border-bottom-color: var(--sl-color-neutral-700); + } + + .search-result-item:hover, + .search-result-item.selected { + background: var(--sl-color-neutral-800); + } + + .search-result-title { + color: var(--sl-color-neutral-100); + } + + .search-result-excerpt { + color: var(--sl-color-neutral-400); + } + + .search-result-url { + color: var(--sl-color-neutral-500); + } + + .search-footer { + background: var(--sl-color-neutral-800); + border-top-color: var(--sl-color-neutral-700); + } + + .search-shortcuts { + color: var(--sl-color-neutral-400); + } + + .search-shortcuts kbd { + background: var(--sl-color-neutral-700); + color: var(--sl-color-neutral-200); + border-color: var(--sl-color-neutral-600); + box-shadow: inset 0 1px 0 var(--sl-color-neutral-600); + } + + .search-result-title mark, + .search-result-excerpt mark { + background: var(--sl-color-primary-900); + color: var(--sl-color-primary-100); + } +} \ No newline at end of file diff --git a/dist2/css/styles.css b/dist2/css/styles.css new file mode 100644 index 0000000..a7c2407 --- /dev/null +++ b/dist2/css/styles.css @@ -0,0 +1,824 @@ +:root { + --sl-color-primary-50: var(--sl-color-gray-50); + --sl-color-primary-100: var(--sl-color-gray-100); + --sl-color-primary-200: var(--sl-color-gray-200); + --sl-color-primary-300: var(--sl-color-gray-300); + --sl-color-primary-400: var(--sl-color-gray-400); + --sl-color-primary-500: var(--sl-color-gray-500); + --sl-color-primary-600: var(--sl-color-gray-600); + --sl-color-primary-700: var(--sl-color-gray-700); + --sl-color-primary-800: var(--sl-color-gray-800); + --sl-color-primary-900: var(--sl-color-gray-900); + + + --sidebar-width: 300px; + --toc-width: 240px; + --primary-color: var(--sl-color-primary-500); + --header-height: 60px; + --theme-text: var(--sl-color-neutral-900); + --theme-text-light: var(--sl-color-neutral-600); + --theme-bg: var(--sl-color-neutral-0); + --theme-bg-offset: var(--sl-color-neutral-50); + --theme-border: var(--sl-color-neutral-200); +} + +a { + color: var(--sl-color-neutral-600); + text-decoration: none; + text-decoration-color: var(--sl-color-neutral-200); + transition: var(--sl-transition-medium) color; +} + +a:hover { + color: var(--sl-color-gray-300); + text-decoration: none; +} + +a.active, +.active > a { + color: var(--sl-color-gray-700); + font-weight: var(--sl-font-weight-bold); +} + +body { + margin: 0; + padding: 0; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,Helvetica, Oxygen, Ubuntu, Cantarell, Arial, sans-serif; + line-height: 1.6; + color: var(--theme-text); + background: var(--theme-bg); +} + +.container { + display: grid; + grid-template-columns: var(--sidebar-width) minmax(0, 1fr) var(--toc-width); + grid-template-rows: auto 1fr auto; + grid-template-areas: + "header header header" + "sidebar main toc" + "footer footer footer"; + min-height: 100vh; + gap: 0; +} + +.site-header { + grid-area: header; +} + +.sidebar { + grid-area: sidebar; + position: sticky; + top: 0; + height: 100vh; + overflow-y: auto; + background: var(--sl-color-neutral-50); + border-right: 1px solid var(--sl-color-neutral-200); +} + +.content { + grid-area: main; + padding: 2rem; + max-width: 100%; + overflow-x: auto; +} + +doc-toc { + grid-area: toc; + position: sticky; + top: 0; + height: 100vh; + padding: 2rem; + border-left: 1px solid var(--sl-color-neutral-200); + background: var(--sl-color-neutral-50); + overflow-y: auto; +} + +.main-article { + min-height: 100vh; + width: 100%; + max-width: 1400px; + margin: 0 auto; +} + +/* Column layout for article sections */ +.main-article > p, +.main-article > ul, +.main-article > ol { + column-width: 40ch; + column-gap: 4rem; + column-rule: 1px solid var(--theme-border); + hyphens: none; + word-break: keep-all; + orphans: 3; + widows: 3; + text-align-last: start; +} + +/* Ensure inline code doesn't break */ +.main-article code { + white-space: nowrap; +} + +/* Prevent breaking of specific elements */ +.main-article > p > a, +.main-article > p > code, +.main-article > p > strong, +.main-article > p > em { + white-space: nowrap; +} + +/* Ensure proper spacing around headers */ +.main-article > h1, +.main-article > h2, +.main-article > h3, +.main-article > h4, +.main-article > h5, +.main-article > h6 { + break-after: avoid-column; + break-inside: avoid-column; + margin-bottom: 2rem; +} + +/* Headers and special elements span all columns */ +.main-article > h1, +.main-article > h2, +.main-article > h3, +.main-article > h4, +.main-article > h5, +.main-article > h6, +.main-article > pre, +.main-article > .nav-footer { + column-span: all; +} + +/* Add visual separation before headers */ +.main-article > h1::before, +.main-article > h2::before, +.main-article > h3::before, +.main-article > h4::before, +.main-article > h5::before, +.main-article > h6::before { + content: ""; + display: block; + height: 1px; + background: var(--theme-border); + margin: 3rem 0 2rem; + width: 100%; +} + +/* Prevent double separator at the start of the article */ +.main-article > h1:first-child::before { + display: none; +} + +/* Prevent orphaned headings */ +.main-article > h2, +.main-article > h3, +.main-article > h4, +.main-article > h5, +.main-article > h6 { + break-after: avoid; + margin-bottom: 2rem; +} + +/* Prevent code blocks from breaking across columns */ +.main-article > pre { + break-inside: avoid; + margin: 2rem 0; +} + +/* Adjust spacing for better readability */ +.main-article > * + * { + margin-top: 1.5rem; +} + +/* Responsive adjustments */ +@media (max-width: 1200px) { + .container { + grid-template-columns: var(--sidebar-width) 1fr; + grid-template-areas: + "header header" + "sidebar main" + "footer footer"; + } + + doc-toc { + display: none; + } + + .main-article { + max-width: 800px; + } + + .main-article > p, + .main-article > ul, + .main-article > ol { + column-width: auto; + column-count: 1; + column-gap: 0; + column-rule: none; + } + + .main-article > h1::before, + .main-article > h2::before, + .main-article > h3::before, + .main-article > h4::before, + .main-article > h5::before, + .main-article > h6::before { + margin: 2rem 0 1.5rem; + } +} + +@media (max-width: 768px) { + .container { + grid-template-columns: 1fr; + grid-template-areas: + "header" + "main" + "footer"; + } + + .sidebar { + display: none; + } + + .content { + grid-column: 1; + padding: 1rem; + } + + .main-article { + padding: 0 1rem; + } +} + +/* Site Footer */ +.site-footer { + grid-area: footer; + margin-top: auto; + padding: 2rem; + background: var(--sl-color-neutral-50); + border-top: 1px solid var(--sl-color-neutral-200); +} + +.footer-content { + max-width: 1400px; + margin: 0 auto; + display: flex; + justify-content: space-between; + align-items: center; + gap: 1rem; +} + +.footer-section { + display: flex; + align-items: center; + gap: 0.5rem; +} + +.copyright { + color: var(--sl-color-neutral-600); + margin: 0; +} + +.footer-link { + display: flex; + align-items: center; + gap: 0.5rem; + color: var(--sl-color-neutral-600); + text-decoration: none; +} + +.footer-link:hover { + color: var(--sl-color-primary-600); +} + +/* Navigation Footer */ +.nav-footer { + display: flex; + justify-content: space-between; + margin-top: 4rem; + padding-top: 2rem; + border-top: 1px solid var(--theme-border); + gap: 1rem; +} + +.nav-footer sl-button::part(base) { + color: var(--theme-text); + font-family: var(--sl-font-sans); + background: var(--theme-bg); + font-weight: 500; + --sl-spacing-medium: 1rem; +} + +.nav-footer sl-button::part(base):hover { + color: var(--primary-color); +} + +.nav-footer sl-button::part(prefix), +.nav-footer sl-button::part(suffix) { + font-size: 1.2em; +} + +.nav-previous { + margin-right: auto; +} + +.nav-next { + margin-left: auto; +} + +@media (max-width: 640px) { + .nav-footer { + flex-direction: column; + gap: 1rem; + } + + .nav-previous, + .nav-next { + margin: 0; + } + + .footer-content { + flex-direction: column; + text-align: center; + } +} + +/* Index page specific styles */ +.index-container { + display: block !important; + max-width: 1400px; + margin: 0 auto; + padding: 0 2rem; +} + +.index-content { + width: 100%; + max-width: none; + padding: 3rem 0; +} + +.index-header { + text-align: center; + margin-bottom: 3rem; +} + +.index-header h1 { + font-size: 2.5rem; + color: var(--sl-color-neutral-900); + margin: 0; +} + +.card-grid { + display: flex; + flex-direction: column; + gap: 4rem; +} + +.section-group h2 { + font-size: 1.75rem; + margin-bottom: 1.5rem; + color: var(--sl-color-neutral-800); + border-bottom: 2px solid var(--sl-color-neutral-200); + padding-bottom: 0.5rem; +} + +.card-group { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 1.5rem; +} + +sl-input { + width: 100%; + --sl-input-height-small: 2rem; + --sl-input-background-color: var(--theme-bg); +} + +/* Card styles */ +.doc-card { + --sl-panel-background-color: var(--sl-color-neutral-50); +} + +.doc-card::part(header) { + padding: var(--sl-spacing-large); +} + +.doc-card h3 { + margin: 0; + font-size: var(--sl-font-size-medium); + color: var(--sl-color-neutral-700); +} + +.doc-card::part(body) { + display: flex; + justify-content: flex-end; + padding: var(--sl-spacing-large); +} + +/* Add these global list resets */ +.sidebar-nav { + padding: 2rem 1.5rem; +} + +.sidebar-section { + margin-bottom: 2rem; + padding-left: 0.5rem; +} + +.sidebar-section-title { + font-size: 0.875rem; + font-weight: 600; + text-transform: uppercase; + color: var(--sl-color-neutral-500); + margin-bottom: 1rem; +} + +.sidebar-items { + list-style: none; + padding: 0; + margin: 0; +} + +.sidebar-item { + margin: 0.5rem 0; + padding-left: 0.5rem; +} + +/* TOC styles */ +.toc-list { + list-style: none; + padding: 0; + margin: 0; +} + +.toc-item { + margin: 0.25rem 0; +} + +.toc-item.level-1 { padding-left: 0; } +.toc-item.level-2 { padding-left: 1rem; } +.toc-item.level-3 { padding-left: 2rem; } +.toc-item.level-4 { padding-left: 3rem; } +.toc-item.level-5 { padding-left: 4rem; } +.toc-item.level-6 { padding-left: 5rem; } + +.card-grid { + display: flex; + flex-direction: column; + gap: 2rem; + padding: 1rem 0; +} + +.section-group h2 { + margin-bottom: 1rem; + color: var(--sl-color-neutral-700); +} + +.card-group { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); + gap: 1rem; +} + +.doc-card { + --sl-panel-background-color: var(--sl-color-neutral-50); +} + +.doc-card::part(header) { + padding: var(--sl-spacing-large); +} + +.doc-card h3 { + margin: 0; + font-size: var(--sl-font-size-medium); + color: var(--sl-color-neutral-700); +} + +.doc-card::part(body) { + display: flex; + justify-content: flex-end; + padding: var(--sl-spacing-large); +} + +@media (max-width: 640px) { + .card-group { + grid-template-columns: 1fr; + } +} + +.index-container { + display: block !important; + max-width: 1400px; + margin: 0 auto; + padding: 0 2rem; +} + +.index-content { + max-width: none; + padding: 3rem 0; +} + +.index-header { + text-align: center; + margin-bottom: 3rem; +} + +.index-header h1 { + font-size: 2.5rem; + color: var(--sl-color-neutral-900); + margin: 0; +} + +.card-grid { + display: flex; + flex-direction: column; + gap: 4rem; +} + +.section-group h2 { + font-size: 1.75rem; + margin-bottom: 1.5rem; + color: var(--sl-color-neutral-800); + border-bottom: 2px solid var(--sl-color-neutral-200); + padding-bottom: 0.5rem; +} + +.card-group { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 1.5rem; +} + +@media (max-width: 768px) { + .index-container { + padding: 0 1rem; + } + + .index-content { + padding: 2rem 0; + } + + .card-grid { + gap: 3rem; + } +} + +.site-footer { + grid-area: footer; + margin-top: auto; + padding: 2rem; + background: var(--sl-color-neutral-50); + border-top: 1px solid var(--sl-color-neutral-200); +} + +.footer-content { + max-width: 1400px; + margin: 0 auto; + display: flex; + justify-content: space-between; + align-items: center; + gap: 1rem; +} + +.footer-section { + display: flex; + align-items: center; + gap: 0.5rem; +} + +.copyright { + color: var(--sl-color-neutral-600); + margin: 0; +} + +.footer-link { + display: flex; + align-items: center; + gap: 0.5rem; + color: var(--sl-color-neutral-600); + text-decoration: none; +} + +.footer-link:hover { + color: var(--sl-color-primary-600); +} + +@media (max-width: 640px) { + .footer-content { + flex-direction: column; + text-align: center; + } +} + +/* Add visual separation before headers */ +.main-article > h1::before, +.main-article > h2::before, +.main-article > h3::before, +.main-article > h4::before, +.main-article > h5::before, +.main-article > h6::before { + content: ""; + display: block; + height: 1px; + background: var(--theme-border); + margin: 3rem 0 2rem; + width: 100%; +} + +/* Prevent double separator at the start of the article */ +.main-article > h1:first-child::before { + display: none; +} + +/* Adjust spacing between headers and content */ +.main-article > h1, +.main-article > h2, +.main-article > h3, +.main-article > h4, +.main-article > h5, +.main-article > h6 { + margin-bottom: 2rem; + column-span: all; +} + +/* Ensure proper spacing in responsive view */ +@media (max-width: 1200px) { + .main-article > h1::before, + .main-article > h2::before, + .main-article > h3::before, + .main-article > h4::before, + .main-article > h5::before, + .main-article > h6::before { + margin: 2rem 0 1.5rem; + } +} + +/* Site Header */ +.site-header { + position: sticky; + top: 0; + z-index: 100; + background: var(--sl-color-neutral-0); + border-bottom: 1px solid var(--sl-color-neutral-200); + height: var(--header-height); +} + +.header-content { + max-width: 1400px; + margin: 0 auto; + padding: 0 2rem; + height: 100%; + display: flex; + justify-content: space-between; + align-items: center; +} + +.header-left { + display: flex; + align-items: center; + gap: 1rem; +} + +.header-logo { + display: inline-flex; + align-items: center; + height: var(--header-height); + padding: 0.5rem; + box-sizing: border-box; +} + +.header-logo-img, +.header-logo sl-icon { + height: calc(var(--header-height) * 0.6); + width: auto; + display: block; +} + +.header-logo sl-icon::part(base) { + font-size: calc(var(--header-height) * 0.5); + color: var(--sl-color-primary-600); +} + +.header-title { + font-size: 1.25rem; +} + +.header-right { + display: flex; + align-items: center; +} + +.header-links { + display: flex; + gap: 1rem; +} + +.header-link { + display: flex; + align-items: center; + gap: 0.5rem; + color: var(--sl-color-neutral-600); + text-decoration: none; + font-size: 0.9375rem; +} + +.header-link:hover { + color: var(--sl-color-primary-600); +} + +@media (max-width: 768px) { + .header-content { + padding: 0 1rem; + } + + .header-link span { + display: none; + } +} + +.header-search { + margin-right: 2rem; +} + +.header-search::part(base) { + width: 200px; + background: var(--sl-color-neutral-50); +} + +@media (max-width: 768px) { + .header-search { + display: none; + } +} + +.header-links sl-icon { + font-size: 1.25rem; + margin-right: 0.5rem; +} + +.header-search sl-icon { + font-size: 1.25rem; + margin-right: 0.3rem; +} + +/* Code blocks */ +pre { + margin: 2rem 0; + padding: 1.5rem; + border-radius: var(--sl-border-radius-medium); + background: var(--sl-color-neutral-50); + border: 1px solid var(--sl-color-neutral-200); + overflow-x: auto; + column-span: all; + break-inside: avoid; + white-space: pre !important; +} + +/* Code block content */ +pre code { + display: block; + line-height: 1.5; + white-space: pre !important; +} + +/* Remove text styling from highlighted code */ +pre .code { + display: block; + white-space: pre !important; + word-break: normal; + word-wrap: normal; + column-width: auto; + column-count: 1; + column-gap: 0; + column-rule: none; + hyphens: none; +} + +/* Ensure inline code doesn't break */ +:not(pre) > code { + padding: 0.2em 0.4em; + background: var(--sl-color-neutral-50); + border: 1px solid var(--sl-color-neutral-200); + border-radius: var(--sl-border-radius-small); + font-size: 0.9em; + white-space: nowrap; +} + +/* Update link styles in content area */ +.content a { + color: var(--sl-color-primary-600); + text-decoration: underline; + text-underline-offset: 0.2em; + transition: var(--sl-transition-medium) color; +} + +.content a:hover { + color: var(--sl-color-primary-800); + text-decoration: underline; +} + +.content a:active { + color: var(--sl-color-primary-900); +} diff --git a/dist2/css/syntax.css b/dist2/css/syntax.css new file mode 100644 index 0000000..331b102 --- /dev/null +++ b/dist2/css/syntax.css @@ -0,0 +1,319 @@ +/* + * theme "Solarized (light)" generated by syntect + */ + +.code { + color: #657b83; + background-color: #fdf6e3; +} + +.comment, .meta.documentation { + color: #93a1a1; +} +.string { + color: #2aa198; +} +.string.regexp { + color: #2aa198; +} +.constant.character.escape { + color: #dc322f; +} +.constant.numeric { + color: #6c71c4; +} +.variable { + color: #268bd2; +} +.variable.function { + color: #b58900; +} +.variable.language { + color: #d33682; +} +.keyword { + color: #859900; +} +.meta.import .keyword, .keyword.control.import, .keyword.control.import.from, .keyword.other.import, .keyword.control.at-rule.include, .keyword.control.at-rule.import { + color: #cb4b16; +} +.keyword.operator.comparison, .keyword.operator.assignment, .keyword.operator.arithmetic { + color: #657b83; +} +.storage { + color: #859900; +} +.storage.modifier { + color: #586e75; +} +.keyword.control.class, .entity.name, .entity.name.class, .entity.name.type.class { + color: #b58900; +} +.entity.other.inherited-class { + color: #268bd2; +} +.entity.other.attribute-name { + color: #b58900; +} +.support, .support.type, .support.class { + color: #859900; +} +.entity.name.function { + color: #b58900; +} +.punctuation.definition.variable { + color: #859900; +} +.constant, .constant.language, .meta.preprocessor { + color: #b58900; +} +.entity.name.section { + color: #cb4b16; +} +.support.function.construct, .keyword.other.new { + color: #dc322f; +} +.constant.character, .constant.other { + color: #cb4b16; +} +.entity.name.tag { + color: #268bd2; +} +.punctuation.definition.tag.html, .punctuation.definition.tag.begin, .punctuation.definition.tag.end { + color: #93a1a1; +} +.support.function { + color: #859900; +} +.punctuation.separator.continuation { + color: #dc322f; +} +.storage.type { + color: #268bd2; +} +.support.type.exception { + color: #cb4b16; +} +.keyword.other.special-method { + color: #cb4b16; +} +.invalid { + background-color: #ec9489; +} +.string.quoted.double, .string.quoted.single { + color: #2aa198; +} +.punctuation.definition.string { + color: #839496; +} +.meta.brace.square, .punctuation.section.brackets { + color: #268bd2; +} +.meta.brace.round, .meta.brace.curly, .punctuation.section, .punctuation.section.block, .punctuation.definition.parameters, .punctuation.section.group { + color: #657b83; +} +.support.constant.color, .invalid.deprecated.color.w3c-non-standard-color-name.scss { + color: #b58900; +} +.meta.selector.css { + color: #657b83; +} +.entity.name.tag.css, .entity.name.tag.scss, .source.less .keyword.control.html.elements, .source.sass .keyword.control.untitled { + color: #b58900; +} +.entity.other.attribute-name.class { + color: #b58900; +} +.entity.other.attribute-name.id { + color: #b58900; +} +.entity.other.attribute-name.pseudo-element, .entity.other.attribute-name.tag.pseudo-element, .entity.other.attribute-name.pseudo-class, .entity.other.attribute-name.tag.pseudo-class { + color: #268bd2; +} +.text.html.basic .meta.tag.other.html, .text.html.basic .meta.tag.any.html, .text.html.basic .meta.tag.block.any, .text.html.basic .meta.tag.inline.any, .text.html.basic .meta.tag.structure.any.html, .text.html.basic .source.js.embedded.html, .punctuation.separator.key-value.html { + color: #657b83; +} +.text.html.basic .entity.other.attribute-name.html, .meta.tag.xml .entity.other.attribute-name { + color: #b58900; +} +.keyword.other.special-method.ruby { + color: #859900; +} +.variable.other.constant.ruby { + color: #b58900; +} +.constant.other.symbol.ruby { + color: #2aa198; +} +.keyword.other.special-method.ruby { + color: #cb4b16; +} +.meta.array .support.function.construct.php { + color: #b58900; +} +.entity.name.function.preprocessor.c, .meta.preprocessor.c.include, .meta.preprocessor.macro.c { + color: #cb4b16; +} +.meta.preprocessor.c.include .string.quoted.other.lt-gt.include.c, .meta.preprocessor.c.include .punctuation.definition.string.begin.c, .meta.preprocessor.c.include .punctuation.definition.string.end.c { + color: #2aa198; +} +.other.package.exclude, .other.remove { + color: #dc322f; +} +.other.add { + color: #2aa198; +} +.punctuation.section.group.tex, .punctuation.definition.arguments.begin.latex, .punctuation.definition.arguments.end.latex, .punctuation.definition.arguments.latex { + color: #dc322f; +} +.meta.group.braces.tex { + color: #b58900; +} +.string.other.math.tex { + color: #b58900; +} +.variable.parameter.function.latex { + color: #cb4b16; +} +.punctuation.definition.constant.math.tex { + color: #dc322f; +} +.text.tex.latex .constant.other.math.tex, .constant.other.general.math.tex, .constant.other.general.math.tex, .constant.character.math.tex { + color: #2aa198; +} +.string.other.math.tex { + color: #b58900; +} +.punctuation.definition.string.begin.tex, .punctuation.definition.string.end.tex { + color: #dc322f; +} +.keyword.control.label.latex, .text.tex.latex .constant.other.general.math.tex { + color: #2aa198; +} +.variable.parameter.definition.label.latex { + color: #dc322f; +} +.support.function.be.latex { + color: #859900; +} +.support.function.section.latex { + color: #cb4b16; +} +.support.function.general.tex { + color: #2aa198; +} +.keyword.control.ref.latex { + color: #2aa198; +} +.storage.type.class.python, .storage.type.function.python, .storage.modifier.global.python { + color: #859900; +} +.support.type.exception.python { + color: #b58900; +} +.meta.scope.for-in-loop.shell, .variable.other.loop.shell { + color: #586e75; +} +.meta.scope.case-block.shell, .meta.scope.case-body.shell { + color: #586e75; +} +.punctuation.definition.logical-expression.shell { + color: #dc322f; +} +.storage.modifier.c++ { + color: #859900; +} +.support.function.perl { + color: #268bd2; +} +.meta.diff, .meta.diff.header { + color: #93a1a1; +} +.meta.diff.range { + color: #268bd2; +} +.markup.deleted { + color: #dc322f; +} +.markup.changed { + color: #2aa198; +} +.markup.inserted { + color: #859900; +} +.markup.heading, .punctuation.definition.heading.markdown { + color: #b58900; +} +.markup.quote { + color: #859900; +} +.markup.italic { +font-style: italic; +} +.markup.bold { +font-weight: bold; +} +.markup.underline.link.markdown, .meta.link.reference .constant.other.reference.link.markdown { + color: #2aa198; +} +.constant.other.reference.link.markdown { + color: #6c71c4; +} +.meta.paragraph.markdown .meta.dummy.line-break { + background-color: #eee8d5; +} +.sublimelinter.notes { + color: #eee8d5; + background-color: #eee8d5; +} +.sublimelinter.outline.illegal { + color: #93a1a1; + background-color: #93a1a1; +} +.sublimelinter.underline.illegal { + background-color: #dc322f; +} +.sublimelinter.outline.warning { + color: #839496; + background-color: #839496; +} +.sublimelinter.underline.warning { + background-color: #b58900; +} +.sublimelinter.outline.violation { + color: #657b83; + background-color: #657b83; +} +.sublimelinter.underline.violation { + background-color: #cb4b16; +} +.sublimelinter.mark.warning { + color: #b58900; +} +.sublimelinter.mark.error { + color: #dc322f; +} +.sublimelinter.gutter-mark { + color: #657b83; +} +.brackethighlighter.all { + color: #93a1a1; +} +.entity.name.filename.find-in-files { + color: #2aa198; +} +.constant.numeric.line-number.find-in-files { + color: #93a1a1; +} +.markup.deleted.git_gutter { + color: #dc322f; +} +.markup.inserted.git_gutter { + color: #859900; +} +.markup.changed.git_gutter { + color: #b58900; +} +.variable.other.readwrite.js, .variable.other.object.js, .variable.other.constant.js { + color: #657b83; +} diff --git a/dist2/getting-started.html b/dist2/getting-started.html new file mode 100644 index 0000000..eb5a1d5 --- /dev/null +++ b/dist2/getting-started.html @@ -0,0 +1,139 @@ + + + + + + Getting Started | mdBook test book + + + + + + + + + + + + + + + +
+ + +
+
+

Getting Started

+

Getting Started

+

This is a test page for demonstrating search functionality.

+

Test Update - Live Reload

+

This section was just added to test the file watcher and live reload functionality!

+

Installation

+

To install this software, follow these steps:

+
    +
  1. Download the binary
  2. +
  3. Run the installer
  4. +
  5. Configure your settings
  6. +
+

The search should index this content and make it searchable.

+ + +
+
+ + +
+ + + + +
+ +
+ + + \ No newline at end of file diff --git a/dist2/img/default_logo.svg b/dist2/img/default_logo.svg new file mode 100644 index 0000000..111569b --- /dev/null +++ b/dist2/img/default_logo.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/dist2/img/terraphim_gray.png b/dist2/img/terraphim_gray.png new file mode 100644 index 0000000..3b73c77 Binary files /dev/null and b/dist2/img/terraphim_gray.png differ diff --git a/dist2/index.html b/dist2/index.html new file mode 100644 index 0000000..098d261 --- /dev/null +++ b/dist2/index.html @@ -0,0 +1,99 @@ + + + + + + Documentation | mdBook test book + + + + + + + + + + + +
+ +
+ +
+

Documentation

+
+
+ +
+

Guide

+
+ + +

Getting Started

+ + Read More + + +
+ +
+
+ +
+

test_input

+
+ + +

Advanced Configuration

+ + Read More + + +
+ + +

Getting Started

+ + Read More + + +
+ +
+
+ +
+ +
+
+ + + + + \ No newline at end of file diff --git a/dist2/js/code-copy.js b/dist2/js/code-copy.js new file mode 100644 index 0000000..95e75a2 --- /dev/null +++ b/dist2/js/code-copy.js @@ -0,0 +1,9 @@ +document.addEventListener('DOMContentLoaded', () => { + document.querySelectorAll('pre code').forEach(codeBlock => { + const copyButton = document.createElement('sl-copy-button'); + copyButton.value = codeBlock.textContent; + copyButton.size = 'small'; + copyButton.variant = 'neutral'; + codeBlock.parentElement.appendChild(copyButton); + }); +}); \ No newline at end of file diff --git a/dist2/js/highlight.js b/dist2/js/highlight.js new file mode 100644 index 0000000..18d2434 --- /dev/null +++ b/dist2/js/highlight.js @@ -0,0 +1,54 @@ +/* + Highlight.js 10.1.1 (93fd0d73) + License: BSD-3-Clause + Copyright (c) 2006-2020, Ivan Sagalaev +*/ +var hljs=function(){"use strict";function e(n){Object.freeze(n);var t="function"==typeof n;return Object.getOwnPropertyNames(n).forEach((function(r){!Object.hasOwnProperty.call(n,r)||null===n[r]||"object"!=typeof n[r]&&"function"!=typeof n[r]||t&&("caller"===r||"callee"===r||"arguments"===r)||Object.isFrozen(n[r])||e(n[r])})),n}class n{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data}ignoreMatch(){this.ignore=!0}}function t(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function r(e,...n){var t={};for(const n in e)t[n]=e[n];return n.forEach((function(e){for(const n in e)t[n]=e[n]})),t}function a(e){return e.nodeName.toLowerCase()}var i=Object.freeze({__proto__:null,escapeHTML:t,inherit:r,nodeStream:function(e){var n=[];return function e(t,r){for(var i=t.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:r,node:i}),r=e(i,r),a(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:r,node:i}));return r}(e,0),n},mergeStreams:function(e,n,r){var i=0,s="",o=[];function l(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset"}function u(e){s+=""}function d(e){("start"===e.event?c:u)(e.node)}for(;e.length||n.length;){var g=l();if(s+=t(r.substring(i,g[0].offset)),i=g[0].offset,g===e){o.reverse().forEach(u);do{d(g.splice(0,1)[0]),g=l()}while(g===e&&g.length&&g[0].offset===i);o.reverse().forEach(c)}else"start"===g[0].event?o.push(g[0].node):o.pop(),d(g.splice(0,1)[0])}return s+t(r.substr(i))}});const s="
",o=e=>!!e.kind;class l{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=t(e)}openNode(e){if(!o(e))return;let n=e.kind;e.sublanguage||(n=`${this.classPrefix}${n}`),this.span(n)}closeNode(e){o(e)&&(this.buffer+=s)}value(){return this.buffer}span(e){this.buffer+=``}}class c{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const n={kind:e,children:[]};this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n),n.children.forEach(n=>this._walk(e,n)),e.closeNode(n)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{c._collapse(e)}))}}class u extends c{constructor(e){super(),this.options=e}addKeyword(e,n){""!==e&&(this.openNode(n),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,n){const t=e.root;t.kind=n,t.sublanguage=!0,this.add(t)}toHTML(){return new l(this,this.options).value()}finalize(){return!0}}function d(e){return e?"string"==typeof e?e:e.source:null}const g="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",h={begin:"\\\\[\\s\\S]",relevance:0},f={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[h]},p={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[h]},b={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},m=function(e,n,t={}){var a=r({className:"comment",begin:e,end:n,contains:[]},t);return a.contains.push(b),a.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),a},v=m("//","$"),x=m("/\\*","\\*/"),E=m("#","$");var _=Object.freeze({__proto__:null,IDENT_RE:"[a-zA-Z]\\w*",UNDERSCORE_IDENT_RE:"[a-zA-Z_]\\w*",NUMBER_RE:"\\b\\d+(\\.\\d+)?",C_NUMBER_RE:g,BINARY_NUMBER_RE:"\\b(0b[01]+)",RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const n=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map(e=>d(e)).join("")}(n,/.*\b/,e.binary,/\b.*/)),r({className:"meta",begin:n,end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)},BACKSLASH_ESCAPE:h,APOS_STRING_MODE:f,QUOTE_STRING_MODE:p,PHRASAL_WORDS_MODE:b,COMMENT:m,C_LINE_COMMENT_MODE:v,C_BLOCK_COMMENT_MODE:x,HASH_COMMENT_MODE:E,NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?",relevance:0},C_NUMBER_MODE:{className:"number",begin:g,relevance:0},BINARY_NUMBER_MODE:{className:"number",begin:"\\b(0b[01]+)",relevance:0},CSS_NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[h,{begin:/\[/,end:/\]/,relevance:0,contains:[h]}]}]},TITLE_MODE:{className:"title",begin:"[a-zA-Z]\\w*",relevance:0},UNDERSCORE_TITLE_MODE:{className:"title",begin:"[a-zA-Z_]\\w*",relevance:0},METHOD_GUARD:{begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})}}),N="of and for in not or if then".split(" ");function w(e,n){return n?+n:function(e){return N.includes(e.toLowerCase())}(e)?0:1}const R=t,y=r,{nodeStream:k,mergeStreams:O}=i,M=Symbol("nomatch");return function(t){var a=[],i={},s={},o=[],l=!0,c=/(^(<[^>]+>|\t|)+|\n)/gm,g="Could not find the language '{}', did you forget to load/include a language module?";const h={disableAutodetect:!0,name:"Plain text",contains:[]};var f={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:u};function p(e){return f.noHighlightRe.test(e)}function b(e,n,t,r){var a={code:n,language:e};S("before:highlight",a);var i=a.result?a.result:m(a.language,a.code,t,r);return i.code=a.code,S("after:highlight",i),i}function m(e,t,a,s){var o=t;function c(e,n){var t=E.case_insensitive?n[0].toLowerCase():n[0];return Object.prototype.hasOwnProperty.call(e.keywords,t)&&e.keywords[t]}function u(){null!=y.subLanguage?function(){if(""!==A){var e=null;if("string"==typeof y.subLanguage){if(!i[y.subLanguage])return void O.addText(A);e=m(y.subLanguage,A,!0,k[y.subLanguage]),k[y.subLanguage]=e.top}else e=v(A,y.subLanguage.length?y.subLanguage:null);y.relevance>0&&(I+=e.relevance),O.addSublanguage(e.emitter,e.language)}}():function(){if(!y.keywords)return void O.addText(A);let e=0;y.keywordPatternRe.lastIndex=0;let n=y.keywordPatternRe.exec(A),t="";for(;n;){t+=A.substring(e,n.index);const r=c(y,n);if(r){const[e,a]=r;O.addText(t),t="",I+=a,O.addKeyword(n[0],e)}else t+=n[0];e=y.keywordPatternRe.lastIndex,n=y.keywordPatternRe.exec(A)}t+=A.substr(e),O.addText(t)}(),A=""}function h(e){return e.className&&O.openNode(e.className),y=Object.create(e,{parent:{value:y}})}function p(e){return 0===y.matcher.regexIndex?(A+=e[0],1):(L=!0,0)}var b={};function x(t,r){var i=r&&r[0];if(A+=t,null==i)return u(),0;if("begin"===b.type&&"end"===r.type&&b.index===r.index&&""===i){if(A+=o.slice(r.index,r.index+1),!l){const n=Error("0 width match regex");throw n.languageName=e,n.badRule=b.rule,n}return 1}if(b=r,"begin"===r.type)return function(e){var t=e[0],r=e.rule;const a=new n(r),i=[r.__beforeBegin,r["on:begin"]];for(const n of i)if(n&&(n(e,a),a.ignore))return p(t);return r&&r.endSameAsBegin&&(r.endRe=RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),r.skip?A+=t:(r.excludeBegin&&(A+=t),u(),r.returnBegin||r.excludeBegin||(A=t)),h(r),r.returnBegin?0:t.length}(r);if("illegal"===r.type&&!a){const e=Error('Illegal lexeme "'+i+'" for mode "'+(y.className||"")+'"');throw e.mode=y,e}if("end"===r.type){var s=function(e){var t=e[0],r=o.substr(e.index),a=function e(t,r,a){let i=function(e,n){var t=e&&e.exec(n);return t&&0===t.index}(t.endRe,a);if(i){if(t["on:end"]){const e=new n(t);t["on:end"](r,e),e.ignore&&(i=!1)}if(i){for(;t.endsParent&&t.parent;)t=t.parent;return t}}if(t.endsWithParent)return e(t.parent,r,a)}(y,e,r);if(!a)return M;var i=y;i.skip?A+=t:(i.returnEnd||i.excludeEnd||(A+=t),u(),i.excludeEnd&&(A=t));do{y.className&&O.closeNode(),y.skip||y.subLanguage||(I+=y.relevance),y=y.parent}while(y!==a.parent);return a.starts&&(a.endSameAsBegin&&(a.starts.endRe=a.endRe),h(a.starts)),i.returnEnd?0:t.length}(r);if(s!==M)return s}if("illegal"===r.type&&""===i)return 1;if(B>1e5&&B>3*r.index)throw Error("potential infinite loop, way more iterations than matches");return A+=i,i.length}var E=T(e);if(!E)throw console.error(g.replace("{}",e)),Error('Unknown language: "'+e+'"');var _=function(e){function n(n,t){return RegExp(d(n),"m"+(e.case_insensitive?"i":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,n){n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]),this.matchAt+=function(e){return RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=n(function(e,n="|"){for(var t=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,r=0,a="",i=0;i0&&(a+=n),a+="(";o.length>0;){var l=t.exec(o);if(null==l){a+=o;break}a+=o.substring(0,l.index),o=o.substring(l.index+l[0].length),"\\"===l[0][0]&&l[1]?a+="\\"+(+l[1]+s):(a+=l[0],"("===l[0]&&r++)}a+=")"}return a}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const n=this.matcherRe.exec(e);if(!n)return null;const t=n.findIndex((e,n)=>n>0&&void 0!==e),r=this.matchIndexes[t];return n.splice(0,t),Object.assign(n,r)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t;return this.rules.slice(e).forEach(([e,t])=>n.addRule(e,t)),n.compile(),this.multiRegexes[e]=n,n}considerAll(){this.regexIndex=0}addRule(e,n){this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex;const t=n.exec(e);return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&(this.regexIndex=0)),t}}function i(e,n){const t=e.input[e.index-1],r=e.input[e.index+e[0].length];"."!==t&&"."!==r||n.ignoreMatch()}if(e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return function t(s,o){const l=s;if(s.compiled)return l;s.compiled=!0,s.__beforeBegin=null,s.keywords=s.keywords||s.beginKeywords;let c=null;if("object"==typeof s.keywords&&(c=s.keywords.$pattern,delete s.keywords.$pattern),s.keywords&&(s.keywords=function(e,n){var t={};return"string"==typeof e?r("keyword",e):Object.keys(e).forEach((function(n){r(n,e[n])})),t;function r(e,r){n&&(r=r.toLowerCase()),r.split(" ").forEach((function(n){var r=n.split("|");t[r[0]]=[e,w(r[0],r[1])]}))}}(s.keywords,e.case_insensitive)),s.lexemes&&c)throw Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return l.keywordPatternRe=n(s.lexemes||c||/\w+/,!0),o&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")(?=\\b|\\s)",s.__beforeBegin=i),s.begin||(s.begin=/\B|\b/),l.beginRe=n(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(l.endRe=n(s.end)),l.terminator_end=d(s.end)||"",s.endsWithParent&&o.terminator_end&&(l.terminator_end+=(s.end?"|":"")+o.terminator_end)),s.illegal&&(l.illegalRe=n(s.illegal)),void 0===s.relevance&&(s.relevance=1),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(e){return function(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map((function(n){return r(e,{variants:null},n)}))),e.cached_variants?e.cached_variants:function e(n){return!!n&&(n.endsWithParent||e(n.starts))}(e)?r(e,{starts:e.starts?r(e.starts):null}):Object.isFrozen(e)?r(e):e}("self"===e?s:e)}))),s.contains.forEach((function(e){t(e,l)})),s.starts&&t(s.starts,o),l.matcher=function(e){const n=new a;return e.contains.forEach(e=>n.addRule(e.begin,{rule:e,type:"begin"})),e.terminator_end&&n.addRule(e.terminator_end,{type:"end"}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n}(l),l}(e)}(E),N="",y=s||_,k={},O=new f.__emitter(f);!function(){for(var e=[],n=y;n!==E;n=n.parent)n.className&&e.unshift(n.className);e.forEach(e=>O.openNode(e))}();var A="",I=0,S=0,B=0,L=!1;try{for(y.matcher.considerAll();;){B++,L?L=!1:(y.matcher.lastIndex=S,y.matcher.considerAll());const e=y.matcher.exec(o);if(!e)break;const n=x(o.substring(S,e.index),e);S=e.index+n}return x(o.substr(S)),O.closeAllNodes(),O.finalize(),N=O.toHTML(),{relevance:I,value:N,language:e,illegal:!1,emitter:O,top:y}}catch(n){if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:n.message,context:o.slice(S-100,S+100),mode:n.mode},sofar:N,relevance:0,value:R(o),emitter:O};if(l)return{illegal:!1,relevance:0,value:R(o),emitter:O,language:e,top:y,errorRaised:n};throw n}}function v(e,n){n=n||f.languages||Object.keys(i);var t=function(e){const n={relevance:0,emitter:new f.__emitter(f),value:R(e),illegal:!1,top:h};return n.emitter.addText(e),n}(e),r=t;return n.filter(T).filter(I).forEach((function(n){var a=m(n,e,!1);a.language=n,a.relevance>r.relevance&&(r=a),a.relevance>t.relevance&&(r=t,t=a)})),r.language&&(t.second_best=r),t}function x(e){return f.tabReplace||f.useBR?e.replace(c,e=>"\n"===e?f.useBR?"
":e:f.tabReplace?e.replace(/\t/g,f.tabReplace):e):e}function E(e){let n=null;const t=function(e){var n=e.className+" ";n+=e.parentNode?e.parentNode.className:"";const t=f.languageDetectRe.exec(n);if(t){var r=T(t[1]);return r||(console.warn(g.replace("{}",t[1])),console.warn("Falling back to no-highlight mode for this block.",e)),r?t[1]:"no-highlight"}return n.split(/\s+/).find(e=>p(e)||T(e))}(e);if(p(t))return;S("before:highlightBlock",{block:e,language:t}),f.useBR?(n=document.createElement("div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n"):n=e;const r=n.textContent,a=t?b(t,r,!0):v(r),i=k(n);if(i.length){const e=document.createElement("div");e.innerHTML=a.value,a.value=O(i,k(e),r)}a.value=x(a.value),S("after:highlightBlock",{block:e,result:a}),e.innerHTML=a.value,e.className=function(e,n,t){var r=n?s[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),e.includes(r)||a.push(r),a.join(" ").trim()}(e.className,t,a.language),e.result={language:a.language,re:a.relevance,relavance:a.relevance},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.relevance,relavance:a.second_best.relevance})}const N=()=>{if(!N.called){N.called=!0;var e=document.querySelectorAll("pre code");a.forEach.call(e,E)}};function T(e){return e=(e||"").toLowerCase(),i[e]||i[s[e]]}function A(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach(e=>{s[e]=n})}function I(e){var n=T(e);return n&&!n.disableAutodetect}function S(e,n){var t=e;o.forEach((function(e){e[t]&&e[t](n)}))}Object.assign(t,{highlight:b,highlightAuto:v,fixMarkup:x,highlightBlock:E,configure:function(e){f=y(f,e)},initHighlighting:N,initHighlightingOnLoad:function(){window.addEventListener("DOMContentLoaded",N,!1)},registerLanguage:function(e,n){var r=null;try{r=n(t)}catch(n){if(console.error("Language definition for '{}' could not be registered.".replace("{}",e)),!l)throw n;console.error(n),r=h}r.name||(r.name=e),i[e]=r,r.rawDefinition=n.bind(null,t),r.aliases&&A(r.aliases,{languageName:e})},listLanguages:function(){return Object.keys(i)},getLanguage:T,registerAliases:A,requireLanguage:function(e){var n=T(e);if(n)return n;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:I,inherit:y,addPlugin:function(e){o.push(e)}}),t.debugMode=function(){l=!1},t.safeMode=function(){l=!0},t.versionString="10.1.1";for(const n in _)"object"==typeof _[n]&&e(_[n]);return Object.assign(t,_),t}({})}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs); +hljs.registerLanguage("apache",function(){"use strict";return function(e){var n={className:"number",begin:"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?"};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:"",contains:[n,{className:"number",begin:":\\d{1,5}"},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{className:"meta",begin:"\\s\\[",end:"\\]$"},{className:"variable",begin:"[\\$%]\\{",end:"\\}",contains:["self",{className:"number",begin:"[\\$%]\\d+"}]},n,{className:"number",begin:"\\d+"},e.QUOTE_STRING_MODE]}}],illegal:/\S/}}}()); +hljs.registerLanguage("bash",function(){"use strict";return function(e){const s={};Object.assign(s,{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{/,end:/\}/,contains:[{begin:/:-/,contains:[s]}]}]});const t={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,t]};t.contains.push(n);const a={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,s]},i=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b-?[a-z\._]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[i,e.SHEBANG(),c,a,e.HASH_COMMENT_MODE,n,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}}()); +hljs.registerLanguage("c-like",function(){"use strict";return function(e){function t(e){return"(?:"+e+")?"}var n="(decltype\\(auto\\)|"+t("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+t("<.*?>")+")",r={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},a={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},i={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(a,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},o={className:"title",begin:t("[a-zA-Z_]\\w*::")+e.IDENT_RE,relevance:0},c=t("[a-zA-Z_]\\w*::")+e.IDENT_RE+"\\s*\\(",l={keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary",literal:"true false nullptr NULL"},d=[r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i,a],_={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:l,contains:d.concat([{begin:/\(/,end:/\)/,keywords:l,contains:d.concat(["self"]),relevance:0}]),relevance:0},u={className:"function",begin:"("+n+"[\\*&\\s]+)+"+c,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:l,illegal:/[^\w\s\*&:<>]/,contains:[{begin:"decltype\\(auto\\)",keywords:l,relevance:0},{begin:c,returnBegin:!0,contains:[o],relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r,{begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:["self",e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r]}]},r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s]};return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],keywords:l,disableAutodetect:!0,illegal:"",keywords:l,contains:["self",r]},{begin:e.IDENT_RE+"::",keywords:l},{className:"class",beginKeywords:"class struct",end:/[{;:]/,contains:[{begin://,contains:["self"]},e.TITLE_MODE]}]),exports:{preprocessor:s,strings:a,keywords:l}}}}()); +hljs.registerLanguage("c",function(){"use strict";return function(e){var n=e.getLanguage("c-like").rawDefinition();return n.name="C",n.aliases=["c","h"],n}}()); +hljs.registerLanguage("coffeescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((e=>n=>!e.includes(n))(["var","const","let","function","static"])).join(" "),literal:n.concat(["yes","no","on","off"]).join(" "),built_in:a.concat(["npm","print"]).join(" ")},i="[A-Za-z$_][0-9A-Za-z$_]*",s={className:"subst",begin:/#\{/,end:/}/,keywords:t},o=[r.BINARY_NUMBER_MODE,r.inherit(r.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[r.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[r.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[r.BACKSLASH_ESCAPE,s]},{begin:/"/,end:/"/,contains:[r.BACKSLASH_ESCAPE,s]}]},{className:"regexp",variants:[{begin:"///",end:"///",contains:[s,r.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)",relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+i},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{begin:"```",end:"```"},{begin:"`",end:"`"}]}];s.contains=o;var c=r.inherit(r.TITLE_MODE,{begin:i}),l={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:t,contains:["self"].concat(o)}]};return{name:"CoffeeScript",aliases:["coffee","cson","iced"],keywords:t,illegal:/\/\*/,contains:o.concat([r.COMMENT("###","###"),r.HASH_COMMENT_MODE,{className:"function",begin:"^\\s*"+i+"\\s*=\\s*(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[c,l]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:"(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[l]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[c]},c]},{begin:i+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}}()); +hljs.registerLanguage("cpp",function(){"use strict";return function(e){var t=e.getLanguage("c-like").rawDefinition();return t.disableAutodetect=!1,t.name="C++",t.aliases=["cc","c++","h++","hpp","hh","hxx","cxx"],t}}()); +hljs.registerLanguage("csharp",function(){"use strict";return function(e){var n={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let nameof on orderby partial remove select set value var when where yield",literal:"null false true"},i=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},t=e.inherit(s,{illegal:/\n/}),l={className:"subst",begin:"{",end:"}",keywords:n},r=e.inherit(l,{illegal:/\n/}),c={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},e.BACKSLASH_ESCAPE,r]},o={className:"string",begin:/\$@"/,end:'"',contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},l]},g=e.inherit(o,{illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},r]});l.contains=[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],r.contains=[g,c,t,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];var d={variants:[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},E={begin:"<",end:">",contains:[{beginKeywords:"in out"},i]},_=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",b={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},d,a,{beginKeywords:"class interface",end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},i,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",end:/[{;=]/,illegal:/[^\s:]/,contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"meta-string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+_+"\\s+)+"+e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{begin:e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,contains:[e.TITLE_MODE,E],relevance:0},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0,contains:[d,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},b]}}}()); +hljs.registerLanguage("css",function(){"use strict";return function(e){var n={begin:/(?:[A-Z\_\.\-]+|--[a-zA-Z0-9_-]+)\s*:/,returnBegin:!0,end:";",endsWithParent:!0,contains:[{className:"attribute",begin:/\S/,end:":",excludeEnd:!0,starts:{endsWithParent:!0,excludeEnd:!0,contains:[{begin:/[\w-]+\(/,returnBegin:!0,contains:[{className:"built_in",begin:/[\w-]+/},{begin:/\(/,end:/\)/,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{className:"number",begin:"#[0-9A-Fa-f]+"},{className:"meta",begin:"!important"}]}}]};return{name:"CSS",case_insensitive:!0,illegal:/[=\/|'\$]/,contains:[e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/},{className:"selector-class",begin:/\.[A-Za-z0-9_-]+/},{className:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",illegal:/:/,returnBegin:!0,contains:[{className:"keyword",begin:/@\-?\w[\w]*(\-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:"and or not only",contains:[{begin:/[a-z-]+:/,className:"attribute"},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},{begin:"{",end:"}",illegal:/\S/,contains:[e.C_BLOCK_COMMENT_MODE,n]}]}}}()); +hljs.registerLanguage("diff",function(){"use strict";return function(e){return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,variants:[{begin:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{begin:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{className:"comment",variants:[{begin:/Index: /,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^\-{3}/,end:/$/},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/^\*{15}$/}]},{className:"addition",begin:"^\\+",end:"$"},{className:"deletion",begin:"^\\-",end:"$"},{className:"addition",begin:"^\\!",end:"$"}]}}}()); +hljs.registerLanguage("go",function(){"use strict";return function(e){var n={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{name:"Go",aliases:["golang"],keywords:n,illegal:"e(n)).join("")}return function(a){var s={className:"number",relevance:0,variants:[{begin:/([\+\-]+)?[\d]+_[\d_]+/},{begin:a.NUMBER_RE}]},i=a.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];var t={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)}/}]},r={className:"literal",begin:/\bon|off|true|false|yes|no\b/},l={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},c={begin:/\[/,end:/\]/,contains:[i,r,t,l,s,"self"],relevance:0},g="("+[/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/].map(n=>e(n)).join("|")+")";return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:n(g,"(\\s*\\.\\s*",g,")*",n("(?=",/\s*=\s*[^#\s]/,")")),className:"attr",starts:{end:/$/,contains:[i,c,r,t,l,s]}}]}}}()); +hljs.registerLanguage("java",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function n(e){return a("(",e,")?")}function a(...n){return n.map(n=>e(n)).join("")}function s(...n){return"("+n.map(n=>e(n)).join("|")+")"}return function(e){var t="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",i={className:"meta",begin:"@[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},r=e=>a("[",e,"]+([",e,"_]*[",e,"]+)?"),c={className:"number",variants:[{begin:`\\b(0[bB]${r("01")})[lL]?`},{begin:`\\b(0${r("0-7")})[dDfFlL]?`},{begin:a(/\b0[xX]/,s(a(r("a-fA-F0-9"),/\./,r("a-fA-F0-9")),a(r("a-fA-F0-9"),/\.?/),a(/\./,r("a-fA-F0-9"))),/([pP][+-]?(\d+))?/,/[fFdDlL]?/)},{begin:a(/\b/,s(a(/\d*\./,r("\\d")),r("\\d")),/[eE][+-]?[\d]+[dDfF]?/)},{begin:a(/\b/,r(/\d/),n(/\.?/),n(r(/\d/)),/[dDfFlL]?/)}],relevance:0};return{name:"Java",aliases:["jsp"],keywords:t,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"new throw return else",relevance:0},{className:"function",begin:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:t,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,keywords:t,relevance:0,contains:[i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},c,i]}}}()); +hljs.registerLanguage("javascript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function s(e){return r("(?=",e,")")}function r(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(t){var i="[A-Za-z$_][0-9A-Za-z$_]*",c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/},o={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.join(" "),literal:n.join(" "),built_in:a.join(" ")},l={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:t.C_NUMBER_RE+"n?"}],relevance:0},E={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},d={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"xml"}},g={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"css"}},u={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,E]};E.contains=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,l,t.REGEXP_MODE];var b=E.contains.concat([{begin:/\(/,end:/\)/,contains:["self"].concat(E.contains,[t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE])},t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]),_={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:b};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,contains:[t.SHEBANG({binary:"node",relevance:5}),{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,t.C_LINE_COMMENT_MODE,t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,l,{begin:r(/[{,\n]\s*/,s(r(/(((\/\/.*)|(\/\*(.|\n)*\*\/))\s*)*/,i+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:i+s("\\s*:"),relevance:0}]},{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,t.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:b}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:"<>",end:""},{begin:c.begin,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[t.inherit(t.TITLE_MODE,{begin:i}),_],illegal:/\[|%/},{begin:/\$[(.]/},t.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0},{begin:"(get|set)\\s+(?="+i+"\\()",end:/{/,keywords:"get set",contains:[t.inherit(t.TITLE_MODE,{begin:i}),{begin:/\(\)/},_]}],illegal:/#(?!!)/}}}()); +hljs.registerLanguage("json",function(){"use strict";return function(n){var e={literal:"true false null"},i=[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],t=[n.QUOTE_STRING_MODE,n.C_NUMBER_MODE],a={end:",",endsWithParent:!0,excludeEnd:!0,contains:t,keywords:e},l={begin:"{",end:"}",contains:[{className:"attr",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE],illegal:"\\n"},n.inherit(a,{begin:/:/})].concat(i),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[n.inherit(a)],illegal:"\\S"};return t.push(l,s),i.forEach((function(n){t.push(n)})),{name:"JSON",contains:t,keywords:e,illegal:"\\S"}}}()); +hljs.registerLanguage("kotlin",function(){"use strict";return function(e){var n={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},a={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:"\\${",end:"}",contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},t={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,i]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,i]}]};i.contains.push(t);var r={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(t,{className:"meta-string"})]}]},c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),o={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},d=o;return d.variants[1].contains=[o],o.variants[1].contains=[d],{name:"Kotlin",aliases:["kt"],keywords:n,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},a,r,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:n,illegal:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[o,e.C_LINE_COMMENT_MODE,c],relevance:0},e.C_LINE_COMMENT_MODE,c,r,l,t,e.C_NUMBER_MODE]},c]},{className:"class",beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:!0,returnEnd:!0},r,l]},t,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},{className:"number",begin:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",relevance:0}]}}}()); +hljs.registerLanguage("less",function(){"use strict";return function(e){var n="([\\w-]+|@{[\\w-]+})",a=[],s=[],t=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},r=function(e,n,a){return{className:e,begin:n,relevance:a}},i={begin:"\\(",end:"\\)",contains:s,relevance:0};s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t("'"),t('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},r("number","#[0-9A-Fa-f]+\\b"),i,r("variable","@@?[\\w-]+",10),r("variable","@{[\\w-]+}"),r("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},{className:"meta",begin:"!important"});var c=s.concat({begin:"{",end:"}",contains:a}),l={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(s)},o={begin:n+"\\s*:",returnBegin:!0,end:"[;}]",relevance:0,contains:[{className:"attribute",begin:n,end:":",excludeEnd:!0,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",returnEnd:!0,contains:s,relevance:0}},d={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:c}},b={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:n,end:"{"}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l,r("keyword","all\\b"),r("variable","@{[\\w-]+}"),r("selector-tag",n+"%?",0),r("selector-id","#"+n),r("selector-class","\\."+n,0),r("selector-tag","&",0),{className:"selector-attr",begin:"\\[",end:"\\]"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"\\(",end:"\\)",contains:c},{begin:"!important"}]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,d,o,b),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:a}}}()); +hljs.registerLanguage("lua",function(){"use strict";return function(e){var t={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},a=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[t],relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:a.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:a}].concat(a)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[t],relevance:5}])}}}()); +hljs.registerLanguage("makefile",function(){"use strict";return function(e){var i={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:"",relevance:10,contains:[a,i,t,s,{begin:"\\[",end:"\\]",contains:[{className:"meta",begin:"",contains:[a,s,i,t]}]}]},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},n,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:")",end:">",keywords:{name:"style"},contains:[c],starts:{end:"",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:")",end:">",keywords:{name:"script"},contains:[c],starts:{end:"<\/script>",returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:"",contains:[{className:"name",begin:/[^\/><\s]+/,relevance:0},c]}]}}}()); +hljs.registerLanguage("markdown",function(){"use strict";return function(n){const e={begin:"<",end:">",subLanguage:"xml",relevance:0},a={begin:"\\[.+?\\][\\(\\[].*?[\\)\\]]",returnBegin:!0,contains:[{className:"string",begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:"link",begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},i={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},s={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};i.contains.push(s),s.contains.push(i);var c=[e,a];return i.contains=i.contains.concat(c),s.contains=s.contains.concat(c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:c=c.concat(i,s)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:c}]}]},e,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},i,s,{className:"quote",begin:"^>\\s+",contains:c,end:"$"},{className:"code",variants:[{begin:"(`{3,})(.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})(.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},a,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}}()); +hljs.registerLanguage("nginx",function(){"use strict";return function(e){var n={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/}/},{begin:"[\\$\\@]"+e.UNDERSCORE_IDENT_RE}]},a={endsWithParent:!0,keywords:{$pattern:"[a-z/_]+",literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[n]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"\\s\\^",end:"\\s|{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},n]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{begin:e.UNDERSCORE_IDENT_RE+"\\s+{",returnBegin:!0,end:"{",contains:[{className:"section",begin:e.UNDERSCORE_IDENT_RE}],relevance:0},{begin:e.UNDERSCORE_IDENT_RE+"\\s",end:";|{",returnBegin:!0,contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:a}],relevance:0}],illegal:"[^\\s\\}]"}}}()); +hljs.registerLanguage("objectivec",function(){"use strict";return function(e){var n=/[a-zA-Z@][a-zA-Z0-9_]*/,_={$pattern:n,keyword:"@interface @class @protocol @implementation"};return{name:"Objective-C",aliases:["mm","objc","obj-c"],keywords:{$pattern:n,keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+_.keyword.split(" ").join("|")+")\\b",end:"({|$)",excludeEnd:!0,keywords:_,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}}()); +hljs.registerLanguage("perl",function(){"use strict";return function(e){var n={$pattern:/[\w.]+/,keyword:"getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qq fileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmget sub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedir ioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when"},t={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:n},s={begin:"->{",end:"}"},r={variants:[{begin:/\$\d/},{begin:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{begin:/[\$%@][^\s\w{]/,relevance:0}]},i=[e.BACKSLASH_ESCAPE,t,r],a=[r,e.HASH_COMMENT_MODE,e.COMMENT("^\\=\\w","\\=cut",{endsWithParent:!0}),s,{className:"string",contains:i,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*\\<",end:"\\>",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:"{\\w+}",contains:[],relevance:0},{begin:"-?\\w+\\s*\\=\\>",contains:[],relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",begin:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",relevance:10},{className:"regexp",begin:"(m|qr)?/",end:"/[a-z]*",contains:[e.BACKSLASH_ESCAPE],relevance:0}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return t.contains=a,s.contains=a,{name:"Perl",aliases:["pl","pm"],keywords:n,contains:a}}}()); +hljs.registerLanguage("php",function(){"use strict";return function(e){var r={begin:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},t={className:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?[=]?/},{begin:/\?>/}]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:'b"',end:'"'},{begin:"b'",end:"'"},e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},n={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]},i={keyword:"__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list new object or private protected public real return string switch throw trait try unset use var void while xor yield",literal:"false null true",built_in:"Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Throwable Traversable WeakReference Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass"};return{aliases:["php","php3","php4","php5","php6","php7"],case_insensitive:!0,keywords:i,contains:[e.HASH_COMMENT_MODE,e.COMMENT("//","$",{contains:[t]}),e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler"}),{className:"string",begin:/<<<['"]?\w+['"]?$/,end:/^\w+;?$/,contains:[e.BACKSLASH_ESCAPE,{className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]}]},t,{className:"keyword",begin:/\$this\b/},r,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",r,e.C_BLOCK_COMMENT_MODE,a,n]}]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:/[:\(\$"]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",end:";",illegal:/[\.']/,contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",end:";",contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"=>"},a,n]}}}()); +hljs.registerLanguage("php-template",function(){"use strict";return function(n){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},n.inherit(n.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),n.inherit(n.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}}()); +hljs.registerLanguage("plaintext",function(){"use strict";return function(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}}()); +hljs.registerLanguage("properties",function(){"use strict";return function(e){var n="[ \\t\\f]*",t="("+n+"[:=]"+n+"|[ \\t\\f]+)",a="([^\\\\:= \\t\\f\\n]|\\\\.)+",s={end:t,relevance:0,starts:{className:"string",end:/$/,relevance:0,contains:[{begin:"\\\\\\n"}]}};return{name:".properties",case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT("^\\s*[!#]","$"),{begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+"+t,returnBegin:!0,contains:[{className:"attr",begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",endsParent:!0,relevance:0}],starts:s},{begin:a+t,returnBegin:!0,relevance:0,contains:[{className:"meta",begin:a,endsParent:!0,relevance:0}],starts:s},{className:"attr",relevance:0,begin:a+n+"$"}]}}}()); +hljs.registerLanguage("python",function(){"use strict";return function(e){var n={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10",built_in:"Ellipsis NotImplemented",literal:"False None True"},a={className:"meta",begin:/^(>>>|\.\.\.) /},i={className:"subst",begin:/\{/,end:/\}/,keywords:n,illegal:/#/},s={begin:/\{\{/,relevance:0},r={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(fr|rf|f)'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(fr|rf|f)"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},{begin:/(fr|rf|f)'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,s,i]},{begin:/(fr|rf|f)"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,i]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},l={className:"number",relevance:0,variants:[{begin:e.BINARY_NUMBER_RE+"[lLjJ]?"},{begin:"\\b(0o[0-7]+)[lLjJ]?"},{begin:e.C_NUMBER_RE+"[lLjJ]?"}]},t={className:"params",variants:[{begin:/\(\s*\)/,skip:!0,className:null},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:["self",a,l,r,e.HASH_COMMENT_MODE]}]};return i.contains=[r,l,a],{name:"Python",aliases:["py","gyp","ipython"],keywords:n,illegal:/(<\/|->|\?)|=>/,contains:[a,l,{beginKeywords:"if",relevance:0},r,e.HASH_COMMENT_MODE,{variants:[{className:"function",beginKeywords:"def"},{className:"class",beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/,contains:[e.UNDERSCORE_TITLE_MODE,t,{begin:/->/,endsWithParent:!0,keywords:"None"}]},{className:"meta",begin:/^[\t ]*@/,end:/$/},{begin:/\b(print|exec)\(/}]}}}()); +hljs.registerLanguage("python-repl",function(){"use strict";return function(n){return{aliases:["pycon"],contains:[{className:"meta",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}}()); +hljs.registerLanguage("ruby",function(){"use strict";return function(e){var n="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",a={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},s={className:"doctag",begin:"@[A-Za-z]+"},i={begin:"#<",end:">"},r=[e.COMMENT("#","$",{contains:[s]}),e.COMMENT("^\\=begin","^\\=end",{contains:[s],relevance:10}),e.COMMENT("^__END__","\\n$")],c={className:"subst",begin:"#\\{",end:"}",keywords:a},t={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[qQwWx]?\\(",end:"\\)"},{begin:"%[qQwWx]?\\[",end:"\\]"},{begin:"%[qQwWx]?{",end:"}"},{begin:"%[qQwWx]?<",end:">"},{begin:"%[qQwWx]?/",end:"/"},{begin:"%[qQwWx]?%",end:"%"},{begin:"%[qQwWx]?-",end:"-"},{begin:"%[qQwWx]?\\|",end:"\\|"},{begin:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{begin:/<<[-~]?'?(\w+)(?:.|\n)*?\n\s*\1\b/,returnBegin:!0,contains:[{begin:/<<[-~]?'?/},e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},b={className:"params",begin:"\\(",end:"\\)",endsParent:!0,keywords:a},d=[t,i,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[e.inherit(e.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{begin:"<\\s*",contains:[{begin:"("+e.IDENT_RE+"::)?"+e.IDENT_RE}]}].concat(r)},{className:"function",beginKeywords:"def",end:"$|;",contains:[e.inherit(e.TITLE_MODE,{begin:n}),b].concat(r)},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(\\!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[t,{begin:n}],relevance:0},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{className:"params",begin:/\|/,end:/\|/,keywords:a},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[i,{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r{",end:"}[a-z]*"},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(r),relevance:0}].concat(r);c.contains=d,b.contains=d;var g=[{begin:/^\s*=>/,starts:{end:"$",contains:d}},{className:"meta",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{end:"$",contains:d}}];return{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:r.concat(g).concat(d)}}}()); +hljs.registerLanguage("rust",function(){"use strict";return function(e){var n="([ui](8|16|32|64|128|size)|f(32|64))?",t="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",keyword:"abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield",literal:"true false Some None Ok Err",built_in:t},illegal:""}]}}}()); +hljs.registerLanguage("scss",function(){"use strict";return function(e){var t={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"},i={className:"number",begin:"#[0-9A-Fa-f]+"};return e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:"\\#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},{className:"selector-attr",begin:"\\[",end:"\\]",illegal:"$"},{className:"selector-tag",begin:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",relevance:0},{className:"selector-pseudo",begin:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{className:"selector-pseudo",begin:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},t,{className:"attribute",begin:"\\b(src|z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",illegal:"[^\\s]"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:":",end:";",contains:[t,i,e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"meta",begin:"!important"}]},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",returnBegin:!0,keywords:"and or not only",contains:[{begin:"@[a-z-]+",className:"keyword"},t,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,i,e.CSS_NUMBER_MODE]}]}}}()); +hljs.registerLanguage("shell",function(){"use strict";return function(s){return{name:"Shell Session",aliases:["console"],contains:[{className:"meta",begin:"^\\s{0,3}[/\\w\\d\\[\\]()@-]*[>%$#]",starts:{end:"$",subLanguage:"bash"}}]}}}()); +hljs.registerLanguage("sql",function(){"use strict";return function(e){var t=e.COMMENT("--","$");return{name:"SQL",case_insensitive:!0,illegal:/[<>{}*]/,contains:[{beginKeywords:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with",end:/;/,endsWithParent:!0,keywords:{$pattern:/[\w\.]+/,keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void"},contains:[{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:"string",begin:'"',end:'"',contains:[{begin:'""'}]},{className:"string",begin:"`",end:"`"},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]},e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]}}}()); +hljs.registerLanguage("swift",function(){"use strict";return function(e){var i={keyword:"#available #colorLiteral #column #else #elseif #endif #file #fileLiteral #function #if #imageLiteral #line #selector #sourceLocation _ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c compactMap contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip"},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),t={className:"subst",begin:/\\\(/,end:"\\)",keywords:i,contains:[]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:/"""/,end:/"""/},{begin:/"/,end:/"/}]},r={className:"number",begin:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",relevance:0};return t.contains=[r],{name:"Swift",keywords:i,contains:[a,e.C_LINE_COMMENT_MODE,n,{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*[!?]"},{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*",relevance:0},r,{className:"function",beginKeywords:"func",end:"{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{begin://},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:i,contains:["self",r,a,e.C_BLOCK_COMMENT_MODE,{begin:":"}],illegal:/["']/}],illegal:/\[|%/},{className:"class",beginKeywords:"struct protocol class extension enum",keywords:i,end:"\\{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/})]},{className:"meta",begin:"(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain|@dynamicMemberLookup|@propertyWrapper)\\b"},{beginKeywords:"import",end:/$/,contains:[e.C_LINE_COMMENT_MODE,n]}]}}}()); +hljs.registerLanguage("typescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.concat(["type","namespace","typedef","interface","public","private","protected","implements","declare","abstract","readonly"]).join(" "),literal:n.join(" "),built_in:a.concat(["any","void","number","boolean","string","object","never","enum"]).join(" ")},s={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},i={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:r.C_NUMBER_RE+"n?"}],relevance:0},o={className:"subst",begin:"\\$\\{",end:"\\}",keywords:t,contains:[]},c={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"xml"}},l={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"css"}},E={className:"string",begin:"`",end:"`",contains:[r.BACKSLASH_ESCAPE,o]};o.contains=[r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,i,r.REGEXP_MODE];var d={begin:"\\(",end:/\)/,keywords:t,contains:["self",r.QUOTE_STRING_MODE,r.APOS_STRING_MODE,r.NUMBER_MODE]},u={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,s,d]};return{name:"TypeScript",aliases:["ts"],keywords:t,contains:[r.SHEBANG(),{className:"meta",begin:/^\s*['"]use strict['"]/},r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,i,{begin:"("+r.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,r.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+r.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:r.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:d.contains}]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[\{;]/,excludeEnd:!0,keywords:t,contains:["self",r.inherit(r.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*"}),u],illegal:/%/,relevance:0},{beginKeywords:"constructor",end:/[\{;]/,excludeEnd:!0,contains:["self",u]},{begin:/module\./,keywords:{built_in:"module"},relevance:0},{beginKeywords:"module",end:/\{/,excludeEnd:!0},{beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:"interface extends"},{begin:/\$[(.]/},{begin:"\\."+r.IDENT_RE,relevance:0},s,d]}}}()); +hljs.registerLanguage("yaml",function(){"use strict";return function(e){var n="true false yes no null",a="[\\w#;/?:@&=+$,.~*\\'()[\\]]+",s={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]}]},i=e.inherit(s,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={end:",",endsWithParent:!0,excludeEnd:!0,contains:[],keywords:n,relevance:0},t={begin:"{",end:"}",contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---s*$",relevance:10},{className:"string",begin:"[\\|>]([0-9]?[+-])?[ ]*\\n( *)[\\S ]+\\n(\\2[\\S ]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type",begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"\\-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:e.C_NUMBER_RE+"\\b"},t,g,s],c=[...b];return c.pop(),c.push(i),l.contains=c,{name:"YAML",case_insensitive:!0,aliases:["yml","YAML"],contains:b}}}()); +hljs.registerLanguage("armasm",function(){"use strict";return function(s){const e={variants:[s.COMMENT("^[ \\t]*(?=#)","$",{relevance:0,excludeBegin:!0}),s.COMMENT("[;@]","$",{relevance:0}),s.C_LINE_COMMENT_MODE,s.C_BLOCK_COMMENT_MODE]};return{name:"ARM Assembly",case_insensitive:!0,aliases:["arm"],keywords:{$pattern:"\\.?"+s.IDENT_RE,meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},contains:[{className:"keyword",begin:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?(?=\\s)"},e,s.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^[ \\t]*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"[=#]\\w+"}],relevance:0}]}}}()); +hljs.registerLanguage("d",function(){"use strict";return function(e){var a={$pattern:e.UNDERSCORE_IDENT_RE,keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},d="((0|[1-9][\\d_]*)|0[bB][01_]+|0[xX]([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))",n="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",t={className:"number",begin:"\\b"+d+"(L|u|U|Lu|LU|uL|UL)?",relevance:0},_={className:"number",begin:"\\b(((0[xX](([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)\\.([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)|\\.?([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))[pP][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))|((0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(\\.\\d*|([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)))|\\d+\\.(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)|\\.(0|[1-9][\\d_]*)([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))?))([fF]|L|i|[fF]i|Li)?|"+d+"(i|[fF]i|Li))",relevance:0},r={className:"string",begin:"'("+n+"|.)",end:"'",illegal:"."},i={className:"string",begin:'"',contains:[{begin:n,relevance:0}],end:'"[cwd]?'},s=e.COMMENT("\\/\\+","\\+\\/",{contains:["self"],relevance:10});return{name:"D",keywords:a,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s,{className:"string",begin:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',relevance:10},i,{className:"string",begin:'[rq]"',end:'"[cwd]?',relevance:5},{className:"string",begin:"`",end:"`[cwd]?"},{className:"string",begin:'q"\\{',end:'\\}"'},_,t,r,{className:"meta",begin:"^#!",end:"$",relevance:5},{className:"meta",begin:"#(line)",end:"$",relevance:5},{className:"keyword",begin:"@[a-zA-Z_][a-zA-Z_\\d]*"}]}}}()); +hljs.registerLanguage("handlebars",function(){"use strict";function e(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(n){const a={"builtin-name":"action bindattr collection component concat debugger each each-in get hash if in input link-to loc log lookup mut outlet partial query-params render template textarea unbound unless view with yield"},t=/\[.*?\]/,s=/[^\s!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]+/,i=e("(",/'.*?'/,"|",/".*?"/,"|",t,"|",s,"|",/\.|\//,")+"),r=e("(",t,"|",s,")(?==)"),l={begin:i,lexemes:/[\w.\/]+/},c=n.inherit(l,{keywords:{literal:"true false undefined null"}}),o={begin:/\(/,end:/\)/},m={className:"attr",begin:r,relevance:0,starts:{begin:/=/,end:/=/,starts:{contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,c,o]}}},d={contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,{begin:/as\s+\|/,keywords:{keyword:"as"},end:/\|/,contains:[{begin:/\w+/}]},m,c,o],returnEnd:!0},g=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/\)/})});o.contains=[g];const u=n.inherit(l,{keywords:a,className:"name",starts:n.inherit(d,{end:/}}/})}),b=n.inherit(l,{keywords:a,className:"name"}),h=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/}}/})});return{name:"Handlebars",aliases:["hbs","html.hbs","html.handlebars","htmlbars"],case_insensitive:!0,subLanguage:"xml",contains:[{begin:/\\\{\{/,skip:!0},{begin:/\\\\(?=\{\{)/,skip:!0},n.COMMENT(/\{\{!--/,/--\}\}/),n.COMMENT(/\{\{!/,/\}\}/),{className:"template-tag",begin:/\{\{\{\{(?!\/)/,end:/\}\}\}\}/,contains:[u],starts:{end:/\{\{\{\{\//,returnEnd:!0,subLanguage:"xml"}},{className:"template-tag",begin:/\{\{\{\{\//,end:/\}\}\}\}/,contains:[b]},{className:"template-tag",begin:/\{\{#/,end:/\}\}/,contains:[u]},{className:"template-tag",begin:/\{\{(?=else\}\})/,end:/\}\}/,keywords:"else"},{className:"template-tag",begin:/\{\{\//,end:/\}\}/,contains:[b]},{className:"template-variable",begin:/\{\{\{/,end:/\}\}\}/,contains:[h]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[h]}]}}}()); +hljs.registerLanguage("haskell",function(){"use strict";return function(e){var n={variants:[e.COMMENT("--","$"),e.COMMENT("{-","-}",{contains:["self"]})]},i={className:"meta",begin:"{-#",end:"#-}"},a={className:"meta",begin:"^#",end:"$"},s={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},l={begin:"\\(",end:"\\)",illegal:'"',contains:[i,a,{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TITLE_MODE,{begin:"[_a-z][\\w']*"}),n]};return{name:"Haskell",aliases:["hs"],keywords:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",contains:[{beginKeywords:"module",end:"where",keywords:"module where",contains:[l,n],illegal:"\\W\\.|;"},{begin:"\\bimport\\b",end:"$",keywords:"import qualified as hiding",contains:[l,n],illegal:"\\W\\.|;"},{className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where",keywords:"class family instance where",contains:[s,l,n]},{className:"class",begin:"\\b(data|(new)?type)\\b",end:"$",keywords:"data family type newtype deriving",contains:[i,s,l,{begin:"{",end:"}",contains:l.contains},n]},{beginKeywords:"default",end:"$",contains:[s,l,n]},{beginKeywords:"infix infixl infixr",end:"$",contains:[e.C_NUMBER_MODE,n]},{begin:"\\bforeign\\b",end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",contains:[s,e.QUOTE_STRING_MODE,n]},{className:"meta",begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$"},i,a,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,s,e.inherit(e.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),n,{begin:"->|<-"}]}}}()); +hljs.registerLanguage("julia",function(){"use strict";return function(e){var r="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",t={$pattern:r,keyword:"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias ",literal:"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ ",built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool "},a={keywords:t,illegal:/<\//},n={className:"subst",begin:/\$\(/,end:/\)/,keywords:t},o={className:"variable",begin:"\\$"+r},i={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},l={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],begin:"`",end:"`"},s={className:"meta",begin:"@"+r};return a.name="Julia",a.contains=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i,l,s,{className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]},e.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],n.contains=a.contains,a}}()); +hljs.registerLanguage("nim",function(){"use strict";return function(e){return{name:"Nim",aliases:["nim"],keywords:{keyword:"addr and as asm bind block break case cast const continue converter discard distinct div do elif else end enum except export finally for from func generic if import in include interface is isnot iterator let macro method mixin mod nil not notin object of or out proc ptr raise ref return shl shr static template try tuple type using var when while with without xor yield",literal:"shared guarded stdin stdout stderr result true false",built_in:"int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float float32 float64 bool char string cstring pointer expr stmt void auto any range array openarray varargs seq set clong culong cchar cschar cshort cint csize clonglong cfloat cdouble clongdouble cuchar cushort cuint culonglong cstringarray semistatic"},contains:[{className:"meta",begin:/{\./,end:/\.}/,relevance:10},{className:"string",begin:/[a-zA-Z]\w*"/,end:/"/,contains:[{begin:/""/}]},{className:"string",begin:/([a-zA-Z]\w*)?"""/,end:/"""/},e.QUOTE_STRING_MODE,{className:"type",begin:/\b[A-Z]\w+\b/,relevance:0},{className:"number",relevance:0,variants:[{begin:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/},{begin:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/}]},e.HASH_COMMENT_MODE]}}}()); +hljs.registerLanguage("nix",function(){"use strict";return function(e){var n={keyword:"rec with let in inherit assert if else then",literal:"true false or and null",built_in:"import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation"},i={className:"subst",begin:/\$\{/,end:/}/,keywords:n},t={className:"string",contains:[i],variants:[{begin:"''",end:"''"},{begin:'"',end:'"'}]},s=[e.NUMBER_MODE,e.HASH_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t,{begin:/[a-zA-Z0-9-_]+(\s*=)/,returnBegin:!0,relevance:0,contains:[{className:"attr",begin:/\S+/}]}];return i.contains=s,{name:"Nix",aliases:["nixos"],keywords:n,contains:s}}}()); +hljs.registerLanguage("r",function(){"use strict";return function(e){var n="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{name:"R",contains:[e.HASH_COMMENT_MODE,{begin:n,keywords:{$pattern:n,keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},relevance:0},{className:"number",begin:"0[xX][0-9a-fA-F]+[Li]?\\b",relevance:0},{className:"number",begin:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",relevance:0},{className:"number",begin:"\\d+\\.(?!\\d)(?:i\\b)?",relevance:0},{className:"number",begin:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{className:"number",begin:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{begin:"`",end:"`",relevance:0},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]}]}}}()); +hljs.registerLanguage("scala",function(){"use strict";return function(e){var n={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:"\\${",end:"}"}]},a={className:"string",variants:[{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:'"""',end:'"""',relevance:10},{begin:'[a-z]+"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,n]},{className:"string",begin:'[a-z]+"""',end:'"""',contains:[n],relevance:10}]},s={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},t={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},i={className:"class",beginKeywords:"class object trait type",end:/[:={\[\n;]/,excludeEnd:!0,contains:[{beginKeywords:"extends with",relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},t]},l={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,excludeEnd:!0,contains:[t]};return{name:"Scala",keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,{className:"symbol",begin:"'\\w[\\w\\d_]*(?!')"},s,l,i,e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"}]}}}()); +hljs.registerLanguage("x86asm",function(){"use strict";return function(s){return{name:"Intel x86 Assembly",case_insensitive:!0,keywords:{$pattern:"[.%]?"+s.IDENT_RE,keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[s.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},s.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"subst",begin:"%[0-9]+",relevance:0},{className:"subst",begin:"%!S+",relevance:0},{className:"meta",begin:/^\s*\.[\w_-]+/}]}}}()); \ No newline at end of file diff --git a/dist2/js/live-reload.js b/dist2/js/live-reload.js new file mode 100644 index 0000000..b984f0a --- /dev/null +++ b/dist2/js/live-reload.js @@ -0,0 +1,14 @@ +const socket = new WebSocket(`ws://${location.host}/live-reload`); + +socket.addEventListener('message', (event) => { + if (event.data === 'reload') { + location.reload(); + } +}); + +socket.addEventListener('close', () => { + console.log('Live reload connection lost. Reconnecting...'); + setTimeout(() => { + location.reload(); + }, 1000); +}); \ No newline at end of file diff --git a/dist2/js/mermaid-init.js b/dist2/js/mermaid-init.js new file mode 100644 index 0000000..0341d03 --- /dev/null +++ b/dist2/js/mermaid-init.js @@ -0,0 +1,4 @@ +mermaid.initialize({startOnLoad:true}); +mermaid.run({ + querySelector: '.language-mermaid', + }); \ No newline at end of file diff --git a/dist2/js/mermaid.min.js b/dist2/js/mermaid.min.js new file mode 100644 index 0000000..b2c9f2b --- /dev/null +++ b/dist2/js/mermaid.min.js @@ -0,0 +1,1648 @@ +/* MIT Licensed. Copyright (c) 2014 - 2022 Knut Sveidqvist */ +/* For license information please see https://github.com/mermaid-js/mermaid/blob/release/10.6.1/LICENSE */ +(function(xA,b0){typeof exports=="object"&&typeof module<"u"?module.exports=b0():typeof define=="function"&&define.amd?define(b0):(xA=typeof globalThis<"u"?globalThis:xA||self,xA.mermaid=b0())})(this,function(){"use strict";function xA(i){for(var a=[],f=1;f=It?nt:""+Array(It+1-Bt.length).join(Ot)+nt},mt={s:bt,z:function(nt){var It=-nt.utcOffset(),Ot=Math.abs(It),Bt=Math.floor(Ot/60),Et=Ot%60;return(It<=0?"+":"-")+bt(Bt,2,"0")+":"+bt(Et,2,"0")},m:function nt(It,Ot){if(It.date()1)return nt(Ct[0])}else{var xt=It.name;ft[xt]=It,Et=xt}return!Bt&&Et&&(yt=Et),Et||!Bt&&yt},X=function(nt,It){if(ut(nt))return nt.clone();var Ot=typeof It=="object"?It:{};return Ot.date=nt,Ot.args=arguments,new U(Ot)},pt=mt;pt.l=vt,pt.i=ut,pt.w=function(nt,It){return X(nt,{locale:It.$L,utc:It.$u,x:It.$x,$offset:It.$offset})};var U=function(){function nt(Ot){this.$L=vt(Ot.locale,null,!0),this.parse(Ot)}var It=nt.prototype;return It.parse=function(Ot){this.$d=function(Bt){var Et=Bt.date,Z=Bt.utc;if(Et===null)return new Date(NaN);if(pt.u(Et))return new Date;if(Et instanceof Date)return new Date(Et);if(typeof Et=="string"&&!/Z$/i.test(Et)){var Ct=Et.match(et);if(Ct){var xt=Ct[2]-1||0,Ht=(Ct[7]||"0").substring(0,3);return Z?new Date(Date.UTC(Ct[1],xt,Ct[3]||1,Ct[4]||0,Ct[5]||0,Ct[6]||0,Ht)):new Date(Ct[1],xt,Ct[3]||1,Ct[4]||0,Ct[5]||0,Ct[6]||0,Ht)}}return new Date(Et)}(Ot),this.$x=Ot.x||{},this.init()},It.init=function(){var Ot=this.$d;this.$y=Ot.getFullYear(),this.$M=Ot.getMonth(),this.$D=Ot.getDate(),this.$W=Ot.getDay(),this.$H=Ot.getHours(),this.$m=Ot.getMinutes(),this.$s=Ot.getSeconds(),this.$ms=Ot.getMilliseconds()},It.$utils=function(){return pt},It.isValid=function(){return this.$d.toString()!==W},It.isSame=function(Ot,Bt){var Et=X(Ot);return this.startOf(Bt)<=Et&&Et<=this.endOf(Bt)},It.isAfter=function(Ot,Bt){return X(Ot){},debug:(...i)=>{},info:(...i)=>{},warn:(...i)=>{},error:(...i)=>{},fatal:(...i)=>{}},Xft=function(i="fatal"){let a=p5.fatal;typeof i=="string"?(i=i.toLowerCase(),i in p5&&(a=p5[i])):typeof i=="number"&&(a=i),Ut.trace=()=>{},Ut.debug=()=>{},Ut.info=()=>{},Ut.warn=()=>{},Ut.error=()=>{},Ut.fatal=()=>{},a<=p5.fatal&&(Ut.fatal=console.error?console.error.bind(console,Q2("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Q2("FATAL"))),a<=p5.error&&(Ut.error=console.error?console.error.bind(console,Q2("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Q2("ERROR"))),a<=p5.warn&&(Ut.warn=console.warn?console.warn.bind(console,Q2("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Q2("WARN"))),a<=p5.info&&(Ut.info=console.info?console.info.bind(console,Q2("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Q2("INFO"))),a<=p5.debug&&(Ut.debug=console.debug?console.debug.bind(console,Q2("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Q2("DEBUG"))),a<=p5.trace&&(Ut.trace=console.debug?console.debug.bind(console,Q2("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Q2("TRACE")))},Q2=i=>`%c${w0().format("ss.SSS")} : ${i} : `;var Qft={};Object.defineProperty(Qft,"__esModule",{value:!0});var ik=Qft.sanitizeUrl=void 0,cxe=/^([^\w]*)(javascript|data|vbscript)/im,uxe=/&#(\w+)(^\w|;)?/g,lxe=/&(newline|tab);/gi,hxe=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,fxe=/^.+(:|:)/gim,dxe=[".","/"];function gxe(i){return dxe.indexOf(i[0])>-1}function pxe(i){return i.replace(uxe,function(a,f){return String.fromCharCode(f)})}function bxe(i){var a=pxe(i||"").replace(lxe,"").replace(hxe,"").trim();if(!a)return"about:blank";if(gxe(a))return a;var f=a.match(fxe);if(!f)return a;var p=f[0];return cxe.test(p)?"about:blank":a}ik=Qft.sanitizeUrl=bxe;function EU(i,a){return i==null||a==null?NaN:ia?1:i>=a?0:NaN}function wxe(i,a){return i==null||a==null?NaN:ai?1:a>=i?0:NaN}function Zft(i){let a,f,p;i.length!==2?(a=EU,f=(E,_)=>EU(i(E),_),p=(E,_)=>i(E)-_):(a=i===EU||i===wxe?i:vxe,f=i,p=i);function w(E,_,A=0,I=E.length){if(A>>1;f(E[B],_)<0?A=B+1:I=B}while(A>>1;f(E[B],_)<=0?A=B+1:I=B}while(AA&&p(E[B-1],_)>-p(E[B],_)?B-1:B}return{left:w,center:b,right:m}}function vxe(){return 0}function mxe(i){return i===null?NaN:+i}const yxe=Zft(EU).right;Zft(mxe).center;const xxe=yxe;class $Lt extends Map{constructor(a,f=Txe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:f}}),a!=null)for(const[p,w]of a)this.set(p,w)}get(a){return super.get(zLt(this,a))}has(a){return super.has(zLt(this,a))}set(a,f){return super.set(kxe(this,a),f)}delete(a){return super.delete(Exe(this,a))}}function zLt({_intern:i,_key:a},f){const p=a(f);return i.has(p)?i.get(p):f}function kxe({_intern:i,_key:a},f){const p=a(f);return i.has(p)?i.get(p):(i.set(p,f),f)}function Exe({_intern:i,_key:a},f){const p=a(f);return i.has(p)&&(f=i.get(p),i.delete(p)),f}function Txe(i){return i!==null&&typeof i=="object"?i.valueOf():i}const Cxe=Math.sqrt(50),_xe=Math.sqrt(10),Sxe=Math.sqrt(2);function TU(i,a,f){const p=(a-i)/Math.max(0,f),w=Math.floor(Math.log10(p)),m=p/Math.pow(10,w),b=m>=Cxe?10:m>=_xe?5:m>=Sxe?2:1;let E,_,A;return w<0?(A=Math.pow(10,-w)/b,E=Math.round(i*A),_=Math.round(a*A),E/Aa&&--_,A=-A):(A=Math.pow(10,w)*b,E=Math.round(i/A),_=Math.round(a/A),E*Aa&&--_),_0))return[];if(i===a)return[i];const p=a=w))return[];const E=m-w+1,_=new Array(E);if(p)if(b<0)for(let A=0;A=p)&&(f=p);else{let p=-1;for(let w of i)(w=a(w,++p,i))!=null&&(f=w)&&(f=w)}return f}function Mxe(i,a){let f;if(a===void 0)for(const p of i)p!=null&&(f>p||f===void 0&&p>=p)&&(f=p);else{let p=-1;for(let w of i)(w=a(w,++p,i))!=null&&(f>w||f===void 0&&w>=w)&&(f=w)}return f}function Dxe(i,a,f){i=+i,a=+a,f=(w=arguments.length)<2?(a=i,i=0,1):w<3?1:+f;for(var p=-1,w=Math.max(0,Math.ceil((a-i)/f))|0,m=new Array(w);++p+i(a)}function Nxe(i,a){return a=Math.max(0,i.bandwidth()-a*2)/2,i.round()&&(a=Math.round(a)),f=>+i(f)+a}function Bxe(){return!this.__axis}function HLt(i,a){var f=[],p=null,w=null,m=6,b=6,E=3,_=typeof window<"u"&&window.devicePixelRatio>1?0:.5,A=i===CU||i===_U?-1:1,I=i===_U||i===e1t?"x":"y",B=i===CU||i===n1t?Oxe:Pxe;function N(R){var z=p??(a.ticks?a.ticks.apply(a,f):a.domain()),W=w??(a.tickFormat?a.tickFormat.apply(a,f):Ixe),et=Math.max(m,0)+E,st=a.range(),at=+st[0]+_,bt=+st[st.length-1]+_,mt=(a.bandwidth?Nxe:Fxe)(a.copy(),_),yt=R.selection?R.selection():R,ft=yt.selectAll(".domain").data([null]),ut=yt.selectAll(".tick").data(z,a).order(),vt=ut.exit(),X=ut.enter().append("g").attr("class","tick"),pt=ut.select("line"),U=ut.select("text");ft=ft.merge(ft.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),ut=ut.merge(X),pt=pt.merge(X.append("line").attr("stroke","currentColor").attr(I+"2",A*m)),U=U.merge(X.append("text").attr("fill","currentColor").attr(I,A*et).attr("dy",i===CU?"0em":i===n1t?"0.71em":"0.32em")),R!==yt&&(ft=ft.transition(R),ut=ut.transition(R),pt=pt.transition(R),U=U.transition(R),vt=vt.transition(R).attr("opacity",qLt).attr("transform",function(Tt){return isFinite(Tt=mt(Tt))?B(Tt+_):this.getAttribute("transform")}),X.attr("opacity",qLt).attr("transform",function(Tt){var nt=this.parentNode.__axis;return B((nt&&isFinite(nt=nt(Tt))?nt:mt(Tt))+_)})),vt.remove(),ft.attr("d",i===_U||i===e1t?b?"M"+A*b+","+at+"H"+_+"V"+bt+"H"+A*b:"M"+_+","+at+"V"+bt:b?"M"+at+","+A*b+"V"+_+"H"+bt+"V"+A*b:"M"+at+","+_+"H"+bt),ut.attr("opacity",1).attr("transform",function(Tt){return B(mt(Tt)+_)}),pt.attr(I+"2",A*m),U.attr(I,A*et).text(W),yt.filter(Bxe).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",i===e1t?"start":i===_U?"end":"middle"),yt.each(function(){this.__axis=mt})}return N.scale=function(R){return arguments.length?(a=R,N):a},N.ticks=function(){return f=Array.from(arguments),N},N.tickArguments=function(R){return arguments.length?(f=R==null?[]:Array.from(R),N):f.slice()},N.tickValues=function(R){return arguments.length?(p=R==null?null:Array.from(R),N):p&&p.slice()},N.tickFormat=function(R){return arguments.length?(w=R,N):w},N.tickSize=function(R){return arguments.length?(m=b=+R,N):m},N.tickSizeInner=function(R){return arguments.length?(m=+R,N):m},N.tickSizeOuter=function(R){return arguments.length?(b=+R,N):b},N.tickPadding=function(R){return arguments.length?(E=+R,N):E},N.offset=function(R){return arguments.length?(_=+R,N):_},N}function Rxe(i){return HLt(CU,i)}function jxe(i){return HLt(n1t,i)}var $xe={value:()=>{}};function VLt(){for(var i=0,a=arguments.length,f={},p;i=0&&(p=f.slice(w+1),f=f.slice(0,w)),f&&!a.hasOwnProperty(f))throw new Error("unknown type: "+f);return{type:f,name:p}})}SU.prototype=VLt.prototype={constructor:SU,on:function(i,a){var f=this._,p=zxe(i+"",f),w,m=-1,b=p.length;if(arguments.length<2){for(;++m0)for(var f=new Array(w),p=0,w,m;p=0&&(a=i.slice(0,f))!=="xmlns"&&(i=i.slice(f+1)),ULt.hasOwnProperty(a)?{space:ULt[a],local:i}:i}function Hxe(i){return function(){var a=this.ownerDocument,f=this.namespaceURI;return f===r1t&&a.documentElement.namespaceURI===r1t?a.createElement(i):a.createElementNS(f,i)}}function Vxe(i){return function(){return this.ownerDocument.createElementNS(i.space,i.local)}}function WLt(i){var a=AU(i);return(a.local?Vxe:Hxe)(a)}function Gxe(){}function i1t(i){return i==null?Gxe:function(){return this.querySelector(i)}}function Uxe(i){typeof i!="function"&&(i=i1t(i));for(var a=this._groups,f=a.length,p=new Array(f),w=0;w=bt&&(bt=at+1);!(yt=et[bt])&&++bt=0;)(b=p[w])&&(m&&b.compareDocumentPosition(m)^4&&m.parentNode.insertBefore(b,m),m=b);return this}function b6e(i){i||(i=w6e);function a(B,N){return B&&N?i(B.__data__,N.__data__):!B-!N}for(var f=this._groups,p=f.length,w=new Array(p),m=0;ma?1:i>=a?0:NaN}function v6e(){var i=arguments[0];return arguments[0]=this,i.apply(null,arguments),this}function m6e(){return Array.from(this)}function y6e(){for(var i=this._groups,a=0,f=i.length;a1?this.each((a==null?D6e:typeof a=="function"?O6e:I6e)(i,a,f??"")):kA(this.node(),i)}function kA(i,a){return i.style.getPropertyValue(a)||JLt(i).getComputedStyle(i,null).getPropertyValue(a)}function F6e(i){return function(){delete this[i]}}function N6e(i,a){return function(){this[i]=a}}function B6e(i,a){return function(){var f=a.apply(this,arguments);f==null?delete this[i]:this[i]=f}}function R6e(i,a){return arguments.length>1?this.each((a==null?F6e:typeof a=="function"?B6e:N6e)(i,a)):this.node()[i]}function tMt(i){return i.trim().split(/^|\s+/)}function s1t(i){return i.classList||new eMt(i)}function eMt(i){this._node=i,this._names=tMt(i.getAttribute("class")||"")}eMt.prototype={add:function(i){var a=this._names.indexOf(i);a<0&&(this._names.push(i),this._node.setAttribute("class",this._names.join(" ")))},remove:function(i){var a=this._names.indexOf(i);a>=0&&(this._names.splice(a,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(i){return this._names.indexOf(i)>=0}};function nMt(i,a){for(var f=s1t(i),p=-1,w=a.length;++p=0&&(f=a.slice(p+1),a=a.slice(0,p)),{type:a,name:f}})}function fke(i){return function(){var a=this.__on;if(a){for(var f=0,p=-1,w=a.length,m;f>8&15|a>>4&240,a>>4&15|a&240,(a&15)<<4|a&15,1):f===8?IU(a>>24&255,a>>16&255,a>>8&255,(a&255)/255):f===4?IU(a>>12&15|a>>8&240,a>>8&15|a>>4&240,a>>4&15|a&240,((a&15)<<4|a&15)/255):null):(a=xke.exec(i))?new v0(a[1],a[2],a[3],1):(a=kke.exec(i))?new v0(a[1]*255/100,a[2]*255/100,a[3]*255/100,1):(a=Eke.exec(i))?IU(a[1],a[2],a[3],a[4]):(a=Tke.exec(i))?IU(a[1]*255/100,a[2]*255/100,a[3]*255/100,a[4]):(a=Cke.exec(i))?dMt(a[1],a[2]/100,a[3]/100,1):(a=_ke.exec(i))?dMt(a[1],a[2]/100,a[3]/100,a[4]):aMt.hasOwnProperty(i)?uMt(aMt[i]):i==="transparent"?new v0(NaN,NaN,NaN,0):null}function uMt(i){return new v0(i>>16&255,i>>8&255,i&255,1)}function IU(i,a,f,p){return p<=0&&(i=a=f=NaN),new v0(i,a,f,p)}function lMt(i){return i instanceof U7||(i=W7(i)),i?(i=i.rgb(),new v0(i.r,i.g,i.b,i.opacity)):new v0}function o1t(i,a,f,p){return arguments.length===1?lMt(i):new v0(i,a,f,p??1)}function v0(i,a,f,p){this.r=+i,this.g=+a,this.b=+f,this.opacity=+p}_P(v0,o1t,MU(U7,{brighter(i){return i=i==null?DU:Math.pow(DU,i),new v0(this.r*i,this.g*i,this.b*i,this.opacity)},darker(i){return i=i==null?SP:Math.pow(SP,i),new v0(this.r*i,this.g*i,this.b*i,this.opacity)},rgb(){return this},clamp(){return new v0(Y7(this.r),Y7(this.g),Y7(this.b),OU(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:hMt,formatHex:hMt,formatHex8:Lke,formatRgb:fMt,toString:fMt}));function hMt(){return`#${K7(this.r)}${K7(this.g)}${K7(this.b)}`}function Lke(){return`#${K7(this.r)}${K7(this.g)}${K7(this.b)}${K7((isNaN(this.opacity)?1:this.opacity)*255)}`}function fMt(){const i=OU(this.opacity);return`${i===1?"rgb(":"rgba("}${Y7(this.r)}, ${Y7(this.g)}, ${Y7(this.b)}${i===1?")":`, ${i})`}`}function OU(i){return isNaN(i)?1:Math.max(0,Math.min(1,i))}function Y7(i){return Math.max(0,Math.min(255,Math.round(i)||0))}function K7(i){return i=Y7(i),(i<16?"0":"")+i.toString(16)}function dMt(i,a,f,p){return p<=0?i=a=f=NaN:f<=0||f>=1?i=a=NaN:a<=0&&(i=NaN),new Xv(i,a,f,p)}function gMt(i){if(i instanceof Xv)return new Xv(i.h,i.s,i.l,i.opacity);if(i instanceof U7||(i=W7(i)),!i)return new Xv;if(i instanceof Xv)return i;i=i.rgb();var a=i.r/255,f=i.g/255,p=i.b/255,w=Math.min(a,f,p),m=Math.max(a,f,p),b=NaN,E=m-w,_=(m+w)/2;return E?(a===m?b=(f-p)/E+(f0&&_<1?0:b,new Xv(b,E,_,i.opacity)}function Mke(i,a,f,p){return arguments.length===1?gMt(i):new Xv(i,a,f,p??1)}function Xv(i,a,f,p){this.h=+i,this.s=+a,this.l=+f,this.opacity=+p}_P(Xv,Mke,MU(U7,{brighter(i){return i=i==null?DU:Math.pow(DU,i),new Xv(this.h,this.s,this.l*i,this.opacity)},darker(i){return i=i==null?SP:Math.pow(SP,i),new Xv(this.h,this.s,this.l*i,this.opacity)},rgb(){var i=this.h%360+(this.h<0)*360,a=isNaN(i)||isNaN(this.s)?0:this.s,f=this.l,p=f+(f<.5?f:1-f)*a,w=2*f-p;return new v0(c1t(i>=240?i-240:i+120,w,p),c1t(i,w,p),c1t(i<120?i+240:i-120,w,p),this.opacity)},clamp(){return new Xv(pMt(this.h),PU(this.s),PU(this.l),OU(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const i=OU(this.opacity);return`${i===1?"hsl(":"hsla("}${pMt(this.h)}, ${PU(this.s)*100}%, ${PU(this.l)*100}%${i===1?")":`, ${i})`}`}}));function pMt(i){return i=(i||0)%360,i<0?i+360:i}function PU(i){return Math.max(0,Math.min(1,i||0))}function c1t(i,a,f){return(i<60?a+(f-a)*i/60:i<180?f:i<240?a+(f-a)*(240-i)/60:a)*255}const Dke=Math.PI/180,Ike=180/Math.PI,FU=18,bMt=.96422,wMt=1,vMt=.82521,mMt=4/29,TA=6/29,yMt=3*TA*TA,Oke=TA*TA*TA;function xMt(i){if(i instanceof u3)return new u3(i.l,i.a,i.b,i.opacity);if(i instanceof b5)return kMt(i);i instanceof v0||(i=lMt(i));var a=f1t(i.r),f=f1t(i.g),p=f1t(i.b),w=u1t((.2225045*a+.7168786*f+.0606169*p)/wMt),m,b;return a===f&&f===p?m=b=w:(m=u1t((.4360747*a+.3850649*f+.1430804*p)/bMt),b=u1t((.0139322*a+.0971045*f+.7141733*p)/vMt)),new u3(116*w-16,500*(m-w),200*(w-b),i.opacity)}function Pke(i,a,f,p){return arguments.length===1?xMt(i):new u3(i,a,f,p??1)}function u3(i,a,f,p){this.l=+i,this.a=+a,this.b=+f,this.opacity=+p}_P(u3,Pke,MU(U7,{brighter(i){return new u3(this.l+FU*(i??1),this.a,this.b,this.opacity)},darker(i){return new u3(this.l-FU*(i??1),this.a,this.b,this.opacity)},rgb(){var i=(this.l+16)/116,a=isNaN(this.a)?i:i+this.a/500,f=isNaN(this.b)?i:i-this.b/200;return a=bMt*l1t(a),i=wMt*l1t(i),f=vMt*l1t(f),new v0(h1t(3.1338561*a-1.6168667*i-.4906146*f),h1t(-.9787684*a+1.9161415*i+.033454*f),h1t(.0719453*a-.2289914*i+1.4052427*f),this.opacity)}}));function u1t(i){return i>Oke?Math.pow(i,1/3):i/yMt+mMt}function l1t(i){return i>TA?i*i*i:yMt*(i-mMt)}function h1t(i){return 255*(i<=.0031308?12.92*i:1.055*Math.pow(i,1/2.4)-.055)}function f1t(i){return(i/=255)<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)}function Fke(i){if(i instanceof b5)return new b5(i.h,i.c,i.l,i.opacity);if(i instanceof u3||(i=xMt(i)),i.a===0&&i.b===0)return new b5(NaN,0()=>i;function EMt(i,a){return function(f){return i+f*a}}function Nke(i,a,f){return i=Math.pow(i,f),a=Math.pow(a,f)-i,f=1/f,function(p){return Math.pow(i+p*a,f)}}function Bke(i,a){var f=a-i;return f?EMt(i,f>180||f<-180?f-360*Math.round(f/360):f):NU(isNaN(i)?a:i)}function Rke(i){return(i=+i)==1?LP:function(a,f){return f-a?Nke(a,f,i):NU(isNaN(a)?f:a)}}function LP(i,a){var f=a-i;return f?EMt(i,f):NU(isNaN(i)?a:i)}const BU=function i(a){var f=Rke(a);function p(w,m){var b=f((w=o1t(w)).r,(m=o1t(m)).r),E=f(w.g,m.g),_=f(w.b,m.b),A=LP(w.opacity,m.opacity);return function(I){return w.r=b(I),w.g=E(I),w.b=_(I),w.opacity=A(I),w+""}}return p.gamma=i,p}(1);function jke(i,a){a||(a=[]);var f=i?Math.min(a.length,i.length):0,p=a.slice(),w;return function(m){for(w=0;wf&&(m=a.slice(f,m),E[b]?E[b]+=m:E[++b]=m),(p=p[0])===(w=w[0])?E[b]?E[b]+=w:E[++b]=w:(E[++b]=null,_.push({i:b,x:Qv(p,w)})),f=p1t.lastIndex;return f180?I+=360:I-A>180&&(A+=360),N.push({i:B.push(w(B)+"rotate(",null,p)-2,x:Qv(A,I)})):I&&B.push(w(B)+"rotate("+I+p)}function E(A,I,B,N){A!==I?N.push({i:B.push(w(B)+"skewX(",null,p)-2,x:Qv(A,I)}):I&&B.push(w(B)+"skewX("+I+p)}function _(A,I,B,N,R,z){if(A!==B||I!==N){var W=R.push(w(R)+"scale(",null,",",null,")");z.push({i:W-4,x:Qv(A,B)},{i:W-2,x:Qv(I,N)})}else(B!==1||N!==1)&&R.push(w(R)+"scale("+B+","+N+")")}return function(A,I){var B=[],N=[];return A=i(A),I=i(I),m(A.translateX,A.translateY,I.translateX,I.translateY,B,N),b(A.rotate,I.rotate,B,N),E(A.skewX,I.skewX,B,N),_(A.scaleX,A.scaleY,I.scaleX,I.scaleY,B,N),A=I=null,function(R){for(var z=-1,W=N.length,et;++z=0&&i._call.call(void 0,a),i=i._next;--CA}function DMt(){X7=($U=OP.now())+zU,CA=MP=0;try{t8e()}finally{CA=0,n8e(),X7=0}}function e8e(){var i=OP.now(),a=i-$U;a>AMt&&(zU-=a,$U=i)}function n8e(){for(var i,a=jU,f,p=1/0;a;)a._call?(p>a._time&&(p=a._time),i=a,a=a._next):(f=a._next,a._next=null,a=i?i._next=f:jU=f);IP=i,m1t(p)}function m1t(i){if(!CA){MP&&(MP=clearTimeout(MP));var a=i-X7;a>24?(i<1/0&&(MP=setTimeout(DMt,i-OP.now()-zU)),DP&&(DP=clearInterval(DP))):(DP||($U=OP.now(),DP=setInterval(e8e,AMt)),CA=1,LMt(DMt))}}function IMt(i,a,f){var p=new qU;return a=a==null?0:+a,p.restart(w=>{p.stop(),i(w+a)},a,f),p}var r8e=VLt("start","end","cancel","interrupt"),i8e=[],OMt=0,PMt=1,y1t=2,HU=3,FMt=4,x1t=5,VU=6;function GU(i,a,f,p,w,m){var b=i.__transition;if(!b)i.__transition={};else if(f in b)return;s8e(i,f,{name:a,index:p,group:w,on:r8e,tween:i8e,time:m.time,delay:m.delay,duration:m.duration,ease:m.ease,timer:null,state:OMt})}function k1t(i,a){var f=Zv(i,a);if(f.state>OMt)throw new Error("too late; already scheduled");return f}function l3(i,a){var f=Zv(i,a);if(f.state>HU)throw new Error("too late; already running");return f}function Zv(i,a){var f=i.__transition;if(!f||!(f=f[a]))throw new Error("transition not found");return f}function s8e(i,a,f){var p=i.__transition,w;p[a]=f,f.timer=MMt(m,0,f.time);function m(A){f.state=PMt,f.timer.restart(b,f.delay,f.time),f.delay<=A&&b(A-f.delay)}function b(A){var I,B,N,R;if(f.state!==PMt)return _();for(I in p)if(R=p[I],R.name===f.name){if(R.state===HU)return IMt(b);R.state===FMt?(R.state=VU,R.timer.stop(),R.on.call("interrupt",i,i.__data__,R.index,R.group),delete p[I]):+Iy1t&&p.state=0&&(a=a.slice(0,f)),!a||a==="start"})}function N8e(i,a,f){var p,w,m=F8e(a)?k1t:l3;return function(){var b=m(this,i),E=b.on;E!==p&&(w=(p=E).copy()).on(a,f),b.on=w}}function B8e(i,a){var f=this._id;return arguments.length<2?Zv(this.node(),f).on.on(i):this.each(N8e(f,i,a))}function R8e(i){return function(){var a=this.parentNode;for(var f in this.__transition)if(+f!==i)return;a&&a.removeChild(this)}}function j8e(){return this.on("end.remove",R8e(this._id))}function $8e(i){var a=this._name,f=this._id;typeof i!="function"&&(i=i1t(i));for(var p=this._groups,w=p.length,m=new Array(w),b=0;b=0))throw new Error(`invalid digits: ${i}`);if(a>15)return jMt;const f=10**a;return function(p){this._+=p[0];for(let w=1,m=p.length;wQ7)if(!(Math.abs(B*_-A*I)>Q7)||!m)this._append`L${this._x1=a},${this._y1=f}`;else{let R=p-b,z=w-E,W=_*_+A*A,et=R*R+z*z,st=Math.sqrt(W),at=Math.sqrt(N),bt=m*Math.tan((T1t-Math.acos((W+N-et)/(2*st*at)))/2),mt=bt/at,yt=bt/st;Math.abs(mt-1)>Q7&&this._append`L${a+mt*I},${f+mt*B}`,this._append`A${m},${m},0,0,${+(B*R>I*z)},${this._x1=a+yt*_},${this._y1=f+yt*A}`}}arc(a,f,p,w,m,b){if(a=+a,f=+f,p=+p,b=!!b,p<0)throw new Error(`negative radius: ${p}`);let E=p*Math.cos(w),_=p*Math.sin(w),A=a+E,I=f+_,B=1^b,N=b?w-m:m-w;this._x1===null?this._append`M${A},${I}`:(Math.abs(this._x1-A)>Q7||Math.abs(this._y1-I)>Q7)&&this._append`L${A},${I}`,p&&(N<0&&(N=N%C1t+C1t),N>hEe?this._append`A${p},${p},0,1,${B},${a-E},${f-_}A${p},${p},0,1,${B},${this._x1=A},${this._y1=I}`:N>Q7&&this._append`A${p},${p},0,${+(N>=T1t)},${B},${this._x1=a+p*Math.cos(m)},${this._y1=f+p*Math.sin(m)}`)}rect(a,f,p,w){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+f}h${p=+p}v${+w}h${-p}Z`}toString(){return this._}};function gEe(i){if(!i.ok)throw new Error(i.status+" "+i.statusText);return i.text()}function pEe(i,a){return fetch(i,a).then(gEe)}function bEe(i){return(a,f)=>pEe(a,f).then(p=>new DOMParser().parseFromString(p,i))}var wEe=bEe("image/svg+xml");function vEe(i){return Math.abs(i=Math.round(i))>=1e21?i.toLocaleString("en").replace(/,/g,""):i.toString(10)}function UU(i,a){if((f=(i=a?i.toExponential(a-1):i.toExponential()).indexOf("e"))<0)return null;var f,p=i.slice(0,f);return[p.length>1?p[0]+p.slice(2):p,+i.slice(f+1)]}function _A(i){return i=UU(Math.abs(i)),i?i[1]:NaN}function mEe(i,a){return function(f,p){for(var w=f.length,m=[],b=0,E=i[0],_=0;w>0&&E>0&&(_+E+1>p&&(E=Math.max(1,p-_)),m.push(f.substring(w-=E,w+E)),!((_+=E+1)>p));)E=i[b=(b+1)%i.length];return m.reverse().join(a)}}function yEe(i){return function(a){return a.replace(/[0-9]/g,function(f){return i[+f]})}}var xEe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function WU(i){if(!(a=xEe.exec(i)))throw new Error("invalid format: "+i);var a;return new _1t({fill:a[1],align:a[2],sign:a[3],symbol:a[4],zero:a[5],width:a[6],comma:a[7],precision:a[8]&&a[8].slice(1),trim:a[9],type:a[10]})}WU.prototype=_1t.prototype;function _1t(i){this.fill=i.fill===void 0?" ":i.fill+"",this.align=i.align===void 0?">":i.align+"",this.sign=i.sign===void 0?"-":i.sign+"",this.symbol=i.symbol===void 0?"":i.symbol+"",this.zero=!!i.zero,this.width=i.width===void 0?void 0:+i.width,this.comma=!!i.comma,this.precision=i.precision===void 0?void 0:+i.precision,this.trim=!!i.trim,this.type=i.type===void 0?"":i.type+""}_1t.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function kEe(i){t:for(var a=i.length,f=1,p=-1,w;f0&&(p=0);break}return p>0?i.slice(0,p)+i.slice(w+1):i}var $Mt;function EEe(i,a){var f=UU(i,a);if(!f)return i+"";var p=f[0],w=f[1],m=w-($Mt=Math.max(-8,Math.min(8,Math.floor(w/3)))*3)+1,b=p.length;return m===b?p:m>b?p+new Array(m-b+1).join("0"):m>0?p.slice(0,m)+"."+p.slice(m):"0."+new Array(1-m).join("0")+UU(i,Math.max(0,a+m-1))[0]}function zMt(i,a){var f=UU(i,a);if(!f)return i+"";var p=f[0],w=f[1];return w<0?"0."+new Array(-w).join("0")+p:p.length>w+1?p.slice(0,w+1)+"."+p.slice(w+1):p+new Array(w-p.length+2).join("0")}const qMt={"%":(i,a)=>(i*100).toFixed(a),b:i=>Math.round(i).toString(2),c:i=>i+"",d:vEe,e:(i,a)=>i.toExponential(a),f:(i,a)=>i.toFixed(a),g:(i,a)=>i.toPrecision(a),o:i=>Math.round(i).toString(8),p:(i,a)=>zMt(i*100,a),r:zMt,s:EEe,X:i=>Math.round(i).toString(16).toUpperCase(),x:i=>Math.round(i).toString(16)};function HMt(i){return i}var VMt=Array.prototype.map,GMt=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function TEe(i){var a=i.grouping===void 0||i.thousands===void 0?HMt:mEe(VMt.call(i.grouping,Number),i.thousands+""),f=i.currency===void 0?"":i.currency[0]+"",p=i.currency===void 0?"":i.currency[1]+"",w=i.decimal===void 0?".":i.decimal+"",m=i.numerals===void 0?HMt:yEe(VMt.call(i.numerals,String)),b=i.percent===void 0?"%":i.percent+"",E=i.minus===void 0?"−":i.minus+"",_=i.nan===void 0?"NaN":i.nan+"";function A(B){B=WU(B);var N=B.fill,R=B.align,z=B.sign,W=B.symbol,et=B.zero,st=B.width,at=B.comma,bt=B.precision,mt=B.trim,yt=B.type;yt==="n"?(at=!0,yt="g"):qMt[yt]||(bt===void 0&&(bt=12),mt=!0,yt="g"),(et||N==="0"&&R==="=")&&(et=!0,N="0",R="=");var ft=W==="$"?f:W==="#"&&/[boxX]/.test(yt)?"0"+yt.toLowerCase():"",ut=W==="$"?p:/[%p]/.test(yt)?b:"",vt=qMt[yt],X=/[defgprs%]/.test(yt);bt=bt===void 0?6:/[gprs]/.test(yt)?Math.max(1,Math.min(21,bt)):Math.max(0,Math.min(20,bt));function pt(U){var Tt=ft,nt=ut,It,Ot,Bt;if(yt==="c")nt=vt(U)+nt,U="";else{U=+U;var Et=U<0||1/U<0;if(U=isNaN(U)?_:vt(Math.abs(U),bt),mt&&(U=kEe(U)),Et&&+U==0&&z!=="+"&&(Et=!1),Tt=(Et?z==="("?z:E:z==="-"||z==="("?"":z)+Tt,nt=(yt==="s"?GMt[8+$Mt/3]:"")+nt+(Et&&z==="("?")":""),X){for(It=-1,Ot=U.length;++ItBt||Bt>57){nt=(Bt===46?w+U.slice(It+1):U.slice(It))+nt,U=U.slice(0,It);break}}}at&&!et&&(U=a(U,1/0));var Z=Tt.length+U.length+nt.length,Ct=Z>1)+Tt+U+nt+Ct.slice(Z);break;default:U=Ct+Tt+U+nt;break}return m(U)}return pt.toString=function(){return B+""},pt}function I(B,N){var R=A((B=WU(B),B.type="f",B)),z=Math.max(-8,Math.min(8,Math.floor(_A(N)/3)))*3,W=Math.pow(10,-z),et=GMt[8+z/3];return function(st){return R(W*st)+et}}return{format:A,formatPrefix:I}}var YU,UMt,WMt;CEe({thousands:",",grouping:[3],currency:["$",""]});function CEe(i){return YU=TEe(i),UMt=YU.format,WMt=YU.formatPrefix,YU}function _Ee(i){return Math.max(0,-_A(Math.abs(i)))}function SEe(i,a){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(_A(a)/3)))*3-_A(Math.abs(i)))}function AEe(i,a){return i=Math.abs(i),a=Math.abs(a)-i,Math.max(0,_A(a)-_A(i))+1}function KU(i,a){switch(arguments.length){case 0:break;case 1:this.range(i);break;default:this.range(a).domain(i);break}return this}const YMt=Symbol("implicit");function XU(){var i=new $Lt,a=[],f=[],p=YMt;function w(m){let b=i.get(m);if(b===void 0){if(p!==YMt)return p;i.set(m,b=a.push(m)-1)}return f[b%f.length]}return w.domain=function(m){if(!arguments.length)return a.slice();a=[],i=new $Lt;for(const b of m)i.has(b)||i.set(b,a.push(b)-1);return w},w.range=function(m){return arguments.length?(f=Array.from(m),w):f.slice()},w.unknown=function(m){return arguments.length?(p=m,w):p},w.copy=function(){return XU(a,f).unknown(p)},KU.apply(w,arguments),w}function S1t(){var i=XU().unknown(void 0),a=i.domain,f=i.range,p=0,w=1,m,b,E=!1,_=0,A=0,I=.5;delete i.unknown;function B(){var N=a().length,R=wa&&(f=i,i=a,a=f),function(p){return Math.max(i,Math.min(a,p))}}function IEe(i,a,f){var p=i[0],w=i[1],m=a[0],b=a[1];return w2?OEe:IEe,_=A=null,B}function B(N){return N==null||isNaN(N=+N)?m:(_||(_=E(i.map(p),a,f)))(p(b(N)))}return B.invert=function(N){return b(w((A||(A=E(a,i.map(p),Qv)))(N)))},B.domain=function(N){return arguments.length?(i=Array.from(N,MEe),I()):i.slice()},B.range=function(N){return arguments.length?(a=Array.from(N),I()):a.slice()},B.rangeRound=function(N){return a=Array.from(N),f=Uke,I()},B.clamp=function(N){return arguments.length?(b=N?!0:SA,I()):b!==SA},B.interpolate=function(N){return arguments.length?(f=N,I()):f},B.unknown=function(N){return arguments.length?(m=N,B):m},function(N,R){return p=N,w=R,I()}}function QMt(){return PEe()(SA,SA)}function FEe(i,a,f,p){var w=t1t(i,a,f),m;switch(p=WU(p??",f"),p.type){case"s":{var b=Math.max(Math.abs(i),Math.abs(a));return p.precision==null&&!isNaN(m=SEe(w,b))&&(p.precision=m),WMt(p,b)}case"":case"e":case"g":case"p":case"r":{p.precision==null&&!isNaN(m=AEe(w,Math.max(Math.abs(i),Math.abs(a))))&&(p.precision=m-(p.type==="e"));break}case"f":case"%":{p.precision==null&&!isNaN(m=_Ee(w))&&(p.precision=m-(p.type==="%")*2);break}}return UMt(p)}function NEe(i){var a=i.domain;return i.ticks=function(f){var p=a();return Axe(p[0],p[p.length-1],f??10)},i.tickFormat=function(f,p){var w=a();return FEe(w[0],w[w.length-1],f??10,p)},i.nice=function(f){f==null&&(f=10);var p=a(),w=0,m=p.length-1,b=p[w],E=p[m],_,A,I=10;for(E0;){if(A=Jft(b,E,f),A===_)return p[w]=b,p[m]=E,a(p);if(A>0)b=Math.floor(b/A)*A,E=Math.ceil(E/A)*A;else if(A<0)b=Math.ceil(b*A)/A,E=Math.floor(E*A)/A;else break;_=A}return i},i}function AA(){var i=QMt();return i.copy=function(){return XMt(i,AA())},KU.apply(i,arguments),NEe(i)}function BEe(i,a){i=i.slice();var f=0,p=i.length-1,w=i[f],m=i[p],b;return m(i(m=new Date(+m)),m),w.ceil=m=>(i(m=new Date(m-1)),a(m,1),i(m),m),w.round=m=>{const b=w(m),E=w.ceil(m);return m-b(a(m=new Date(+m),b==null?1:Math.floor(b)),m),w.range=(m,b,E)=>{const _=[];if(m=w.ceil(m),E=E==null?1:Math.floor(E),!(m0))return _;let A;do _.push(A=new Date(+m)),a(m,E),i(m);while(Aa1(b=>{if(b>=b)for(;i(b),!m(b);)b.setTime(b-1)},(b,E)=>{if(b>=b)if(E<0)for(;++E<=0;)for(;a(b,-1),!m(b););else for(;--E>=0;)for(;a(b,1),!m(b););}),f&&(w.count=(m,b)=>(L1t.setTime(+m),M1t.setTime(+b),i(L1t),i(M1t),Math.floor(f(L1t,M1t))),w.every=m=>(m=Math.floor(m),!isFinite(m)||!(m>0)?null:m>1?w.filter(p?b=>p(b)%m===0:b=>w.count(0,b)%m===0):w)),w}const LA=a1(()=>{},(i,a)=>{i.setTime(+i+a)},(i,a)=>a-i);LA.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?a1(a=>{a.setTime(Math.floor(a/i)*i)},(a,f)=>{a.setTime(+a+f*i)},(a,f)=>(f-a)/i):LA),LA.range;const m5=1e3,Z2=m5*60,y5=Z2*60,x5=y5*24,D1t=x5*7,ZMt=x5*30,I1t=x5*365,sk=a1(i=>{i.setTime(i-i.getMilliseconds())},(i,a)=>{i.setTime(+i+a*m5)},(i,a)=>(a-i)/m5,i=>i.getUTCSeconds());sk.range;const PP=a1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*m5)},(i,a)=>{i.setTime(+i+a*Z2)},(i,a)=>(a-i)/Z2,i=>i.getMinutes());PP.range,a1(i=>{i.setUTCSeconds(0,0)},(i,a)=>{i.setTime(+i+a*Z2)},(i,a)=>(a-i)/Z2,i=>i.getUTCMinutes()).range;const FP=a1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*m5-i.getMinutes()*Z2)},(i,a)=>{i.setTime(+i+a*y5)},(i,a)=>(a-i)/y5,i=>i.getHours());FP.range,a1(i=>{i.setUTCMinutes(0,0,0)},(i,a)=>{i.setTime(+i+a*y5)},(i,a)=>(a-i)/y5,i=>i.getUTCHours()).range;const Z7=a1(i=>i.setHours(0,0,0,0),(i,a)=>i.setDate(i.getDate()+a),(i,a)=>(a-i-(a.getTimezoneOffset()-i.getTimezoneOffset())*Z2)/x5,i=>i.getDate()-1);Z7.range;const O1t=a1(i=>{i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCDate(i.getUTCDate()+a)},(i,a)=>(a-i)/x5,i=>i.getUTCDate()-1);O1t.range,a1(i=>{i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCDate(i.getUTCDate()+a)},(i,a)=>(a-i)/x5,i=>Math.floor(i/x5)).range;function J7(i){return a1(a=>{a.setDate(a.getDate()-(a.getDay()+7-i)%7),a.setHours(0,0,0,0)},(a,f)=>{a.setDate(a.getDate()+f*7)},(a,f)=>(f-a-(f.getTimezoneOffset()-a.getTimezoneOffset())*Z2)/D1t)}const NP=J7(0),BP=J7(1),JMt=J7(2),tDt=J7(3),tT=J7(4),eDt=J7(5),nDt=J7(6);NP.range,BP.range,JMt.range,tDt.range,tT.range,eDt.range,nDt.range;function eT(i){return a1(a=>{a.setUTCDate(a.getUTCDate()-(a.getUTCDay()+7-i)%7),a.setUTCHours(0,0,0,0)},(a,f)=>{a.setUTCDate(a.getUTCDate()+f*7)},(a,f)=>(f-a)/D1t)}const rDt=eT(0),QU=eT(1),REe=eT(2),jEe=eT(3),MA=eT(4),$Ee=eT(5),zEe=eT(6);rDt.range,QU.range,REe.range,jEe.range,MA.range,$Ee.range,zEe.range;const RP=a1(i=>{i.setDate(1),i.setHours(0,0,0,0)},(i,a)=>{i.setMonth(i.getMonth()+a)},(i,a)=>a.getMonth()-i.getMonth()+(a.getFullYear()-i.getFullYear())*12,i=>i.getMonth());RP.range,a1(i=>{i.setUTCDate(1),i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCMonth(i.getUTCMonth()+a)},(i,a)=>a.getUTCMonth()-i.getUTCMonth()+(a.getUTCFullYear()-i.getUTCFullYear())*12,i=>i.getUTCMonth()).range;const k5=a1(i=>{i.setMonth(0,1),i.setHours(0,0,0,0)},(i,a)=>{i.setFullYear(i.getFullYear()+a)},(i,a)=>a.getFullYear()-i.getFullYear(),i=>i.getFullYear());k5.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:a1(a=>{a.setFullYear(Math.floor(a.getFullYear()/i)*i),a.setMonth(0,1),a.setHours(0,0,0,0)},(a,f)=>{a.setFullYear(a.getFullYear()+f*i)}),k5.range;const nT=a1(i=>{i.setUTCMonth(0,1),i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCFullYear(i.getUTCFullYear()+a)},(i,a)=>a.getUTCFullYear()-i.getUTCFullYear(),i=>i.getUTCFullYear());nT.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:a1(a=>{a.setUTCFullYear(Math.floor(a.getUTCFullYear()/i)*i),a.setUTCMonth(0,1),a.setUTCHours(0,0,0,0)},(a,f)=>{a.setUTCFullYear(a.getUTCFullYear()+f*i)}),nT.range;function qEe(i,a,f,p,w,m){const b=[[sk,1,m5],[sk,5,5*m5],[sk,15,15*m5],[sk,30,30*m5],[m,1,Z2],[m,5,5*Z2],[m,15,15*Z2],[m,30,30*Z2],[w,1,y5],[w,3,3*y5],[w,6,6*y5],[w,12,12*y5],[p,1,x5],[p,2,2*x5],[f,1,D1t],[a,1,ZMt],[a,3,3*ZMt],[i,1,I1t]];function E(A,I,B){const N=Iet).right(b,N);if(R===b.length)return i.every(t1t(A/I1t,I/I1t,B));if(R===0)return LA.every(Math.max(t1t(A,I,B),1));const[z,W]=b[N/b[R-1][2]53)return null;"w"in re||(re.w=1),"Z"in re?(Pe=F1t(jP(re.y,0,1)),te=Pe.getUTCDay(),Pe=te>4||te===0?QU.ceil(Pe):QU(Pe),Pe=O1t.offset(Pe,(re.V-1)*7),re.y=Pe.getUTCFullYear(),re.m=Pe.getUTCMonth(),re.d=Pe.getUTCDate()+(re.w+6)%7):(Pe=P1t(jP(re.y,0,1)),te=Pe.getDay(),Pe=te>4||te===0?BP.ceil(Pe):BP(Pe),Pe=Z7.offset(Pe,(re.V-1)*7),re.y=Pe.getFullYear(),re.m=Pe.getMonth(),re.d=Pe.getDate()+(re.w+6)%7)}else("W"in re||"U"in re)&&("w"in re||(re.w="u"in re?re.u%7:"W"in re?1:0),te="Z"in re?F1t(jP(re.y,0,1)).getUTCDay():P1t(jP(re.y,0,1)).getDay(),re.m=0,re.d="W"in re?(re.w+6)%7+re.W*7-(te+5)%7:re.w+re.U*7-(te+6)%7);return"Z"in re?(re.H+=re.Z/100|0,re.M+=re.Z%100,F1t(re)):P1t(re)}}function vt(ce,ke,zt,re){for(var se=0,Pe=ke.length,te=zt.length,Me,de;se=te)return-1;if(Me=ke.charCodeAt(se++),Me===37){if(Me=ke.charAt(se++),de=yt[Me in iDt?ke.charAt(se++):Me],!de||(re=de(ce,zt,re))<0)return-1}else if(Me!=zt.charCodeAt(re++))return-1}return re}function X(ce,ke,zt){var re=A.exec(ke.slice(zt));return re?(ce.p=I.get(re[0].toLowerCase()),zt+re[0].length):-1}function pt(ce,ke,zt){var re=R.exec(ke.slice(zt));return re?(ce.w=z.get(re[0].toLowerCase()),zt+re[0].length):-1}function U(ce,ke,zt){var re=B.exec(ke.slice(zt));return re?(ce.w=N.get(re[0].toLowerCase()),zt+re[0].length):-1}function Tt(ce,ke,zt){var re=st.exec(ke.slice(zt));return re?(ce.m=at.get(re[0].toLowerCase()),zt+re[0].length):-1}function nt(ce,ke,zt){var re=W.exec(ke.slice(zt));return re?(ce.m=et.get(re[0].toLowerCase()),zt+re[0].length):-1}function It(ce,ke,zt){return vt(ce,a,ke,zt)}function Ot(ce,ke,zt){return vt(ce,f,ke,zt)}function Bt(ce,ke,zt){return vt(ce,p,ke,zt)}function Et(ce){return b[ce.getDay()]}function Z(ce){return m[ce.getDay()]}function Ct(ce){return _[ce.getMonth()]}function xt(ce){return E[ce.getMonth()]}function Ht(ce){return w[+(ce.getHours()>=12)]}function Le(ce){return 1+~~(ce.getMonth()/3)}function Ft(ce){return b[ce.getUTCDay()]}function gn(ce){return m[ce.getUTCDay()]}function Se(ce){return _[ce.getUTCMonth()]}function me(ce){return E[ce.getUTCMonth()]}function Ve(ce){return w[+(ce.getUTCHours()>=12)]}function Ye(ce){return 1+~~(ce.getUTCMonth()/3)}return{format:function(ce){var ke=ft(ce+="",bt);return ke.toString=function(){return ce},ke},parse:function(ce){var ke=ut(ce+="",!1);return ke.toString=function(){return ce},ke},utcFormat:function(ce){var ke=ft(ce+="",mt);return ke.toString=function(){return ce},ke},utcParse:function(ce){var ke=ut(ce+="",!0);return ke.toString=function(){return ce},ke}}}var iDt={"-":"",_:" ",0:"0"},X1=/^\s*\d+/,UEe=/^%/,WEe=/[\\^$*+?|[\]().{}]/g;function Ic(i,a,f){var p=i<0?"-":"",w=(p?-i:i)+"",m=w.length;return p+(m[a.toLowerCase(),f]))}function KEe(i,a,f){var p=X1.exec(a.slice(f,f+1));return p?(i.w=+p[0],f+p[0].length):-1}function XEe(i,a,f){var p=X1.exec(a.slice(f,f+1));return p?(i.u=+p[0],f+p[0].length):-1}function QEe(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.U=+p[0],f+p[0].length):-1}function ZEe(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.V=+p[0],f+p[0].length):-1}function JEe(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.W=+p[0],f+p[0].length):-1}function sDt(i,a,f){var p=X1.exec(a.slice(f,f+4));return p?(i.y=+p[0],f+p[0].length):-1}function aDt(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.y=+p[0]+(+p[0]>68?1900:2e3),f+p[0].length):-1}function t7e(i,a,f){var p=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(a.slice(f,f+6));return p?(i.Z=p[1]?0:-(p[2]+(p[3]||"00")),f+p[0].length):-1}function e7e(i,a,f){var p=X1.exec(a.slice(f,f+1));return p?(i.q=p[0]*3-3,f+p[0].length):-1}function n7e(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.m=p[0]-1,f+p[0].length):-1}function oDt(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.d=+p[0],f+p[0].length):-1}function r7e(i,a,f){var p=X1.exec(a.slice(f,f+3));return p?(i.m=0,i.d=+p[0],f+p[0].length):-1}function cDt(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.H=+p[0],f+p[0].length):-1}function i7e(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.M=+p[0],f+p[0].length):-1}function s7e(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.S=+p[0],f+p[0].length):-1}function a7e(i,a,f){var p=X1.exec(a.slice(f,f+3));return p?(i.L=+p[0],f+p[0].length):-1}function o7e(i,a,f){var p=X1.exec(a.slice(f,f+6));return p?(i.L=Math.floor(p[0]/1e3),f+p[0].length):-1}function c7e(i,a,f){var p=UEe.exec(a.slice(f,f+1));return p?f+p[0].length:-1}function u7e(i,a,f){var p=X1.exec(a.slice(f));return p?(i.Q=+p[0],f+p[0].length):-1}function l7e(i,a,f){var p=X1.exec(a.slice(f));return p?(i.s=+p[0],f+p[0].length):-1}function uDt(i,a){return Ic(i.getDate(),a,2)}function h7e(i,a){return Ic(i.getHours(),a,2)}function f7e(i,a){return Ic(i.getHours()%12||12,a,2)}function d7e(i,a){return Ic(1+Z7.count(k5(i),i),a,3)}function lDt(i,a){return Ic(i.getMilliseconds(),a,3)}function g7e(i,a){return lDt(i,a)+"000"}function p7e(i,a){return Ic(i.getMonth()+1,a,2)}function b7e(i,a){return Ic(i.getMinutes(),a,2)}function w7e(i,a){return Ic(i.getSeconds(),a,2)}function v7e(i){var a=i.getDay();return a===0?7:a}function m7e(i,a){return Ic(NP.count(k5(i)-1,i),a,2)}function hDt(i){var a=i.getDay();return a>=4||a===0?tT(i):tT.ceil(i)}function y7e(i,a){return i=hDt(i),Ic(tT.count(k5(i),i)+(k5(i).getDay()===4),a,2)}function x7e(i){return i.getDay()}function k7e(i,a){return Ic(BP.count(k5(i)-1,i),a,2)}function E7e(i,a){return Ic(i.getFullYear()%100,a,2)}function T7e(i,a){return i=hDt(i),Ic(i.getFullYear()%100,a,2)}function C7e(i,a){return Ic(i.getFullYear()%1e4,a,4)}function _7e(i,a){var f=i.getDay();return i=f>=4||f===0?tT(i):tT.ceil(i),Ic(i.getFullYear()%1e4,a,4)}function S7e(i){var a=i.getTimezoneOffset();return(a>0?"-":(a*=-1,"+"))+Ic(a/60|0,"0",2)+Ic(a%60,"0",2)}function fDt(i,a){return Ic(i.getUTCDate(),a,2)}function A7e(i,a){return Ic(i.getUTCHours(),a,2)}function L7e(i,a){return Ic(i.getUTCHours()%12||12,a,2)}function M7e(i,a){return Ic(1+O1t.count(nT(i),i),a,3)}function dDt(i,a){return Ic(i.getUTCMilliseconds(),a,3)}function D7e(i,a){return dDt(i,a)+"000"}function I7e(i,a){return Ic(i.getUTCMonth()+1,a,2)}function O7e(i,a){return Ic(i.getUTCMinutes(),a,2)}function P7e(i,a){return Ic(i.getUTCSeconds(),a,2)}function F7e(i){var a=i.getUTCDay();return a===0?7:a}function N7e(i,a){return Ic(rDt.count(nT(i)-1,i),a,2)}function gDt(i){var a=i.getUTCDay();return a>=4||a===0?MA(i):MA.ceil(i)}function B7e(i,a){return i=gDt(i),Ic(MA.count(nT(i),i)+(nT(i).getUTCDay()===4),a,2)}function R7e(i){return i.getUTCDay()}function j7e(i,a){return Ic(QU.count(nT(i)-1,i),a,2)}function $7e(i,a){return Ic(i.getUTCFullYear()%100,a,2)}function z7e(i,a){return i=gDt(i),Ic(i.getUTCFullYear()%100,a,2)}function q7e(i,a){return Ic(i.getUTCFullYear()%1e4,a,4)}function H7e(i,a){var f=i.getUTCDay();return i=f>=4||f===0?MA(i):MA.ceil(i),Ic(i.getUTCFullYear()%1e4,a,4)}function V7e(){return"+0000"}function pDt(){return"%"}function bDt(i){return+i}function wDt(i){return Math.floor(+i/1e3)}var DA,ZU;G7e({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function G7e(i){return DA=GEe(i),ZU=DA.format,DA.parse,DA.utcFormat,DA.utcParse,DA}function U7e(i){return new Date(i)}function W7e(i){return i instanceof Date?+i:+new Date(+i)}function vDt(i,a,f,p,w,m,b,E,_,A){var I=QMt(),B=I.invert,N=I.domain,R=A(".%L"),z=A(":%S"),W=A("%I:%M"),et=A("%I %p"),st=A("%a %d"),at=A("%b %d"),bt=A("%B"),mt=A("%Y");function yt(ft){return(_(ft)1?0:i<-1?qP:Math.acos(i)}function yDt(i){return i>=1?JU:i<=-1?-JU:Math.asin(i)}function xDt(i){let a=3;return i.digits=function(f){if(!arguments.length)return a;if(f==null)a=null;else{const p=Math.floor(f);if(!(p>=0))throw new RangeError(`invalid digits: ${f}`);a=p}return i},()=>new dEe(a)}function J7e(i){return i.innerRadius}function tTe(i){return i.outerRadius}function eTe(i){return i.startAngle}function nTe(i){return i.endAngle}function rTe(i){return i&&i.padAngle}function iTe(i,a,f,p,w,m,b,E){var _=f-i,A=p-a,I=b-w,B=E-m,N=B*_-I*A;if(!(N*NIt*It+Ot*Ot&&(vt=pt,X=U),{cx:vt,cy:X,x01:-I,y01:-B,x11:vt*(w/yt-1),y11:X*(w/yt-1)}}function OA(){var i=J7e,a=tTe,f=Qh(0),p=null,w=eTe,m=nTe,b=rTe,E=null,_=xDt(A);function A(){var I,B,N=+i.apply(this,arguments),R=+a.apply(this,arguments),z=w.apply(this,arguments)-JU,W=m.apply(this,arguments)-JU,et=mDt(W-z),st=W>z;if(E||(E=I=_()),Ry0))E.moveTo(0,0);else if(et>tW-y0)E.moveTo(R*rT(z),R*h3(z)),E.arc(0,0,R,z,W,!st),N>y0&&(E.moveTo(N*rT(W),N*h3(W)),E.arc(0,0,N,W,z,st));else{var at=z,bt=W,mt=z,yt=W,ft=et,ut=et,vt=b.apply(this,arguments)/2,X=vt>y0&&(p?+p.apply(this,arguments):IA(N*N+R*R)),pt=N1t(mDt(R-N)/2,+f.apply(this,arguments)),U=pt,Tt=pt,nt,It;if(X>y0){var Ot=yDt(X/N*h3(vt)),Bt=yDt(X/R*h3(vt));(ft-=Ot*2)>y0?(Ot*=st?1:-1,mt+=Ot,yt-=Ot):(ft=0,mt=yt=(z+W)/2),(ut-=Bt*2)>y0?(Bt*=st?1:-1,at+=Bt,bt-=Bt):(ut=0,at=bt=(z+W)/2)}var Et=R*rT(at),Z=R*h3(at),Ct=N*rT(yt),xt=N*h3(yt);if(pt>y0){var Ht=R*rT(bt),Le=R*h3(bt),Ft=N*rT(mt),gn=N*h3(mt),Se;if(ety0?Tt>y0?(nt=eW(Ft,gn,Et,Z,R,Tt,st),It=eW(Ht,Le,Ct,xt,R,Tt,st),E.moveTo(nt.cx+nt.x01,nt.cy+nt.y01),Tty0)||!(ft>y0)?E.lineTo(Ct,xt):U>y0?(nt=eW(Ct,xt,Ht,Le,N,-U,st),It=eW(Et,Z,Ft,gn,N,-U,st),E.lineTo(nt.cx+nt.x01,nt.cy+nt.y01),Ui?1:a>=i?0:NaN}function cTe(i){return i}function uTe(){var i=cTe,a=oTe,f=null,p=Qh(0),w=Qh(tW),m=Qh(0);function b(E){var _,A=(E=kDt(E)).length,I,B,N=0,R=new Array(A),z=new Array(A),W=+p.apply(this,arguments),et=Math.min(tW,Math.max(-tW,w.apply(this,arguments)-W)),st,at=Math.min(Math.abs(et)/A,m.apply(this,arguments)),bt=at*(et<0?-1:1),mt;for(_=0;_0&&(N+=mt);for(a!=null?R.sort(function(yt,ft){return a(z[yt],z[ft])}):f!=null&&R.sort(function(yt,ft){return f(E[yt],E[ft])}),_=0,B=N?(et-A*bt)/N:0;_0?mt*B:0)+bt,z[I]={data:E[I],index:_,value:mt,startAngle:W,endAngle:st,padAngle:at};return z}return b.value=function(E){return arguments.length?(i=typeof E=="function"?E:Qh(+E),b):i},b.sortValues=function(E){return arguments.length?(a=E,f=null,b):a},b.sort=function(E){return arguments.length?(f=E,a=null,b):f},b.startAngle=function(E){return arguments.length?(p=typeof E=="function"?E:Qh(+E),b):p},b.endAngle=function(E){return arguments.length?(w=typeof E=="function"?E:Qh(+E),b):w},b.padAngle=function(E){return arguments.length?(m=typeof E=="function"?E:Qh(+E),b):m},b}class TDt{constructor(a,f){this._context=a,this._x=f}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(a,f){switch(a=+a,f=+f,this._point){case 0:{this._point=1,this._line?this._context.lineTo(a,f):this._context.moveTo(a,f);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+a)/2,this._y0,this._x0,f,a,f):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+f)/2,a,this._y0,a,f);break}}this._x0=a,this._y0=f}}function lTe(i){return new TDt(i,!0)}function hTe(i){return new TDt(i,!1)}function ak(){}function nW(i,a,f){i._context.bezierCurveTo((2*i._x0+i._x1)/3,(2*i._y0+i._y1)/3,(i._x0+2*i._x1)/3,(i._y0+2*i._y1)/3,(i._x0+4*i._x1+a)/6,(i._y0+4*i._y1+f)/6)}function rW(i){this._context=i}rW.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:nW(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:nW(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function HP(i){return new rW(i)}function CDt(i){this._context=i}CDt.prototype={areaStart:ak,areaEnd:ak,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._x2=i,this._y2=a;break;case 1:this._point=2,this._x3=i,this._y3=a;break;case 2:this._point=3,this._x4=i,this._y4=a,this._context.moveTo((this._x0+4*this._x1+i)/6,(this._y0+4*this._y1+a)/6);break;default:nW(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function fTe(i){return new CDt(i)}function _Dt(i){this._context=i}_Dt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var f=(this._x0+4*this._x1+i)/6,p=(this._y0+4*this._y1+a)/6;this._line?this._context.lineTo(f,p):this._context.moveTo(f,p);break;case 3:this._point=4;default:nW(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function dTe(i){return new _Dt(i)}function SDt(i,a){this._basis=new rW(i),this._beta=a}SDt.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var i=this._x,a=this._y,f=i.length-1;if(f>0)for(var p=i[0],w=a[0],m=i[f]-p,b=a[f]-w,E=-1,_;++E<=f;)_=E/f,this._basis.point(this._beta*i[E]+(1-this._beta)*(p+_*m),this._beta*a[E]+(1-this._beta)*(w+_*b));this._x=this._y=null,this._basis.lineEnd()},point:function(i,a){this._x.push(+i),this._y.push(+a)}};const gTe=function i(a){function f(p){return a===1?new rW(p):new SDt(p,a)}return f.beta=function(p){return i(+p)},f}(.85);function iW(i,a,f){i._context.bezierCurveTo(i._x1+i._k*(i._x2-i._x0),i._y1+i._k*(i._y2-i._y0),i._x2+i._k*(i._x1-a),i._y2+i._k*(i._y1-f),i._x2,i._y2)}function B1t(i,a){this._context=i,this._k=(1-a)/6}B1t.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:iW(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2,this._x1=i,this._y1=a;break;case 2:this._point=3;default:iW(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const pTe=function i(a){function f(p){return new B1t(p,a)}return f.tension=function(p){return i(+p)},f}(0);function R1t(i,a){this._context=i,this._k=(1-a)/6}R1t.prototype={areaStart:ak,areaEnd:ak,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._x3=i,this._y3=a;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=a);break;case 2:this._point=3,this._x5=i,this._y5=a;break;default:iW(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const bTe=function i(a){function f(p){return new R1t(p,a)}return f.tension=function(p){return i(+p)},f}(0);function j1t(i,a){this._context=i,this._k=(1-a)/6}j1t.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:iW(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const wTe=function i(a){function f(p){return new j1t(p,a)}return f.tension=function(p){return i(+p)},f}(0);function $1t(i,a,f){var p=i._x1,w=i._y1,m=i._x2,b=i._y2;if(i._l01_a>y0){var E=2*i._l01_2a+3*i._l01_a*i._l12_a+i._l12_2a,_=3*i._l01_a*(i._l01_a+i._l12_a);p=(p*E-i._x0*i._l12_2a+i._x2*i._l01_2a)/_,w=(w*E-i._y0*i._l12_2a+i._y2*i._l01_2a)/_}if(i._l23_a>y0){var A=2*i._l23_2a+3*i._l23_a*i._l12_a+i._l12_2a,I=3*i._l23_a*(i._l23_a+i._l12_a);m=(m*A+i._x1*i._l23_2a-a*i._l12_2a)/I,b=(b*A+i._y1*i._l23_2a-f*i._l12_2a)/I}i._context.bezierCurveTo(p,w,m,b,i._x2,i._y2)}function ADt(i,a){this._context=i,this._alpha=a}ADt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){if(i=+i,a=+a,this._point){var f=this._x2-i,p=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+p*p,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3;default:$1t(this,i,a);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const vTe=function i(a){function f(p){return a?new ADt(p,a):new B1t(p,0)}return f.alpha=function(p){return i(+p)},f}(.5);function LDt(i,a){this._context=i,this._alpha=a}LDt.prototype={areaStart:ak,areaEnd:ak,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,a){if(i=+i,a=+a,this._point){var f=this._x2-i,p=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+p*p,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=i,this._y3=a;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=a);break;case 2:this._point=3,this._x5=i,this._y5=a;break;default:$1t(this,i,a);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const mTe=function i(a){function f(p){return a?new LDt(p,a):new R1t(p,0)}return f.alpha=function(p){return i(+p)},f}(.5);function MDt(i,a){this._context=i,this._alpha=a}MDt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){if(i=+i,a=+a,this._point){var f=this._x2-i,p=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+p*p,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:$1t(this,i,a);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const yTe=function i(a){function f(p){return a?new MDt(p,a):new j1t(p,0)}return f.alpha=function(p){return i(+p)},f}(.5);function DDt(i){this._context=i}DDt.prototype={areaStart:ak,areaEnd:ak,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(i,a){i=+i,a=+a,this._point?this._context.lineTo(i,a):(this._point=1,this._context.moveTo(i,a))}};function xTe(i){return new DDt(i)}function IDt(i){return i<0?-1:1}function ODt(i,a,f){var p=i._x1-i._x0,w=a-i._x1,m=(i._y1-i._y0)/(p||w<0&&-0),b=(f-i._y1)/(w||p<0&&-0),E=(m*w+b*p)/(p+w);return(IDt(m)+IDt(b))*Math.min(Math.abs(m),Math.abs(b),.5*Math.abs(E))||0}function PDt(i,a){var f=i._x1-i._x0;return f?(3*(i._y1-i._y0)/f-a)/2:a}function z1t(i,a,f){var p=i._x0,w=i._y0,m=i._x1,b=i._y1,E=(m-p)/3;i._context.bezierCurveTo(p+E,w+E*a,m-E,b-E*f,m,b)}function sW(i){this._context=i}sW.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:z1t(this,this._t0,PDt(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){var f=NaN;if(i=+i,a=+a,!(i===this._x1&&a===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3,z1t(this,PDt(this,f=ODt(this,i,a)),f);break;default:z1t(this,this._t0,f=ODt(this,i,a));break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a,this._t0=f}}};function FDt(i){this._context=new NDt(i)}(FDt.prototype=Object.create(sW.prototype)).point=function(i,a){sW.prototype.point.call(this,a,i)};function NDt(i){this._context=i}NDt.prototype={moveTo:function(i,a){this._context.moveTo(a,i)},closePath:function(){this._context.closePath()},lineTo:function(i,a){this._context.lineTo(a,i)},bezierCurveTo:function(i,a,f,p,w,m){this._context.bezierCurveTo(a,i,p,f,m,w)}};function kTe(i){return new sW(i)}function ETe(i){return new FDt(i)}function BDt(i){this._context=i}BDt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var i=this._x,a=this._y,f=i.length;if(f)if(this._line?this._context.lineTo(i[0],a[0]):this._context.moveTo(i[0],a[0]),f===2)this._context.lineTo(i[1],a[1]);else for(var p=RDt(i),w=RDt(a),m=0,b=1;b=0;--a)w[a]=(b[a]-w[a+1])/m[a];for(m[f-1]=(i[f]+w[f-1])/2,a=0;a=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,a),this._context.lineTo(i,a);else{var f=this._x*(1-this._t)+i*this._t;this._context.lineTo(f,this._y),this._context.lineTo(f,a)}break}}this._x=i,this._y=a}};function CTe(i){return new aW(i,.5)}function _Te(i){return new aW(i,0)}function STe(i){return new aW(i,1)}function VP(i,a,f){this.k=i,this.x=a,this.y=f}VP.prototype={constructor:VP,scale:function(i){return i===1?this:new VP(this.k*i,this.x,this.y)},translate:function(i,a){return i===0&a===0?this:new VP(this.k,this.x+this.k*i,this.y+this.k*a)},apply:function(i){return[i[0]*this.k+this.x,i[1]*this.k+this.y]},applyX:function(i){return i*this.k+this.x},applyY:function(i){return i*this.k+this.y},invert:function(i){return[(i[0]-this.x)/this.k,(i[1]-this.y)/this.k]},invertX:function(i){return(i-this.x)/this.k},invertY:function(i){return(i-this.y)/this.k},rescaleX:function(i){return i.copy().domain(i.range().map(this.invertX,this).map(i.invert,i))},rescaleY:function(i){return i.copy().domain(i.range().map(this.invertY,this).map(i.invert,i))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},VP.prototype;/*! @license DOMPurify 3.0.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.5/LICENSE */const{entries:jDt,setPrototypeOf:$Dt,isFrozen:ATe,getPrototypeOf:LTe,getOwnPropertyDescriptor:MTe}=Object;let{freeze:ug,seal:Jv,create:DTe}=Object,{apply:q1t,construct:H1t}=typeof Reflect<"u"&&Reflect;q1t||(q1t=function(a,f,p){return a.apply(f,p)}),ug||(ug=function(a){return a}),Jv||(Jv=function(a){return a}),H1t||(H1t=function(a,f){return new a(...f)});const ITe=J2(Array.prototype.forEach),zDt=J2(Array.prototype.pop),GP=J2(Array.prototype.push),oW=J2(String.prototype.toLowerCase),V1t=J2(String.prototype.toString),OTe=J2(String.prototype.match),tm=J2(String.prototype.replace),PTe=J2(String.prototype.indexOf),FTe=J2(String.prototype.trim),Pb=J2(RegExp.prototype.test),UP=NTe(TypeError);function J2(i){return function(a){for(var f=arguments.length,p=new Array(f>1?f-1:0),w=1;w/gm),zTe=Jv(/\${[\w\W]*}/gm),qTe=Jv(/^data-[\-\w.\u00B7-\uFFFF]/),HTe=Jv(/^aria-[\-\w]+$/),UDt=Jv(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),VTe=Jv(/^(?:\w+script|data):/i),GTe=Jv(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),WDt=Jv(/^html$/i);var YDt=Object.freeze({__proto__:null,MUSTACHE_EXPR:jTe,ERB_EXPR:$Te,TMPLIT_EXPR:zTe,DATA_ATTR:qTe,ARIA_ATTR:HTe,IS_ALLOWED_URI:UDt,IS_SCRIPT_OR_DATA:VTe,ATTR_WHITESPACE:GTe,DOCTYPE_NAME:WDt});const UTe=()=>typeof window>"u"?null:window,WTe=function(a,f){if(typeof a!="object"||typeof a.createPolicy!="function")return null;let p=null;const w="data-tt-policy-suffix";f&&f.hasAttribute(w)&&(p=f.getAttribute(w));const m="dompurify"+(p?"#"+p:"");try{return a.createPolicy(m,{createHTML(b){return b},createScriptURL(b){return b}})}catch{return console.warn("TrustedTypes policy "+m+" could not be created."),null}};function KDt(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:UTe();const a=Bi=>KDt(Bi);if(a.version="3.0.5",a.removed=[],!i||!i.document||i.document.nodeType!==9)return a.isSupported=!1,a;const f=i.document,p=f.currentScript;let{document:w}=i;const{DocumentFragment:m,HTMLTemplateElement:b,Node:E,Element:_,NodeFilter:A,NamedNodeMap:I=i.NamedNodeMap||i.MozNamedAttrMap,HTMLFormElement:B,DOMParser:N,trustedTypes:R}=i,z=_.prototype,W=cW(z,"cloneNode"),et=cW(z,"nextSibling"),st=cW(z,"childNodes"),at=cW(z,"parentNode");if(typeof b=="function"){const Bi=w.createElement("template");Bi.content&&Bi.content.ownerDocument&&(w=Bi.content.ownerDocument)}let bt,mt="";const{implementation:yt,createNodeIterator:ft,createDocumentFragment:ut,getElementsByTagName:vt}=w,{importNode:X}=f;let pt={};a.isSupported=typeof jDt=="function"&&typeof at=="function"&&yt&&yt.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:U,ERB_EXPR:Tt,TMPLIT_EXPR:nt,DATA_ATTR:It,ARIA_ATTR:Ot,IS_SCRIPT_OR_DATA:Bt,ATTR_WHITESPACE:Et}=YDt;let{IS_ALLOWED_URI:Z}=YDt,Ct=null;const xt=mo({},[...qDt,...G1t,...U1t,...W1t,...HDt]);let Ht=null;const Le=mo({},[...VDt,...Y1t,...GDt,...uW]);let Ft=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),gn=null,Se=null,me=!0,Ve=!0,Ye=!1,ce=!0,ke=!1,zt=!1,re=!1,se=!1,Pe=!1,te=!1,Me=!1,de=!0,on=!1;const ni="user-content-";let Ks=!0,ws=!1,fo={},Xi=null;const Er=mo({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Xn=null;const di=mo({},["audio","video","img","source","image","track"]);let Ee=null;const Kn=mo({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),He="http://www.w3.org/1998/Math/MathML",Ti="http://www.w3.org/2000/svg",pn="http://www.w3.org/1999/xhtml";let Es=pn,qa=!1,Ma=null;const Gs=mo({},[He,Ti,pn],V1t);let Po;const vs=["application/xhtml+xml","text/html"],ru="text/html";let zs,Du=null;const pm=w.createElement("form"),uw=function(cn){return cn instanceof RegExp||cn instanceof Function},Wu=function(cn){if(!(Du&&Du===cn)){if((!cn||typeof cn!="object")&&(cn={}),cn=PA(cn),Po=vs.indexOf(cn.PARSER_MEDIA_TYPE)===-1?Po=ru:Po=cn.PARSER_MEDIA_TYPE,zs=Po==="application/xhtml+xml"?V1t:oW,Ct="ALLOWED_TAGS"in cn?mo({},cn.ALLOWED_TAGS,zs):xt,Ht="ALLOWED_ATTR"in cn?mo({},cn.ALLOWED_ATTR,zs):Le,Ma="ALLOWED_NAMESPACES"in cn?mo({},cn.ALLOWED_NAMESPACES,V1t):Gs,Ee="ADD_URI_SAFE_ATTR"in cn?mo(PA(Kn),cn.ADD_URI_SAFE_ATTR,zs):Kn,Xn="ADD_DATA_URI_TAGS"in cn?mo(PA(di),cn.ADD_DATA_URI_TAGS,zs):di,Xi="FORBID_CONTENTS"in cn?mo({},cn.FORBID_CONTENTS,zs):Er,gn="FORBID_TAGS"in cn?mo({},cn.FORBID_TAGS,zs):{},Se="FORBID_ATTR"in cn?mo({},cn.FORBID_ATTR,zs):{},fo="USE_PROFILES"in cn?cn.USE_PROFILES:!1,me=cn.ALLOW_ARIA_ATTR!==!1,Ve=cn.ALLOW_DATA_ATTR!==!1,Ye=cn.ALLOW_UNKNOWN_PROTOCOLS||!1,ce=cn.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ke=cn.SAFE_FOR_TEMPLATES||!1,zt=cn.WHOLE_DOCUMENT||!1,Pe=cn.RETURN_DOM||!1,te=cn.RETURN_DOM_FRAGMENT||!1,Me=cn.RETURN_TRUSTED_TYPE||!1,se=cn.FORCE_BODY||!1,de=cn.SANITIZE_DOM!==!1,on=cn.SANITIZE_NAMED_PROPS||!1,Ks=cn.KEEP_CONTENT!==!1,ws=cn.IN_PLACE||!1,Z=cn.ALLOWED_URI_REGEXP||UDt,Es=cn.NAMESPACE||pn,Ft=cn.CUSTOM_ELEMENT_HANDLING||{},cn.CUSTOM_ELEMENT_HANDLING&&uw(cn.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Ft.tagNameCheck=cn.CUSTOM_ELEMENT_HANDLING.tagNameCheck),cn.CUSTOM_ELEMENT_HANDLING&&uw(cn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Ft.attributeNameCheck=cn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),cn.CUSTOM_ELEMENT_HANDLING&&typeof cn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(Ft.allowCustomizedBuiltInElements=cn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ke&&(Ve=!1),te&&(Pe=!0),fo&&(Ct=mo({},[...HDt]),Ht=[],fo.html===!0&&(mo(Ct,qDt),mo(Ht,VDt)),fo.svg===!0&&(mo(Ct,G1t),mo(Ht,Y1t),mo(Ht,uW)),fo.svgFilters===!0&&(mo(Ct,U1t),mo(Ht,Y1t),mo(Ht,uW)),fo.mathMl===!0&&(mo(Ct,W1t),mo(Ht,GDt),mo(Ht,uW))),cn.ADD_TAGS&&(Ct===xt&&(Ct=PA(Ct)),mo(Ct,cn.ADD_TAGS,zs)),cn.ADD_ATTR&&(Ht===Le&&(Ht=PA(Ht)),mo(Ht,cn.ADD_ATTR,zs)),cn.ADD_URI_SAFE_ATTR&&mo(Ee,cn.ADD_URI_SAFE_ATTR,zs),cn.FORBID_CONTENTS&&(Xi===Er&&(Xi=PA(Xi)),mo(Xi,cn.FORBID_CONTENTS,zs)),Ks&&(Ct["#text"]=!0),zt&&mo(Ct,["html","head","body"]),Ct.table&&(mo(Ct,["tbody"]),delete gn.tbody),cn.TRUSTED_TYPES_POLICY){if(typeof cn.TRUSTED_TYPES_POLICY.createHTML!="function")throw UP('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof cn.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw UP('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');bt=cn.TRUSTED_TYPES_POLICY,mt=bt.createHTML("")}else bt===void 0&&(bt=WTe(R,p)),bt!==null&&typeof mt=="string"&&(mt=bt.createHTML(""));ug&&ug(cn),Du=cn}},th=mo({},["mi","mo","mn","ms","mtext"]),Fa=mo({},["foreignobject","desc","title","annotation-xml"]),Ml=mo({},["title","style","font","a","script"]),ha=mo({},G1t);mo(ha,U1t),mo(ha,BTe);const bc=mo({},W1t);mo(bc,RTe);const Cc=function(cn){let kr=at(cn);(!kr||!kr.tagName)&&(kr={namespaceURI:Es,tagName:"template"});const Ei=oW(cn.tagName),Jo=oW(kr.tagName);return Ma[cn.namespaceURI]?cn.namespaceURI===Ti?kr.namespaceURI===pn?Ei==="svg":kr.namespaceURI===He?Ei==="svg"&&(Jo==="annotation-xml"||th[Jo]):!!ha[Ei]:cn.namespaceURI===He?kr.namespaceURI===pn?Ei==="math":kr.namespaceURI===Ti?Ei==="math"&&Fa[Jo]:!!bc[Ei]:cn.namespaceURI===pn?kr.namespaceURI===Ti&&!Fa[Jo]||kr.namespaceURI===He&&!th[Jo]?!1:!bc[Ei]&&(Ml[Ei]||!ha[Ei]):!!(Po==="application/xhtml+xml"&&Ma[cn.namespaceURI]):!1},pa=function(cn){GP(a.removed,{element:cn});try{cn.parentNode.removeChild(cn)}catch{cn.remove()}},Da=function(cn,kr){try{GP(a.removed,{attribute:kr.getAttributeNode(cn),from:kr})}catch{GP(a.removed,{attribute:null,from:kr})}if(kr.removeAttribute(cn),cn==="is"&&!Ht[cn])if(Pe||te)try{pa(kr)}catch{}else try{kr.setAttribute(cn,"")}catch{}},Ha=function(cn){let kr,Ei;if(se)cn=""+cn;else{const rf=OTe(cn,/^[\r\n\t ]+/);Ei=rf&&rf[0]}Po==="application/xhtml+xml"&&Es===pn&&(cn=''+cn+"");const Jo=bt?bt.createHTML(cn):cn;if(Es===pn)try{kr=new N().parseFromString(Jo,Po)}catch{}if(!kr||!kr.documentElement){kr=yt.createDocument(Es,"template",null);try{kr.documentElement.innerHTML=qa?mt:Jo}catch{}}const wc=kr.body||kr.documentElement;return cn&&Ei&&wc.insertBefore(w.createTextNode(Ei),wc.childNodes[0]||null),Es===pn?vt.call(kr,zt?"html":"body")[0]:zt?kr.documentElement:wc},Dl=function(cn){return ft.call(cn.ownerDocument||cn,cn,A.SHOW_ELEMENT|A.SHOW_COMMENT|A.SHOW_TEXT,null,!1)},_c=function(cn){return cn instanceof B&&(typeof cn.nodeName!="string"||typeof cn.textContent!="string"||typeof cn.removeChild!="function"||!(cn.attributes instanceof I)||typeof cn.removeAttribute!="function"||typeof cn.setAttribute!="function"||typeof cn.namespaceURI!="string"||typeof cn.insertBefore!="function"||typeof cn.hasChildNodes!="function")},lw=function(cn){return typeof E=="object"?cn instanceof E:cn&&typeof cn=="object"&&typeof cn.nodeType=="number"&&typeof cn.nodeName=="string"},eh=function(cn,kr,Ei){pt[cn]&&ITe(pt[cn],Jo=>{Jo.call(a,kr,Ei,Du)})},ed=function(cn){let kr;if(eh("beforeSanitizeElements",cn,null),_c(cn))return pa(cn),!0;const Ei=zs(cn.nodeName);if(eh("uponSanitizeElement",cn,{tagName:Ei,allowedTags:Ct}),cn.hasChildNodes()&&!lw(cn.firstElementChild)&&(!lw(cn.content)||!lw(cn.content.firstElementChild))&&Pb(/<[/\w]/g,cn.innerHTML)&&Pb(/<[/\w]/g,cn.textContent))return pa(cn),!0;if(!Ct[Ei]||gn[Ei]){if(!gn[Ei]&&nd(Ei)&&(Ft.tagNameCheck instanceof RegExp&&Pb(Ft.tagNameCheck,Ei)||Ft.tagNameCheck instanceof Function&&Ft.tagNameCheck(Ei)))return!1;if(Ks&&!Xi[Ei]){const Jo=at(cn)||cn.parentNode,wc=st(cn)||cn.childNodes;if(wc&&Jo){const rf=wc.length;for(let Oc=rf-1;Oc>=0;--Oc)Jo.insertBefore(W(wc[Oc],!0),et(cn))}}return pa(cn),!0}return cn instanceof _&&!Cc(cn)||(Ei==="noscript"||Ei==="noembed"||Ei==="noframes")&&Pb(/<\/no(script|embed|frames)/i,cn.innerHTML)?(pa(cn),!0):(ke&&cn.nodeType===3&&(kr=cn.textContent,kr=tm(kr,U," "),kr=tm(kr,Tt," "),kr=tm(kr,nt," "),cn.textContent!==kr&&(GP(a.removed,{element:cn.cloneNode()}),cn.textContent=kr)),eh("afterSanitizeElements",cn,null),!1)},jd=function(cn,kr,Ei){if(de&&(kr==="id"||kr==="name")&&(Ei in w||Ei in pm))return!1;if(!(Ve&&!Se[kr]&&Pb(It,kr))){if(!(me&&Pb(Ot,kr))){if(!Ht[kr]||Se[kr]){if(!(nd(cn)&&(Ft.tagNameCheck instanceof RegExp&&Pb(Ft.tagNameCheck,cn)||Ft.tagNameCheck instanceof Function&&Ft.tagNameCheck(cn))&&(Ft.attributeNameCheck instanceof RegExp&&Pb(Ft.attributeNameCheck,kr)||Ft.attributeNameCheck instanceof Function&&Ft.attributeNameCheck(kr))||kr==="is"&&Ft.allowCustomizedBuiltInElements&&(Ft.tagNameCheck instanceof RegExp&&Pb(Ft.tagNameCheck,Ei)||Ft.tagNameCheck instanceof Function&&Ft.tagNameCheck(Ei))))return!1}else if(!Ee[kr]){if(!Pb(Z,tm(Ei,Et,""))){if(!((kr==="src"||kr==="xlink:href"||kr==="href")&&cn!=="script"&&PTe(Ei,"data:")===0&&Xn[cn])){if(!(Ye&&!Pb(Bt,tm(Ei,Et,"")))){if(Ei)return!1}}}}}}return!0},nd=function(cn){return cn.indexOf("-")>0},$d=function(cn){let kr,Ei,Jo,wc;eh("beforeSanitizeAttributes",cn,null);const{attributes:rf}=cn;if(!rf)return;const Oc={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Ht};for(wc=rf.length;wc--;){kr=rf[wc];const{name:sf,namespaceURI:af}=kr;if(Ei=sf==="value"?kr.value:FTe(kr.value),Jo=zs(sf),Oc.attrName=Jo,Oc.attrValue=Ei,Oc.keepAttr=!0,Oc.forceKeepAttr=void 0,eh("uponSanitizeAttribute",cn,Oc),Ei=Oc.attrValue,Oc.forceKeepAttr||(Da(sf,cn),!Oc.keepAttr))continue;if(!ce&&Pb(/\/>/i,Ei)){Da(sf,cn);continue}ke&&(Ei=tm(Ei,U," "),Ei=tm(Ei,Tt," "),Ei=tm(Ei,nt," "));const Qi=zs(cn.nodeName);if(jd(Qi,Jo,Ei)){if(on&&(Jo==="id"||Jo==="name")&&(Da(sf,cn),Ei=ni+Ei),bt&&typeof R=="object"&&typeof R.getAttributeType=="function"&&!af)switch(R.getAttributeType(Qi,Jo)){case"TrustedHTML":{Ei=bt.createHTML(Ei);break}case"TrustedScriptURL":{Ei=bt.createScriptURL(Ei);break}}try{af?cn.setAttributeNS(af,sf,Ei):cn.setAttribute(sf,Ei),zDt(a.removed)}catch{}}}eh("afterSanitizeAttributes",cn,null)},A0=function Bi(cn){let kr;const Ei=Dl(cn);for(eh("beforeSanitizeShadowDOM",cn,null);kr=Ei.nextNode();)eh("uponSanitizeShadowNode",kr,null),!ed(kr)&&(kr.content instanceof m&&Bi(kr.content),$d(kr));eh("afterSanitizeShadowDOM",cn,null)};return a.sanitize=function(Bi){let cn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},kr,Ei,Jo,wc;if(qa=!Bi,qa&&(Bi=""),typeof Bi!="string"&&!lw(Bi))if(typeof Bi.toString=="function"){if(Bi=Bi.toString(),typeof Bi!="string")throw UP("dirty is not a string, aborting")}else throw UP("toString is not a function");if(!a.isSupported)return Bi;if(re||Wu(cn),a.removed=[],typeof Bi=="string"&&(ws=!1),ws){if(Bi.nodeName){const sf=zs(Bi.nodeName);if(!Ct[sf]||gn[sf])throw UP("root node is forbidden and cannot be sanitized in-place")}}else if(Bi instanceof E)kr=Ha(""),Ei=kr.ownerDocument.importNode(Bi,!0),Ei.nodeType===1&&Ei.nodeName==="BODY"||Ei.nodeName==="HTML"?kr=Ei:kr.appendChild(Ei);else{if(!Pe&&!ke&&!zt&&Bi.indexOf("<")===-1)return bt&&Me?bt.createHTML(Bi):Bi;if(kr=Ha(Bi),!kr)return Pe?null:Me?mt:""}kr&&se&&pa(kr.firstChild);const rf=Dl(ws?Bi:kr);for(;Jo=rf.nextNode();)ed(Jo)||(Jo.content instanceof m&&A0(Jo.content),$d(Jo));if(ws)return Bi;if(Pe){if(te)for(wc=ut.call(kr.ownerDocument);kr.firstChild;)wc.appendChild(kr.firstChild);else wc=kr;return(Ht.shadowroot||Ht.shadowrootmode)&&(wc=X.call(f,wc,!0)),wc}let Oc=zt?kr.outerHTML:kr.innerHTML;return zt&&Ct["!doctype"]&&kr.ownerDocument&&kr.ownerDocument.doctype&&kr.ownerDocument.doctype.name&&Pb(WDt,kr.ownerDocument.doctype.name)&&(Oc=" +`+Oc),ke&&(Oc=tm(Oc,U," "),Oc=tm(Oc,Tt," "),Oc=tm(Oc,nt," ")),bt&&Me?bt.createHTML(Oc):Oc},a.setConfig=function(Bi){Wu(Bi),re=!0},a.clearConfig=function(){Du=null,re=!1},a.isValidAttribute=function(Bi,cn,kr){Du||Wu({});const Ei=zs(Bi),Jo=zs(cn);return jd(Ei,Jo,kr)},a.addHook=function(Bi,cn){typeof cn=="function"&&(pt[Bi]=pt[Bi]||[],GP(pt[Bi],cn))},a.removeHook=function(Bi){if(pt[Bi])return zDt(pt[Bi])},a.removeHooks=function(Bi){pt[Bi]&&(pt[Bi]=[])},a.removeAllHooks=function(){pt={}},a}var lW=KDt();const WP=//gi,YTe=i=>i?ZDt(i).replace(/\\n/g,"#br#").split("#br#"):[""],XDt=i=>lW.sanitize(i),QDt=(i,a)=>{var f;if(((f=a.flowchart)==null?void 0:f.htmlLabels)!==!1){const p=a.securityLevel;p==="antiscript"||p==="strict"?i=XDt(i):p!=="loose"&&(i=ZDt(i),i=i.replace(//g,">"),i=i.replace(/=/g,"="),i=ZTe(i))}return i},Q1=(i,a)=>i&&(a.dompurifyConfig?i=lW.sanitize(QDt(i,a),a.dompurifyConfig).toString():i=lW.sanitize(QDt(i,a),{FORBID_TAGS:["style"]}).toString(),i),KTe=(i,a)=>typeof i=="string"?Q1(i,a):i.flat().map(f=>Q1(f,a)),XTe=i=>WP.test(i),QTe=i=>i.split(WP),ZTe=i=>i.replace(/#br#/g,"
"),ZDt=i=>i.replace(WP,"#br#"),JTe=i=>{let a="";return i&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replaceAll(/\(/g,"\\("),a=a.replaceAll(/\)/g,"\\)")),a},o1=i=>!(i===!1||["false","null","0"].includes(String(i).trim().toLowerCase())),tCe=function(...i){const a=i.filter(f=>!isNaN(f));return Math.max(...a)},eCe=function(...i){const a=i.filter(f=>!isNaN(f));return Math.min(...a)},YP=function(i){const a=i.split(/(,)/),f=[];for(let p=0;p0&&p+1Math.max(0,i.split(a).length-1),nCe=(i,a)=>{const f=K1t(i,"~"),p=K1t(a,"~");return f===1&&p===1},rCe=i=>{const a=K1t(i,"~");let f=!1;if(a<=1)return i;a%2!==0&&i.startsWith("~")&&(i=i.substring(1),f=!0);const p=[...i];let w=p.indexOf("~"),m=p.lastIndexOf("~");for(;w!==-1&&m!==-1&&w!==m;)p[w]="<",p[m]=">",w=p.indexOf("~"),m=p.lastIndexOf("~");return f&&p.unshift("~"),p.join("")},Kr={getRows:YTe,sanitizeText:Q1,sanitizeTextOrArray:KTe,hasBreaks:XTe,splitBreaks:QTe,lineBreakRegex:WP,removeScript:XDt,getUrl:JTe,evaluate:o1,getMax:tCe,getMin:eCe},hW={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:i=>i>=255?255:i<0?0:i,g:i=>i>=255?255:i<0?0:i,b:i=>i>=255?255:i<0?0:i,h:i=>i%360,s:i=>i>=100?100:i<0?0:i,l:i=>i>=100?100:i<0?0:i,a:i=>i>=1?1:i<0?0:i},toLinear:i=>{const a=i/255;return i>.03928?Math.pow((a+.055)/1.055,2.4):a/12.92},hue2rgb:(i,a,f)=>(f<0&&(f+=1),f>1&&(f-=1),f<1/6?i+(a-i)*6*f:f<1/2?a:f<2/3?i+(a-i)*(2/3-f)*6:i),hsl2rgb:({h:i,s:a,l:f},p)=>{if(!a)return f*2.55;i/=360,a/=100,f/=100;const w=f<.5?f*(1+a):f+a-f*a,m=2*f-w;switch(p){case"r":return hW.hue2rgb(m,w,i+1/3)*255;case"g":return hW.hue2rgb(m,w,i)*255;case"b":return hW.hue2rgb(m,w,i-1/3)*255}},rgb2hsl:({r:i,g:a,b:f},p)=>{i/=255,a/=255,f/=255;const w=Math.max(i,a,f),m=Math.min(i,a,f),b=(w+m)/2;if(p==="l")return b*100;if(w===m)return 0;const E=w-m,_=b>.5?E/(2-w-m):E/(w+m);if(p==="s")return _*100;switch(w){case i:return((a-f)/E+(aa>f?Math.min(a,Math.max(f,i)):Math.min(f,Math.max(a,i)),round:i=>Math.round(i*1e10)/1e10},unit:{dec2hex:i=>{const a=Math.round(i).toString(16);return a.length>1?a:`0${a}`}}},ok={};for(let i=0;i<=255;i++)ok[i]=ga.unit.dec2hex(i);const x0={ALL:0,RGB:1,HSL:2};class iCe{constructor(){this.type=x0.ALL}get(){return this.type}set(a){if(this.type&&this.type!==a)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=a}reset(){this.type=x0.ALL}is(a){return this.type===a}}const sCe=iCe;class aCe{constructor(a,f){this.color=f,this.changed=!1,this.data=a,this.type=new sCe}set(a,f){return this.color=f,this.changed=!1,this.data=a,this.type.type=x0.ALL,this}_ensureHSL(){const a=this.data,{h:f,s:p,l:w}=a;f===void 0&&(a.h=ga.channel.rgb2hsl(a,"h")),p===void 0&&(a.s=ga.channel.rgb2hsl(a,"s")),w===void 0&&(a.l=ga.channel.rgb2hsl(a,"l"))}_ensureRGB(){const a=this.data,{r:f,g:p,b:w}=a;f===void 0&&(a.r=ga.channel.hsl2rgb(a,"r")),p===void 0&&(a.g=ga.channel.hsl2rgb(a,"g")),w===void 0&&(a.b=ga.channel.hsl2rgb(a,"b"))}get r(){const a=this.data,f=a.r;return!this.type.is(x0.HSL)&&f!==void 0?f:(this._ensureHSL(),ga.channel.hsl2rgb(a,"r"))}get g(){const a=this.data,f=a.g;return!this.type.is(x0.HSL)&&f!==void 0?f:(this._ensureHSL(),ga.channel.hsl2rgb(a,"g"))}get b(){const a=this.data,f=a.b;return!this.type.is(x0.HSL)&&f!==void 0?f:(this._ensureHSL(),ga.channel.hsl2rgb(a,"b"))}get h(){const a=this.data,f=a.h;return!this.type.is(x0.RGB)&&f!==void 0?f:(this._ensureRGB(),ga.channel.rgb2hsl(a,"h"))}get s(){const a=this.data,f=a.s;return!this.type.is(x0.RGB)&&f!==void 0?f:(this._ensureRGB(),ga.channel.rgb2hsl(a,"s"))}get l(){const a=this.data,f=a.l;return!this.type.is(x0.RGB)&&f!==void 0?f:(this._ensureRGB(),ga.channel.rgb2hsl(a,"l"))}get a(){return this.data.a}set r(a){this.type.set(x0.RGB),this.changed=!0,this.data.r=a}set g(a){this.type.set(x0.RGB),this.changed=!0,this.data.g=a}set b(a){this.type.set(x0.RGB),this.changed=!0,this.data.b=a}set h(a){this.type.set(x0.HSL),this.changed=!0,this.data.h=a}set s(a){this.type.set(x0.HSL),this.changed=!0,this.data.s=a}set l(a){this.type.set(x0.HSL),this.changed=!0,this.data.l=a}set a(a){this.changed=!0,this.data.a=a}}const oCe=aCe,fW=new oCe({r:0,g:0,b:0,a:0},"transparent"),JDt={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:i=>{if(i.charCodeAt(0)!==35)return;const a=i.match(JDt.re);if(!a)return;const f=a[1],p=parseInt(f,16),w=f.length,m=w%4===0,b=w>4,E=b?1:17,_=b?8:4,A=m?0:-1,I=b?255:15;return fW.set({r:(p>>_*(A+3)&I)*E,g:(p>>_*(A+2)&I)*E,b:(p>>_*(A+1)&I)*E,a:m?(p&I)*E/255:1},i)},stringify:i=>{const{r:a,g:f,b:p,a:w}=i;return w<1?`#${ok[Math.round(a)]}${ok[Math.round(f)]}${ok[Math.round(p)]}${ok[Math.round(w*255)]}`:`#${ok[Math.round(a)]}${ok[Math.round(f)]}${ok[Math.round(p)]}`}},KP=JDt,dW={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:i=>{const a=i.match(dW.hueRe);if(a){const[,f,p]=a;switch(p){case"grad":return ga.channel.clamp.h(parseFloat(f)*.9);case"rad":return ga.channel.clamp.h(parseFloat(f)*180/Math.PI);case"turn":return ga.channel.clamp.h(parseFloat(f)*360)}}return ga.channel.clamp.h(parseFloat(i))},parse:i=>{const a=i.charCodeAt(0);if(a!==104&&a!==72)return;const f=i.match(dW.re);if(!f)return;const[,p,w,m,b,E]=f;return fW.set({h:dW._hue2deg(p),s:ga.channel.clamp.s(parseFloat(w)),l:ga.channel.clamp.l(parseFloat(m)),a:b?ga.channel.clamp.a(E?parseFloat(b)/100:parseFloat(b)):1},i)},stringify:i=>{const{h:a,s:f,l:p,a:w}=i;return w<1?`hsla(${ga.lang.round(a)}, ${ga.lang.round(f)}%, ${ga.lang.round(p)}%, ${w})`:`hsl(${ga.lang.round(a)}, ${ga.lang.round(f)}%, ${ga.lang.round(p)}%)`}},gW=dW,pW={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:i=>{i=i.toLowerCase();const a=pW.colors[i];if(a)return KP.parse(a)},stringify:i=>{const a=KP.stringify(i);for(const f in pW.colors)if(pW.colors[f]===a)return f}},tIt=pW,eIt={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:i=>{const a=i.charCodeAt(0);if(a!==114&&a!==82)return;const f=i.match(eIt.re);if(!f)return;const[,p,w,m,b,E,_,A,I]=f;return fW.set({r:ga.channel.clamp.r(w?parseFloat(p)*2.55:parseFloat(p)),g:ga.channel.clamp.g(b?parseFloat(m)*2.55:parseFloat(m)),b:ga.channel.clamp.b(_?parseFloat(E)*2.55:parseFloat(E)),a:A?ga.channel.clamp.a(I?parseFloat(A)/100:parseFloat(A)):1},i)},stringify:i=>{const{r:a,g:f,b:p,a:w}=i;return w<1?`rgba(${ga.lang.round(a)}, ${ga.lang.round(f)}, ${ga.lang.round(p)}, ${ga.lang.round(w)})`:`rgb(${ga.lang.round(a)}, ${ga.lang.round(f)}, ${ga.lang.round(p)})`}},bW=eIt,em={format:{keyword:tIt,hex:KP,rgb:bW,rgba:bW,hsl:gW,hsla:gW},parse:i=>{if(typeof i!="string")return i;const a=KP.parse(i)||bW.parse(i)||gW.parse(i)||tIt.parse(i);if(a)return a;throw new Error(`Unsupported color format: "${i}"`)},stringify:i=>!i.changed&&i.color?i.color:i.type.is(x0.HSL)||i.data.r===void 0?gW.stringify(i):i.a<1||!Number.isInteger(i.r)||!Number.isInteger(i.g)||!Number.isInteger(i.b)?bW.stringify(i):KP.stringify(i)},nIt=(i,a)=>{const f=em.parse(i);for(const p in a)f[p]=ga.channel.clamp[p](a[p]);return em.stringify(f)},FA=(i,a,f=0,p=1)=>{if(typeof i!="number")return nIt(i,{a});const w=fW.set({r:ga.channel.clamp.r(i),g:ga.channel.clamp.g(a),b:ga.channel.clamp.b(f),a:ga.channel.clamp.a(p)});return em.stringify(w)},cCe=(i,a)=>ga.lang.round(em.parse(i)[a]),uCe=i=>{const{r:a,g:f,b:p}=em.parse(i),w=.2126*ga.channel.toLinear(a)+.7152*ga.channel.toLinear(f)+.0722*ga.channel.toLinear(p);return ga.lang.round(w)},lCe=i=>uCe(i)>=.5,iT=i=>!lCe(i),rIt=(i,a,f)=>{const p=em.parse(i),w=p[a],m=ga.channel.clamp[a](w+f);return w!==m&&(p[a]=m),em.stringify(p)},bs=(i,a)=>rIt(i,"l",a),$s=(i,a)=>rIt(i,"l",-a),xn=(i,a)=>{const f=em.parse(i),p={};for(const w in a)a[w]&&(p[w]=f[w]+a[w]);return nIt(i,p)},hCe=(i,a,f=50)=>{const{r:p,g:w,b:m,a:b}=em.parse(i),{r:E,g:_,b:A,a:I}=em.parse(a),B=f/100,N=B*2-1,R=b-I,W=((N*R===-1?N:(N+R)/(1+N*R))+1)/2,et=1-W,st=p*W+E*et,at=w*W+_*et,bt=m*W+A*et,mt=b*B+I*(1-B);return FA(st,at,bt,mt)},Di=(i,a=100)=>{const f=em.parse(i);return f.r=255-f.r,f.g=255-f.g,f.b=255-f.b,hCe(f,i,a)},lg=(i,a)=>a?xn(i,{s:-40,l:10}):xn(i,{s:-40,l:-10}),wW="#ffffff",vW="#f2f2f2";let fCe=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){var f,p,w,m,b,E,_,A,I,B,N;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||xn(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||xn(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||lg(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||lg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||lg(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||lg(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||Di(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Di(this.tertiaryColor),this.lineColor=this.lineColor||Di(this.background),this.arrowheadColor=this.arrowheadColor||Di(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?$s(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||$s(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Di(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||bs(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||xn(this.primaryColor,{h:30}),this.cScale4=this.cScale4||xn(this.primaryColor,{h:60}),this.cScale5=this.cScale5||xn(this.primaryColor,{h:90}),this.cScale6=this.cScale6||xn(this.primaryColor,{h:120}),this.cScale7=this.cScale7||xn(this.primaryColor,{h:150}),this.cScale8=this.cScale8||xn(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||xn(this.primaryColor,{h:270}),this.cScale10=this.cScale10||xn(this.primaryColor,{h:300}),this.cScale11=this.cScale11||xn(this.primaryColor,{h:330}),this.darkMode)for(let R=0;R{this[p]=a[p]}),this.updateColors(),f.forEach(p=>{this[p]=a[p]})}};const dCe=i=>{const a=new fCe;return a.calculate(i),a};let gCe=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=bs(this.primaryColor,16),this.tertiaryColor=xn(this.primaryColor,{h:-160}),this.primaryBorderColor=Di(this.background),this.secondaryBorderColor=lg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=lg(this.tertiaryColor,this.darkMode),this.primaryTextColor=Di(this.primaryColor),this.secondaryTextColor=Di(this.secondaryColor),this.tertiaryTextColor=Di(this.tertiaryColor),this.lineColor=Di(this.background),this.textColor=Di(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=bs(Di("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=FA(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=$s("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=$s(this.sectionBkgColor,10),this.taskBorderColor=FA(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=FA(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var a,f,p,w,m,b,E,_,A,I,B;this.secondBkg=bs(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=bs(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=bs(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=xn(this.primaryColor,{h:64}),this.fillType3=xn(this.secondaryColor,{h:64}),this.fillType4=xn(this.primaryColor,{h:-64}),this.fillType5=xn(this.secondaryColor,{h:-64}),this.fillType6=xn(this.primaryColor,{h:128}),this.fillType7=xn(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||xn(this.primaryColor,{h:30}),this.cScale4=this.cScale4||xn(this.primaryColor,{h:60}),this.cScale5=this.cScale5||xn(this.primaryColor,{h:90}),this.cScale6=this.cScale6||xn(this.primaryColor,{h:120}),this.cScale7=this.cScale7||xn(this.primaryColor,{h:150}),this.cScale8=this.cScale8||xn(this.primaryColor,{h:210}),this.cScale9=this.cScale9||xn(this.primaryColor,{h:270}),this.cScale10=this.cScale10||xn(this.primaryColor,{h:300}),this.cScale11=this.cScale11||xn(this.primaryColor,{h:330});for(let N=0;N{this[p]=a[p]}),this.updateColors(),f.forEach(p=>{this[p]=a[p]})}};const pCe=i=>{const a=new gCe;return a.calculate(i),a};let bCe=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=xn(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=xn(this.primaryColor,{h:-160}),this.primaryBorderColor=lg(this.primaryColor,this.darkMode),this.secondaryBorderColor=lg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=lg(this.tertiaryColor,this.darkMode),this.primaryTextColor=Di(this.primaryColor),this.secondaryTextColor=Di(this.secondaryColor),this.tertiaryTextColor=Di(this.tertiaryColor),this.lineColor=Di(this.background),this.textColor=Di(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=FA(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var a,f,p,w,m,b,E,_,A,I,B;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||xn(this.primaryColor,{h:30}),this.cScale4=this.cScale4||xn(this.primaryColor,{h:60}),this.cScale5=this.cScale5||xn(this.primaryColor,{h:90}),this.cScale6=this.cScale6||xn(this.primaryColor,{h:120}),this.cScale7=this.cScale7||xn(this.primaryColor,{h:150}),this.cScale8=this.cScale8||xn(this.primaryColor,{h:210}),this.cScale9=this.cScale9||xn(this.primaryColor,{h:270}),this.cScale10=this.cScale10||xn(this.primaryColor,{h:300}),this.cScale11=this.cScale11||xn(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||$s(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||$s(this.tertiaryColor,40);for(let N=0;N{this[p]=a[p]}),this.updateColors(),f.forEach(p=>{this[p]=a[p]})}};const X1t=i=>{const a=new bCe;return a.calculate(i),a};let wCe=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=bs("#cde498",10),this.primaryBorderColor=lg(this.primaryColor,this.darkMode),this.secondaryBorderColor=lg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=lg(this.tertiaryColor,this.darkMode),this.primaryTextColor=Di(this.primaryColor),this.secondaryTextColor=Di(this.secondaryColor),this.tertiaryTextColor=Di(this.primaryColor),this.lineColor=Di(this.background),this.textColor=Di(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var a,f,p,w,m,b,E,_,A,I,B;this.actorBorder=$s(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||xn(this.primaryColor,{h:30}),this.cScale4=this.cScale4||xn(this.primaryColor,{h:60}),this.cScale5=this.cScale5||xn(this.primaryColor,{h:90}),this.cScale6=this.cScale6||xn(this.primaryColor,{h:120}),this.cScale7=this.cScale7||xn(this.primaryColor,{h:150}),this.cScale8=this.cScale8||xn(this.primaryColor,{h:210}),this.cScale9=this.cScale9||xn(this.primaryColor,{h:270}),this.cScale10=this.cScale10||xn(this.primaryColor,{h:300}),this.cScale11=this.cScale11||xn(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||$s(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||$s(this.tertiaryColor,40);for(let N=0;N{this[p]=a[p]}),this.updateColors(),f.forEach(p=>{this[p]=a[p]})}};const vCe=i=>{const a=new wCe;return a.calculate(i),a};class mCe{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=bs(this.contrast,55),this.background="#ffffff",this.tertiaryColor=xn(this.primaryColor,{h:-160}),this.primaryBorderColor=lg(this.primaryColor,this.darkMode),this.secondaryBorderColor=lg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=lg(this.tertiaryColor,this.darkMode),this.primaryTextColor=Di(this.primaryColor),this.secondaryTextColor=Di(this.secondaryColor),this.tertiaryTextColor=Di(this.tertiaryColor),this.lineColor=Di(this.background),this.textColor=Di(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var a,f,p,w,m,b,E,_,A,I,B;this.secondBkg=bs(this.contrast,55),this.border2=this.contrast,this.actorBorder=bs(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let N=0;N{this[p]=a[p]}),this.updateColors(),f.forEach(p=>{this[p]=a[p]})}}const T5={base:{getThemeVariables:dCe},dark:{getThemeVariables:pCe},default:{getThemeVariables:X1t},forest:{getThemeVariables:vCe},neutral:{getThemeVariables:i=>{const a=new mCe;return a.calculate(i),a}}},C5={flowchart:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},theme:"default",maxTextSize:5e4,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize"],deterministicIds:!1,fontSize:16},iIt={...C5,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:T5.default.getThemeVariables(),sequence:{...C5.sequence,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{...C5.gantt,tickInterval:void 0,useWidth:void 0},c4:{...C5.c4,useWidth:void 0,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}},pie:{...C5.pie,useWidth:984},xyChart:{...C5.xyChart,useWidth:void 0},requirement:{...C5.requirement,useWidth:void 0},gitGraph:{...C5.gitGraph,useMaxWidth:!1},sankey:{...C5.sankey,useMaxWidth:!1}},sIt=(i,a="")=>Object.keys(i).reduce((f,p)=>Array.isArray(i[p])?f:typeof i[p]=="object"&&i[p]!==null?[...f,a+p,...sIt(i[p],"")]:[...f,a+p],[]),yCe=new Set(sIt(iIt,"")),Zh=iIt,mW=i=>{if(Ut.debug("sanitizeDirective called with",i),!(typeof i!="object"||i==null)){if(Array.isArray(i)){i.forEach(a=>mW(a));return}for(const a of Object.keys(i)){if(Ut.debug("Checking key",a),a.startsWith("__")||a.includes("proto")||a.includes("constr")||!yCe.has(a)||i[a]==null){Ut.debug("sanitize deleting key: ",a),delete i[a];continue}if(typeof i[a]=="object"){Ut.debug("sanitizing object",a),mW(i[a]);continue}const f=["themeCSS","fontFamily","altFontFamily"];for(const p of f)a.includes(p)&&(Ut.debug("sanitizing css option",a),i[a]=xCe(i[a]))}if(i.themeVariables)for(const a of Object.keys(i.themeVariables)){const f=i.themeVariables[a];f!=null&&f.match&&!f.match(/^[\d "#%(),.;A-Za-z]+$/)&&(i.themeVariables[a]="")}Ut.debug("After sanitization",i)}},xCe=i=>{let a=0,f=0;for(const p of i){if(a{for(const{id:a,detector:f,loader:p}of i)uIt(a,f,p)},uIt=(i,a,f)=>{NA[i]?Ut.error(`Detector with key ${i} already exists`):NA[i]={detector:a,loader:f},Ut.debug(`Detector with key ${i} added${f?" with loader":""}`)},ECe=i=>NA[i].loader,Q1t=(i,a,{depth:f=2,clobber:p=!1}={})=>{const w={depth:f,clobber:p};return Array.isArray(a)&&!Array.isArray(i)?(a.forEach(m=>Q1t(i,m,w)),i):Array.isArray(a)&&Array.isArray(i)?(a.forEach(m=>{i.includes(m)||i.push(m)}),i):i===void 0||f<=0?i!=null&&typeof i=="object"&&typeof a=="object"?Object.assign(i,a):a:(a!==void 0&&typeof i=="object"&&typeof a=="object"&&Object.keys(a).forEach(m=>{typeof a[m]=="object"&&(i[m]===void 0||typeof i[m]=="object")?(i[m]===void 0&&(i[m]=Array.isArray(a[m])?[]:{}),i[m]=Q1t(i[m],a[m],{depth:f-1,clobber:p})):(p||typeof i[m]!="object"&&typeof a[m]!="object")&&(i[m]=a[m])}),i)},Z1=Q1t;var TCe=typeof global=="object"&&global&&global.Object===Object&&global;const lIt=TCe;var CCe=typeof self=="object"&&self&&self.Object===Object&&self,_Ce=lIt||CCe||Function("return this")();const nm=_Ce;var SCe=nm.Symbol;const tw=SCe;var hIt=Object.prototype,ACe=hIt.hasOwnProperty,LCe=hIt.toString,QP=tw?tw.toStringTag:void 0;function MCe(i){var a=ACe.call(i,QP),f=i[QP];try{i[QP]=void 0;var p=!0}catch{}var w=LCe.call(i);return p&&(a?i[QP]=f:delete i[QP]),w}var DCe=Object.prototype,ICe=DCe.toString;function OCe(i){return ICe.call(i)}var PCe="[object Null]",FCe="[object Undefined]",fIt=tw?tw.toStringTag:void 0;function sT(i){return i==null?i===void 0?FCe:PCe:fIt&&fIt in Object(i)?MCe(i):OCe(i)}function Fb(i){var a=typeof i;return i!=null&&(a=="object"||a=="function")}var NCe="[object AsyncFunction]",BCe="[object Function]",RCe="[object GeneratorFunction]",jCe="[object Proxy]";function BA(i){if(!Fb(i))return!1;var a=sT(i);return a==BCe||a==RCe||a==NCe||a==jCe}var $Ce=nm["__core-js_shared__"];const Z1t=$Ce;var dIt=function(){var i=/[^.]+$/.exec(Z1t&&Z1t.keys&&Z1t.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}();function zCe(i){return!!dIt&&dIt in i}var qCe=Function.prototype,HCe=qCe.toString;function aT(i){if(i!=null){try{return HCe.call(i)}catch{}try{return i+""}catch{}}return""}var VCe=/[\\^$.*+?()[\]{}|]/g,GCe=/^\[object .+?Constructor\]$/,UCe=Function.prototype,WCe=Object.prototype,YCe=UCe.toString,KCe=WCe.hasOwnProperty,XCe=RegExp("^"+YCe.call(KCe).replace(VCe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function QCe(i){if(!Fb(i)||zCe(i))return!1;var a=BA(i)?XCe:GCe;return a.test(aT(i))}function ZCe(i,a){return i==null?void 0:i[a]}function oT(i,a){var f=ZCe(i,a);return QCe(f)?f:void 0}var JCe=oT(Object,"create");const ZP=JCe;function t9e(){this.__data__=ZP?ZP(null):{},this.size=0}function e9e(i){var a=this.has(i)&&delete this.__data__[i];return this.size-=a?1:0,a}var n9e="__lodash_hash_undefined__",r9e=Object.prototype,i9e=r9e.hasOwnProperty;function s9e(i){var a=this.__data__;if(ZP){var f=a[i];return f===n9e?void 0:f}return i9e.call(a,i)?a[i]:void 0}var a9e=Object.prototype,o9e=a9e.hasOwnProperty;function c9e(i){var a=this.__data__;return ZP?a[i]!==void 0:o9e.call(a,i)}var u9e="__lodash_hash_undefined__";function l9e(i,a){var f=this.__data__;return this.size+=this.has(i)?0:1,f[i]=ZP&&a===void 0?u9e:a,this}function cT(i){var a=-1,f=i==null?0:i.length;for(this.clear();++a-1}function w9e(i,a){var f=this.__data__,p=xW(f,i);return p<0?(++this.size,f.push([i,a])):f[p][1]=a,this}function _5(i){var a=-1,f=i==null?0:i.length;for(this.clear();++a-1&&i%1==0&&i<=U9e}function ck(i){return i!=null&&rdt(i.length)&&!BA(i)}function _It(i){return f3(i)&&ck(i)}function W9e(){return!1}var SIt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,AIt=SIt&&typeof module=="object"&&module&&!module.nodeType&&module,Y9e=AIt&&AIt.exports===SIt,LIt=Y9e?nm.Buffer:void 0,K9e=LIt?LIt.isBuffer:void 0,X9e=K9e||W9e;const zA=X9e;var Q9e="[object Object]",Z9e=Function.prototype,J9e=Object.prototype,MIt=Z9e.toString,t_e=J9e.hasOwnProperty,e_e=MIt.call(Object);function DIt(i){if(!f3(i)||sT(i)!=Q9e)return!1;var a=ndt(i);if(a===null)return!0;var f=t_e.call(a,"constructor")&&a.constructor;return typeof f=="function"&&f instanceof f&&MIt.call(f)==e_e}var n_e="[object Arguments]",r_e="[object Array]",i_e="[object Boolean]",s_e="[object Date]",a_e="[object Error]",o_e="[object Function]",c_e="[object Map]",u_e="[object Number]",l_e="[object Object]",h_e="[object RegExp]",f_e="[object Set]",d_e="[object String]",g_e="[object WeakMap]",p_e="[object ArrayBuffer]",b_e="[object DataView]",w_e="[object Float32Array]",v_e="[object Float64Array]",m_e="[object Int8Array]",y_e="[object Int16Array]",x_e="[object Int32Array]",k_e="[object Uint8Array]",E_e="[object Uint8ClampedArray]",T_e="[object Uint16Array]",C_e="[object Uint32Array]",bl={};bl[w_e]=bl[v_e]=bl[m_e]=bl[y_e]=bl[x_e]=bl[k_e]=bl[E_e]=bl[T_e]=bl[C_e]=!0,bl[n_e]=bl[r_e]=bl[p_e]=bl[i_e]=bl[b_e]=bl[s_e]=bl[a_e]=bl[o_e]=bl[c_e]=bl[u_e]=bl[l_e]=bl[h_e]=bl[f_e]=bl[d_e]=bl[g_e]=!1;function __e(i){return f3(i)&&rdt(i.length)&&!!bl[sT(i)]}function SW(i){return function(a){return i(a)}}var IIt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,tF=IIt&&typeof module=="object"&&module&&!module.nodeType&&module,S_e=tF&&tF.exports===IIt,idt=S_e&&lIt.process,A_e=function(){try{var i=tF&&tF.require&&tF.require("util").types;return i||idt&&idt.binding&&idt.binding("util")}catch{}}();const qA=A_e;var OIt=qA&&qA.isTypedArray,L_e=OIt?SW(OIt):__e;const AW=L_e;function sdt(i,a){if(!(a==="constructor"&&typeof i[a]=="function")&&a!="__proto__")return i[a]}var M_e=Object.prototype,D_e=M_e.hasOwnProperty;function LW(i,a,f){var p=i[a];(!(D_e.call(i,a)&&RA(p,f))||f===void 0&&!(a in i))&&TW(i,a,f)}function eF(i,a,f,p){var w=!f;f||(f={});for(var m=-1,b=a.length;++m-1&&i%1==0&&i0){if(++a>=U_e)return arguments[0]}else a=0;return i.apply(void 0,arguments)}}var X_e=K_e(G_e);const RIt=X_e;function DW(i,a){return RIt(BIt(i,a,lT),i+"")}function nF(i,a,f){if(!Fb(f))return!1;var p=typeof a;return(p=="number"?ck(f)&&MW(a,f.length):p=="string"&&a in f)?RA(f[a],i):!1}function Q_e(i){return DW(function(a,f){var p=-1,w=f.length,m=w>1?f[w-1]:void 0,b=w>2?f[2]:void 0;for(m=i.length>3&&typeof m=="function"?(w--,m):void 0,b&&nF(f[0],f[1],b)&&(m=w<3?void 0:m,w=1),a=Object(a);++pE.args);mW(b),p=Z1(p,[...b])}else p=f.args;if(!p)return;let w=yW(i,a);const m="config";return p[m]!==void 0&&(w==="flowchart-v2"&&(w="flowchart"),p[w]=p[m],delete p[m]),p},$It=function(i,a=null){try{const f=new RegExp(`[%]{2}(?![{]${tSe.source})(?=[}][%]{2}).* +`,"ig");i=i.trim().replace(f,"").replace(/'/gm,'"'),Ut.debug(`Detecting diagram directive${a!==null?" type:"+a:""} based on the text:${i}`);let p;const w=[];for(;(p=XP.exec(i))!==null;)if(p.index===XP.lastIndex&&XP.lastIndex++,p&&!a||a&&p[1]&&p[1].match(a)||a&&p[2]&&p[2].match(a)){const m=p[1]?p[1]:p[2],b=p[3]?p[3].trim():p[4]?JSON.parse(p[4].trim()):null;w.push({type:m,args:b})}return w.length===0?{type:i,args:null}:w.length===1?w[0]:w}catch(f){return Ut.error(`ERROR: ${f.message} - Unable to parse directive type: '${a}' based on the text: '${i}'`),{type:void 0,args:null}}},nSe=function(i){return i.replace(XP,"")},rSe=function(i,a){for(const[f,p]of a.entries())if(p.match(i))return f;return-1};function ew(i,a){if(!i)return a;const f=`curve${i.charAt(0).toUpperCase()+i.slice(1)}`;return J_e[f]??a}function iSe(i,a){const f=i.trim();if(f)return a.securityLevel!=="loose"?ik(f):f}const sSe=(i,...a)=>{const f=i.split("."),p=f.length-1,w=f[p];let m=window;for(let b=0;b{f+=zIt(w,a),a=w});const p=f/2;return adt(i,p)}function oSe(i){return i.length===1?i[0]:aSe(i)}const qIt=(i,a=2)=>{const f=Math.pow(10,a);return Math.round(i*f)/f},adt=(i,a)=>{let f,p=a;for(const w of i){if(f){const m=zIt(w,f);if(m=1)return{x:w.x,y:w.y};if(b>0&&b<1)return{x:qIt((1-b)*f.x+b*w.x,5),y:qIt((1-b)*f.y+b*w.y,5)}}}f=w}throw new Error("Could not find a suitable point for the given distance")},cSe=(i,a,f)=>{Ut.info(`our points ${JSON.stringify(a)}`),a[0]!==f&&(a=a.reverse());const w=adt(a,25),m=i?10:5,b=Math.atan2(a[0].y-w.y,a[0].x-w.x),E={x:0,y:0};return E.x=Math.sin(b)*m+(a[0].x+w.x)/2,E.y=-Math.cos(b)*m+(a[0].y+w.y)/2,E};function uSe(i,a,f){const p=structuredClone(f);Ut.info("our points",p),a!=="start_left"&&a!=="start_right"&&p.reverse();const w=25+i,m=adt(p,w),b=10+i*.5,E=Math.atan2(p[0].y-m.y,p[0].x-m.x),_={x:0,y:0};return a==="start_left"?(_.x=Math.sin(E+Math.PI)*b+(p[0].x+m.x)/2,_.y=-Math.cos(E+Math.PI)*b+(p[0].y+m.y)/2):a==="end_right"?(_.x=Math.sin(E-Math.PI)*b+(p[0].x+m.x)/2-5,_.y=-Math.cos(E-Math.PI)*b+(p[0].y+m.y)/2-5):a==="end_left"?(_.x=Math.sin(E)*b+(p[0].x+m.x)/2-5,_.y=-Math.cos(E)*b+(p[0].y+m.y)/2-5):(_.x=Math.sin(E)*b+(p[0].x+m.x)/2,_.y=-Math.cos(E)*b+(p[0].y+m.y)/2),_}function im(i){let a="",f="";for(const p of i)p!==void 0&&(p.startsWith("color:")||p.startsWith("text-align:")?f=f+p+";":a=a+p+";");return{style:a,labelStyle:f}}let HIt=0;const VIt=()=>(HIt++,"id-"+Math.random().toString(36).substr(2,12)+"-"+HIt);function lSe(i){let a="";const f="0123456789abcdef",p=f.length;for(let w=0;wlSe(i.length),hSe=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},fSe=function(i,a){const f=a.text.replace(Kr.lineBreakRegex," "),[,p]=VA(a.fontSize),w=i.append("text");w.attr("x",a.x),w.attr("y",a.y),w.style("text-anchor",a.anchor),w.style("font-family",a.fontFamily),w.style("font-size",p),w.style("font-weight",a.fontWeight),w.attr("fill",a.fill),a.class!==void 0&&w.attr("class",a.class);const m=w.append("tspan");return m.attr("x",a.x+a.textMargin*2),m.attr("fill",a.fill),m.text(f),w},UIt=jA((i,a,f)=>{if(!i||(f=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},f),Kr.lineBreakRegex.test(i)))return i;const p=i.split(" "),w=[];let m="";return p.forEach((b,E)=>{const _=d3(`${b} `,f),A=d3(m,f);if(_>a){const{hyphenatedStrings:N,remainingWord:R}=dSe(b,a,"-",f);w.push(m,...N),m=R}else A+_>=a?(w.push(m),m=b):m=[m,b].filter(Boolean).join(" ");E+1===p.length&&w.push(m)}),w.filter(b=>b!=="").join(f.joinWith)},(i,a,f)=>`${i}${a}${f.fontSize}${f.fontWeight}${f.fontFamily}${f.joinWith}`),dSe=jA((i,a,f="-",p)=>{p=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},p);const w=[...i],m=[];let b="";return w.forEach((E,_)=>{const A=`${b}${E}`;if(d3(A,p)>=a){const B=_+1,N=w.length===B,R=`${A}${f}`;m.push(N?A:R),b=""}else b=A}),{hyphenatedStrings:m,remainingWord:b}},(i,a,f="-",p)=>`${i}${a}${f}${p.fontSize}${p.fontWeight}${p.fontFamily}`);function odt(i,a){return cdt(i,a).height}function d3(i,a){return cdt(i,a).width}const cdt=jA((i,a)=>{const{fontSize:f=12,fontFamily:p="Arial",fontWeight:w=400}=a;if(!i)return{width:0,height:0};const[,m]=VA(f),b=["sans-serif",p],E=i.split(Kr.lineBreakRegex),_=[],A=yr("body");if(!A.remove)return{width:0,height:0,lineHeight:0};const I=A.append("svg");for(const N of b){let R=0;const z={width:0,height:0,lineHeight:0};for(const W of E){const et=hSe();et.text=W||jIt;const st=fSe(I,et).style("font-size",m).style("font-weight",w).style("font-family",N),at=(st._groups||st)[0][0].getBBox();if(at.width===0&&at.height===0)throw new Error("svg element not in render tree");z.width=Math.round(Math.max(z.width,at.width)),R=Math.round(at.height),z.height+=R,z.lineHeight=Math.round(Math.max(z.lineHeight,R))}_.push(z)}I.remove();const B=isNaN(_[1].height)||isNaN(_[1].width)||isNaN(_[1].lineHeight)||_[0].height>_[1].height&&_[0].width>_[1].width&&_[0].lineHeight>_[1].lineHeight?0:1;return _[B]},(i,a)=>`${i}${a.fontSize}${a.fontWeight}${a.fontFamily}`);class gSe{constructor(a=!1,f){this.count=0,this.count=f?f.length:0,this.next=a?()=>this.count++:()=>Date.now()}}let OW;const pSe=function(i){return OW=OW||document.createElement("div"),i=escape(i).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),OW.innerHTML=i,unescape(OW.textContent)};function WIt(i){return"str"in i}const bSe=(i,a,f,p)=>{var m;if(!p)return;const w=(m=i.node())==null?void 0:m.getBBox();w&&i.append("text").text(p).attr("x",w.x+w.width/2).attr("y",-f).attr("class",a)},VA=i=>{if(typeof i=="number")return[i,i+"px"];const a=parseInt(i??"",10);return Number.isNaN(a)?[void 0,void 0]:i===String(a)?[a,i+"px"]:[a,i]};function rF(i,a){return IW({},i,a)}const $a={assignWithDepth:Z1,wrapLabel:UIt,calculateTextHeight:odt,calculateTextWidth:d3,calculateTextDimensions:cdt,cleanAndMerge:rF,detectInit:eSe,detectDirective:$It,isSubstringInArray:rSe,interpolateToCurve:ew,calcLabelPosition:oSe,calcCardinalityPosition:cSe,calcTerminalLabelPosition:uSe,formatUrl:iSe,getStylesFromArray:im,generateId:VIt,random:GIt,runFunc:sSe,entityDecode:pSe,insertTitle:bSe,parseFontSize:VA,InitIDGenerator:gSe};var YIt="comm",KIt="rule",XIt="decl",wSe="@import",vSe="@keyframes",mSe=Math.abs,udt=String.fromCharCode;function QIt(i){return i.trim()}function ldt(i,a,f){return i.replace(a,f)}function ySe(i,a){return i.indexOf(a)}function iF(i,a){return i.charCodeAt(a)|0}function sF(i,a,f){return i.slice(a,f)}function uk(i){return i.length}function ZIt(i){return i.length}function PW(i,a){return a.push(i),i}var FW=1,GA=1,JIt=0,nw=0,Of=0,UA="";function hdt(i,a,f,p,w,m,b){return{value:i,root:a,parent:f,type:p,props:w,children:m,line:FW,column:GA,length:b,return:""}}function xSe(){return Of}function kSe(){return Of=nw>0?iF(UA,--nw):0,GA--,Of===10&&(GA=1,FW--),Of}function sm(){return Of=nw2||fdt(Of)>3?"":" "}function _Se(i,a){for(;--a&&sm()&&!(Of<48||Of>102||Of>57&&Of<65||Of>70&&Of<97););return BW(i,NW()+(a<6&&hT()==32&&sm()==32))}function gdt(i){for(;sm();)switch(Of){case i:return nw;case 34:case 39:i!==34&&i!==39&&gdt(Of);break;case 40:i===41&&gdt(i);break;case 92:sm();break}return nw}function SSe(i,a){for(;sm()&&i+Of!==47+10;)if(i+Of===42+42&&hT()===47)break;return"/*"+BW(a,nw-1)+"*"+udt(i===47?i:sm())}function ASe(i){for(;!fdt(hT());)sm();return BW(i,nw)}function LSe(i){return TSe(RW("",null,null,null,[""],i=ESe(i),0,[0],i))}function RW(i,a,f,p,w,m,b,E,_){for(var A=0,I=0,B=b,N=0,R=0,z=0,W=1,et=1,st=1,at=0,bt="",mt=w,yt=m,ft=p,ut=bt;et;)switch(z=at,at=sm()){case 40:if(z!=108&&iF(ut,B-1)==58){ySe(ut+=ldt(ddt(at),"&","&\f"),"&\f")!=-1&&(st=-1);break}case 34:case 39:case 91:ut+=ddt(at);break;case 9:case 10:case 13:case 32:ut+=CSe(z);break;case 92:ut+=_Se(NW()-1,7);continue;case 47:switch(hT()){case 42:case 47:PW(MSe(SSe(sm(),NW()),a,f),_);break;default:ut+="/"}break;case 123*W:E[A++]=uk(ut)*st;case 125*W:case 59:case 0:switch(at){case 0:case 125:et=0;case 59+I:R>0&&uk(ut)-B&&PW(R>32?eOt(ut+";",p,f,B-1):eOt(ldt(ut," ","")+";",p,f,B-2),_);break;case 59:ut+=";";default:if(PW(ft=tOt(ut,a,f,A,I,w,E,bt,mt=[],yt=[],B),m),at===123)if(I===0)RW(ut,a,ft,ft,mt,m,B,E,yt);else switch(N===99&&iF(ut,3)===110?100:N){case 100:case 109:case 115:RW(i,ft,ft,p&&PW(tOt(i,ft,ft,0,0,w,E,bt,w,mt=[],B),yt),w,yt,B,E,p?mt:yt);break;default:RW(ut,ft,ft,ft,[""],yt,0,E,yt)}}A=I=R=0,W=st=1,bt=ut="",B=b;break;case 58:B=1+uk(ut),R=z;default:if(W<1){if(at==123)--W;else if(at==125&&W++==0&&kSe()==125)continue}switch(ut+=udt(at),at*W){case 38:st=I>0?1:(ut+="\f",-1);break;case 44:E[A++]=(uk(ut)-1)*st,st=1;break;case 64:hT()===45&&(ut+=ddt(sm())),N=hT(),I=B=uk(bt=ut+=ASe(NW())),at++;break;case 45:z===45&&uk(ut)==2&&(W=0)}}return m}function tOt(i,a,f,p,w,m,b,E,_,A,I){for(var B=w-1,N=w===0?m:[""],R=ZIt(N),z=0,W=0,et=0;z0?N[st]+" "+at:ldt(at,/&\f/g,N[st])))&&(_[et++]=bt);return hdt(i,a,f,w===0?KIt:E,_,A,I)}function MSe(i,a,f){return hdt(i,a,f,YIt,udt(xSe()),sF(i,2,-2),0)}function eOt(i,a,f,p){return hdt(i,a,f,XIt,sF(i,0,p),sF(i,p+1,-1),p)}function pdt(i,a){for(var f="",p=ZIt(i),w=0;w{let f=Z1({},i),p={};for(const w of a)aOt(w),p=Z1(p,w);if(f=Z1(f,p),p.theme&&p.theme in T5){const w=Z1({},rOt),m=Z1(w.themeVariables||{},p.themeVariables);f.theme&&f.theme in T5&&(f.themeVariables=T5[f.theme].getThemeVariables(m))}return aF=f,cOt(aF),aF},ISe=i=>(fp=Z1({},WA),fp=Z1(fp,i),i.theme&&T5[i.theme]&&(fp.themeVariables=T5[i.theme].getThemeVariables(i.themeVariables)),jW(fp,YA),fp),OSe=i=>{rOt=Z1({},i)},PSe=i=>(fp=Z1(fp,i),jW(fp,YA),fp),iOt=()=>Z1({},fp),sOt=i=>(cOt(i),Z1(aF,i),Fd()),Fd=()=>Z1({},aF),aOt=i=>{i&&(["secure",...fp.secure??[]].forEach(a=>{Object.hasOwn(i,a)&&(Ut.debug(`Denied attempt to modify a secure key ${a}`,i[a]),delete i[a])}),Object.keys(i).forEach(a=>{a.startsWith("__")&&delete i[a]}),Object.keys(i).forEach(a=>{typeof i[a]=="string"&&(i[a].includes("<")||i[a].includes(">")||i[a].includes("url(data:"))&&delete i[a],typeof i[a]=="object"&&aOt(i[a])}))},FSe=i=>{mW(i),i.fontFamily&&(!i.themeVariables||!i.themeVariables.fontFamily)&&(i.themeVariables={fontFamily:i.fontFamily}),YA.push(i),jW(fp,YA)},$W=(i=fp)=>{YA=[],jW(i,YA)},NSe={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},oOt={},BSe=i=>{oOt[i]||(Ut.warn(NSe[i]),oOt[i]=!0)},cOt=i=>{i&&(i.lazyLoadedDiagrams||i.loadExternalDiagramsAtStartup)&&BSe("LAZY_LOAD_DEPRECATED")},uOt="c4",RSe={id:uOt,detector:i=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>nIe);return{id:uOt,diagram:i}}},lOt="flowchart",jSe={id:lOt,detector:(i,a)=>{var f,p;return((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="dagre-wrapper"||((p=a==null?void 0:a.flowchart)==null?void 0:p.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>cze);return{id:lOt,diagram:i}}},hOt="flowchart-v2",$Se={id:hOt,detector:(i,a)=>{var f,p,w;return((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="dagre-d3"||((p=a==null?void 0:a.flowchart)==null?void 0:p.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)&&((w=a==null?void 0:a.flowchart)==null?void 0:w.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>uze);return{id:hOt,diagram:i}}},fOt="er",zSe={id:fOt,detector:i=>/^\s*erDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Fze);return{id:fOt,diagram:i}}},dOt="gitGraph",qSe={id:dOt,detector:i=>/^\s*gitGraph/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>aqe);return{id:dOt,diagram:i}}},gOt="gantt",HSe={id:gOt,detector:i=>/^\s*gantt/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Kqe);return{id:gOt,diagram:i}}},pOt="info",VSe={id:pOt,detector:i=>/^\s*info/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Qqe);return{id:pOt,diagram:i}}},bOt="pie",GSe={id:bOt,detector:i=>/^\s*pie/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>rHe);return{id:bOt,diagram:i}}},wOt="quadrantChart",USe={id:wOt,detector:i=>/^\s*quadrantChart/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>mHe);return{id:wOt,diagram:i}}},vOt="xychart",WSe={id:vOt,detector:i=>/^\s*xychart-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>HHe);return{id:vOt,diagram:i}}},mOt="requirement",YSe={id:mOt,detector:i=>/^\s*requirement(Diagram)?/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>JHe);return{id:mOt,diagram:i}}},yOt="sequence",KSe={id:yOt,detector:i=>/^\s*sequenceDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>iGe);return{id:yOt,diagram:i}}},xOt="class",XSe={id:xOt,detector:(i,a)=>{var f;return((f=a==null?void 0:a.class)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>AGe);return{id:xOt,diagram:i}}},kOt="classDiagram",QSe={id:kOt,detector:(i,a)=>{var f;return/^\s*classDiagram/.test(i)&&((f=a==null?void 0:a.class)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>PGe);return{id:kOt,diagram:i}}},EOt="state",ZSe={id:EOt,detector:(i,a)=>{var f;return((f=a==null?void 0:a.state)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>xUe);return{id:EOt,diagram:i}}},TOt="stateDiagram",JSe={id:TOt,detector:(i,a)=>{var f;return!!(/^\s*stateDiagram-v2/.test(i)||/^\s*stateDiagram/.test(i)&&((f=a==null?void 0:a.state)==null?void 0:f.defaultRenderer)==="dagre-wrapper")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>$Ue);return{id:TOt,diagram:i}}},COt="journey",tAe={id:COt,detector:i=>/^\s*journey/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>sWe);return{id:COt,diagram:i}}},eAe=function(i,a){for(let f of a)i.attr(f[0],f[1])},nAe=function(i,a,f){let p=new Map;return f?(p.set("width","100%"),p.set("style",`max-width: ${a}px;`)):(p.set("height",i),p.set("width",a)),p},k0=function(i,a,f,p){const w=nAe(a,f,p);eAe(i,w)},fT=function(i,a,f,p){const w=a.node().getBBox(),m=w.width,b=w.height;Ut.info(`SVG bounds: ${m}x${b}`,w);let E=0,_=0;Ut.info(`Graph bounds: ${E}x${_}`,i),E=m+f*2,_=b+f*2,Ut.info(`Calculated bounds: ${E}x${_}`),k0(a,_,E,p);const A=`${w.x-f} ${w.y-f} ${w.width+2*f} ${w.height+2*f}`;a.attr("viewBox",A)},zW={},rAe=(i,a,f)=>{let p="";return i in zW&&zW[i]?p=zW[i](f):Ut.warn(`No theme found for ${i}`),` & { + font-family: ${f.fontFamily}; + font-size: ${f.fontSize}; + fill: ${f.textColor} + } + + /* Classes common for multiple diagrams */ + + & .error-icon { + fill: ${f.errorBkgColor}; + } + & .error-text { + fill: ${f.errorTextColor}; + stroke: ${f.errorTextColor}; + } + + & .edge-thickness-normal { + stroke-width: 2px; + } + & .edge-thickness-thick { + stroke-width: 3.5px + } + & .edge-pattern-solid { + stroke-dasharray: 0; + } + + & .edge-pattern-dashed{ + stroke-dasharray: 3; + } + .edge-pattern-dotted { + stroke-dasharray: 2; + } + + & .marker { + fill: ${f.lineColor}; + stroke: ${f.lineColor}; + } + & .marker.cross { + stroke: ${f.lineColor}; + } + + & svg { + font-family: ${f.fontFamily}; + font-size: ${f.fontSize}; + } + + ${p} + + ${a} +`},iAe=(i,a)=>{a!==void 0&&(zW[i]=a)},sAe=rAe;let bdt="",wdt="",vdt="";const mdt=i=>Q1(i,Fd()),hg=()=>{bdt="",vdt="",wdt=""},E0=i=>{bdt=mdt(i).replace(/^\s+/g,"")},fg=()=>bdt,dg=i=>{vdt=mdt(i).replace(/\n\s+/g,` +`)},gg=()=>vdt,Nb=i=>{wdt=mdt(i)},pg=()=>wdt,_Ot=Object.freeze(Object.defineProperty({__proto__:null,clear:hg,getAccDescription:gg,getAccTitle:fg,getDiagramTitle:pg,setAccDescription:dg,setAccTitle:E0,setDiagramTitle:Nb},Symbol.toStringTag,{value:"Module"})),aAe=Ut,oAe=Xft,Oe=Fd,cAe=sOt,SOt=WA,uAe=i=>Q1(i,Oe()),AOt=fT,lAe=()=>_Ot,qW={},HW=(i,a,f)=>{var p;if(qW[i])throw new Error(`Diagram ${i} already registered.`);qW[i]=a,f&&uIt(i,f),iAe(i,a.styles),(p=a.injectUtils)==null||p.call(a,aAe,oAe,Oe,uAe,AOt,lAe(),()=>{})},ydt=i=>{if(i in qW)return qW[i];throw new hAe(i)};class hAe extends Error{constructor(a){super(`Diagram ${a} not found.`)}}const VW=i=>{var w;const{securityLevel:a}=Oe();let f=yr("body");if(a==="sandbox"){const b=((w=yr(`#i${i}`).node())==null?void 0:w.contentDocument)??document;f=yr(b.body)}return f.select(`#${i}`)},LOt={draw:(i,a,f)=>{Ut.debug(`renering svg for syntax error +`);const p=VW(a);p.attr("viewBox","0 0 2412 512"),k0(p,100,512,!0);const w=p.append("g");w.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),w.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),w.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),w.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),w.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),w.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),w.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),w.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${f}`)}},fAe=LOt,dAe={db:{},renderer:LOt,parser:{parser:{yy:{}},parse:()=>{}}},MOt="flowchart-elk",gAe={id:MOt,detector:(i,a)=>{var f;return!!(/^\s*flowchart-elk/.test(i)||/^\s*flowchart|graph/.test(i)&&((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="elk")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>xWe);return{id:MOt,diagram:i}}},DOt="timeline",pAe={id:DOt,detector:i=>/^\s*timeline/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>$We);return{id:DOt,diagram:i}}},IOt="mindmap",bAe={id:IOt,detector:i=>/^\s*mindmap/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>bYe);return{id:IOt,diagram:i}}},OOt="sankey",wAe={id:OOt,detector:i=>/^\s*sankey-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>UYe);return{id:OOt,diagram:i}}};let POt=!1;const xdt=()=>{POt||(POt=!0,HW("error",dAe,i=>i.toLowerCase().trim()==="error"),HW("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},i=>i.toLowerCase().trimStart().startsWith("---")),cIt(RSe,QSe,XSe,zSe,HSe,VSe,GSe,YSe,KSe,gAe,$Se,jSe,bAe,pAe,qSe,JSe,ZSe,tAe,USe,wAe,WSe))};class FOt{constructor(a,f={}){this.text=a,this.metadata=f,this.type="graph",this.text+=` +`;const p=Fd();try{this.type=yW(a,p)}catch(m){this.type="error",this.detectError=m}const w=ydt(this.type);Ut.debug("Type "+this.type),this.db=w.db,this.renderer=w.renderer,this.parser=w.parser,this.parser.parser.yy=this.db,this.init=w.init,this.parse()}parse(){var f,p,w,m,b;if(this.detectError)throw this.detectError;(p=(f=this.db).clear)==null||p.call(f);const a=Fd();(w=this.init)==null||w.call(this,a),this.metadata.title&&((b=(m=this.db).setDiagramTitle)==null||b.call(m,this.metadata.title)),this.parser.parse(this.text)}async render(a,f){await this.renderer.draw(this.text,a,f,this)}getParser(){return this.parser}getType(){return this.type}}const kdt=async(i,a={})=>{const f=yW(i,Fd());try{ydt(f)}catch{const w=ECe(f);if(!w)throw new oIt(`Diagram ${f} not found.`);const{id:m,diagram:b}=await w();HW(m,b)}return new FOt(i,a)};let Edt=[];const vAe=i=>{Edt.push(i)},mAe=()=>{Edt.forEach(i=>{i()}),Edt=[]};var yAe=kIt(Object.keys,Object);const xAe=yAe;var kAe=Object.prototype,EAe=kAe.hasOwnProperty;function NOt(i){if(!_W(i))return xAe(i);var a=[];for(var f in Object(i))EAe.call(i,f)&&f!="constructor"&&a.push(f);return a}var TAe=oT(nm,"DataView");const Tdt=TAe;var CAe=oT(nm,"Promise");const Cdt=CAe;var _Ae=oT(nm,"Set");const KA=_Ae;var SAe=oT(nm,"WeakMap");const _dt=SAe;var BOt="[object Map]",AAe="[object Object]",ROt="[object Promise]",jOt="[object Set]",$Ot="[object WeakMap]",zOt="[object DataView]",LAe=aT(Tdt),MAe=aT(JP),DAe=aT(Cdt),IAe=aT(KA),OAe=aT(_dt),dT=sT;(Tdt&&dT(new Tdt(new ArrayBuffer(1)))!=zOt||JP&&dT(new JP)!=BOt||Cdt&&dT(Cdt.resolve())!=ROt||KA&&dT(new KA)!=jOt||_dt&&dT(new _dt)!=$Ot)&&(dT=function(i){var a=sT(i),f=a==AAe?i.constructor:void 0,p=f?aT(f):"";if(p)switch(p){case LAe:return zOt;case MAe:return BOt;case DAe:return ROt;case IAe:return jOt;case OAe:return $Ot}return a});const XA=dT;var PAe="[object Map]",FAe="[object Set]",NAe=Object.prototype,BAe=NAe.hasOwnProperty;function oF(i){if(i==null)return!0;if(ck(i)&&(If(i)||typeof i=="string"||typeof i.splice=="function"||zA(i)||AW(i)||$A(i)))return!i.length;var a=XA(i);if(a==PAe||a==FAe)return!i.size;if(_W(i))return!NOt(i).length;for(var f in i)if(BAe.call(i,f))return!1;return!0}const RAe="graphics-document document";function jAe(i,a){i.attr("role",RAe),a!==""&&i.attr("aria-roledescription",a)}function $Ae(i,a,f,p){if(i.insert!==void 0){if(f){const w=`chart-desc-${p}`;i.attr("aria-describedby",w),i.insert("desc",":first-child").attr("id",w).text(f)}if(a){const w=`chart-title-${p}`;i.attr("aria-labelledby",w),i.insert("title",":first-child").attr("id",w).text(a)}}}const zAe=i=>i.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function qOt(i){return typeof i>"u"||i===null}function qAe(i){return typeof i=="object"&&i!==null}function HAe(i){return Array.isArray(i)?i:qOt(i)?[]:[i]}function VAe(i,a){var f,p,w,m;if(a)for(m=Object.keys(a),f=0,p=m.length;fE&&(m=" ... ",a=p-E+m.length),f-p>E&&(b=" ...",f=p+E-b.length),{str:m+i.slice(a,f).replace(/\t/g,"→")+b,pos:p-a+m.length}}function Adt(i,a){return bg.repeat(" ",a-i.length)+i}function JAe(i,a){if(a=Object.create(a||null),!i.buffer)return null;a.maxLength||(a.maxLength=79),typeof a.indent!="number"&&(a.indent=1),typeof a.linesBefore!="number"&&(a.linesBefore=3),typeof a.linesAfter!="number"&&(a.linesAfter=2);for(var f=/\r?\n|\r|\0/g,p=[0],w=[],m,b=-1;m=f.exec(i.buffer);)w.push(m.index),p.push(m.index+m[0].length),i.position<=m.index&&b<0&&(b=p.length-2);b<0&&(b=p.length-1);var E="",_,A,I=Math.min(i.line+a.linesAfter,w.length).toString().length,B=a.maxLength-(a.indent+I+3);for(_=1;_<=a.linesBefore&&!(b-_<0);_++)A=Sdt(i.buffer,p[b-_],w[b-_],i.position-(p[b]-p[b-_]),B),E=bg.repeat(" ",a.indent)+Adt((i.line-_+1).toString(),I)+" | "+A.str+` +`+E;for(A=Sdt(i.buffer,p[b],w[b],i.position,B),E+=bg.repeat(" ",a.indent)+Adt((i.line+1).toString(),I)+" | "+A.str+` +`,E+=bg.repeat("-",a.indent+I+3+A.pos)+`^ +`,_=1;_<=a.linesAfter&&!(b+_>=w.length);_++)A=Sdt(i.buffer,p[b+_],w[b+_],i.position-(p[b]-p[b+_]),B),E+=bg.repeat(" ",a.indent)+Adt((i.line+_+1).toString(),I)+" | "+A.str+` +`;return E.replace(/\n$/,"")}var tLe=JAe,eLe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],nLe=["scalar","sequence","mapping"];function rLe(i){var a={};return i!==null&&Object.keys(i).forEach(function(f){i[f].forEach(function(p){a[String(p)]=f})}),a}function iLe(i,a){if(a=a||{},Object.keys(a).forEach(function(f){if(eLe.indexOf(f)===-1)throw new A5('Unknown option "'+f+'" is met in definition of "'+i+'" YAML type.')}),this.options=a,this.tag=i,this.kind=a.kind||null,this.resolve=a.resolve||function(){return!0},this.construct=a.construct||function(f){return f},this.instanceOf=a.instanceOf||null,this.predicate=a.predicate||null,this.represent=a.represent||null,this.representName=a.representName||null,this.defaultStyle=a.defaultStyle||null,this.multi=a.multi||!1,this.styleAliases=rLe(a.styleAliases||null),nLe.indexOf(this.kind)===-1)throw new A5('Unknown kind "'+this.kind+'" is specified for "'+i+'" YAML type.')}var T0=iLe;function VOt(i,a){var f=[];return i[a].forEach(function(p){var w=f.length;f.forEach(function(m,b){m.tag===p.tag&&m.kind===p.kind&&m.multi===p.multi&&(w=b)}),f[w]=p}),f}function sLe(){var i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},a,f;function p(w){w.multi?(i.multi[w.kind].push(w),i.multi.fallback.push(w)):i[w.kind][w.tag]=i.fallback[w.tag]=w}for(a=0,f=arguments.length;a=0?"0b"+i.toString(2):"-0b"+i.toString(2).slice(1)},octal:function(i){return i>=0?"0o"+i.toString(8):"-0o"+i.toString(8).slice(1)},decimal:function(i){return i.toString(10)},hexadecimal:function(i){return i>=0?"0x"+i.toString(16).toUpperCase():"-0x"+i.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),_Le=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function SLe(i){return!(i===null||!_Le.test(i)||i[i.length-1]==="_")}function ALe(i){var a,f;return a=i.replace(/_/g,"").toLowerCase(),f=a[0]==="-"?-1:1,"+-".indexOf(a[0])>=0&&(a=a.slice(1)),a===".inf"?f===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:a===".nan"?NaN:f*parseFloat(a,10)}var LLe=/^[-+]?[0-9]+e/;function MLe(i,a){var f;if(isNaN(i))switch(a){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===i)switch(a){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===i)switch(a){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(bg.isNegativeZero(i))return"-0.0";return f=i.toString(10),LLe.test(f)?f.replace("e",".e"):f}function DLe(i){return Object.prototype.toString.call(i)==="[object Number]"&&(i%1!==0||bg.isNegativeZero(i))}var ILe=new T0("tag:yaml.org,2002:float",{kind:"scalar",resolve:SLe,construct:ALe,predicate:DLe,represent:MLe,defaultStyle:"lowercase"}),GOt=lLe.extend({implicit:[gLe,vLe,CLe,ILe]}),OLe=GOt,UOt=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),WOt=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function PLe(i){return i===null?!1:UOt.exec(i)!==null||WOt.exec(i)!==null}function FLe(i){var a,f,p,w,m,b,E,_=0,A=null,I,B,N;if(a=UOt.exec(i),a===null&&(a=WOt.exec(i)),a===null)throw new Error("Date resolve error");if(f=+a[1],p=+a[2]-1,w=+a[3],!a[4])return new Date(Date.UTC(f,p,w));if(m=+a[4],b=+a[5],E=+a[6],a[7]){for(_=a[7].slice(0,3);_.length<3;)_+="0";_=+_}return a[9]&&(I=+a[10],B=+(a[11]||0),A=(I*60+B)*6e4,a[9]==="-"&&(A=-A)),N=new Date(Date.UTC(f,p,w,m,b,E,_)),A&&N.setTime(N.getTime()-A),N}function NLe(i){return i.toISOString()}var BLe=new T0("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:PLe,construct:FLe,instanceOf:Date,represent:NLe});function RLe(i){return i==="<<"||i===null}var jLe=new T0("tag:yaml.org,2002:merge",{kind:"scalar",resolve:RLe}),Mdt=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function $Le(i){if(i===null)return!1;var a,f,p=0,w=i.length,m=Mdt;for(f=0;f64)){if(a<0)return!1;p+=6}return p%8===0}function zLe(i){var a,f,p=i.replace(/[\r\n=]/g,""),w=p.length,m=Mdt,b=0,E=[];for(a=0;a>16&255),E.push(b>>8&255),E.push(b&255)),b=b<<6|m.indexOf(p.charAt(a));return f=w%4*6,f===0?(E.push(b>>16&255),E.push(b>>8&255),E.push(b&255)):f===18?(E.push(b>>10&255),E.push(b>>2&255)):f===12&&E.push(b>>4&255),new Uint8Array(E)}function qLe(i){var a="",f=0,p,w,m=i.length,b=Mdt;for(p=0;p>18&63],a+=b[f>>12&63],a+=b[f>>6&63],a+=b[f&63]),f=(f<<8)+i[p];return w=m%3,w===0?(a+=b[f>>18&63],a+=b[f>>12&63],a+=b[f>>6&63],a+=b[f&63]):w===2?(a+=b[f>>10&63],a+=b[f>>4&63],a+=b[f<<2&63],a+=b[64]):w===1&&(a+=b[f>>2&63],a+=b[f<<4&63],a+=b[64],a+=b[64]),a}function HLe(i){return Object.prototype.toString.call(i)==="[object Uint8Array]"}var VLe=new T0("tag:yaml.org,2002:binary",{kind:"scalar",resolve:$Le,construct:zLe,predicate:HLe,represent:qLe}),GLe=Object.prototype.hasOwnProperty,ULe=Object.prototype.toString;function WLe(i){if(i===null)return!0;var a=[],f,p,w,m,b,E=i;for(f=0,p=E.length;f>10)+55296,(i-65536&1023)+56320)}for(var ePt=new Array(256),nPt=new Array(256),ZA=0;ZA<256;ZA++)ePt[ZA]=tPt(ZA)?1:0,nPt[ZA]=tPt(ZA);function dMe(i,a){this.input=i,this.filename=a.filename||null,this.schema=a.schema||iMe,this.onWarning=a.onWarning||null,this.legacy=a.legacy||!1,this.json=a.json||!1,this.listener=a.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=i.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function rPt(i,a){var f={name:i.filename,buffer:i.input.slice(0,-1),position:i.position,line:i.line,column:i.position-i.lineStart};return f.snippet=tLe(f),new A5(a,f)}function Ss(i,a){throw rPt(i,a)}function WW(i,a){i.onWarning&&i.onWarning.call(null,rPt(i,a))}var iPt={YAML:function(a,f,p){var w,m,b;a.version!==null&&Ss(a,"duplication of %YAML directive"),p.length!==1&&Ss(a,"YAML directive accepts exactly one argument"),w=/^([0-9]+)\.([0-9]+)$/.exec(p[0]),w===null&&Ss(a,"ill-formed argument of the YAML directive"),m=parseInt(w[1],10),b=parseInt(w[2],10),m!==1&&Ss(a,"unacceptable YAML version of the document"),a.version=p[0],a.checkLineBreaks=b<2,b!==1&&b!==2&&WW(a,"unsupported YAML version of the document")},TAG:function(a,f,p){var w,m;p.length!==2&&Ss(a,"TAG directive accepts exactly two arguments"),w=p[0],m=p[1],QOt.test(w)||Ss(a,"ill-formed tag handle (first argument) of the TAG directive"),lk.call(a.tagMap,w)&&Ss(a,'there is a previously declared suffix for "'+w+'" tag handle'),ZOt.test(m)||Ss(a,"ill-formed tag prefix (second argument) of the TAG directive");try{m=decodeURIComponent(m)}catch{Ss(a,"tag prefix is malformed: "+m)}a.tagMap[w]=m}};function hk(i,a,f,p){var w,m,b,E;if(a1&&(i.result+=bg.repeat(` +`,a-1))}function gMe(i,a,f){var p,w,m,b,E,_,A,I,B=i.kind,N=i.result,R;if(R=i.input.charCodeAt(i.position),dp(R)||QA(R)||R===35||R===38||R===42||R===33||R===124||R===62||R===39||R===34||R===37||R===64||R===96||(R===63||R===45)&&(w=i.input.charCodeAt(i.position+1),dp(w)||f&&QA(w)))return!1;for(i.kind="scalar",i.result="",m=b=i.position,E=!1;R!==0;){if(R===58){if(w=i.input.charCodeAt(i.position+1),dp(w)||f&&QA(w))break}else if(R===35){if(p=i.input.charCodeAt(i.position-1),dp(p))break}else{if(i.position===i.lineStart&&YW(i)||f&&QA(R))break;if(g3(R))if(_=i.line,A=i.lineStart,I=i.lineIndent,Pf(i,!1,-1),i.lineIndent>=a){E=!0,R=i.input.charCodeAt(i.position);continue}else{i.position=b,i.line=_,i.lineStart=A,i.lineIndent=I;break}}E&&(hk(i,m,b,!1),Odt(i,i.line-_),m=b=i.position,E=!1),gT(R)||(b=i.position+1),R=i.input.charCodeAt(++i.position)}return hk(i,m,b,!1),i.result?!0:(i.kind=B,i.result=N,!1)}function pMe(i,a){var f,p,w;if(f=i.input.charCodeAt(i.position),f!==39)return!1;for(i.kind="scalar",i.result="",i.position++,p=w=i.position;(f=i.input.charCodeAt(i.position))!==0;)if(f===39)if(hk(i,p,i.position,!0),f=i.input.charCodeAt(++i.position),f===39)p=i.position,i.position++,w=i.position;else return!0;else g3(f)?(hk(i,p,w,!0),Odt(i,Pf(i,!1,a)),p=w=i.position):i.position===i.lineStart&&YW(i)?Ss(i,"unexpected end of the document within a single quoted scalar"):(i.position++,w=i.position);Ss(i,"unexpected end of the stream within a single quoted scalar")}function bMe(i,a){var f,p,w,m,b,E;if(E=i.input.charCodeAt(i.position),E!==34)return!1;for(i.kind="scalar",i.result="",i.position++,f=p=i.position;(E=i.input.charCodeAt(i.position))!==0;){if(E===34)return hk(i,f,i.position,!0),i.position++,!0;if(E===92){if(hk(i,f,i.position,!0),E=i.input.charCodeAt(++i.position),g3(E))Pf(i,!1,a);else if(E<256&&ePt[E])i.result+=nPt[E],i.position++;else if((b=lMe(E))>0){for(w=b,m=0;w>0;w--)E=i.input.charCodeAt(++i.position),(b=uMe(E))>=0?m=(m<<4)+b:Ss(i,"expected hexadecimal character");i.result+=fMe(m),i.position++}else Ss(i,"unknown escape sequence");f=p=i.position}else g3(E)?(hk(i,f,p,!0),Odt(i,Pf(i,!1,a)),f=p=i.position):i.position===i.lineStart&&YW(i)?Ss(i,"unexpected end of the document within a double quoted scalar"):(i.position++,p=i.position)}Ss(i,"unexpected end of the stream within a double quoted scalar")}function wMe(i,a){var f=!0,p,w,m,b=i.tag,E,_=i.anchor,A,I,B,N,R,z=Object.create(null),W,et,st,at;if(at=i.input.charCodeAt(i.position),at===91)I=93,R=!1,E=[];else if(at===123)I=125,R=!0,E={};else return!1;for(i.anchor!==null&&(i.anchorMap[i.anchor]=E),at=i.input.charCodeAt(++i.position);at!==0;){if(Pf(i,!0,a),at=i.input.charCodeAt(i.position),at===I)return i.position++,i.tag=b,i.anchor=_,i.kind=R?"mapping":"sequence",i.result=E,!0;f?at===44&&Ss(i,"expected the node content, but found ','"):Ss(i,"missed comma between flow collection entries"),et=W=st=null,B=N=!1,at===63&&(A=i.input.charCodeAt(i.position+1),dp(A)&&(B=N=!0,i.position++,Pf(i,!0,a))),p=i.line,w=i.lineStart,m=i.position,tL(i,a,GW,!1,!0),et=i.tag,W=i.result,Pf(i,!0,a),at=i.input.charCodeAt(i.position),(N||i.line===p)&&at===58&&(B=!0,at=i.input.charCodeAt(++i.position),Pf(i,!0,a),tL(i,a,GW,!1,!0),st=i.result),R?JA(i,E,z,et,W,st,p,w,m):B?E.push(JA(i,null,z,et,W,st,p,w,m)):E.push(W),Pf(i,!0,a),at=i.input.charCodeAt(i.position),at===44?(f=!0,at=i.input.charCodeAt(++i.position)):f=!1}Ss(i,"unexpected end of the stream within a flow collection")}function vMe(i,a){var f,p,w=Ddt,m=!1,b=!1,E=a,_=0,A=!1,I,B;if(B=i.input.charCodeAt(i.position),B===124)p=!1;else if(B===62)p=!0;else return!1;for(i.kind="scalar",i.result="";B!==0;)if(B=i.input.charCodeAt(++i.position),B===43||B===45)Ddt===w?w=B===43?XOt:sMe:Ss(i,"repeat of a chomping mode identifier");else if((I=hMe(B))>=0)I===0?Ss(i,"bad explicit indentation width of a block scalar; it cannot be less than one"):b?Ss(i,"repeat of an indentation width identifier"):(E=a+I-1,b=!0);else break;if(gT(B)){do B=i.input.charCodeAt(++i.position);while(gT(B));if(B===35)do B=i.input.charCodeAt(++i.position);while(!g3(B)&&B!==0)}for(;B!==0;){for(Idt(i),i.lineIndent=0,B=i.input.charCodeAt(i.position);(!b||i.lineIndentE&&(E=i.lineIndent),g3(B)){_++;continue}if(i.lineIndenta)&&_!==0)Ss(i,"bad indentation of a sequence entry");else if(i.lineIndenta)&&(et&&(b=i.line,E=i.lineStart,_=i.position),tL(i,a,UW,!0,w)&&(et?z=i.result:W=i.result),et||(JA(i,B,N,R,z,W,b,E,_),R=z=W=null),Pf(i,!0,-1),at=i.input.charCodeAt(i.position)),(i.line===m||i.lineIndent>a)&&at!==0)Ss(i,"bad indentation of a mapping entry");else if(i.lineIndenta?_=1:i.lineIndent===a?_=0:i.lineIndenta?_=1:i.lineIndent===a?_=0:i.lineIndent tag; it should be "scalar", not "'+i.kind+'"'),B=0,N=i.implicitTypes.length;B"),i.result!==null&&z.kind!==i.kind&&Ss(i,"unacceptable node kind for !<"+i.tag+'> tag; it should be "'+z.kind+'", not "'+i.kind+'"'),z.resolve(i.result,i.tag)?(i.result=z.construct(i.result,i.tag),i.anchor!==null&&(i.anchorMap[i.anchor]=i.result)):Ss(i,"cannot resolve a node with !<"+i.tag+"> explicit tag")}return i.listener!==null&&i.listener("close",i),i.tag!==null||i.anchor!==null||I}function EMe(i){var a=i.position,f,p,w,m=!1,b;for(i.version=null,i.checkLineBreaks=i.legacy,i.tagMap=Object.create(null),i.anchorMap=Object.create(null);(b=i.input.charCodeAt(i.position))!==0&&(Pf(i,!0,-1),b=i.input.charCodeAt(i.position),!(i.lineIndent>0||b!==37));){for(m=!0,b=i.input.charCodeAt(++i.position),f=i.position;b!==0&&!dp(b);)b=i.input.charCodeAt(++i.position);for(p=i.input.slice(f,i.position),w=[],p.length<1&&Ss(i,"directive name must not be less than one character in length");b!==0;){for(;gT(b);)b=i.input.charCodeAt(++i.position);if(b===35){do b=i.input.charCodeAt(++i.position);while(b!==0&&!g3(b));break}if(g3(b))break;for(f=i.position;b!==0&&!dp(b);)b=i.input.charCodeAt(++i.position);w.push(i.input.slice(f,i.position))}b!==0&&Idt(i),lk.call(iPt,p)?iPt[p](i,p,w):WW(i,'unknown document directive "'+p+'"')}if(Pf(i,!0,-1),i.lineIndent===0&&i.input.charCodeAt(i.position)===45&&i.input.charCodeAt(i.position+1)===45&&i.input.charCodeAt(i.position+2)===45?(i.position+=3,Pf(i,!0,-1)):m&&Ss(i,"directives end mark is expected"),tL(i,i.lineIndent-1,UW,!1,!0),Pf(i,!0,-1),i.checkLineBreaks&&oMe.test(i.input.slice(a,i.position))&&WW(i,"non-ASCII line breaks are interpreted as content"),i.documents.push(i.result),i.position===i.lineStart&&YW(i)){i.input.charCodeAt(i.position)===46&&(i.position+=3,Pf(i,!0,-1));return}if(i.position"u"&&(f=a,a=null);var p=oPt(i,f);if(typeof a!="function")return p;for(var w=0,m=p.length;wi.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(a,f,p)=>"<"+f+p.replace(/="([^"]*)"/g,"='$1'")+">"),OMe=i=>{const{text:a,metadata:f}=DMe(i),{displayMode:p,title:w,config:m={}}=f;return p&&(m.gantt||(m.gantt={}),m.gantt.displayMode=p),{title:w,config:m,text:a}},PMe=i=>{const a=$a.detectInit(i)??{},f=$a.detectDirective(i,"wrap");return Array.isArray(f)?a.wrap=f.some(({type:p})=>{}):(f==null?void 0:f.type)==="wrap"&&(a.wrap=!0),{text:nSe(i),directive:a}};function FMe(i){const a=IMe(i),f=OMe(a),p=PMe(f.text),w=rF(f.config,p.directive);return i=zAe(p.text),{code:i,title:f.title,config:w}}const NMe=5e4,BMe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",RMe="sandbox",jMe="loose",$Me="http://www.w3.org/2000/svg",zMe="http://www.w3.org/1999/xlink",qMe="http://www.w3.org/1999/xhtml",HMe="100%",VMe="100%",GMe="border:0;margin:0;",UMe="margin:0",WMe="allow-top-navigation-by-user-activation allow-popups",YMe='The "iframe" tag is not supported by your browser.',KMe=["foreignobject"],XMe=["dominant-baseline"];function cPt(i){const a=FMe(i);return $W(),FSe(a.config??{}),a}async function QMe(i,a){xdt(),i=cPt(i).code;try{await kdt(i)}catch(f){if(a!=null&&a.suppressErrors)return!1;throw f}return!0}const ZMe=function(i){let a=i;return a=a.replace(/style.*:\S*#.*;/g,function(f){return f.substring(0,f.length-1)}),a=a.replace(/classDef.*:\S*#.*;/g,function(f){return f.substring(0,f.length-1)}),a=a.replace(/#\w+;/g,function(f){const p=f.substring(1,f.length-1);return/^\+?\d+$/.test(p)?"fl°°"+p+"¶ß":"fl°"+p+"¶ß"}),a},uF=function(i){return i.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},uPt=(i,a,f=[])=>` +.${i} ${a} { ${f.join(" !important; ")} !important; }`,JMe=(i,a={})=>{var p;let f="";if(i.themeCSS!==void 0&&(f+=` +${i.themeCSS}`),i.fontFamily!==void 0&&(f+=` +:root { --mermaid-font-family: ${i.fontFamily}}`),i.altFontFamily!==void 0&&(f+=` +:root { --mermaid-alt-font-family: ${i.altFontFamily}}`),!oF(a)){const E=i.htmlLabels||((p=i.flowchart)==null?void 0:p.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const _ in a){const A=a[_];oF(A.styles)||E.forEach(I=>{f+=uPt(A.id,I,A.styles)}),oF(A.textStyles)||(f+=uPt(A.id,"tspan",A.textStyles))}}return f},tDe=(i,a,f,p)=>{const w=JMe(i,f),m=sAe(a,w,i.themeVariables);return pdt(LSe(`${p}{${m}}`),DSe)},eDe=(i="",a,f)=>{let p=i;return!f&&!a&&(p=p.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),p=uF(p),p=p.replace(/
/g,"
"),p},nDe=(i="",a)=>{var w,m;const f=(m=(w=a==null?void 0:a.viewBox)==null?void 0:w.baseVal)!=null&&m.height?a.viewBox.baseVal.height+"px":VMe,p=btoa(''+i+"");return``},lPt=(i,a,f,p,w)=>{const m=i.append("div");m.attr("id",f),p&&m.attr("style",p);const b=m.append("svg").attr("id",a).attr("width","100%").attr("xmlns",$Me);return w&&b.attr("xmlns:xlink",w),b.append("g"),i};function hPt(i,a){return i.append("iframe").attr("id",a).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const rDe=(i,a,f,p)=>{var w,m,b;(w=i.getElementById(a))==null||w.remove(),(m=i.getElementById(f))==null||m.remove(),(b=i.getElementById(p))==null||b.remove()},iDe=async function(i,a,f){var nt,It,Ot,Bt,Et,Z;xdt();const p=cPt(a);a=p.code;const w=Fd();Ut.debug(w),a.length>((w==null?void 0:w.maxTextSize)??NMe)&&(a=BMe);const m="#"+i,b="i"+i,E="#"+b,_="d"+i,A="#"+_;let I=yr("body");const B=w.securityLevel===RMe,N=w.securityLevel===jMe,R=w.fontFamily;if(f!==void 0){if(f&&(f.innerHTML=""),B){const Ct=hPt(yr(f),b);I=yr(Ct.nodes()[0].contentDocument.body),I.node().style.margin=0}else I=yr(f);lPt(I,i,_,`font-family: ${R}`,zMe)}else{if(rDe(document,i,_,b),B){const Ct=hPt(yr("body"),b);I=yr(Ct.nodes()[0].contentDocument.body),I.node().style.margin=0}else I=yr("body");lPt(I,i,_)}a=ZMe(a);let z,W;try{z=await kdt(a,{title:p.title})}catch(Ct){z=new FOt("error"),W=Ct}const et=I.select(A).node(),st=z.type,at=et.firstChild,bt=at.firstChild,mt=(It=(nt=z.renderer).getClasses)==null?void 0:It.call(nt,a,z),yt=tDe(w,st,mt,m),ft=document.createElement("style");ft.innerHTML=yt,at.insertBefore(ft,bt);try{await z.renderer.draw(a,i,nOt,z)}catch(Ct){throw fAe.draw(a,i,nOt),Ct}const ut=I.select(`${A} svg`),vt=(Bt=(Ot=z.db).getAccTitle)==null?void 0:Bt.call(Ot),X=(Z=(Et=z.db).getAccDescription)==null?void 0:Z.call(Et);aDe(st,ut,vt,X),I.select(`[id="${i}"]`).selectAll("foreignobject > *").attr("xmlns",qMe);let pt=I.select(A).node().innerHTML;if(Ut.debug("config.arrowMarkerAbsolute",w.arrowMarkerAbsolute),pt=eDe(pt,B,o1(w.arrowMarkerAbsolute)),B){const Ct=I.select(A+" svg").node();pt=nDe(pt,Ct)}else N||(pt=lW.sanitize(pt,{ADD_TAGS:KMe,ADD_ATTR:XMe}));if(mAe(),W)throw W;const Tt=yr(B?E:A).node();return Tt&&"remove"in Tt&&Tt.remove(),{svg:pt,bindFunctions:z.db.bindFunctions}};function sDe(i={}){var f;i!=null&&i.fontFamily&&!((f=i.themeVariables)!=null&&f.fontFamily)&&(i.themeVariables||(i.themeVariables={}),i.themeVariables.fontFamily=i.fontFamily),OSe(i),i!=null&&i.theme&&i.theme in T5?i.themeVariables=T5[i.theme].getThemeVariables(i.themeVariables):i&&(i.themeVariables=T5.default.getThemeVariables(i.themeVariables));const a=typeof i=="object"?ISe(i):iOt();Xft(a.logLevel),xdt()}function aDe(i,a,f,p){jAe(a,i),$Ae(a,f,p,a.attr("id"))}const pT=Object.freeze({render:iDe,parse:QMe,getDiagramFromText:kdt,initialize:sDe,getConfig:Fd,setConfig:sOt,getSiteConfig:iOt,updateSiteConfig:PSe,reset:()=>{$W()},globalReset:()=>{$W(WA)},defaultConfig:WA});Xft(Fd().logLevel),$W(Fd());const oDe=async()=>{Ut.debug("Loading registered diagrams");const a=(await Promise.allSettled(Object.entries(NA).map(async([f,{detector:p,loader:w}])=>{if(w)try{ydt(f)}catch{try{const{diagram:b,id:E}=await w();HW(E,b,p)}catch(b){throw Ut.error(`Failed to load external diagram with key ${f}. Removing from detectors.`),delete NA[f],b}}}))).filter(f=>f.status==="rejected");if(a.length>0){Ut.error(`Failed to load ${a.length} external diagrams`);for(const f of a)Ut.error(f);throw new Error(`Failed to load ${a.length} external diagrams`)}},cDe=(i,a,f)=>{Ut.warn(i),WIt(i)?(f&&f(i.str,i.hash),a.push({...i,message:i.str,error:i})):(f&&f(i),i instanceof Error&&a.push({str:i.message,message:i.message,hash:i.name,error:i}))},fPt=async function(i={querySelector:".mermaid"}){try{await uDe(i)}catch(a){if(WIt(a)&&Ut.error(a.str),Bb.parseError&&Bb.parseError(a),!i.suppressErrors)throw Ut.error("Use the suppressErrors option to suppress these errors"),a}},uDe=async function({postRenderCallback:i,querySelector:a,nodes:f}={querySelector:".mermaid"}){const p=pT.getConfig();Ut.debug(`${i?"":"No "}Callback function found`);let w;if(f)w=f;else if(a)w=document.querySelectorAll(a);else throw new Error("Nodes and querySelector are both undefined");Ut.debug(`Found ${w.length} diagrams`),(p==null?void 0:p.startOnLoad)!==void 0&&(Ut.debug("Start On Load: "+(p==null?void 0:p.startOnLoad)),pT.updateSiteConfig({startOnLoad:p==null?void 0:p.startOnLoad}));const m=new $a.InitIDGenerator(p.deterministicIds,p.deterministicIDSeed);let b;const E=[];for(const _ of Array.from(w)){Ut.info("Rendering diagram: "+_.id);/*! Check if previously processed */if(_.getAttribute("data-processed"))continue;_.setAttribute("data-processed","true");const A=`mermaid-${m.next()}`;b=_.innerHTML,b=xA($a.entityDecode(b)).trim().replace(//gi,"
");const I=$a.detectInit(b);I&&Ut.debug("Detected early reinit: ",I);try{const{svg:B,bindFunctions:N}=await bPt(A,b,_);_.innerHTML=B,i&&await i(A),N&&N(_)}catch(B){cDe(B,E,Bb.parseError)}}if(E.length>0)throw E[0]},dPt=function(i){pT.initialize(i)},lDe=async function(i,a,f){Ut.warn("mermaid.init is deprecated. Please use run instead."),i&&dPt(i);const p={postRenderCallback:f,querySelector:".mermaid"};typeof a=="string"?p.querySelector=a:a&&(a instanceof HTMLElement?p.nodes=[a]:p.nodes=a),await fPt(p)},hDe=async(i,{lazyLoad:a=!0}={})=>{cIt(...i),a===!1&&await oDe()},gPt=function(){if(Bb.startOnLoad){const{startOnLoad:i}=pT.getConfig();i&&Bb.run().catch(a=>Ut.error("Mermaid failed to initialize",a))}};if(typeof document<"u"){/*! + * Wait for document loaded before starting the execution + */window.addEventListener("load",gPt,!1)}const fDe=function(i){Bb.parseError=i},KW=[];let Pdt=!1;const pPt=async()=>{if(!Pdt){for(Pdt=!0;KW.length>0;){const i=KW.shift();if(i)try{await i()}catch(a){Ut.error("Error executing queue",a)}}Pdt=!1}},dDe=async(i,a)=>new Promise((f,p)=>{const w=()=>new Promise((m,b)=>{pT.parse(i,a).then(E=>{m(E),f(E)},E=>{var _;Ut.error("Error parsing",E),(_=Bb.parseError)==null||_.call(Bb,E),b(E),p(E)})});KW.push(w),pPt().catch(p)}),bPt=(i,a,f)=>new Promise((p,w)=>{const m=()=>new Promise((b,E)=>{pT.render(i,a,f).then(_=>{b(_),p(_)},_=>{var A;Ut.error("Error parsing",_),(A=Bb.parseError)==null||A.call(Bb,_),E(_),w(_)})});KW.push(m),pPt().catch(w)}),Bb={startOnLoad:!0,mermaidAPI:pT,parse:dDe,render:bPt,init:lDe,run:fPt,registerExternalDiagrams:hDe,initialize:dPt,parseError:void 0,contentLoaded:gPt,setParseErrorHandler:fDe,detectType:yW};var XW=function(){var i=function(Xi,Er,Xn,di){for(Xn=Xn||{},di=Xi.length;di--;Xn[Xi[di]]=Er);return Xn},a=[1,24],f=[1,25],p=[1,26],w=[1,27],m=[1,28],b=[1,63],E=[1,64],_=[1,65],A=[1,66],I=[1,67],B=[1,68],N=[1,69],R=[1,29],z=[1,30],W=[1,31],et=[1,32],st=[1,33],at=[1,34],bt=[1,35],mt=[1,36],yt=[1,37],ft=[1,38],ut=[1,39],vt=[1,40],X=[1,41],pt=[1,42],U=[1,43],Tt=[1,44],nt=[1,45],It=[1,46],Ot=[1,47],Bt=[1,48],Et=[1,50],Z=[1,51],Ct=[1,52],xt=[1,53],Ht=[1,54],Le=[1,55],Ft=[1,56],gn=[1,57],Se=[1,58],me=[1,59],Ve=[1,60],Ye=[14,42],ce=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ke=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],zt=[1,82],re=[1,83],se=[1,84],Pe=[1,85],te=[12,14,42],Me=[12,14,33,42],de=[12,14,33,42,76,77,79,80],on=[12,33],ni=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Ks={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:function(Er,Xn,di,Ee,Kn,He,Ti){var pn=He.length-1;switch(Kn){case 3:Ee.setDirection("TB");break;case 4:Ee.setDirection("BT");break;case 5:Ee.setDirection("RL");break;case 6:Ee.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Ee.setC4Type(He[pn-3]);break;case 19:Ee.setTitle(He[pn].substring(6)),this.$=He[pn].substring(6);break;case 20:Ee.setAccDescription(He[pn].substring(15)),this.$=He[pn].substring(15);break;case 21:this.$=He[pn].trim(),Ee.setTitle(this.$);break;case 22:case 23:this.$=He[pn].trim(),Ee.setAccDescription(this.$);break;case 28:case 29:He[pn].splice(2,0,"ENTERPRISE"),Ee.addPersonOrSystemBoundary(...He[pn]),this.$=He[pn];break;case 30:Ee.addPersonOrSystemBoundary(...He[pn]),this.$=He[pn];break;case 31:He[pn].splice(2,0,"CONTAINER"),Ee.addContainerBoundary(...He[pn]),this.$=He[pn];break;case 32:Ee.addDeploymentNode("node",...He[pn]),this.$=He[pn];break;case 33:Ee.addDeploymentNode("nodeL",...He[pn]),this.$=He[pn];break;case 34:Ee.addDeploymentNode("nodeR",...He[pn]),this.$=He[pn];break;case 35:Ee.popBoundaryParseStack();break;case 39:Ee.addPersonOrSystem("person",...He[pn]),this.$=He[pn];break;case 40:Ee.addPersonOrSystem("external_person",...He[pn]),this.$=He[pn];break;case 41:Ee.addPersonOrSystem("system",...He[pn]),this.$=He[pn];break;case 42:Ee.addPersonOrSystem("system_db",...He[pn]),this.$=He[pn];break;case 43:Ee.addPersonOrSystem("system_queue",...He[pn]),this.$=He[pn];break;case 44:Ee.addPersonOrSystem("external_system",...He[pn]),this.$=He[pn];break;case 45:Ee.addPersonOrSystem("external_system_db",...He[pn]),this.$=He[pn];break;case 46:Ee.addPersonOrSystem("external_system_queue",...He[pn]),this.$=He[pn];break;case 47:Ee.addContainer("container",...He[pn]),this.$=He[pn];break;case 48:Ee.addContainer("container_db",...He[pn]),this.$=He[pn];break;case 49:Ee.addContainer("container_queue",...He[pn]),this.$=He[pn];break;case 50:Ee.addContainer("external_container",...He[pn]),this.$=He[pn];break;case 51:Ee.addContainer("external_container_db",...He[pn]),this.$=He[pn];break;case 52:Ee.addContainer("external_container_queue",...He[pn]),this.$=He[pn];break;case 53:Ee.addComponent("component",...He[pn]),this.$=He[pn];break;case 54:Ee.addComponent("component_db",...He[pn]),this.$=He[pn];break;case 55:Ee.addComponent("component_queue",...He[pn]),this.$=He[pn];break;case 56:Ee.addComponent("external_component",...He[pn]),this.$=He[pn];break;case 57:Ee.addComponent("external_component_db",...He[pn]),this.$=He[pn];break;case 58:Ee.addComponent("external_component_queue",...He[pn]),this.$=He[pn];break;case 60:Ee.addRel("rel",...He[pn]),this.$=He[pn];break;case 61:Ee.addRel("birel",...He[pn]),this.$=He[pn];break;case 62:Ee.addRel("rel_u",...He[pn]),this.$=He[pn];break;case 63:Ee.addRel("rel_d",...He[pn]),this.$=He[pn];break;case 64:Ee.addRel("rel_l",...He[pn]),this.$=He[pn];break;case 65:Ee.addRel("rel_r",...He[pn]),this.$=He[pn];break;case 66:Ee.addRel("rel_b",...He[pn]),this.$=He[pn];break;case 67:He[pn].splice(0,1),Ee.addRel("rel",...He[pn]),this.$=He[pn];break;case 68:Ee.updateElStyle("update_el_style",...He[pn]),this.$=He[pn];break;case 69:Ee.updateRelStyle("update_rel_style",...He[pn]),this.$=He[pn];break;case 70:Ee.updateLayoutConfig("update_layout_config",...He[pn]),this.$=He[pn];break;case 71:this.$=[He[pn]];break;case 72:He[pn].unshift(He[pn-1]),this.$=He[pn];break;case 73:case 75:this.$=He[pn].trim();break;case 74:let Es={};Es[He[pn-1].trim()]=He[pn].trim(),this.$=Es;break;case 76:this.$="";break}},table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:a,23:f,24:p,26:w,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{13:70,19:20,20:21,21:22,22:a,23:f,24:p,26:w,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{13:71,19:20,20:21,21:22,22:a,23:f,24:p,26:w,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{13:72,19:20,20:21,21:22,22:a,23:f,24:p,26:w,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{13:73,19:20,20:21,21:22,22:a,23:f,24:p,26:w,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{14:[1,74]},i(Ye,[2,13],{43:23,29:49,30:61,32:62,20:75,34:b,36:E,37:_,38:A,39:I,40:B,41:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve}),i(Ye,[2,14]),i(ce,[2,16],{12:[1,76]}),i(Ye,[2,36],{12:[1,77]}),i(ke,[2,19]),i(ke,[2,20]),{25:[1,78]},{27:[1,79]},i(ke,[2,23]),{35:80,75:81,76:zt,77:re,79:se,80:Pe},{35:86,75:81,76:zt,77:re,79:se,80:Pe},{35:87,75:81,76:zt,77:re,79:se,80:Pe},{35:88,75:81,76:zt,77:re,79:se,80:Pe},{35:89,75:81,76:zt,77:re,79:se,80:Pe},{35:90,75:81,76:zt,77:re,79:se,80:Pe},{35:91,75:81,76:zt,77:re,79:se,80:Pe},{35:92,75:81,76:zt,77:re,79:se,80:Pe},{35:93,75:81,76:zt,77:re,79:se,80:Pe},{35:94,75:81,76:zt,77:re,79:se,80:Pe},{35:95,75:81,76:zt,77:re,79:se,80:Pe},{35:96,75:81,76:zt,77:re,79:se,80:Pe},{35:97,75:81,76:zt,77:re,79:se,80:Pe},{35:98,75:81,76:zt,77:re,79:se,80:Pe},{35:99,75:81,76:zt,77:re,79:se,80:Pe},{35:100,75:81,76:zt,77:re,79:se,80:Pe},{35:101,75:81,76:zt,77:re,79:se,80:Pe},{35:102,75:81,76:zt,77:re,79:se,80:Pe},{35:103,75:81,76:zt,77:re,79:se,80:Pe},{35:104,75:81,76:zt,77:re,79:se,80:Pe},i(te,[2,59]),{35:105,75:81,76:zt,77:re,79:se,80:Pe},{35:106,75:81,76:zt,77:re,79:se,80:Pe},{35:107,75:81,76:zt,77:re,79:se,80:Pe},{35:108,75:81,76:zt,77:re,79:se,80:Pe},{35:109,75:81,76:zt,77:re,79:se,80:Pe},{35:110,75:81,76:zt,77:re,79:se,80:Pe},{35:111,75:81,76:zt,77:re,79:se,80:Pe},{35:112,75:81,76:zt,77:re,79:se,80:Pe},{35:113,75:81,76:zt,77:re,79:se,80:Pe},{35:114,75:81,76:zt,77:re,79:se,80:Pe},{35:115,75:81,76:zt,77:re,79:se,80:Pe},{20:116,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{12:[1,118],33:[1,117]},{35:119,75:81,76:zt,77:re,79:se,80:Pe},{35:120,75:81,76:zt,77:re,79:se,80:Pe},{35:121,75:81,76:zt,77:re,79:se,80:Pe},{35:122,75:81,76:zt,77:re,79:se,80:Pe},{35:123,75:81,76:zt,77:re,79:se,80:Pe},{35:124,75:81,76:zt,77:re,79:se,80:Pe},{35:125,75:81,76:zt,77:re,79:se,80:Pe},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},i(Ye,[2,15]),i(ce,[2,17],{21:22,19:130,22:a,23:f,24:p,26:w,28:m}),i(Ye,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:a,23:f,24:p,26:w,28:m,34:b,36:E,37:_,38:A,39:I,40:B,41:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve}),i(ke,[2,21]),i(ke,[2,22]),i(te,[2,39]),i(Me,[2,71],{75:81,35:132,76:zt,77:re,79:se,80:Pe}),i(de,[2,73]),{78:[1,133]},i(de,[2,75]),i(de,[2,76]),i(te,[2,40]),i(te,[2,41]),i(te,[2,42]),i(te,[2,43]),i(te,[2,44]),i(te,[2,45]),i(te,[2,46]),i(te,[2,47]),i(te,[2,48]),i(te,[2,49]),i(te,[2,50]),i(te,[2,51]),i(te,[2,52]),i(te,[2,53]),i(te,[2,54]),i(te,[2,55]),i(te,[2,56]),i(te,[2,57]),i(te,[2,58]),i(te,[2,60]),i(te,[2,61]),i(te,[2,62]),i(te,[2,63]),i(te,[2,64]),i(te,[2,65]),i(te,[2,66]),i(te,[2,67]),i(te,[2,68]),i(te,[2,69]),i(te,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},i(on,[2,28]),i(on,[2,29]),i(on,[2,30]),i(on,[2,31]),i(on,[2,32]),i(on,[2,33]),i(on,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},i(ce,[2,18]),i(Ye,[2,38]),i(Me,[2,72]),i(de,[2,74]),i(te,[2,24]),i(te,[2,35]),i(ni,[2,25]),i(ni,[2,26],{12:[1,138]}),i(ni,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:function(Er,Xn){if(Xn.recoverable)this.trace(Er);else{var di=new Error(Er);throw di.hash=Xn,di}},parse:function(Er){var Xn=this,di=[0],Ee=[],Kn=[null],He=[],Ti=this.table,pn="",Es=0,qa=0,Ma=2,Gs=1,Po=He.slice.call(arguments,1),vs=Object.create(this.lexer),ru={yy:{}};for(var zs in this.yy)Object.prototype.hasOwnProperty.call(this.yy,zs)&&(ru.yy[zs]=this.yy[zs]);vs.setInput(Er,ru.yy),ru.yy.lexer=vs,ru.yy.parser=this,typeof vs.yylloc>"u"&&(vs.yylloc={});var Du=vs.yylloc;He.push(Du);var pm=vs.options&&vs.options.ranges;typeof ru.yy.parseError=="function"?this.parseError=ru.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function uw(){var Dl;return Dl=Ee.pop()||vs.lex()||Gs,typeof Dl!="number"&&(Dl instanceof Array&&(Ee=Dl,Dl=Ee.pop()),Dl=Xn.symbols_[Dl]||Dl),Dl}for(var Wu,th,Fa,Ml,ha={},bc,Cc,pa,Da;;){if(th=di[di.length-1],this.defaultActions[th]?Fa=this.defaultActions[th]:((Wu===null||typeof Wu>"u")&&(Wu=uw()),Fa=Ti[th]&&Ti[th][Wu]),typeof Fa>"u"||!Fa.length||!Fa[0]){var Ha="";Da=[];for(bc in Ti[th])this.terminals_[bc]&&bc>Ma&&Da.push("'"+this.terminals_[bc]+"'");vs.showPosition?Ha="Parse error on line "+(Es+1)+`: +`+vs.showPosition()+` +Expecting `+Da.join(", ")+", got '"+(this.terminals_[Wu]||Wu)+"'":Ha="Parse error on line "+(Es+1)+": Unexpected "+(Wu==Gs?"end of input":"'"+(this.terminals_[Wu]||Wu)+"'"),this.parseError(Ha,{text:vs.match,token:this.terminals_[Wu]||Wu,line:vs.yylineno,loc:Du,expected:Da})}if(Fa[0]instanceof Array&&Fa.length>1)throw new Error("Parse Error: multiple actions possible at state: "+th+", token: "+Wu);switch(Fa[0]){case 1:di.push(Wu),Kn.push(vs.yytext),He.push(vs.yylloc),di.push(Fa[1]),Wu=null,qa=vs.yyleng,pn=vs.yytext,Es=vs.yylineno,Du=vs.yylloc;break;case 2:if(Cc=this.productions_[Fa[1]][1],ha.$=Kn[Kn.length-Cc],ha._$={first_line:He[He.length-(Cc||1)].first_line,last_line:He[He.length-1].last_line,first_column:He[He.length-(Cc||1)].first_column,last_column:He[He.length-1].last_column},pm&&(ha._$.range=[He[He.length-(Cc||1)].range[0],He[He.length-1].range[1]]),Ml=this.performAction.apply(ha,[pn,qa,Es,ru.yy,Fa[1],Kn,He].concat(Po)),typeof Ml<"u")return Ml;Cc&&(di=di.slice(0,-1*Cc*2),Kn=Kn.slice(0,-1*Cc),He=He.slice(0,-1*Cc)),di.push(this.productions_[Fa[1]][0]),Kn.push(ha.$),He.push(ha._$),pa=Ti[di[di.length-2]][di[di.length-1]],di.push(pa);break;case 3:return!0}}return!0}},ws=function(){var Xi={EOF:1,parseError:function(Xn,di){if(this.yy.parser)this.yy.parser.parseError(Xn,di);else throw new Error(Xn)},setInput:function(Er,Xn){return this.yy=Xn||this.yy||{},this._input=Er,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Er=this._input[0];this.yytext+=Er,this.yyleng++,this.offset++,this.match+=Er,this.matched+=Er;var Xn=Er.match(/(?:\r\n?|\n).*/g);return Xn?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Er},unput:function(Er){var Xn=Er.length,di=Er.split(/(?:\r\n?|\n)/g);this._input=Er+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Xn),this.offset-=Xn;var Ee=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),di.length-1&&(this.yylineno-=di.length-1);var Kn=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:di?(di.length===Ee.length?this.yylloc.first_column:0)+Ee[Ee.length-di.length].length-di[0].length:this.yylloc.first_column-Xn},this.options.ranges&&(this.yylloc.range=[Kn[0],Kn[0]+this.yyleng-Xn]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Er){this.unput(this.match.slice(Er))},pastInput:function(){var Er=this.matched.substr(0,this.matched.length-this.match.length);return(Er.length>20?"...":"")+Er.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Er=this.match;return Er.length<20&&(Er+=this._input.substr(0,20-Er.length)),(Er.substr(0,20)+(Er.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Er=this.pastInput(),Xn=new Array(Er.length+1).join("-");return Er+this.upcomingInput()+` +`+Xn+"^"},test_match:function(Er,Xn){var di,Ee,Kn;if(this.options.backtrack_lexer&&(Kn={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Kn.yylloc.range=this.yylloc.range.slice(0))),Ee=Er[0].match(/(?:\r\n?|\n).*/g),Ee&&(this.yylineno+=Ee.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ee?Ee[Ee.length-1].length-Ee[Ee.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Er[0].length},this.yytext+=Er[0],this.match+=Er[0],this.matches=Er,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Er[0].length),this.matched+=Er[0],di=this.performAction.call(this,this.yy,this,Xn,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),di)return di;if(this._backtrack){for(var He in Kn)this[He]=Kn[He];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Er,Xn,di,Ee;this._more||(this.yytext="",this.match="");for(var Kn=this._currentRules(),He=0;HeXn[0].length)){if(Xn=di,Ee=He,this.options.backtrack_lexer){if(Er=this.test_match(di,Kn[He]),Er!==!1)return Er;if(this._backtrack){Xn=!1;continue}else return!1}else if(!this.options.flex)break}return Xn?(Er=this.test_match(Xn,Kn[Ee]),Er!==!1?Er:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Xn=this.next();return Xn||this.lex()},begin:function(Xn){this.conditionStack.push(Xn)},popState:function(){var Xn=this.conditionStack.length-1;return Xn>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Xn){return Xn=this.conditionStack.length-1-Math.abs(Xn||0),Xn>=0?this.conditionStack[Xn]:"INITIAL"},pushState:function(Xn){this.begin(Xn)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Xn,di,Ee,Kn){switch(Ee){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return Xi}();Ks.lexer=ws;function fo(){this.yy={}}return fo.prototype=Ks,Ks.Parser=fo,new fo}();XW.parser=XW;const gDe=XW;let am=[],fk=[""],wg="global",om="",p3=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],lF=[],Fdt="",Ndt=!1,QW=4,ZW=2;var wPt;const pDe=function(){return wPt},bDe=function(i){wPt=Q1(i,Oe())},wDe=function(i,a,f,p,w,m,b,E,_){if(i==null||a===void 0||a===null||f===void 0||f===null||p===void 0||p===null)return;let A={};const I=lF.find(B=>B.from===a&&B.to===f);if(I?A=I:lF.push(A),A.type=i,A.from=a,A.to=f,A.label={text:p},w==null)A.techn={text:""};else if(typeof w=="object"){let[B,N]=Object.entries(w)[0];A[B]={text:N}}else A.techn={text:w};if(m==null)A.descr={text:""};else if(typeof m=="object"){let[B,N]=Object.entries(m)[0];A[B]={text:N}}else A.descr={text:m};if(typeof b=="object"){let[B,N]=Object.entries(b)[0];A[B]=N}else A.sprite=b;if(typeof E=="object"){let[B,N]=Object.entries(E)[0];A[B]=N}else A.tags=E;if(typeof _=="object"){let[B,N]=Object.entries(_)[0];A[B]=N}else A.link=_;A.wrap=dk()},vDe=function(i,a,f,p,w,m,b){if(a===null||f===null)return;let E={};const _=am.find(A=>A.alias===a);if(_&&a===_.alias?E=_:(E.alias=a,am.push(E)),f==null?E.label={text:""}:E.label={text:f},p==null)E.descr={text:""};else if(typeof p=="object"){let[A,I]=Object.entries(p)[0];E[A]={text:I}}else E.descr={text:p};if(typeof w=="object"){let[A,I]=Object.entries(w)[0];E[A]=I}else E.sprite=w;if(typeof m=="object"){let[A,I]=Object.entries(m)[0];E[A]=I}else E.tags=m;if(typeof b=="object"){let[A,I]=Object.entries(b)[0];E[A]=I}else E.link=b;E.typeC4Shape={text:i},E.parentBoundary=wg,E.wrap=dk()},mDe=function(i,a,f,p,w,m,b,E){if(a===null||f===null)return;let _={};const A=am.find(I=>I.alias===a);if(A&&a===A.alias?_=A:(_.alias=a,am.push(_)),f==null?_.label={text:""}:_.label={text:f},p==null)_.techn={text:""};else if(typeof p=="object"){let[I,B]=Object.entries(p)[0];_[I]={text:B}}else _.techn={text:p};if(w==null)_.descr={text:""};else if(typeof w=="object"){let[I,B]=Object.entries(w)[0];_[I]={text:B}}else _.descr={text:w};if(typeof m=="object"){let[I,B]=Object.entries(m)[0];_[I]=B}else _.sprite=m;if(typeof b=="object"){let[I,B]=Object.entries(b)[0];_[I]=B}else _.tags=b;if(typeof E=="object"){let[I,B]=Object.entries(E)[0];_[I]=B}else _.link=E;_.wrap=dk(),_.typeC4Shape={text:i},_.parentBoundary=wg},yDe=function(i,a,f,p,w,m,b,E){if(a===null||f===null)return;let _={};const A=am.find(I=>I.alias===a);if(A&&a===A.alias?_=A:(_.alias=a,am.push(_)),f==null?_.label={text:""}:_.label={text:f},p==null)_.techn={text:""};else if(typeof p=="object"){let[I,B]=Object.entries(p)[0];_[I]={text:B}}else _.techn={text:p};if(w==null)_.descr={text:""};else if(typeof w=="object"){let[I,B]=Object.entries(w)[0];_[I]={text:B}}else _.descr={text:w};if(typeof m=="object"){let[I,B]=Object.entries(m)[0];_[I]=B}else _.sprite=m;if(typeof b=="object"){let[I,B]=Object.entries(b)[0];_[I]=B}else _.tags=b;if(typeof E=="object"){let[I,B]=Object.entries(E)[0];_[I]=B}else _.link=E;_.wrap=dk(),_.typeC4Shape={text:i},_.parentBoundary=wg},xDe=function(i,a,f,p,w){if(i===null||a===null)return;let m={};const b=p3.find(E=>E.alias===i);if(b&&i===b.alias?m=b:(m.alias=i,p3.push(m)),a==null?m.label={text:""}:m.label={text:a},f==null)m.type={text:"system"};else if(typeof f=="object"){let[E,_]=Object.entries(f)[0];m[E]={text:_}}else m.type={text:f};if(typeof p=="object"){let[E,_]=Object.entries(p)[0];m[E]=_}else m.tags=p;if(typeof w=="object"){let[E,_]=Object.entries(w)[0];m[E]=_}else m.link=w;m.parentBoundary=wg,m.wrap=dk(),om=wg,wg=i,fk.push(om)},kDe=function(i,a,f,p,w){if(i===null||a===null)return;let m={};const b=p3.find(E=>E.alias===i);if(b&&i===b.alias?m=b:(m.alias=i,p3.push(m)),a==null?m.label={text:""}:m.label={text:a},f==null)m.type={text:"container"};else if(typeof f=="object"){let[E,_]=Object.entries(f)[0];m[E]={text:_}}else m.type={text:f};if(typeof p=="object"){let[E,_]=Object.entries(p)[0];m[E]=_}else m.tags=p;if(typeof w=="object"){let[E,_]=Object.entries(w)[0];m[E]=_}else m.link=w;m.parentBoundary=wg,m.wrap=dk(),om=wg,wg=i,fk.push(om)},EDe=function(i,a,f,p,w,m,b,E){if(a===null||f===null)return;let _={};const A=p3.find(I=>I.alias===a);if(A&&a===A.alias?_=A:(_.alias=a,p3.push(_)),f==null?_.label={text:""}:_.label={text:f},p==null)_.type={text:"node"};else if(typeof p=="object"){let[I,B]=Object.entries(p)[0];_[I]={text:B}}else _.type={text:p};if(w==null)_.descr={text:""};else if(typeof w=="object"){let[I,B]=Object.entries(w)[0];_[I]={text:B}}else _.descr={text:w};if(typeof b=="object"){let[I,B]=Object.entries(b)[0];_[I]=B}else _.tags=b;if(typeof E=="object"){let[I,B]=Object.entries(E)[0];_[I]=B}else _.link=E;_.nodeType=i,_.parentBoundary=wg,_.wrap=dk(),om=wg,wg=a,fk.push(om)},TDe=function(){wg=om,fk.pop(),om=fk.pop(),fk.push(om)},CDe=function(i,a,f,p,w,m,b,E,_,A,I){let B=am.find(N=>N.alias===a);if(!(B===void 0&&(B=p3.find(N=>N.alias===a),B===void 0))){if(f!=null)if(typeof f=="object"){let[N,R]=Object.entries(f)[0];B[N]=R}else B.bgColor=f;if(p!=null)if(typeof p=="object"){let[N,R]=Object.entries(p)[0];B[N]=R}else B.fontColor=p;if(w!=null)if(typeof w=="object"){let[N,R]=Object.entries(w)[0];B[N]=R}else B.borderColor=w;if(m!=null)if(typeof m=="object"){let[N,R]=Object.entries(m)[0];B[N]=R}else B.shadowing=m;if(b!=null)if(typeof b=="object"){let[N,R]=Object.entries(b)[0];B[N]=R}else B.shape=b;if(E!=null)if(typeof E=="object"){let[N,R]=Object.entries(E)[0];B[N]=R}else B.sprite=E;if(_!=null)if(typeof _=="object"){let[N,R]=Object.entries(_)[0];B[N]=R}else B.techn=_;if(A!=null)if(typeof A=="object"){let[N,R]=Object.entries(A)[0];B[N]=R}else B.legendText=A;if(I!=null)if(typeof I=="object"){let[N,R]=Object.entries(I)[0];B[N]=R}else B.legendSprite=I}},_De=function(i,a,f,p,w,m,b){const E=lF.find(_=>_.from===a&&_.to===f);if(E!==void 0){if(p!=null)if(typeof p=="object"){let[_,A]=Object.entries(p)[0];E[_]=A}else E.textColor=p;if(w!=null)if(typeof w=="object"){let[_,A]=Object.entries(w)[0];E[_]=A}else E.lineColor=w;if(m!=null)if(typeof m=="object"){let[_,A]=Object.entries(m)[0];E[_]=parseInt(A)}else E.offsetX=parseInt(m);if(b!=null)if(typeof b=="object"){let[_,A]=Object.entries(b)[0];E[_]=parseInt(A)}else E.offsetY=parseInt(b)}},SDe=function(i,a,f){let p=QW,w=ZW;if(typeof a=="object"){const m=Object.values(a)[0];p=parseInt(m)}else p=parseInt(a);if(typeof f=="object"){const m=Object.values(f)[0];w=parseInt(m)}else w=parseInt(f);p>=1&&(QW=p),w>=1&&(ZW=w)},ADe=function(){return QW},LDe=function(){return ZW},MDe=function(){return wg},DDe=function(){return om},vPt=function(i){return i==null?am:am.filter(a=>a.parentBoundary===i)},IDe=function(i){return am.find(a=>a.alias===i)},ODe=function(i){return Object.keys(vPt(i))},PDe=function(i){return i==null?p3:p3.filter(a=>a.parentBoundary===i)},FDe=function(){return lF},NDe=function(){return Fdt},BDe=function(i){Ndt=i},dk=function(){return Ndt},Bdt={addPersonOrSystem:vDe,addPersonOrSystemBoundary:xDe,addContainer:mDe,addContainerBoundary:kDe,addComponent:yDe,addDeploymentNode:EDe,popBoundaryParseStack:TDe,addRel:wDe,updateElStyle:CDe,updateRelStyle:_De,updateLayoutConfig:SDe,autoWrap:dk,setWrap:BDe,getC4ShapeArray:vPt,getC4Shape:IDe,getC4ShapeKeys:ODe,getBoundarys:PDe,getCurrentBoundaryParse:MDe,getParentBoundaryParse:DDe,getRels:FDe,getTitle:NDe,getC4Type:pDe,getC4ShapeInRow:ADe,getC4BoundaryInRow:LDe,setAccTitle:E0,getAccTitle:fg,getAccDescription:gg,setAccDescription:dg,getConfig:()=>Oe().c4,clear:function(){am=[],p3=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],om="",wg="global",fk=[""],lF=[],fk=[""],Fdt="",Ndt=!1,QW=4,ZW=2},LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:function(i){Fdt=Q1(i,Oe())},setC4Type:bDe},JW=(i,a)=>{const f=i.append("rect");if(f.attr("x",a.x),f.attr("y",a.y),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("width",a.width),f.attr("height",a.height),a.rx!==void 0&&f.attr("rx",a.rx),a.ry!==void 0&&f.attr("ry",a.ry),a.attrs!==void 0)for(const p in a.attrs)f.attr(p,a.attrs[p]);return a.class!==void 0&&f.attr("class",a.class),f},mPt=(i,a)=>{const f={x:a.startx,y:a.starty,width:a.stopx-a.startx,height:a.stopy-a.starty,fill:a.fill,stroke:a.stroke,class:"rect"};JW(i,f).lower()},RDe=(i,a)=>{const f=a.text.replace(WP," "),p=i.append("text");p.attr("x",a.x),p.attr("y",a.y),p.attr("class","legend"),p.style("text-anchor",a.anchor),a.class!==void 0&&p.attr("class",a.class);const w=p.append("tspan");return w.attr("x",a.x+a.textMargin*2),w.text(f),p},jDe=(i,a,f,p)=>{const w=i.append("image");w.attr("x",a),w.attr("y",f);const m=ik(p);w.attr("xlink:href",m)},$De=(i,a,f,p)=>{const w=i.append("use");w.attr("x",a),w.attr("y",f);const m=ik(p);w.attr("xlink:href",`#${m}`)},bT=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),Rdt=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),jdt=function(i,a){return JW(i,a)},yPt=function(i,a,f,p,w,m){const b=i.append("image");b.attr("width",a),b.attr("height",f),b.attr("x",p),b.attr("y",w);let E=m.startsWith("data:image/png;base64")?m:ik(m);b.attr("xlink:href",E)},zDe=(i,a,f)=>{const p=i.append("g");let w=0;for(let m of a){let b=m.textColor?m.textColor:"#444444",E=m.lineColor?m.lineColor:"#444444",_=m.offsetX?parseInt(m.offsetX):0,A=m.offsetY?parseInt(m.offsetY):0,I="";if(w===0){let N=p.append("line");N.attr("x1",m.startPoint.x),N.attr("y1",m.startPoint.y),N.attr("x2",m.endPoint.x),N.attr("y2",m.endPoint.y),N.attr("stroke-width","1"),N.attr("stroke",E),N.style("fill","none"),m.type!=="rel_b"&&N.attr("marker-end","url("+I+"#arrowhead)"),(m.type==="birel"||m.type==="rel_b")&&N.attr("marker-start","url("+I+"#arrowend)"),w=-1}else{let N=p.append("path");N.attr("fill","none").attr("stroke-width","1").attr("stroke",E).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",m.startPoint.x).replaceAll("starty",m.startPoint.y).replaceAll("controlx",m.startPoint.x+(m.endPoint.x-m.startPoint.x)/2-(m.endPoint.x-m.startPoint.x)/4).replaceAll("controly",m.startPoint.y+(m.endPoint.y-m.startPoint.y)/2).replaceAll("stopx",m.endPoint.x).replaceAll("stopy",m.endPoint.y)),m.type!=="rel_b"&&N.attr("marker-end","url("+I+"#arrowhead)"),(m.type==="birel"||m.type==="rel_b")&&N.attr("marker-start","url("+I+"#arrowend)")}let B=f.messageFont();L5(f)(m.label.text,p,Math.min(m.startPoint.x,m.endPoint.x)+Math.abs(m.endPoint.x-m.startPoint.x)/2+_,Math.min(m.startPoint.y,m.endPoint.y)+Math.abs(m.endPoint.y-m.startPoint.y)/2+A,m.label.width,m.label.height,{fill:b},B),m.techn&&m.techn.text!==""&&(B=f.messageFont(),L5(f)("["+m.techn.text+"]",p,Math.min(m.startPoint.x,m.endPoint.x)+Math.abs(m.endPoint.x-m.startPoint.x)/2+_,Math.min(m.startPoint.y,m.endPoint.y)+Math.abs(m.endPoint.y-m.startPoint.y)/2+f.messageFontSize+5+A,Math.max(m.label.width,m.techn.width),m.techn.height,{fill:b,"font-style":"italic"},B))}},qDe=function(i,a,f){const p=i.append("g");let w=a.bgColor?a.bgColor:"none",m=a.borderColor?a.borderColor:"#444444",b=a.fontColor?a.fontColor:"black",E={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};a.nodeType&&(E={"stroke-width":1});let _={x:a.x,y:a.y,fill:w,stroke:m,width:a.width,height:a.height,rx:2.5,ry:2.5,attrs:E};jdt(p,_);let A=f.boundaryFont();A.fontWeight="bold",A.fontSize=A.fontSize+2,A.fontColor=b,L5(f)(a.label.text,p,a.x,a.y+a.label.Y,a.width,a.height,{fill:"#444444"},A),a.type&&a.type.text!==""&&(A=f.boundaryFont(),A.fontColor=b,L5(f)(a.type.text,p,a.x,a.y+a.type.Y,a.width,a.height,{fill:"#444444"},A)),a.descr&&a.descr.text!==""&&(A=f.boundaryFont(),A.fontSize=A.fontSize-2,A.fontColor=b,L5(f)(a.descr.text,p,a.x,a.y+a.descr.Y,a.width,a.height,{fill:"#444444"},A))},HDe=function(i,a,f){var B;let p=a.bgColor?a.bgColor:f[a.typeC4Shape.text+"_bg_color"],w=a.borderColor?a.borderColor:f[a.typeC4Shape.text+"_border_color"],m=a.fontColor?a.fontColor:"#FFFFFF",b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(a.typeC4Shape.text){case"person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const E=i.append("g");E.attr("class","person-man");const _=bT();switch(a.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":_.x=a.x,_.y=a.y,_.fill=p,_.width=a.width,_.height=a.height,_.stroke=w,_.rx=2.5,_.ry=2.5,_.attrs={"stroke-width":.5},jdt(E,_);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":E.append("path").attr("fill",p).attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2).replaceAll("height",a.height)),E.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":E.append("path").attr("fill",p).attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("width",a.width).replaceAll("half",a.height/2)),E.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",a.x+a.width).replaceAll("starty",a.y).replaceAll("half",a.height/2));break}let A=ZDe(f,a.typeC4Shape.text);switch(E.append("text").attr("fill",m).attr("font-family",A.fontFamily).attr("font-size",A.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",a.typeC4Shape.width).attr("x",a.x+a.width/2-a.typeC4Shape.width/2).attr("y",a.y+a.typeC4Shape.Y).text("<<"+a.typeC4Shape.text+">>"),a.typeC4Shape.text){case"person":case"external_person":yPt(E,48,48,a.x+a.width/2-24,a.y+a.image.Y,b);break}let I=f[a.typeC4Shape.text+"Font"]();return I.fontWeight="bold",I.fontSize=I.fontSize+2,I.fontColor=m,L5(f)(a.label.text,E,a.x,a.y+a.label.Y,a.width,a.height,{fill:m},I),I=f[a.typeC4Shape.text+"Font"](),I.fontColor=m,a.techn&&((B=a.techn)==null?void 0:B.text)!==""?L5(f)(a.techn.text,E,a.x,a.y+a.techn.Y,a.width,a.height,{fill:m,"font-style":"italic"},I):a.type&&a.type.text!==""&&L5(f)(a.type.text,E,a.x,a.y+a.type.Y,a.width,a.height,{fill:m,"font-style":"italic"},I),a.descr&&a.descr.text!==""&&(I=f.personFont(),I.fontColor=m,L5(f)(a.descr.text,E,a.x,a.y+a.descr.Y,a.width,a.height,{fill:m},I)),a.height},VDe=function(i){i.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},GDe=function(i){i.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},UDe=function(i){i.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},WDe=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},YDe=function(i){i.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},KDe=function(i){i.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},XDe=function(i){i.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},QDe=function(i){const f=i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);f.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),f.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},ZDe=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),L5=function(){function i(w,m,b,E,_,A,I){const B=m.append("text").attr("x",b+_/2).attr("y",E+A/2+5).style("text-anchor","middle").text(w);p(B,I)}function a(w,m,b,E,_,A,I,B){const{fontSize:N,fontFamily:R,fontWeight:z}=B,W=w.split(Kr.lineBreakRegex);for(let et=0;et=this.data.widthLimit||p>=this.data.widthLimit||this.nextData.cnt>xPt)&&(f=this.nextData.startx+a.margin+ds.nextLinePaddingX,w=this.nextData.stopy+a.margin*2,this.nextData.stopx=p=f+a.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=m=w+a.height,this.nextData.cnt=1),a.x=f,a.y=w,this.updateVal(this.data,"startx",f,Math.min),this.updateVal(this.data,"starty",w,Math.min),this.updateVal(this.data,"stopx",p,Math.max),this.updateVal(this.data,"stopy",m,Math.max),this.updateVal(this.nextData,"startx",f,Math.min),this.updateVal(this.nextData,"starty",w,Math.min),this.updateVal(this.nextData,"stopx",p,Math.max),this.updateVal(this.nextData,"stopy",m,Math.max)}init(a){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},zdt(a.db.getConfig())}bumpLastMargin(a){this.data.stopx+=a,this.data.stopy+=a}}const zdt=function(i){Z1(ds,i),i.fontFamily&&(ds.personFontFamily=ds.systemFontFamily=ds.messageFontFamily=i.fontFamily),i.fontSize&&(ds.personFontSize=ds.systemFontSize=ds.messageFontSize=i.fontSize),i.fontWeight&&(ds.personFontWeight=ds.systemFontWeight=ds.messageFontWeight=i.fontWeight)},hF=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),nY=i=>({fontFamily:i.boundaryFontFamily,fontSize:i.boundaryFontSize,fontWeight:i.boundaryFontWeight}),JDe=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight});function cm(i,a,f,p,w){if(!a[i].width)if(f)a[i].text=UIt(a[i].text,w,p),a[i].textLines=a[i].text.split(Kr.lineBreakRegex).length,a[i].width=w,a[i].height=odt(a[i].text,p);else{let m=a[i].text.split(Kr.lineBreakRegex);a[i].textLines=m.length;let b=0;a[i].height=0,a[i].width=0;for(const E of m)a[i].width=Math.max(d3(E,p),a[i].width),b=odt(E,p),a[i].height=a[i].height+b}}const EPt=function(i,a,f){a.x=f.data.startx,a.y=f.data.starty,a.width=f.data.stopx-f.data.startx,a.height=f.data.stopy-f.data.starty,a.label.y=ds.c4ShapeMargin-35;let p=a.wrap&&ds.wrap,w=nY(ds);w.fontSize=w.fontSize+2,w.fontWeight="bold";let m=d3(a.label.text,w);cm("label",a,p,w,m),b3.drawBoundary(i,a,ds)},TPt=function(i,a,f,p){let w=0;for(const m of p){w=0;const b=f[m];let E=hF(ds,b.typeC4Shape.text);switch(E.fontSize=E.fontSize-2,b.typeC4Shape.width=d3("«"+b.typeC4Shape.text+"»",E),b.typeC4Shape.height=E.fontSize+2,b.typeC4Shape.Y=ds.c4ShapePadding,w=b.typeC4Shape.Y+b.typeC4Shape.height-4,b.image={width:0,height:0,Y:0},b.typeC4Shape.text){case"person":case"external_person":b.image.width=48,b.image.height=48,b.image.Y=w,w=b.image.Y+b.image.height;break}b.sprite&&(b.image.width=48,b.image.height=48,b.image.Y=w,w=b.image.Y+b.image.height);let _=b.wrap&&ds.wrap,A=ds.width-ds.c4ShapePadding*2,I=hF(ds,b.typeC4Shape.text);if(I.fontSize=I.fontSize+2,I.fontWeight="bold",cm("label",b,_,I,A),b.label.Y=w+8,w=b.label.Y+b.label.height,b.type&&b.type.text!==""){b.type.text="["+b.type.text+"]";let R=hF(ds,b.typeC4Shape.text);cm("type",b,_,R,A),b.type.Y=w+5,w=b.type.Y+b.type.height}else if(b.techn&&b.techn.text!==""){b.techn.text="["+b.techn.text+"]";let R=hF(ds,b.techn.text);cm("techn",b,_,R,A),b.techn.Y=w+5,w=b.techn.Y+b.techn.height}let B=w,N=b.label.width;if(b.descr&&b.descr.text!==""){let R=hF(ds,b.typeC4Shape.text);cm("descr",b,_,R,A),b.descr.Y=w+20,w=b.descr.Y+b.descr.height,N=Math.max(b.label.width,b.descr.width),B=w-b.descr.textLines*5}N=N+ds.c4ShapePadding,b.width=Math.max(b.width||ds.width,N,ds.width),b.height=Math.max(b.height||ds.height,B,ds.height),b.margin=b.margin||ds.c4ShapeMargin,i.insert(b),b3.drawC4Shape(a,b,ds)}i.bumpLastMargin(ds.c4ShapeMargin)};let rw=class{constructor(a,f){this.x=a,this.y=f}},CPt=function(i,a){let f=i.x,p=i.y,w=a.x,m=a.y,b=f+i.width/2,E=p+i.height/2,_=Math.abs(f-w),A=Math.abs(p-m),I=A/_,B=i.height/i.width,N=null;return p==m&&fw?N=new rw(f,E):f==w&&pm&&(N=new rw(b,p)),f>w&&p=I?N=new rw(f,E+I*i.width/2):N=new rw(b-_/A*i.height/2,p+i.height):f=I?N=new rw(f+i.width,E+I*i.width/2):N=new rw(b+_/A*i.height/2,p+i.height):fm?B>=I?N=new rw(f+i.width,E-I*i.width/2):N=new rw(b+i.height/2*_/A,p):f>w&&p>m&&(B>=I?N=new rw(f,E-i.width/2*I):N=new rw(b-i.height/2*_/A,p)),N},tIe=function(i,a){let f={x:0,y:0};f.x=a.x+a.width/2,f.y=a.y+a.height/2;let p=CPt(i,f);f.x=i.x+i.width/2,f.y=i.y+i.height/2;let w=CPt(a,f);return{startPoint:p,endPoint:w}};const eIe=function(i,a,f,p){let w=0;for(let m of a){w=w+1;let b=m.wrap&&ds.wrap,E=JDe(ds);p.db.getC4Type()==="C4Dynamic"&&(m.label.text=w+": "+m.label.text);let A=d3(m.label.text,E);cm("label",m,b,E,A),m.techn&&m.techn.text!==""&&(A=d3(m.techn.text,E),cm("techn",m,b,E,A)),m.descr&&m.descr.text!==""&&(A=d3(m.descr.text,E),cm("descr",m,b,E,A));let I=f(m.from),B=f(m.to),N=tIe(I,B);m.startPoint=N.startPoint,m.endPoint=N.endPoint}b3.drawRels(i,a,ds)};function _Pt(i,a,f,p,w){let m=new kPt(w);m.data.widthLimit=f.data.widthLimit/Math.min($dt,p.length);for(let[b,E]of p.entries()){let _=0;E.image={width:0,height:0,Y:0},E.sprite&&(E.image.width=48,E.image.height=48,E.image.Y=_,_=E.image.Y+E.image.height);let A=E.wrap&&ds.wrap,I=nY(ds);if(I.fontSize=I.fontSize+2,I.fontWeight="bold",cm("label",E,A,I,m.data.widthLimit),E.label.Y=_+8,_=E.label.Y+E.label.height,E.type&&E.type.text!==""){E.type.text="["+E.type.text+"]";let z=nY(ds);cm("type",E,A,z,m.data.widthLimit),E.type.Y=_+5,_=E.type.Y+E.type.height}if(E.descr&&E.descr.text!==""){let z=nY(ds);z.fontSize=z.fontSize-2,cm("descr",E,A,z,m.data.widthLimit),E.descr.Y=_+20,_=E.descr.Y+E.descr.height}if(b==0||b%$dt===0){let z=f.data.startx+ds.diagramMarginX,W=f.data.stopy+ds.diagramMarginY+_;m.setData(z,z,W,W)}else{let z=m.data.stopx!==m.data.startx?m.data.stopx+ds.diagramMarginX:m.data.startx,W=m.data.starty;m.setData(z,z,W,W)}m.name=E.alias;let B=w.db.getC4ShapeArray(E.alias),N=w.db.getC4ShapeKeys(E.alias);N.length>0&&TPt(m,i,B,N),a=E.alias;let R=w.db.getBoundarys(a);R.length>0&&_Pt(i,a,m,R,w),E.alias!=="global"&&EPt(i,E,m),f.data.stopy=Math.max(m.data.stopy+ds.c4ShapeMargin,f.data.stopy),f.data.stopx=Math.max(m.data.stopx+ds.c4ShapeMargin,f.data.stopx),tY=Math.max(tY,f.data.stopx),eY=Math.max(eY,f.data.stopy)}}const SPt={drawPersonOrSystemArray:TPt,drawBoundary:EPt,setConf:zdt,draw:function(i,a,f,p){ds=Oe().c4;const w=Oe().securityLevel;let m;w==="sandbox"&&(m=yr("#i"+a));const b=yr(w==="sandbox"?m.nodes()[0].contentDocument.body:"body");let E=p.db;p.db.setWrap(ds.wrap),xPt=E.getC4ShapeInRow(),$dt=E.getC4BoundaryInRow(),Ut.debug(`C:${JSON.stringify(ds,null,2)}`);const _=w==="sandbox"?b.select(`[id="${a}"]`):yr(`[id="${a}"]`);b3.insertComputerIcon(_),b3.insertDatabaseIcon(_),b3.insertClockIcon(_);let A=new kPt(p);A.setData(ds.diagramMarginX,ds.diagramMarginX,ds.diagramMarginY,ds.diagramMarginY),A.data.widthLimit=screen.availWidth,tY=ds.diagramMarginX,eY=ds.diagramMarginY;const I=p.db.getTitle();let B=p.db.getBoundarys("");_Pt(_,"",A,B,p),b3.insertArrowHead(_),b3.insertArrowEnd(_),b3.insertArrowCrossHead(_),b3.insertArrowFilledHead(_),eIe(_,p.db.getRels(),p.db.getC4Shape,p),A.data.stopx=tY,A.data.stopy=eY;const N=A.data;let z=N.stopy-N.starty+2*ds.diagramMarginY;const et=N.stopx-N.startx+2*ds.diagramMarginX;I&&_.append("text").text(I).attr("x",(N.stopx-N.startx)/2-4*ds.diagramMarginX).attr("y",N.starty+ds.diagramMarginY),k0(_,z,et,ds.useMaxWidth);const st=I?60:0;_.attr("viewBox",N.startx-ds.diagramMarginX+" -"+(ds.diagramMarginY+st)+" "+et+" "+(z+st)),Ut.debug("models:",N)}},nIe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:gDe,db:Bdt,renderer:SPt,styles:i=>`.person { + stroke: ${i.personBorder}; + fill: ${i.personBkg}; + } +`,init:({c4:i,wrap:a})=>{SPt.setConf(i),Bdt.setWrap(a)}}},Symbol.toStringTag,{value:"Module"}));var qdt=function(){var i=function(af,Qi,Ts,ka){for(Ts=Ts||{},ka=af.length;ka--;Ts[af[ka]]=Qi);return Ts},a=[1,4],f=[1,3],p=[1,5],w=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],m=[2,2],b=[1,13],E=[1,14],_=[1,15],A=[1,16],I=[1,23],B=[1,25],N=[1,26],R=[1,27],z=[1,49],W=[1,48],et=[1,29],st=[1,30],at=[1,31],bt=[1,32],mt=[1,33],yt=[1,44],ft=[1,46],ut=[1,42],vt=[1,47],X=[1,43],pt=[1,50],U=[1,45],Tt=[1,51],nt=[1,52],It=[1,34],Ot=[1,35],Bt=[1,36],Et=[1,37],Z=[1,57],Ct=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],xt=[1,61],Ht=[1,60],Le=[1,62],Ft=[8,9,11,73,75],gn=[1,88],Se=[1,93],me=[1,92],Ve=[1,89],Ye=[1,85],ce=[1,91],ke=[1,87],zt=[1,94],re=[1,90],se=[1,95],Pe=[1,86],te=[8,9,10,11,73,75],Me=[8,9,10,11,44,73,75],de=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],on=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],ni=[42,58,86,99,102,103,106,108,111,112,113],Ks=[1,121],ws=[1,120],fo=[1,128],Xi=[1,142],Er=[1,143],Xn=[1,144],di=[1,145],Ee=[1,130],Kn=[1,132],He=[1,136],Ti=[1,137],pn=[1,138],Es=[1,139],qa=[1,140],Ma=[1,141],Gs=[1,146],Po=[1,147],vs=[1,126],ru=[1,127],zs=[1,134],Du=[1,129],pm=[1,133],uw=[1,131],Wu=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],th=[1,149],Fa=[8,9,11],Ml=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],ha=[1,169],bc=[1,165],Cc=[1,166],pa=[1,170],Da=[1,167],Ha=[1,168],Dl=[75,113,116],_c=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],lw=[10,103],eh=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],ed=[1,235],jd=[1,233],nd=[1,237],$d=[1,231],A0=[1,232],Bi=[1,234],cn=[1,236],kr=[1,238],Ei=[1,255],Jo=[8,9,11,103],wc=[8,9,10,11,58,81,102,103,106,107,108,109],rf={trace:function(){},yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeperator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,verticeStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(Qi,Ts,ka,xi,Yc,Ce,vp){var Be=Ce.length-1;switch(Yc){case 2:this.$=[];break;case 3:(!Array.isArray(Ce[Be])||Ce[Be].length>0)&&Ce[Be-1].push(Ce[Be]),this.$=Ce[Be-1];break;case 4:case 176:this.$=Ce[Be];break;case 11:xi.setDirection("TB"),this.$="TB";break;case 12:xi.setDirection(Ce[Be-1]),this.$=Ce[Be-1];break;case 27:this.$=Ce[Be-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=xi.addSubGraph(Ce[Be-6],Ce[Be-1],Ce[Be-4]);break;case 34:this.$=xi.addSubGraph(Ce[Be-3],Ce[Be-1],Ce[Be-3]);break;case 35:this.$=xi.addSubGraph(void 0,Ce[Be-1],void 0);break;case 37:this.$=Ce[Be].trim(),xi.setAccTitle(this.$);break;case 38:case 39:this.$=Ce[Be].trim(),xi.setAccDescription(this.$);break;case 43:xi.addLink(Ce[Be-2].stmt,Ce[Be],Ce[Be-1]),this.$={stmt:Ce[Be],nodes:Ce[Be].concat(Ce[Be-2].nodes)};break;case 44:xi.addLink(Ce[Be-3].stmt,Ce[Be-1],Ce[Be-2]),this.$={stmt:Ce[Be-1],nodes:Ce[Be-1].concat(Ce[Be-3].nodes)};break;case 45:this.$={stmt:Ce[Be-1],nodes:Ce[Be-1]};break;case 46:this.$={stmt:Ce[Be],nodes:Ce[Be]};break;case 47:this.$=[Ce[Be]];break;case 48:this.$=Ce[Be-4].concat(Ce[Be]);break;case 49:this.$=Ce[Be];break;case 50:this.$=Ce[Be-2],xi.setClass(Ce[Be-2],Ce[Be]);break;case 51:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"square");break;case 52:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"doublecircle");break;case 53:this.$=Ce[Be-5],xi.addVertex(Ce[Be-5],Ce[Be-2],"circle");break;case 54:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"ellipse");break;case 55:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"stadium");break;case 56:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"subroutine");break;case 57:this.$=Ce[Be-7],xi.addVertex(Ce[Be-7],Ce[Be-1],"rect",void 0,void 0,void 0,Object.fromEntries([[Ce[Be-5],Ce[Be-3]]]));break;case 58:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"cylinder");break;case 59:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"round");break;case 60:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"diamond");break;case 61:this.$=Ce[Be-5],xi.addVertex(Ce[Be-5],Ce[Be-2],"hexagon");break;case 62:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"odd");break;case 63:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"trapezoid");break;case 64:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"inv_trapezoid");break;case 65:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"lean_right");break;case 66:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"lean_left");break;case 67:this.$=Ce[Be],xi.addVertex(Ce[Be]);break;case 68:Ce[Be-1].text=Ce[Be],this.$=Ce[Be-1];break;case 69:case 70:Ce[Be-2].text=Ce[Be-1],this.$=Ce[Be-2];break;case 71:this.$=Ce[Be];break;case 72:var Bf=xi.destructLink(Ce[Be],Ce[Be-2]);this.$={type:Bf.type,stroke:Bf.stroke,length:Bf.length,text:Ce[Be-1]};break;case 73:this.$={text:Ce[Be],type:"text"};break;case 74:this.$={text:Ce[Be-1].text+""+Ce[Be],type:Ce[Be-1].type};break;case 75:this.$={text:Ce[Be],type:"string"};break;case 76:this.$={text:Ce[Be],type:"markdown"};break;case 77:var Bf=xi.destructLink(Ce[Be]);this.$={type:Bf.type,stroke:Bf.stroke,length:Bf.length};break;case 78:this.$=Ce[Be-1];break;case 79:this.$={text:Ce[Be],type:"text"};break;case 80:this.$={text:Ce[Be-1].text+""+Ce[Be],type:Ce[Be-1].type};break;case 81:this.$={text:Ce[Be],type:"string"};break;case 82:case 97:this.$={text:Ce[Be],type:"markdown"};break;case 94:this.$={text:Ce[Be],type:"text"};break;case 95:this.$={text:Ce[Be-1].text+""+Ce[Be],type:Ce[Be-1].type};break;case 96:this.$={text:Ce[Be],type:"text"};break;case 98:this.$=Ce[Be-4],xi.addClass(Ce[Be-2],Ce[Be]);break;case 99:this.$=Ce[Be-4],xi.setClass(Ce[Be-2],Ce[Be]);break;case 100:case 108:this.$=Ce[Be-1],xi.setClickEvent(Ce[Be-1],Ce[Be]);break;case 101:case 109:this.$=Ce[Be-3],xi.setClickEvent(Ce[Be-3],Ce[Be-2]),xi.setTooltip(Ce[Be-3],Ce[Be]);break;case 102:this.$=Ce[Be-2],xi.setClickEvent(Ce[Be-2],Ce[Be-1],Ce[Be]);break;case 103:this.$=Ce[Be-4],xi.setClickEvent(Ce[Be-4],Ce[Be-3],Ce[Be-2]),xi.setTooltip(Ce[Be-4],Ce[Be]);break;case 104:this.$=Ce[Be-2],xi.setLink(Ce[Be-2],Ce[Be]);break;case 105:this.$=Ce[Be-4],xi.setLink(Ce[Be-4],Ce[Be-2]),xi.setTooltip(Ce[Be-4],Ce[Be]);break;case 106:this.$=Ce[Be-4],xi.setLink(Ce[Be-4],Ce[Be-2],Ce[Be]);break;case 107:this.$=Ce[Be-6],xi.setLink(Ce[Be-6],Ce[Be-4],Ce[Be]),xi.setTooltip(Ce[Be-6],Ce[Be-2]);break;case 110:this.$=Ce[Be-1],xi.setLink(Ce[Be-1],Ce[Be]);break;case 111:this.$=Ce[Be-3],xi.setLink(Ce[Be-3],Ce[Be-2]),xi.setTooltip(Ce[Be-3],Ce[Be]);break;case 112:this.$=Ce[Be-3],xi.setLink(Ce[Be-3],Ce[Be-2],Ce[Be]);break;case 113:this.$=Ce[Be-5],xi.setLink(Ce[Be-5],Ce[Be-4],Ce[Be]),xi.setTooltip(Ce[Be-5],Ce[Be-2]);break;case 114:this.$=Ce[Be-4],xi.addVertex(Ce[Be-2],void 0,void 0,Ce[Be]);break;case 115:this.$=Ce[Be-4],xi.updateLink([Ce[Be-2]],Ce[Be]);break;case 116:this.$=Ce[Be-4],xi.updateLink(Ce[Be-2],Ce[Be]);break;case 117:this.$=Ce[Be-8],xi.updateLinkInterpolate([Ce[Be-6]],Ce[Be-2]),xi.updateLink([Ce[Be-6]],Ce[Be]);break;case 118:this.$=Ce[Be-8],xi.updateLinkInterpolate(Ce[Be-6],Ce[Be-2]),xi.updateLink(Ce[Be-6],Ce[Be]);break;case 119:this.$=Ce[Be-6],xi.updateLinkInterpolate([Ce[Be-4]],Ce[Be]);break;case 120:this.$=Ce[Be-6],xi.updateLinkInterpolate(Ce[Be-4],Ce[Be]);break;case 121:case 123:this.$=[Ce[Be]];break;case 122:case 124:Ce[Be-2].push(Ce[Be]),this.$=Ce[Be-2];break;case 126:this.$=Ce[Be-1]+Ce[Be];break;case 174:this.$=Ce[Be];break;case 175:this.$=Ce[Be-1]+""+Ce[Be];break;case 177:this.$=Ce[Be-1]+""+Ce[Be];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,9:a,10:f,12:p},{1:[3]},i(w,m,{5:6}),{4:7,9:a,10:f,12:p},{4:8,9:a,10:f,12:p},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:b,9:E,10:_,11:A,20:17,22:18,23:19,24:20,25:21,26:22,27:I,33:24,34:B,36:N,38:R,40:28,41:38,42:z,43:39,45:40,58:W,81:et,82:st,83:at,84:bt,85:mt,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt,118:It,119:Ot,120:Bt,121:Et},i(w,[2,9]),i(w,[2,10]),i(w,[2,11]),{8:[1,54],9:[1,55],10:Z,15:53,18:56},i(Ct,[2,3]),i(Ct,[2,4]),i(Ct,[2,5]),i(Ct,[2,6]),i(Ct,[2,7]),i(Ct,[2,8]),{8:xt,9:Ht,11:Le,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:xt,9:Ht,11:Le,21:66},{8:xt,9:Ht,11:Le,21:67},{8:xt,9:Ht,11:Le,21:68},{8:xt,9:Ht,11:Le,21:69},{8:xt,9:Ht,11:Le,21:70},{8:xt,9:Ht,10:[1,71],11:Le,21:72},i(Ct,[2,36]),{35:[1,73]},{37:[1,74]},i(Ct,[2,39]),i(Ft,[2,46],{18:75,10:Z}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:gn,42:Se,58:me,77:[1,83],86:Ve,92:[1,80],94:[1,81],98:82,102:Ye,103:ce,106:ke,108:zt,111:re,112:se,113:Pe,117:84},i(Ct,[2,178]),i(Ct,[2,179]),i(Ct,[2,180]),i(Ct,[2,181]),i(te,[2,47]),i(te,[2,49],{44:[1,96]}),i(Me,[2,67],{110:109,29:[1,97],42:z,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:W,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:yt,99:ft,102:ut,103:vt,106:X,108:pt,111:U,112:Tt,113:nt}),i(de,[2,174]),i(de,[2,135]),i(de,[2,136]),i(de,[2,137]),i(de,[2,138]),i(de,[2,139]),i(de,[2,140]),i(de,[2,141]),i(de,[2,142]),i(de,[2,143]),i(de,[2,144]),i(de,[2,145]),i(w,[2,12]),i(w,[2,18]),i(w,[2,19]),{9:[1,110]},i(on,[2,26],{18:111,10:Z}),i(Ct,[2,27]),{40:112,41:38,42:z,43:39,45:40,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt},i(Ct,[2,40]),i(Ct,[2,41]),i(Ct,[2,42]),i(ni,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:Ks,116:ws},i([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),i(Ct,[2,28]),i(Ct,[2,29]),i(Ct,[2,30]),i(Ct,[2,31]),i(Ct,[2,32]),{10:fo,12:Xi,14:Er,27:Xn,28:122,32:di,42:Ee,58:Kn,73:He,77:[1,124],78:[1,125],80:135,81:Ti,82:pn,83:Es,84:qa,85:Ma,86:Gs,87:Po,88:123,102:vs,106:ru,108:zs,111:Du,112:pm,113:uw},i(Wu,m,{5:148}),i(Ct,[2,37]),i(Ct,[2,38]),i(Ft,[2,45],{42:th}),{42:z,45:150,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt},{99:[1,151],100:152,102:[1,153]},{42:z,45:154,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt},{42:z,45:155,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt},i(Fa,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},i(Fa,[2,108],{117:160,10:[1,159],14:gn,42:Se,58:me,86:Ve,102:Ye,103:ce,106:ke,108:zt,111:re,112:se,113:Pe}),i(Fa,[2,110],{10:[1,161]}),i(Ml,[2,176]),i(Ml,[2,163]),i(Ml,[2,164]),i(Ml,[2,165]),i(Ml,[2,166]),i(Ml,[2,167]),i(Ml,[2,168]),i(Ml,[2,169]),i(Ml,[2,170]),i(Ml,[2,171]),i(Ml,[2,172]),i(Ml,[2,173]),{42:z,45:162,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt},{30:163,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:171,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:173,48:[1,172],65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:174,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:175,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:176,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{106:[1,177]},{30:178,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:179,63:[1,180],65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:181,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:182,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:183,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},i(de,[2,175]),i(w,[2,20]),i(on,[2,25]),i(Ft,[2,43],{18:184,10:Z}),i(ni,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{75:[1,188],76:189,113:Ks,116:ws},i(Dl,[2,73]),i(Dl,[2,75]),i(Dl,[2,76]),i(Dl,[2,161]),i(Dl,[2,162]),{8:xt,9:Ht,10:fo,11:Le,12:Xi,14:Er,21:191,27:Xn,29:[1,190],32:di,42:Ee,58:Kn,73:He,80:135,81:Ti,82:pn,83:Es,84:qa,85:Ma,86:Gs,87:Po,88:192,102:vs,106:ru,108:zs,111:Du,112:pm,113:uw},i(_c,[2,94]),i(_c,[2,96]),i(_c,[2,97]),i(_c,[2,150]),i(_c,[2,151]),i(_c,[2,152]),i(_c,[2,153]),i(_c,[2,154]),i(_c,[2,155]),i(_c,[2,156]),i(_c,[2,157]),i(_c,[2,158]),i(_c,[2,159]),i(_c,[2,160]),i(_c,[2,83]),i(_c,[2,84]),i(_c,[2,85]),i(_c,[2,86]),i(_c,[2,87]),i(_c,[2,88]),i(_c,[2,89]),i(_c,[2,90]),i(_c,[2,91]),i(_c,[2,92]),i(_c,[2,93]),{6:11,7:12,8:b,9:E,10:_,11:A,20:17,22:18,23:19,24:20,25:21,26:22,27:I,32:[1,193],33:24,34:B,36:N,38:R,40:28,41:38,42:z,43:39,45:40,58:W,81:et,82:st,83:at,84:bt,85:mt,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt,118:It,119:Ot,120:Bt,121:Et},{10:Z,18:194},{10:[1,195],42:z,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:109,111:U,112:Tt,113:nt},{10:[1,196]},{10:[1,197],103:[1,198]},i(lw,[2,121]),{10:[1,199],42:z,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:109,111:U,112:Tt,113:nt},{10:[1,200],42:z,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:109,111:U,112:Tt,113:nt},{77:[1,201]},i(Fa,[2,102],{10:[1,202]}),i(Fa,[2,104],{10:[1,203]}),{77:[1,204]},i(Ml,[2,177]),{77:[1,205],95:[1,206]},i(te,[2,50],{110:109,42:z,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,111:U,112:Tt,113:nt}),{31:[1,207],65:ha,79:208,113:pa,114:Da,115:Ha},i(eh,[2,79]),i(eh,[2,81]),i(eh,[2,82]),i(eh,[2,146]),i(eh,[2,147]),i(eh,[2,148]),i(eh,[2,149]),{47:[1,209],65:ha,79:208,113:pa,114:Da,115:Ha},{30:210,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{49:[1,211],65:ha,79:208,113:pa,114:Da,115:Ha},{51:[1,212],65:ha,79:208,113:pa,114:Da,115:Ha},{53:[1,213],65:ha,79:208,113:pa,114:Da,115:Ha},{55:[1,214],65:ha,79:208,113:pa,114:Da,115:Ha},{58:[1,215]},{62:[1,216],65:ha,79:208,113:pa,114:Da,115:Ha},{64:[1,217],65:ha,79:208,113:pa,114:Da,115:Ha},{30:218,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{31:[1,219],65:ha,79:208,113:pa,114:Da,115:Ha},{65:ha,67:[1,220],69:[1,221],79:208,113:pa,114:Da,115:Ha},{65:ha,67:[1,223],69:[1,222],79:208,113:pa,114:Da,115:Ha},i(Ft,[2,44],{42:th}),i(ni,[2,70]),i(ni,[2,69]),{60:[1,224],65:ha,79:208,113:pa,114:Da,115:Ha},i(ni,[2,72]),i(Dl,[2,74]),{30:225,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},i(Wu,m,{5:226}),i(_c,[2,95]),i(Ct,[2,35]),{41:227,42:z,43:39,45:40,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt},{10:ed,58:jd,81:nd,89:228,102:$d,104:229,105:230,106:A0,107:Bi,108:cn,109:kr},{10:ed,58:jd,81:nd,89:239,101:[1,240],102:$d,104:229,105:230,106:A0,107:Bi,108:cn,109:kr},{10:ed,58:jd,81:nd,89:241,101:[1,242],102:$d,104:229,105:230,106:A0,107:Bi,108:cn,109:kr},{102:[1,243]},{10:ed,58:jd,81:nd,89:244,102:$d,104:229,105:230,106:A0,107:Bi,108:cn,109:kr},{42:z,45:245,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt},i(Fa,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},i(Fa,[2,109]),i(Fa,[2,111],{10:[1,249]}),i(Fa,[2,112]),i(Me,[2,51]),i(eh,[2,80]),i(Me,[2,52]),{49:[1,250],65:ha,79:208,113:pa,114:Da,115:Ha},i(Me,[2,59]),i(Me,[2,54]),i(Me,[2,55]),i(Me,[2,56]),{106:[1,251]},i(Me,[2,58]),i(Me,[2,60]),{64:[1,252],65:ha,79:208,113:pa,114:Da,115:Ha},i(Me,[2,62]),i(Me,[2,63]),i(Me,[2,65]),i(Me,[2,64]),i(Me,[2,66]),i([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:ha,79:208,113:pa,114:Da,115:Ha},{6:11,7:12,8:b,9:E,10:_,11:A,20:17,22:18,23:19,24:20,25:21,26:22,27:I,32:[1,254],33:24,34:B,36:N,38:R,40:28,41:38,42:z,43:39,45:40,58:W,81:et,82:st,83:at,84:bt,85:mt,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt,118:It,119:Ot,120:Bt,121:Et},i(te,[2,48]),i(Fa,[2,114],{103:Ei}),i(Jo,[2,123],{105:256,10:ed,58:jd,81:nd,102:$d,106:A0,107:Bi,108:cn,109:kr}),i(wc,[2,125]),i(wc,[2,127]),i(wc,[2,128]),i(wc,[2,129]),i(wc,[2,130]),i(wc,[2,131]),i(wc,[2,132]),i(wc,[2,133]),i(wc,[2,134]),i(Fa,[2,115],{103:Ei}),{10:[1,257]},i(Fa,[2,116],{103:Ei}),{10:[1,258]},i(lw,[2,122]),i(Fa,[2,98],{103:Ei}),i(Fa,[2,99],{110:109,42:z,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,111:U,112:Tt,113:nt}),i(Fa,[2,103]),i(Fa,[2,105],{10:[1,259]}),i(Fa,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:xt,9:Ht,11:Le,21:264},i(Ct,[2,34]),{10:ed,58:jd,81:nd,102:$d,104:265,105:230,106:A0,107:Bi,108:cn,109:kr},i(wc,[2,126]),{14:gn,42:Se,58:me,86:Ve,98:266,102:Ye,103:ce,106:ke,108:zt,111:re,112:se,113:Pe,117:84},{14:gn,42:Se,58:me,86:Ve,98:267,102:Ye,103:ce,106:ke,108:zt,111:re,112:se,113:Pe,117:84},{95:[1,268]},i(Fa,[2,113]),i(Me,[2,53]),{30:269,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},i(Me,[2,61]),i(Wu,m,{5:270}),i(Jo,[2,124],{105:256,10:ed,58:jd,81:nd,102:$d,106:A0,107:Bi,108:cn,109:kr}),i(Fa,[2,119],{117:160,10:[1,271],14:gn,42:Se,58:me,86:Ve,102:Ye,103:ce,106:ke,108:zt,111:re,112:se,113:Pe}),i(Fa,[2,120],{117:160,10:[1,272],14:gn,42:Se,58:me,86:Ve,102:Ye,103:ce,106:ke,108:zt,111:re,112:se,113:Pe}),i(Fa,[2,107]),{31:[1,273],65:ha,79:208,113:pa,114:Da,115:Ha},{6:11,7:12,8:b,9:E,10:_,11:A,20:17,22:18,23:19,24:20,25:21,26:22,27:I,32:[1,274],33:24,34:B,36:N,38:R,40:28,41:38,42:z,43:39,45:40,58:W,81:et,82:st,83:at,84:bt,85:mt,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt,118:It,119:Ot,120:Bt,121:Et},{10:ed,58:jd,81:nd,89:275,102:$d,104:229,105:230,106:A0,107:Bi,108:cn,109:kr},{10:ed,58:jd,81:nd,89:276,102:$d,104:229,105:230,106:A0,107:Bi,108:cn,109:kr},i(Me,[2,57]),i(Ct,[2,33]),i(Fa,[2,117],{103:Ei}),i(Fa,[2,118],{103:Ei})],defaultActions:{},parseError:function(Qi,Ts){if(Ts.recoverable)this.trace(Qi);else{var ka=new Error(Qi);throw ka.hash=Ts,ka}},parse:function(Qi){var Ts=this,ka=[0],xi=[],Yc=[null],Ce=[],vp=this.table,Be="",Bf=0,yg=0,bm=2,Ek=1,E3=Ce.slice.call(arguments,1),Il=Object.create(this.lexer),L0={yy:{}};for(var hw in this.yy)Object.prototype.hasOwnProperty.call(this.yy,hw)&&(L0.yy[hw]=this.yy[hw]);Il.setInput(Qi,L0.yy),L0.yy.lexer=Il,L0.yy.parser=this,typeof Il.yylloc>"u"&&(Il.yylloc={});var H5=Il.yylloc;Ce.push(H5);var Hb=Il.options&&Il.options.ranges;typeof L0.yy.parseError=="function"?this.parseError=L0.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function V5(){var xg;return xg=xi.pop()||Il.lex()||Ek,typeof xg!="number"&&(xg instanceof Array&&(xi=xg,xg=xi.pop()),xg=Ts.symbols_[xg]||xg),xg}for(var f1,rd,id,G5,fw={},U5,mp,W5,T3;;){if(rd=ka[ka.length-1],this.defaultActions[rd]?id=this.defaultActions[rd]:((f1===null||typeof f1>"u")&&(f1=V5()),id=vp[rd]&&vp[rd][f1]),typeof id>"u"||!id.length||!id[0]){var wm="";T3=[];for(U5 in vp[rd])this.terminals_[U5]&&U5>bm&&T3.push("'"+this.terminals_[U5]+"'");Il.showPosition?wm="Parse error on line "+(Bf+1)+`: +`+Il.showPosition()+` +Expecting `+T3.join(", ")+", got '"+(this.terminals_[f1]||f1)+"'":wm="Parse error on line "+(Bf+1)+": Unexpected "+(f1==Ek?"end of input":"'"+(this.terminals_[f1]||f1)+"'"),this.parseError(wm,{text:Il.match,token:this.terminals_[f1]||f1,line:Il.yylineno,loc:H5,expected:T3})}if(id[0]instanceof Array&&id.length>1)throw new Error("Parse Error: multiple actions possible at state: "+rd+", token: "+f1);switch(id[0]){case 1:ka.push(f1),Yc.push(Il.yytext),Ce.push(Il.yylloc),ka.push(id[1]),f1=null,yg=Il.yyleng,Be=Il.yytext,Bf=Il.yylineno,H5=Il.yylloc;break;case 2:if(mp=this.productions_[id[1]][1],fw.$=Yc[Yc.length-mp],fw._$={first_line:Ce[Ce.length-(mp||1)].first_line,last_line:Ce[Ce.length-1].last_line,first_column:Ce[Ce.length-(mp||1)].first_column,last_column:Ce[Ce.length-1].last_column},Hb&&(fw._$.range=[Ce[Ce.length-(mp||1)].range[0],Ce[Ce.length-1].range[1]]),G5=this.performAction.apply(fw,[Be,yg,Bf,L0.yy,id[1],Yc,Ce].concat(E3)),typeof G5<"u")return G5;mp&&(ka=ka.slice(0,-1*mp*2),Yc=Yc.slice(0,-1*mp),Ce=Ce.slice(0,-1*mp)),ka.push(this.productions_[id[1]][0]),Yc.push(fw.$),Ce.push(fw._$),W5=vp[ka[ka.length-2]][ka[ka.length-1]],ka.push(W5);break;case 3:return!0}}return!0}},Oc=function(){var af={EOF:1,parseError:function(Ts,ka){if(this.yy.parser)this.yy.parser.parseError(Ts,ka);else throw new Error(Ts)},setInput:function(Qi,Ts){return this.yy=Ts||this.yy||{},this._input=Qi,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Qi=this._input[0];this.yytext+=Qi,this.yyleng++,this.offset++,this.match+=Qi,this.matched+=Qi;var Ts=Qi.match(/(?:\r\n?|\n).*/g);return Ts?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Qi},unput:function(Qi){var Ts=Qi.length,ka=Qi.split(/(?:\r\n?|\n)/g);this._input=Qi+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ts),this.offset-=Ts;var xi=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ka.length-1&&(this.yylineno-=ka.length-1);var Yc=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ka?(ka.length===xi.length?this.yylloc.first_column:0)+xi[xi.length-ka.length].length-ka[0].length:this.yylloc.first_column-Ts},this.options.ranges&&(this.yylloc.range=[Yc[0],Yc[0]+this.yyleng-Ts]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Qi){this.unput(this.match.slice(Qi))},pastInput:function(){var Qi=this.matched.substr(0,this.matched.length-this.match.length);return(Qi.length>20?"...":"")+Qi.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Qi=this.match;return Qi.length<20&&(Qi+=this._input.substr(0,20-Qi.length)),(Qi.substr(0,20)+(Qi.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Qi=this.pastInput(),Ts=new Array(Qi.length+1).join("-");return Qi+this.upcomingInput()+` +`+Ts+"^"},test_match:function(Qi,Ts){var ka,xi,Yc;if(this.options.backtrack_lexer&&(Yc={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Yc.yylloc.range=this.yylloc.range.slice(0))),xi=Qi[0].match(/(?:\r\n?|\n).*/g),xi&&(this.yylineno+=xi.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xi?xi[xi.length-1].length-xi[xi.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Qi[0].length},this.yytext+=Qi[0],this.match+=Qi[0],this.matches=Qi,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Qi[0].length),this.matched+=Qi[0],ka=this.performAction.call(this,this.yy,this,Ts,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ka)return ka;if(this._backtrack){for(var Ce in Yc)this[Ce]=Yc[Ce];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Qi,Ts,ka,xi;this._more||(this.yytext="",this.match="");for(var Yc=this._currentRules(),Ce=0;CeTs[0].length)){if(Ts=ka,xi=Ce,this.options.backtrack_lexer){if(Qi=this.test_match(ka,Yc[Ce]),Qi!==!1)return Qi;if(this._backtrack){Ts=!1;continue}else return!1}else if(!this.options.flex)break}return Ts?(Qi=this.test_match(Ts,Yc[xi]),Qi!==!1?Qi:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ts=this.next();return Ts||this.lex()},begin:function(Ts){this.conditionStack.push(Ts)},popState:function(){var Ts=this.conditionStack.length-1;return Ts>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ts){return Ts=this.conditionStack.length-1-Math.abs(Ts||0),Ts>=0?this.conditionStack[Ts]:"INITIAL"},pushState:function(Ts){this.begin(Ts)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Ts,ka,xi,Yc){switch(xi){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:this.begin("callbackname");break;case 8:this.popState();break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 11:this.popState();break;case 12:return 93;case 13:return"MD_STR";case 14:this.popState();break;case 15:this.begin("md_string");break;case 16:return"STR";case 17:this.popState();break;case 18:this.pushState("string");break;case 19:return 81;case 20:return 99;case 21:return 82;case 22:return 101;case 23:return 83;case 24:return 84;case 25:return 94;case 26:this.begin("click");break;case 27:this.popState();break;case 28:return 85;case 29:return Ts.lex.firstGraph()&&this.begin("dir"),12;case 30:return Ts.lex.firstGraph()&&this.begin("dir"),12;case 31:return Ts.lex.firstGraph()&&this.begin("dir"),12;case 32:return 27;case 33:return 32;case 34:return 95;case 35:return 95;case 36:return 95;case 37:return 95;case 38:return this.popState(),13;case 39:return this.popState(),14;case 40:return this.popState(),14;case 41:return this.popState(),14;case 42:return this.popState(),14;case 43:return this.popState(),14;case 44:return this.popState(),14;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return 118;case 50:return 119;case 51:return 120;case 52:return 121;case 53:return 102;case 54:return 108;case 55:return 44;case 56:return 58;case 57:return 42;case 58:return 8;case 59:return 103;case 60:return 112;case 61:return this.popState(),75;case 62:return this.pushState("edgeText"),73;case 63:return 116;case 64:return this.popState(),75;case 65:return this.pushState("thickEdgeText"),73;case 66:return 116;case 67:return this.popState(),75;case 68:return this.pushState("dottedEdgeText"),73;case 69:return 116;case 70:return 75;case 71:return this.popState(),51;case 72:return"TEXT";case 73:return this.pushState("ellipseText"),50;case 74:return this.popState(),53;case 75:return this.pushState("text"),52;case 76:return this.popState(),55;case 77:return this.pushState("text"),54;case 78:return 56;case 79:return this.pushState("text"),65;case 80:return this.popState(),62;case 81:return this.pushState("text"),61;case 82:return this.popState(),47;case 83:return this.pushState("text"),46;case 84:return this.popState(),67;case 85:return this.popState(),69;case 86:return 114;case 87:return this.pushState("trapText"),66;case 88:return this.pushState("trapText"),68;case 89:return 115;case 90:return 65;case 91:return 87;case 92:return"SEP";case 93:return 86;case 94:return 112;case 95:return 108;case 96:return 42;case 97:return 106;case 98:return 111;case 99:return 113;case 100:return this.popState(),60;case 101:return this.pushState("text"),60;case 102:return this.popState(),49;case 103:return this.pushState("text"),48;case 104:return this.popState(),31;case 105:return this.pushState("text"),29;case 106:return this.popState(),64;case 107:return this.pushState("text"),63;case 108:return"TEXT";case 109:return"QUOTE";case 110:return 9;case 111:return 10;case 112:return 11}},rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{callbackargs:{rules:[11,12,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},callbackname:{rules:[8,9,10,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},href:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},click:{rules:[15,18,27,28,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dottedEdgeText:{rules:[15,18,67,69,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},thickEdgeText:{rules:[15,18,64,66,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},edgeText:{rules:[15,18,61,63,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},trapText:{rules:[15,18,70,73,75,77,81,83,84,85,86,87,88,101,103,105,107],inclusive:!1},ellipseText:{rules:[15,18,70,71,72,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},text:{rules:[15,18,70,73,74,75,76,77,80,81,82,83,87,88,100,101,102,103,104,105,106,107,108],inclusive:!1},vertex:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dir:{rules:[15,18,38,39,40,41,42,43,44,45,46,47,48,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr_multiline:{rules:[5,6,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr:{rules:[3,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_title:{rules:[1,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},md_string:{rules:[13,14,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},string:{rules:[15,16,17,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},INITIAL:{rules:[0,2,4,7,15,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,67,68,70,73,75,77,78,79,81,83,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,105,107,109,110,111,112],inclusive:!0}}};return af}();rf.lexer=Oc;function sf(){this.yy={}}return sf.prototype=rf,rf.Parser=sf,new sf}();qdt.parser=qdt;const Hdt=qdt,rIe="flowchart-";let APt=0,Vdt=Oe(),wl={},gk=[],eL={},M5=[],rY={},iY={},sY=0,Gdt=!0,iw,aY,oY=[];const cY=i=>Kr.sanitizeText(i,Vdt),fF=function(i){const a=Object.keys(wl);for(const f of a)if(wl[f].id===i)return wl[f].domId;return i},LPt=function(i,a,f,p,w,m,b={}){let E,_=i;_!==void 0&&_.trim().length!==0&&(wl[_]===void 0&&(wl[_]={id:_,labelType:"text",domId:rIe+_+"-"+APt,styles:[],classes:[]}),APt++,a!==void 0?(Vdt=Oe(),E=cY(a.text.trim()),wl[_].labelType=a.type,E[0]==='"'&&E[E.length-1]==='"'&&(E=E.substring(1,E.length-1)),wl[_].text=E):wl[_].text===void 0&&(wl[_].text=i),f!==void 0&&(wl[_].type=f),p!=null&&p.forEach(function(A){wl[_].styles.push(A)}),w!=null&&w.forEach(function(A){wl[_].classes.push(A)}),m!==void 0&&(wl[_].dir=m),wl[_].props===void 0?wl[_].props=b:b!==void 0&&Object.assign(wl[_].props,b))},MPt=function(i,a,f){const m={start:i,end:a,type:void 0,text:"",labelType:"text"};Ut.info("abc78 Got edge...",m);const b=f.text;if(b!==void 0&&(m.text=cY(b.text.trim()),m.text[0]==='"'&&m.text[m.text.length-1]==='"'&&(m.text=m.text.substring(1,m.text.length-1)),m.labelType=b.type),f!==void 0&&(m.type=f.type,m.stroke=f.stroke,m.length=f.length),(m==null?void 0:m.length)>10&&(m.length=10),gk.length<280)Ut.info("abc78 pushing edge..."),gk.push(m);else throw new Error("Too many edges")},DPt=function(i,a,f){Ut.info("addLink (abc78)",i,a,f);let p,w;for(p=0;p/)&&(iw="LR"),iw.match(/.*v/)&&(iw="TB"),iw==="TD"&&(iw="TB")},uY=function(i,a){i.split(",").forEach(function(f){let p=f;wl[p]!==void 0&&wl[p].classes.push(a),rY[p]!==void 0&&rY[p].classes.push(a)})},iIe=function(i,a){i.split(",").forEach(function(f){a!==void 0&&(iY[aY==="gen-1"?fF(f):f]=cY(a))})},sIe=function(i,a,f){let p=fF(i);if(Oe().securityLevel!=="loose"||a===void 0)return;let w=[];if(typeof f=="string"){w=f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let m=0;m")),w.classed("hover",!0)}).on("mouseout",function(){a.transition().duration(500).style("opacity",0),yr(this).classed("hover",!1)})};oY.push(VPt);const GPt=function(i="gen-1"){wl={},eL={},gk=[],oY=[VPt],M5=[],rY={},sY=0,iY={},Gdt=!0,aY=i,hg()},UPt=i=>{aY=i||"gen-2"},WPt=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},YPt=function(i,a,f){let p=i.text.trim(),w=f.text;i===f&&f.text.match(/\s/)&&(p=void 0);function m(I){const B={boolean:{},number:{},string:{}},N=[];let R;return{nodeList:I.filter(function(W){const et=typeof W;return W.stmt&&W.stmt==="dir"?(R=W.value,!1):W.trim()===""?!1:et in B?B[et].hasOwnProperty(W)?!1:B[et][W]=!0:N.includes(W)?!1:N.push(W)}),dir:R}}let b=[];const{nodeList:E,dir:_}=m(b.concat.apply(b,a));if(b=E,aY==="gen-1")for(let I=0;I2e3)return;if(KPt[dF]=a,M5[a].id===i)return{result:!0,count:0};let p=0,w=1;for(;p=0){const b=XPt(i,m);if(b.result)return{result:!0,count:w+b.count};w=w+b.count}p=p+1}return{result:!1,count:w}},QPt=function(i){return KPt[i]},ZPt=function(){dF=-1,M5.length>0&&XPt("none",M5.length-1)},JPt=function(){return M5},tFt=()=>Gdt?(Gdt=!1,!0):!1,oIe=i=>{let a=i.trim(),f="arrow_open";switch(a[0]){case"<":f="arrow_point",a=a.slice(1);break;case"x":f="arrow_cross",a=a.slice(1);break;case"o":f="arrow_circle",a=a.slice(1);break}let p="normal";return a.includes("=")&&(p="thick"),a.includes(".")&&(p="dotted"),{type:f,stroke:p}},cIe=(i,a)=>{const f=a.length;let p=0;for(let w=0;w{const a=i.trim();let f=a.slice(0,-1),p="arrow_open";switch(a.slice(-1)){case"x":p="arrow_cross",a[0]==="x"&&(p="double_"+p,f=f.slice(1));break;case">":p="arrow_point",a[0]==="<"&&(p="double_"+p,f=f.slice(1));break;case"o":p="arrow_circle",a[0]==="o"&&(p="double_"+p,f=f.slice(1));break}let w="normal",m=f.length-1;f[0]==="="&&(w="thick"),f[0]==="~"&&(w="invisible");let b=cIe(".",f);return b&&(w="dotted",m=b),{type:p,stroke:w,length:m}},eFt=(i,a)=>{const f=uIe(i);let p;if(a){if(p=oIe(a),p.stroke!==f.stroke)return{type:"INVALID",stroke:"INVALID"};if(p.type==="arrow_open")p.type=f.type;else{if(p.type!==f.type)return{type:"INVALID",stroke:"INVALID"};p.type="double_"+p.type}return p.type==="double_arrow"&&(p.type="double_arrow_point"),p.length=f.length,p}return f},nFt=(i,a)=>{let f=!1;return i.forEach(p=>{p.nodes.indexOf(a)>=0&&(f=!0)}),f},rFt=(i,a)=>{const f=[];return i.nodes.forEach((p,w)=>{nFt(a,p)||f.push(i.nodes[w])}),{nodes:f}},iFt={firstGraph:tFt},wT={defaultConfig:()=>SOt.flowchart,setAccTitle:E0,getAccTitle:fg,getAccDescription:gg,setAccDescription:dg,addVertex:LPt,lookUpDomId:fF,addLink:DPt,updateLinkInterpolate:IPt,updateLink:OPt,addClass:PPt,setDirection:FPt,setClass:uY,setTooltip:iIe,getTooltip:BPt,setClickEvent:RPt,setLink:NPt,bindFunctions:jPt,getDirection:$Pt,getVertices:zPt,getEdges:qPt,getClasses:HPt,clear:GPt,setGen:UPt,defaultStyle:WPt,addSubGraph:YPt,getDepthFirstPos:QPt,indexNodes:ZPt,getSubGraphs:JPt,destructLink:eFt,lex:iFt,exists:nFt,makeUniq:rFt,setDiagramTitle:Nb,getDiagramTitle:pg},lIe=Object.freeze(Object.defineProperty({__proto__:null,addClass:PPt,addLink:DPt,addSingleLink:MPt,addSubGraph:YPt,addVertex:LPt,bindFunctions:jPt,clear:GPt,default:wT,defaultStyle:WPt,destructLink:eFt,firstGraph:tFt,getClasses:HPt,getDepthFirstPos:QPt,getDirection:$Pt,getEdges:qPt,getSubGraphs:JPt,getTooltip:BPt,getVertices:zPt,indexNodes:ZPt,lex:iFt,lookUpDomId:fF,setClass:uY,setClickEvent:RPt,setDirection:FPt,setGen:UPt,setLink:NPt,updateLink:OPt,updateLinkInterpolate:IPt},Symbol.toStringTag,{value:"Module"}));var hIe="[object Symbol]";function vT(i){return typeof i=="symbol"||f3(i)&&sT(i)==hIe}function nL(i,a){for(var f=-1,p=i==null?0:i.length,w=Array(p);++f-1}function Rb(i){return ck(i)?PIt(i):NOt(i)}var LIe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,MIe=/^\w*$/;function Udt(i,a){if(If(i))return!1;var f=typeof i;return f=="number"||f=="symbol"||f=="boolean"||i==null||vT(i)?!0:MIe.test(i)||!LIe.test(i)||a!=null&&i in Object(a)}var DIe=500;function IIe(i){var a=jA(i,function(p){return f.size===DIe&&f.clear(),p}),f=a.cache;return a}var OIe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,PIe=/\\(\\)?/g,FIe=IIe(function(i){var a=[];return i.charCodeAt(0)===46&&a.push(""),i.replace(OIe,function(f,p,w,m){a.push(w?m.replace(PIe,"$1"):p||f)}),a});const NIe=FIe;function fFt(i){return i==null?"":oFt(i)}function hY(i,a){return If(i)?i:Udt(i,a)?[i]:NIe(fFt(i))}var BIe=1/0;function gF(i){if(typeof i=="string"||vT(i))return i;var a=i+"";return a=="0"&&1/i==-BIe?"-0":a}function fY(i,a){a=hY(a,i);for(var f=0,p=a.length;i!=null&&f0&&f(E)?a>1?dY(E,a-1,f,p,w):Wdt(w,E):p||(w[w.length]=E)}return w}function rL(i){var a=i==null?0:i.length;return a?dY(i,1):[]}function $Ie(i){return RIt(BIt(i,void 0,rL),i+"")}function zIe(i,a,f,p){var w=-1,m=i==null?0:i.length;for(p&&m&&(f=i[++w]);++wE))return!1;var A=m.get(i),I=m.get(a);if(A&&I)return A==a&&I==i;var B=-1,N=!0,R=f&pPe?new bF:void 0;for(m.set(i,a),m.set(a,i);++B2?a[2]:void 0;for(w&&nF(a[0],a[1],w)&&(p=1);++f-1?w[m?a[b]:b]:void 0}}var iFe=Math.max;function sFe(i,a,f){var p=i==null?0:i.length;if(!p)return-1;var w=f==null?0:EIe(f);return w<0&&(w=iFe(p+w,0)),hFt(i,pk(a),w)}var aFe=rFe(sFe);const e0t=aFe;function RFt(i,a){var f=-1,p=ck(i)?Array(i.length):[];return pY(i,function(w,m,b){p[++f]=a(w,m,b)}),p}function Ff(i,a){var f=If(i)?nL:RFt;return f(i,pk(a))}function oFe(i,a){return i==null?i:tdt(i,t0t(a),uT)}function cFe(i,a){return i&&Jdt(i,t0t(a))}function uFe(i,a){return i>a}var lFe=Object.prototype,hFe=lFe.hasOwnProperty;function fFe(i,a){return i!=null&&hFe.call(i,a)}function za(i,a){return i!=null&&PFt(i,a,fFe)}function dFe(i,a){return nL(a,function(f){return i[f]})}function I5(i){return i==null?[]:dFe(i,Rb(i))}function Jh(i){return i===void 0}function jFt(i,a){return ia||m&&b&&_&&!E&&!A||p&&b&&_||!f&&_||!w)return 1;if(!p&&!m&&!A&&i=E)return _;var A=f[p];return _*(A=="desc"?-1:1)}}return i.index-a.index}function mFe(i,a,f){a.length?a=nL(a,function(m){return If(m)?function(b){return fY(b,m.length===1?m[0]:m)}:m}):a=[lT];var p=-1;a=nL(a,SW(pk));var w=RFt(i,function(m,b,E){var _=nL(a,function(A){return A(m)});return{criteria:_,index:++p,value:m}});return bFe(w,function(m,b){return vFe(m,b,f)})}function yFe(i,a){return pFe(i,a,function(f,p){return FFt(i,p)})}var xFe=$Ie(function(i,a){return i==null?{}:yFe(i,a)});const vF=xFe;var kFe=Math.ceil,EFe=Math.max;function TFe(i,a,f,p){for(var w=-1,m=EFe(kFe((a-i)/(f||1)),0),b=Array(m);m--;)b[p?m:++w]=i,i+=f;return b}function CFe(i){return function(a,f,p){return p&&typeof p!="number"&&nF(a,f,p)&&(f=p=void 0),a=lY(a),f===void 0?(f=a,a=0):f=lY(f),p=p===void 0?a1&&nF(i,a[0],a[1])?a=[]:f>2&&nF(a[0],a[1],a[2])&&(a=[a[0]]),mFe(i,dY(a,1),[])});const yF=AFe;var LFe=1/0,MFe=KA&&1/Xdt(new KA([,-0]))[1]==LFe?function(i){return new KA(i)}:TIe;const DFe=MFe;var IFe=200;function OFe(i,a,f){var p=-1,w=AIe,m=i.length,b=!0,E=[],_=E;if(f)b=!1,w=eFe;else if(m>=IFe){var A=a?null:DFe(i);if(A)return Xdt(A);b=!1,w=_Ft,_=new bF}else _=a?[]:E;t:for(;++p1?w.setNode(m,f):w.setNode(m)}),this}setNode(a,f){return za(this._nodes,a)?(arguments.length>1&&(this._nodes[a]=f),this):(this._nodes[a]=arguments.length>1?f:this._defaultNodeLabelFn(a),this._isCompound&&(this._parent[a]=xT,this._children[a]={},this._children[xT][a]=!0),this._in[a]={},this._preds[a]={},this._out[a]={},this._sucs[a]={},++this._nodeCount,this)}node(a){return this._nodes[a]}hasNode(a){return za(this._nodes,a)}removeNode(a){var f=this;if(za(this._nodes,a)){var p=function(w){f.removeEdge(f._edgeObjs[w])};delete this._nodes[a],this._isCompound&&(this._removeFromParentsChildList(a),delete this._parent[a],cr(this.children(a),function(w){f.setParent(w)}),delete this._children[a]),cr(Rb(this._in[a]),p),delete this._in[a],delete this._preds[a],cr(Rb(this._out[a]),p),delete this._out[a],delete this._sucs[a],--this._nodeCount}return this}setParent(a,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Jh(f))f=xT;else{f+="";for(var p=f;!Jh(p);p=this.parent(p))if(p===a)throw new Error("Setting "+f+" as parent of "+a+" would create a cycle");this.setNode(f)}return this.setNode(a),this._removeFromParentsChildList(a),this._parent[a]=f,this._children[f][a]=!0,this}_removeFromParentsChildList(a){delete this._children[this._parent[a]][a]}parent(a){if(this._isCompound){var f=this._parent[a];if(f!==xT)return f}}children(a){if(Jh(a)&&(a=xT),this._isCompound){var f=this._children[a];if(f)return Rb(f)}else{if(a===xT)return this.nodes();if(this.hasNode(a))return[]}}predecessors(a){var f=this._preds[a];if(f)return Rb(f)}successors(a){var f=this._sucs[a];if(f)return Rb(f)}neighbors(a){var f=this.predecessors(a);if(f)return FFe(f,this.successors(a))}isLeaf(a){var f;return this.isDirected()?f=this.successors(a):f=this.neighbors(a),f.length===0}filterNodes(a){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var p=this;cr(this._nodes,function(b,E){a(E)&&f.setNode(E,b)}),cr(this._edgeObjs,function(b){f.hasNode(b.v)&&f.hasNode(b.w)&&f.setEdge(b,p.edge(b))});var w={};function m(b){var E=p.parent(b);return E===void 0||f.hasNode(E)?(w[b]=E,E):E in w?w[E]:m(E)}return this._isCompound&&cr(f.nodes(),function(b){f.setParent(b,m(b))}),f}setDefaultEdgeLabel(a){return BA(a)||(a=HA(a)),this._defaultEdgeLabelFn=a,this}edgeCount(){return this._edgeCount}edges(){return I5(this._edgeObjs)}setPath(a,f){var p=this,w=arguments;return mF(a,function(m,b){return w.length>1?p.setEdge(m,b,f):p.setEdge(m,b),b}),this}setEdge(){var a,f,p,w,m=!1,b=arguments[0];typeof b=="object"&&b!==null&&"v"in b?(a=b.v,f=b.w,p=b.name,arguments.length===2&&(w=arguments[1],m=!0)):(a=b,f=arguments[1],p=arguments[3],arguments.length>2&&(w=arguments[2],m=!0)),a=""+a,f=""+f,Jh(p)||(p=""+p);var E=xF(this._isDirected,a,f,p);if(za(this._edgeLabels,E))return m&&(this._edgeLabels[E]=w),this;if(!Jh(p)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(a),this.setNode(f),this._edgeLabels[E]=m?w:this._defaultEdgeLabelFn(a,f,p);var _=$Fe(this._isDirected,a,f,p);return a=_.v,f=_.w,Object.freeze(_),this._edgeObjs[E]=_,zFt(this._preds[f],a),zFt(this._sucs[a],f),this._in[f][E]=_,this._out[a][E]=_,this._edgeCount++,this}edge(a,f,p){var w=arguments.length===1?i0t(this._isDirected,arguments[0]):xF(this._isDirected,a,f,p);return this._edgeLabels[w]}hasEdge(a,f,p){var w=arguments.length===1?i0t(this._isDirected,arguments[0]):xF(this._isDirected,a,f,p);return za(this._edgeLabels,w)}removeEdge(a,f,p){var w=arguments.length===1?i0t(this._isDirected,arguments[0]):xF(this._isDirected,a,f,p),m=this._edgeObjs[w];return m&&(a=m.v,f=m.w,delete this._edgeLabels[w],delete this._edgeObjs[w],qFt(this._preds[f],a),qFt(this._sucs[a],f),delete this._in[f][w],delete this._out[a][w],this._edgeCount--),this}inEdges(a,f){var p=this._in[a];if(p){var w=I5(p);return f?D5(w,function(m){return m.v===f}):w}}outEdges(a,f){var p=this._out[a];if(p){var w=I5(p);return f?D5(w,function(m){return m.w===f}):w}}nodeEdges(a,f){var p=this.inEdges(a,f);if(p)return p.concat(this.outEdges(a,f))}}c1.prototype._nodeCount=0,c1.prototype._edgeCount=0;function zFt(i,a){i[a]?i[a]++:i[a]=1}function qFt(i,a){--i[a]||delete i[a]}function xF(i,a,f,p){var w=""+a,m=""+f;if(!i&&w>m){var b=w;w=m,m=b}return w+$Ft+m+$Ft+(Jh(p)?jFe:p)}function $Fe(i,a,f,p){var w=""+a,m=""+f;if(!i&&w>m){var b=w;w=m,m=b}var E={v:w,w:m};return p&&(E.name=p),E}function i0t(i,a){return xF(i,a.v,a.w,a.name)}class zFe{constructor(){var a={};a._next=a._prev=a,this._sentinel=a}dequeue(){var a=this._sentinel,f=a._prev;if(f!==a)return HFt(f),f}enqueue(a){var f=this._sentinel;a._prev&&a._next&&HFt(a),a._next=f._next,f._next._prev=a,f._next=a,a._prev=f}toString(){for(var a=[],f=this._sentinel,p=f._prev;p!==f;)a.push(JSON.stringify(p,qFe)),p=p._prev;return"["+a.join(", ")+"]"}}function HFt(i){i._prev._next=i._next,i._next._prev=i._prev,delete i._next,delete i._prev}function qFe(i,a){if(i!=="_next"&&i!=="_prev")return a}var HFe=HA(1);function VFe(i,a){if(i.nodeCount()<=1)return[];var f=UFe(i,a||HFe),p=GFe(f.graph,f.buckets,f.zeroIdx);return rL(Ff(p,function(w){return i.outEdges(w.v,w.w)}))}function GFe(i,a,f){for(var p=[],w=a[a.length-1],m=a[0],b;i.nodeCount();){for(;b=m.dequeue();)s0t(i,a,f,b);for(;b=w.dequeue();)s0t(i,a,f,b);if(i.nodeCount()){for(var E=a.length-2;E>0;--E)if(b=a[E].dequeue(),b){p=p.concat(s0t(i,a,f,b,!0));break}}}return p}function s0t(i,a,f,p,w){var m=w?[]:void 0;return cr(i.inEdges(p.v),function(b){var E=i.edge(b),_=i.node(b.v);w&&m.push({v:b.v,w:b.w}),_.out-=E,a0t(a,f,_)}),cr(i.outEdges(p.v),function(b){var E=i.edge(b),_=b.w,A=i.node(_);A.in-=E,a0t(a,f,A)}),i.removeNode(p.v),m}function UFe(i,a){var f=new c1,p=0,w=0;cr(i.nodes(),function(E){f.setNode(E,{v:E,in:0,out:0})}),cr(i.edges(),function(E){var _=f.edge(E.v,E.w)||0,A=a(E),I=_+A;f.setEdge(E.v,E.w,I),w=Math.max(w,f.node(E.v).out+=A),p=Math.max(p,f.node(E.w).in+=A)});var m=yT(w+p+3).map(function(){return new zFe}),b=p+1;return cr(f.nodes(),function(E){a0t(m,b,f.node(E))}),{graph:f,buckets:m,zeroIdx:b}}function a0t(i,a,f){f.out?f.in?i[f.out-f.in+a].enqueue(f):i[i.length-1].enqueue(f):i[0].enqueue(f)}function WFe(i){var a=i.graph().acyclicer==="greedy"?VFe(i,f(i)):YFe(i);cr(a,function(p){var w=i.edge(p);i.removeEdge(p),w.forwardName=p.name,w.reversed=!0,i.setEdge(p.w,p.v,w,vY("rev"))});function f(p){return function(w){return p.edge(w).weight}}}function YFe(i){var a=[],f={},p={};function w(m){za(p,m)||(p[m]=!0,f[m]=!0,cr(i.outEdges(m),function(b){za(f,b.w)?a.push(b):w(b.w)}),delete f[m])}return cr(i.nodes(),w),a}function KFe(i){cr(i.edges(),function(a){var f=i.edge(a);if(f.reversed){i.removeEdge(a);var p=f.forwardName;delete f.reversed,delete f.forwardName,i.setEdge(a.w,a.v,f,p)}})}function sL(i,a,f,p){var w;do w=vY(p);while(i.hasNode(w));return f.dummy=a,i.setNode(w,f),w}function XFe(i){var a=new c1().setGraph(i.graph());return cr(i.nodes(),function(f){a.setNode(f,i.node(f))}),cr(i.edges(),function(f){var p=a.edge(f.v,f.w)||{weight:0,minlen:1},w=i.edge(f);a.setEdge(f.v,f.w,{weight:p.weight+w.weight,minlen:Math.max(p.minlen,w.minlen)})}),a}function VFt(i){var a=new c1({multigraph:i.isMultigraph()}).setGraph(i.graph());return cr(i.nodes(),function(f){i.children(f).length||a.setNode(f,i.node(f))}),cr(i.edges(),function(f){a.setEdge(f,i.edge(f))}),a}function GFt(i,a){var f=i.x,p=i.y,w=a.x-f,m=a.y-p,b=i.width/2,E=i.height/2;if(!w&&!m)throw new Error("Not possible to find intersection inside of the rectangle");var _,A;return Math.abs(m)*b>Math.abs(w)*E?(m<0&&(E=-E),_=E*w/m,A=E):(w<0&&(b=-b),_=b,A=b*m/w),{x:f+_,y:p+A}}function mY(i){var a=Ff(yT(WFt(i)+1),function(){return[]});return cr(i.nodes(),function(f){var p=i.node(f),w=p.rank;Jh(w)||(a[w][p.order]=f)}),a}function QFe(i){var a=wF(Ff(i.nodes(),function(f){return i.node(f).rank}));cr(i.nodes(),function(f){var p=i.node(f);za(p,"rank")&&(p.rank-=a)})}function ZFe(i){var a=wF(Ff(i.nodes(),function(m){return i.node(m).rank})),f=[];cr(i.nodes(),function(m){var b=i.node(m).rank-a;f[b]||(f[b]=[]),f[b].push(m)});var p=0,w=i.graph().nodeRankFactor;cr(f,function(m,b){Jh(m)&&b%w!==0?--p:p&&cr(m,function(E){i.node(E).rank+=p})})}function UFt(i,a,f,p){var w={width:0,height:0};return arguments.length>=4&&(w.rank=f,w.order=p),sL(i,"border",w,a)}function WFt(i){return mT(Ff(i.nodes(),function(a){var f=i.node(a).rank;if(!Jh(f))return f}))}function JFe(i,a){var f={lhs:[],rhs:[]};return cr(i,function(p){a(p)?f.lhs.push(p):f.rhs.push(p)}),f}function tNe(i,a){var f=NFt();try{return a()}finally{console.log(i+" time: "+(NFt()-f)+"ms")}}function eNe(i,a){return a()}function nNe(i){function a(f){var p=i.children(f),w=i.node(f);if(p.length&&cr(p,a),za(w,"minRank")){w.borderLeft=[],w.borderRight=[];for(var m=w.minRank,b=w.maxRank+1;mb.lim&&(E=b,_=!0);var A=D5(a.edges(),function(I){return _===sNt(i,i.node(I.v),E)&&_!==sNt(i,i.node(I.w),E)});return r0t(A,function(I){return kF(a,I)})}function iNt(i,a,f,p){var w=f.v,m=f.w;i.removeEdge(w,m),i.setEdge(p.v,p.w,{}),h0t(i),l0t(i,a),wNe(i,a)}function wNe(i,a){var f=e0t(i.nodes(),function(w){return!a.node(w).parent}),p=pNe(i,f);p=p.slice(1),cr(p,function(w){var m=i.node(w).parent,b=a.edge(w,m),E=!1;b||(b=a.edge(m,w),E=!0),a.node(w).rank=a.node(m).rank+(E?b.minlen:-b.minlen)})}function vNe(i,a,f){return i.hasEdge(a,f)}function sNt(i,a,f){return f.low<=a.lim&&a.lim<=f.lim}function mNe(i){switch(i.graph().ranker){case"network-simplex":aNt(i);break;case"tight-tree":xNe(i);break;case"longest-path":yNe(i);break;default:aNt(i)}}var yNe=u0t;function xNe(i){u0t(i),QFt(i)}function aNt(i){kT(i)}function kNe(i){var a=sL(i,"root",{},"_root"),f=ENe(i),p=mT(I5(f))-1,w=2*p+1;i.graph().nestingRoot=a,cr(i.edges(),function(b){i.edge(b).minlen*=w});var m=TNe(i)+1;cr(i.children(),function(b){oNt(i,a,w,m,p,f,b)}),i.graph().nodeRankFactor=w}function oNt(i,a,f,p,w,m,b){var E=i.children(b);if(!E.length){b!==a&&i.setEdge(a,b,{weight:0,minlen:f});return}var _=UFt(i,"_bt"),A=UFt(i,"_bb"),I=i.node(b);i.setParent(_,b),I.borderTop=_,i.setParent(A,b),I.borderBottom=A,cr(E,function(B){oNt(i,a,f,p,w,m,B);var N=i.node(B),R=N.borderTop?N.borderTop:B,z=N.borderBottom?N.borderBottom:B,W=N.borderTop?p:2*p,et=R!==z?1:w-m[b]+1;i.setEdge(_,R,{weight:W,minlen:et,nestingEdge:!0}),i.setEdge(z,A,{weight:W,minlen:et,nestingEdge:!0})}),i.parent(b)||i.setEdge(a,_,{weight:0,minlen:w+m[b]})}function ENe(i){var a={};function f(p,w){var m=i.children(p);m&&m.length&&cr(m,function(b){f(b,w+1)}),a[p]=w}return cr(i.children(),function(p){f(p,1)}),a}function TNe(i){return mF(i.edges(),function(a,f){return a+i.edge(f).weight},0)}function CNe(i){var a=i.graph();i.removeNode(a.nestingRoot),delete a.nestingRoot,cr(i.edges(),function(f){var p=i.edge(f);p.nestingEdge&&i.removeEdge(f)})}function _Ne(i,a,f){var p={},w;cr(f,function(m){for(var b=i.parent(m),E,_;b;){if(E=i.parent(b),E?(_=p[E],p[E]=b):(_=w,w=b),_&&_!==b){a.setEdge(_,b);return}b=E}})}function SNe(i,a,f){var p=ANe(i),w=new c1({compound:!0}).setGraph({root:p}).setDefaultNodeLabel(function(m){return i.node(m)});return cr(i.nodes(),function(m){var b=i.node(m),E=i.parent(m);(b.rank===a||b.minRank<=a&&a<=b.maxRank)&&(w.setNode(m),w.setParent(m,E||p),cr(i[f](m),function(_){var A=_.v===m?_.w:_.v,I=w.edge(A,m),B=Jh(I)?0:I.weight;w.setEdge(A,m,{weight:i.edge(_).weight+B})}),za(b,"minRank")&&w.setNode(m,{borderLeft:b.borderLeft[a],borderRight:b.borderRight[a]}))}),w}function ANe(i){for(var a;i.hasNode(a=vY("_root")););return a}function LNe(i,a){for(var f=0,p=1;p0;)I%2&&(B+=E[I+1]),I=I-1>>1,E[I]+=A.weight;_+=A.weight*B})),_}function DNe(i){var a={},f=D5(i.nodes(),function(E){return!i.children(E).length}),p=mT(Ff(f,function(E){return i.node(E).rank})),w=Ff(yT(p+1),function(){return[]});function m(E){if(!za(a,E)){a[E]=!0;var _=i.node(E);w[_.rank].push(E),cr(i.successors(E),m)}}var b=yF(f,function(E){return i.node(E).rank});return cr(b,m),w}function INe(i,a){return Ff(a,function(f){var p=i.inEdges(f);if(p.length){var w=mF(p,function(m,b){var E=i.edge(b),_=i.node(b.v);return{sum:m.sum+E.weight*_.order,weight:m.weight+E.weight}},{sum:0,weight:0});return{v:f,barycenter:w.sum/w.weight,weight:w.weight}}else return{v:f}})}function ONe(i,a){var f={};cr(i,function(w,m){var b=f[w.v]={indegree:0,in:[],out:[],vs:[w.v],i:m};Jh(w.barycenter)||(b.barycenter=w.barycenter,b.weight=w.weight)}),cr(a.edges(),function(w){var m=f[w.v],b=f[w.w];!Jh(m)&&!Jh(b)&&(b.indegree++,m.out.push(f[w.w]))});var p=D5(f,function(w){return!w.indegree});return PNe(p)}function PNe(i){var a=[];function f(m){return function(b){b.merged||(Jh(b.barycenter)||Jh(m.barycenter)||b.barycenter>=m.barycenter)&&FNe(m,b)}}function p(m){return function(b){b.in.push(m),--b.indegree===0&&i.push(b)}}for(;i.length;){var w=i.pop();a.push(w),cr(w.in.reverse(),f(w)),cr(w.out,p(w))}return Ff(D5(a,function(m){return!m.merged}),function(m){return vF(m,["vs","i","barycenter","weight"])})}function FNe(i,a){var f=0,p=0;i.weight&&(f+=i.barycenter*i.weight,p+=i.weight),a.weight&&(f+=a.barycenter*a.weight,p+=a.weight),i.vs=a.vs.concat(i.vs),i.barycenter=f/p,i.weight=p,i.i=Math.min(a.i,i.i),a.merged=!0}function NNe(i,a){var f=JFe(i,function(I){return za(I,"barycenter")}),p=f.lhs,w=yF(f.rhs,function(I){return-I.i}),m=[],b=0,E=0,_=0;p.sort(BNe(!!a)),_=cNt(m,w,_),cr(p,function(I){_+=I.vs.length,m.push(I.vs),b+=I.barycenter*I.weight,E+=I.weight,_=cNt(m,w,_)});var A={vs:rL(m)};return E&&(A.barycenter=b/E,A.weight=E),A}function cNt(i,a,f){for(var p;a.length&&(p=bY(a)).i<=f;)a.pop(),i.push(p.vs),f++;return f}function BNe(i){return function(a,f){return a.barycenterf.barycenter?1:i?f.i-a.i:a.i-f.i}}function uNt(i,a,f,p){var w=i.children(a),m=i.node(a),b=m?m.borderLeft:void 0,E=m?m.borderRight:void 0,_={};b&&(w=D5(w,function(z){return z!==b&&z!==E}));var A=INe(i,w);cr(A,function(z){if(i.children(z.v).length){var W=uNt(i,z.v,f,p);_[z.v]=W,za(W,"barycenter")&&jNe(z,W)}});var I=ONe(A,f);RNe(I,_);var B=NNe(I,p);if(b&&(B.vs=rL([b,B.vs,E]),i.predecessors(b).length)){var N=i.node(i.predecessors(b)[0]),R=i.node(i.predecessors(E)[0]);za(B,"barycenter")||(B.barycenter=0,B.weight=0),B.barycenter=(B.barycenter*B.weight+N.order+R.order)/(B.weight+2),B.weight+=2}return B}function RNe(i,a){cr(i,function(f){f.vs=rL(f.vs.map(function(p){return a[p]?a[p].vs:p}))})}function jNe(i,a){Jh(i.barycenter)?(i.barycenter=a.barycenter,i.weight=a.weight):(i.barycenter=(i.barycenter*i.weight+a.barycenter*a.weight)/(i.weight+a.weight),i.weight+=a.weight)}function $Ne(i){var a=WFt(i),f=lNt(i,yT(1,a+1),"inEdges"),p=lNt(i,yT(a-1,-1,-1),"outEdges"),w=DNe(i);hNt(i,w);for(var m=Number.POSITIVE_INFINITY,b,E=0,_=0;_<4;++E,++_){zNe(E%2?f:p,E%4>=2),w=mY(i);var A=LNe(i,w);Ab||E>a[_].lim));for(A=_,_=p;(_=i.parent(_))!==A;)m.push(_);return{path:w.concat(m.reverse()),lca:A}}function VNe(i){var a={},f=0;function p(w){var m=f;cr(i.children(w),p),a[w]={low:m,lim:f++}}return cr(i.children(),p),a}function GNe(i,a){var f={};function p(w,m){var b=0,E=0,_=w.length,A=bY(m);return cr(m,function(I,B){var N=WNe(i,I),R=N?i.node(N).order:_;(N||I===A)&&(cr(m.slice(E,B+1),function(z){cr(i.predecessors(z),function(W){var et=i.node(W),st=et.order;(stA)&&fNt(f,N,I)})})}function w(m,b){var E=-1,_,A=0;return cr(b,function(I,B){if(i.node(I).dummy==="border"){var N=i.predecessors(I);N.length&&(_=i.node(N[0]).order,p(b,A,B,E,_),A=B,E=_)}p(b,A,b.length,_,m.length)}),b}return mF(a,w),f}function WNe(i,a){if(i.node(a).dummy)return e0t(i.predecessors(a),function(f){return i.node(f).dummy})}function fNt(i,a,f){if(a>f){var p=a;a=f,f=p}var w=i[a];w||(i[a]=w={}),w[f]=!0}function YNe(i,a,f){if(a>f){var p=a;a=f,f=p}return za(i[a],f)}function KNe(i,a,f,p){var w={},m={},b={};return cr(a,function(E){cr(E,function(_,A){w[_]=_,m[_]=_,b[_]=A})}),cr(a,function(E){var _=-1;cr(E,function(A){var I=p(A);if(I.length){I=yF(I,function(W){return b[W]});for(var B=(I.length-1)/2,N=Math.floor(B),R=Math.ceil(B);N<=R;++N){var z=I[N];m[A]===A&&_0}function v3(i,a,f){var p=i.x,w=i.y,m=[],b=Number.POSITIVE_INFINITY,E=Number.POSITIVE_INFINITY;a.forEach(function(z){b=Math.min(b,z.x),E=Math.min(E,z.y)});for(var _=p-i.width/2-b,A=w-i.height/2-E,I=0;I1&&m.sort(function(z,W){var et=z.x-f.x,st=z.y-f.y,at=Math.sqrt(et*et+st*st),bt=W.x-f.x,mt=W.y-f.y,yt=Math.sqrt(bt*bt+mt*mt);return atMath.abs(w)*E?(m<0&&(E=-E),_=m===0?0:E*w/m,A=E):(w<0&&(b=-b),_=b,A=w===0?0:b*m/w),{x:f+_,y:p+A}}var E0t={rect:ZBe,ellipse:JBe,circle:tRe,diamond:eRe};function QBe(i){E0t=i}function ZBe(i,a,f){var p=i.insert("rect",":first-child").attr("rx",f.rx).attr("ry",f.ry).attr("x",-a.width/2).attr("y",-a.height/2).attr("width",a.width).attr("height",a.height);return f.intersect=function(w){return k0t(f,w)},p}function JBe(i,a,f){var p=a.width/2,w=a.height/2,m=i.insert("ellipse",":first-child").attr("x",-a.width/2).attr("y",-a.height/2).attr("rx",p).attr("ry",w);return f.intersect=function(b){return vNt(f,p,w,b)},m}function tRe(i,a,f){var p=Math.max(a.width,a.height)/2,w=i.insert("circle",":first-child").attr("x",-a.width/2).attr("y",-a.height/2).attr("r",p);return f.intersect=function(m){return KBe(f,p,m)},w}function eRe(i,a,f){var p=a.width*Math.SQRT2/2,w=a.height*Math.SQRT2/2,m=[{x:0,y:-w},{x:-p,y:0},{x:0,y:w},{x:p,y:0}],b=i.insert("polygon",":first-child").attr("points",m.map(function(E){return E.x+","+E.y}).join(" "));return f.intersect=function(E){return v3(f,m,E)},b}function nRe(){var i=function(a,f){sRe(f);var p=EF(a,"output"),w=EF(p,"clusters"),m=EF(p,"edgePaths"),b=m0t(EF(p,"edgeLabels"),f),E=x0t(EF(p,"nodes"),f,E0t);aL(f),YBe(E,f),WBe(b,f),y0t(m,f,p0t);var _=v0t(w,f);UBe(_,f),aRe(f)};return i.createNodes=function(a){return arguments.length?(GBe(a),i):x0t},i.createClusters=function(a){return arguments.length?(BBe(a),i):v0t},i.createEdgeLabels=function(a){return arguments.length?(RBe(a),i):m0t},i.createEdgePaths=function(a){return arguments.length?(jBe(a),i):y0t},i.shapes=function(a){return arguments.length?(QBe(a),i):E0t},i.arrows=function(a){return arguments.length?(MBe(a),i):p0t},i}var rRe={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},iRe={arrowhead:"normal",curve:cg};function sRe(i){i.nodes().forEach(function(a){var f=i.node(a);!za(f,"label")&&!i.children(a).length&&(f.label=a),za(f,"paddingX")&&iL(f,{paddingLeft:f.paddingX,paddingRight:f.paddingX}),za(f,"paddingY")&&iL(f,{paddingTop:f.paddingY,paddingBottom:f.paddingY}),za(f,"padding")&&iL(f,{paddingLeft:f.padding,paddingRight:f.padding,paddingTop:f.padding,paddingBottom:f.padding}),iL(f,rRe),cr(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(p){f[p]=Number(f[p])}),za(f,"width")&&(f._prevWidth=f.width),za(f,"height")&&(f._prevHeight=f.height)}),i.edges().forEach(function(a){var f=i.edge(a);za(f,"label")||(f.label=""),iL(f,iRe)})}function aRe(i){cr(i.nodes(),function(a){var f=i.node(a);za(f,"_prevWidth")?f.width=f._prevWidth:delete f.width,za(f,"_prevHeight")?f.height=f._prevHeight:delete f.height,delete f._prevWidth,delete f._prevHeight})}function EF(i,a){var f=i.select("g."+a);return f.empty()&&(f=i.append("g").attr("class",a)),f}function yNt(i,a,f){const p=a.width,w=a.height,m=(p+w)*.9,b=[{x:m/2,y:0},{x:m,y:-m/2},{x:m/2,y:-m},{x:0,y:-m/2}],E=O5(i,m,m,b);return f.intersect=function(_){return v3(f,b,_)},E}function xNt(i,a,f){const w=a.height,m=w/4,b=a.width+2*m,E=[{x:m,y:0},{x:b-m,y:0},{x:b,y:-w/2},{x:b-m,y:-w},{x:m,y:-w},{x:0,y:-w/2}],_=O5(i,b,w,E);return f.intersect=function(A){return v3(f,E,A)},_}function kNt(i,a,f){const p=a.width,w=a.height,m=[{x:-w/2,y:0},{x:p,y:0},{x:p,y:-w},{x:-w/2,y:-w},{x:0,y:-w/2}],b=O5(i,p,w,m);return f.intersect=function(E){return v3(f,m,E)},b}function ENt(i,a,f){const p=a.width,w=a.height,m=[{x:-2*w/6,y:0},{x:p-w/6,y:0},{x:p+2*w/6,y:-w},{x:w/6,y:-w}],b=O5(i,p,w,m);return f.intersect=function(E){return v3(f,m,E)},b}function TNt(i,a,f){const p=a.width,w=a.height,m=[{x:2*w/6,y:0},{x:p+w/6,y:0},{x:p-2*w/6,y:-w},{x:-w/6,y:-w}],b=O5(i,p,w,m);return f.intersect=function(E){return v3(f,m,E)},b}function CNt(i,a,f){const p=a.width,w=a.height,m=[{x:-2*w/6,y:0},{x:p+2*w/6,y:0},{x:p-w/6,y:-w},{x:w/6,y:-w}],b=O5(i,p,w,m);return f.intersect=function(E){return v3(f,m,E)},b}function _Nt(i,a,f){const p=a.width,w=a.height,m=[{x:w/6,y:0},{x:p-w/6,y:0},{x:p+2*w/6,y:-w},{x:-2*w/6,y:-w}],b=O5(i,p,w,m);return f.intersect=function(E){return v3(f,m,E)},b}function SNt(i,a,f){const p=a.width,w=a.height,m=[{x:0,y:0},{x:p+w/2,y:0},{x:p,y:-w/2},{x:p+w/2,y:-w},{x:0,y:-w}],b=O5(i,p,w,m);return f.intersect=function(E){return v3(f,m,E)},b}function ANt(i,a,f){const p=a.height,w=a.width+p/4,m=i.insert("rect",":first-child").attr("rx",p/2).attr("ry",p/2).attr("x",-w/2).attr("y",-p/2).attr("width",w).attr("height",p);return f.intersect=function(b){return k0t(f,b)},m}function LNt(i,a,f){const p=a.width,w=a.height,m=[{x:0,y:0},{x:p,y:0},{x:p,y:-w},{x:0,y:-w},{x:0,y:0},{x:-8,y:0},{x:p+8,y:0},{x:p+8,y:-w},{x:-8,y:-w},{x:-8,y:0}],b=O5(i,p,w,m);return f.intersect=function(E){return v3(f,m,E)},b}function MNt(i,a,f){const p=a.width,w=p/2,m=w/(2.5+p/50),b=a.height+m,E="M 0,"+m+" a "+w+","+m+" 0,0,0 "+p+" 0 a "+w+","+m+" 0,0,0 "+-p+" 0 l 0,"+b+" a "+w+","+m+" 0,0,0 "+p+" 0 l 0,"+-b,_=i.attr("label-offset-y",m).insert("path",":first-child").attr("d",E).attr("transform","translate("+-p/2+","+-(b/2+m)+")");return f.intersect=function(A){const I=k0t(f,A),B=I.x-f.x;if(w!=0&&(Math.abs(B)f.height/2-m)){let N=m*m*(1-B*B/(w*w));N!=0&&(N=Math.sqrt(N)),N=m-N,A.y-f.y>0&&(N=-N),I.y+=N}return I},_}function oRe(i){i.shapes().question=yNt,i.shapes().hexagon=xNt,i.shapes().stadium=ANt,i.shapes().subroutine=LNt,i.shapes().cylinder=MNt,i.shapes().rect_left_inv_arrow=kNt,i.shapes().lean_right=ENt,i.shapes().lean_left=TNt,i.shapes().trapezoid=CNt,i.shapes().inv_trapezoid=_Nt,i.shapes().rect_right_inv_arrow=SNt}function cRe(i){i({question:yNt}),i({hexagon:xNt}),i({stadium:ANt}),i({subroutine:LNt}),i({cylinder:MNt}),i({rect_left_inv_arrow:kNt}),i({lean_right:ENt}),i({lean_left:TNt}),i({trapezoid:CNt}),i({inv_trapezoid:_Nt}),i({rect_right_inv_arrow:SNt})}function O5(i,a,f,p){return i.insert("polygon",":first-child").attr("points",p.map(function(w){return w.x+","+w.y}).join(" ")).attr("transform","translate("+-a/2+","+f/2+")")}const uRe={addToRender:oRe,addToRenderV2:cRe},DNt={},lRe=function(i){const a=Object.keys(i);for(const f of a)DNt[f]=i[f]},INt=function(i,a,f,p,w,m){const b=p?p.select(`[id="${f}"]`):yr(`[id="${f}"]`),E=w||document;Object.keys(i).forEach(function(A){const I=i[A];let B="default";I.classes.length>0&&(B=I.classes.join(" "));const N=im(I.styles);let R=I.text!==void 0?I.text:I.id,z;if(o1(Oe().flowchart.htmlLabels)){const st={label:R.replace(/fa[blrs]?:fa-[\w-]+/g,at=>``)};z=b0t(b,st).node(),z.parentNode.removeChild(z)}else{const st=E.createElementNS("http://www.w3.org/2000/svg","text");st.setAttribute("style",N.labelStyle.replace("color:","fill:"));const at=R.split(Kr.lineBreakRegex);for(const bt of at){const mt=E.createElementNS("http://www.w3.org/2000/svg","tspan");mt.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),mt.setAttribute("dy","1em"),mt.setAttribute("x","1"),mt.textContent=bt,st.appendChild(mt)}z=st}let W=0,et="";switch(I.type){case"round":W=5,et="rect";break;case"square":et="rect";break;case"diamond":et="question";break;case"hexagon":et="hexagon";break;case"odd":et="rect_left_inv_arrow";break;case"lean_right":et="lean_right";break;case"lean_left":et="lean_left";break;case"trapezoid":et="trapezoid";break;case"inv_trapezoid":et="inv_trapezoid";break;case"odd_right":et="rect_left_inv_arrow";break;case"circle":et="circle";break;case"ellipse":et="ellipse";break;case"stadium":et="stadium";break;case"subroutine":et="subroutine";break;case"cylinder":et="cylinder";break;case"group":et="rect";break;default:et="rect"}Ut.warn("Adding node",I.id,I.domId),a.setNode(m.db.lookUpDomId(I.id),{labelType:"svg",labelStyle:N.labelStyle,shape:et,label:z,rx:W,ry:W,class:B,style:N.style,id:m.db.lookUpDomId(I.id)})})},ONt=function(i,a,f){let p=0,w,m;if(i.defaultStyle!==void 0){const b=im(i.defaultStyle);w=b.style,m=b.labelStyle}i.forEach(function(b){p++;const E="L-"+b.start+"-"+b.end,_="LS-"+b.start,A="LE-"+b.end,I={};b.type==="arrow_open"?I.arrowhead="none":I.arrowhead="normal";let B="",N="";if(b.style!==void 0){const R=im(b.style);B=R.style,N=R.labelStyle}else switch(b.stroke){case"normal":B="fill:none",w!==void 0&&(B=w),m!==void 0&&(N=m);break;case"dotted":B="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":B=" stroke-width: 3.5px;fill:none";break}I.style=B,I.labelStyle=N,b.interpolate!==void 0?I.curve=ew(b.interpolate,cg):i.defaultInterpolate!==void 0?I.curve=ew(i.defaultInterpolate,cg):I.curve=ew(DNt.curve,cg),b.text===void 0?b.style!==void 0&&(I.arrowheadStyle="fill: #333"):(I.arrowheadStyle="fill: #333",I.labelpos="c",o1(Oe().flowchart.htmlLabels)?(I.labelType="html",I.label=`${b.text.replace(/fa[blrs]?:fa-[\w-]+/g,R=>``)}`):(I.labelType="text",I.label=b.text.replace(Kr.lineBreakRegex,` +`),b.style===void 0&&(I.style=I.style||"stroke: #333; stroke-width: 1.5px;fill:none"),I.labelStyle=I.labelStyle.replace("color:","fill:"))),I.id=E,I.class=_+" "+A,I.minlen=b.length||1,a.setEdge(f.db.lookUpDomId(b.start),f.db.lookUpDomId(b.end),I,p)})},hRe={setConf:lRe,addVertices:INt,addEdges:ONt,getClasses:function(i,a){return Ut.info("Extracting classes"),a.db.getClasses()},draw:function(i,a,f,p){Ut.info("Drawing flowchart");const{securityLevel:w,flowchart:m}=Oe();let b;w==="sandbox"&&(b=yr("#i"+a));const E=yr(w==="sandbox"?b.nodes()[0].contentDocument.body:"body"),_=w==="sandbox"?b.nodes()[0].contentDocument:document;let A=p.db.getDirection();A===void 0&&(A="TD");const I=m.nodeSpacing||50,B=m.rankSpacing||50,N=new c1({multigraph:!0,compound:!0}).setGraph({rankdir:A,nodesep:I,ranksep:B,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let R;const z=p.db.getSubGraphs();for(let ft=z.length-1;ft>=0;ft--)R=z[ft],p.db.addVertex(R.id,R.title,"group",void 0,R.classes);const W=p.db.getVertices();Ut.warn("Get vertices",W);const et=p.db.getEdges();let st=0;for(st=z.length-1;st>=0;st--){R=z[st],sMt("cluster").append("text");for(let ft=0;ft{a.forEach(w=>{pRe[w](i,f,p)})},pRe={extension:(i,a,f)=>{Ut.trace("Making markers for ",f),i.append("defs").append("marker").attr("id",f+"_"+a+"-extensionStart").attr("class","marker extension "+a).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-extensionEnd").attr("class","marker extension "+a).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},composition:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-compositionStart").attr("class","marker composition "+a).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-compositionEnd").attr("class","marker composition "+a).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},aggregation:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-aggregationStart").attr("class","marker aggregation "+a).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-aggregationEnd").attr("class","marker aggregation "+a).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},dependency:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-dependencyStart").attr("class","marker dependency "+a).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-dependencyEnd").attr("class","marker dependency "+a).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},lollipop:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-lollipopStart").attr("class","marker lollipop "+a).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),i.append("defs").append("marker").attr("id",f+"_"+a+"-lollipopEnd").attr("class","marker lollipop "+a).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},point:(i,a,f)=>{i.append("marker").attr("id",f+"_"+a+"-pointEnd").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),i.append("marker").attr("id",f+"_"+a+"-pointStart").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},circle:(i,a,f)=>{i.append("marker").attr("id",f+"_"+a+"-circleEnd").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),i.append("marker").attr("id",f+"_"+a+"-circleStart").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},cross:(i,a,f)=>{i.append("marker").attr("id",f+"_"+a+"-crossEnd").attr("class","marker cross "+a).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),i.append("marker").attr("id",f+"_"+a+"-crossStart").attr("class","marker cross "+a).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},barb:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}},PNt=gRe;function bRe(i,a){a&&i.attr("style",a)}function wRe(i){const a=yr(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),f=a.append("xhtml:div"),p=i.label,w=i.isNode?"nodeLabel":"edgeLabel";return f.html('"+p+""),bRe(f,i.labelStyle),f.style("display","inline-block"),f.style("white-space","nowrap"),f.attr("xmlns","http://www.w3.org/1999/xhtml"),a.node()}const gp=(i,a,f,p)=>{let w=i||"";if(typeof w=="object"&&(w=w[0]),o1(Oe().flowchart.htmlLabels)){w=w.replace(/\\n|\n/g,"
"),Ut.info("vertexText"+w);const m={isNode:p,label:uF(w).replace(/fa[blrs]?:fa-[\w-]+/g,E=>``),labelStyle:a.replace("fill:","color:")};return wRe(m)}else{const m=document.createElementNS("http://www.w3.org/2000/svg","text");m.setAttribute("style",a.replace("color:","fill:"));let b=[];typeof w=="string"?b=w.split(/\\n|\n|/gi):Array.isArray(w)?b=w:b=[];for(const E of b){const _=document.createElementNS("http://www.w3.org/2000/svg","tspan");_.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),_.setAttribute("dy","1em"),_.setAttribute("x","0"),f?_.setAttribute("class","title-row"):_.setAttribute("class","row"),_.textContent=E.trim(),m.appendChild(_)}return m}},vRe={};function mRe(i,a){const f=a||vRe,p=typeof f.includeImageAlt=="boolean"?f.includeImageAlt:!0,w=typeof f.includeHtml=="boolean"?f.includeHtml:!0;return FNt(i,p,w)}function FNt(i,a,f){if(yRe(i)){if("value"in i)return i.type==="html"&&!f?"":i.value;if(a&&"alt"in i&&i.alt)return i.alt;if("children"in i)return NNt(i.children,a,f)}return Array.isArray(i)?NNt(i,a,f):""}function NNt(i,a,f){const p=[];let w=-1;for(;++ww?0:w+a:a=a>w?w:a,f=f>0?f:0,p.length<1e4)b=Array.from(p),b.unshift(a,f),i.splice(...b);else for(f&&i.splice(a,f);m0?(m3(i,i.length,0,a),i):a}const BNt={}.hasOwnProperty;function xRe(i){const a={};let f=-1;for(;++fb))return;const ut=a.events.length;let vt=ut,X,pt;for(;vt--;)if(a.events[vt][0]==="exit"&&a.events[vt][1].type==="chunkFlow"){if(X){pt=a.events[vt][1].end;break}X=!0}for(st(p),ft=ut;ftbt;){const yt=f[mt];a.containerState=yt[1],yt[0].exit.call(a,i)}f.length=bt}function at(){w.write([null]),m=void 0,w=void 0,a.containerState._closeFlow=void 0}}function PRe(i,a,f){return il(i,i.attempt(this.parser.constructs.document,a,f),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function jNt(i){if(i===null||pp(i)||LRe(i))return 1;if(ARe(i))return 2}function _0t(i,a,f){const p=[];let w=-1;for(;++w1&&i[f][1].end.offset-i[f][1].start.offset>1?2:1;const B=Object.assign({},i[p][1].end),N=Object.assign({},i[f][1].start);$Nt(B,-_),$Nt(N,_),b={type:_>1?"strongSequence":"emphasisSequence",start:B,end:Object.assign({},i[p][1].end)},E={type:_>1?"strongSequence":"emphasisSequence",start:Object.assign({},i[f][1].start),end:N},m={type:_>1?"strongText":"emphasisText",start:Object.assign({},i[p][1].end),end:Object.assign({},i[f][1].start)},w={type:_>1?"strong":"emphasis",start:Object.assign({},b.start),end:Object.assign({},E.end)},i[p][1].end=Object.assign({},b.start),i[f][1].start=Object.assign({},E.end),A=[],i[p][1].end.offset-i[p][1].start.offset&&(A=sw(A,[["enter",i[p][1],a],["exit",i[p][1],a]])),A=sw(A,[["enter",w,a],["enter",b,a],["exit",b,a],["enter",m,a]]),A=sw(A,_0t(a.parser.constructs.insideSpan.null,i.slice(p+1,f),a)),A=sw(A,[["exit",m,a],["enter",E,a],["exit",E,a],["exit",w,a]]),i[f][1].end.offset-i[f][1].start.offset?(I=2,A=sw(A,[["enter",i[f][1],a],["exit",i[f][1],a]])):I=0,m3(i,p-1,f-p+3,A),f=p+A.length-I-2;break}}for(f=-1;++f0&&Wc(ft)?il(i,at,"linePrefix",m+1)(ft):at(ft)}function at(ft){return ft===null||xa(ft)?i.check(GNt,W,mt)(ft):(i.enter("codeFlowValue"),bt(ft))}function bt(ft){return ft===null||xa(ft)?(i.exit("codeFlowValue"),at(ft)):(i.consume(ft),bt)}function mt(ft){return i.exit("codeFenced"),a(ft)}function yt(ft,ut,vt){let X=0;return pt;function pt(Ot){return ft.enter("lineEnding"),ft.consume(Ot),ft.exit("lineEnding"),U}function U(Ot){return ft.enter("codeFencedFence"),Wc(Ot)?il(ft,Tt,"linePrefix",p.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(Ot):Tt(Ot)}function Tt(Ot){return Ot===E?(ft.enter("codeFencedFenceSequence"),nt(Ot)):vt(Ot)}function nt(Ot){return Ot===E?(X++,ft.consume(Ot),nt):X>=b?(ft.exit("codeFencedFenceSequence"),Wc(Ot)?il(ft,It,"whitespace")(Ot):It(Ot)):vt(Ot)}function It(Ot){return Ot===null||xa(Ot)?(ft.exit("codeFencedFence"),ut(Ot)):vt(Ot)}}}function URe(i,a,f){const p=this;return w;function w(b){return b===null?f(b):(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),m)}function m(b){return p.parser.lazy[p.now().line]?f(b):a(b)}}const L0t={name:"codeIndented",tokenize:YRe},WRe={tokenize:KRe,partial:!0};function YRe(i,a,f){const p=this;return w;function w(A){return i.enter("codeIndented"),il(i,m,"linePrefix",4+1)(A)}function m(A){const I=p.events[p.events.length-1];return I&&I[1].type==="linePrefix"&&I[2].sliceSerialize(I[1],!0).length>=4?b(A):f(A)}function b(A){return A===null?_(A):xa(A)?i.attempt(WRe,b,_)(A):(i.enter("codeFlowValue"),E(A))}function E(A){return A===null||xa(A)?(i.exit("codeFlowValue"),b(A)):(i.consume(A),E)}function _(A){return i.exit("codeIndented"),a(A)}}function KRe(i,a,f){const p=this;return w;function w(b){return p.parser.lazy[p.now().line]?f(b):xa(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),w):il(i,m,"linePrefix",4+1)(b)}function m(b){const E=p.events[p.events.length-1];return E&&E[1].type==="linePrefix"&&E[2].sliceSerialize(E[1],!0).length>=4?a(b):xa(b)?w(b):f(b)}}const XRe={name:"codeText",tokenize:JRe,resolve:QRe,previous:ZRe};function QRe(i){let a=i.length-4,f=3,p,w;if((i[f][1].type==="lineEnding"||i[f][1].type==="space")&&(i[a][1].type==="lineEnding"||i[a][1].type==="space")){for(p=f;++p=4?a(b):i.interrupt(p.parser.constructs.flow,f,a)(b)}}function YNt(i,a,f,p,w,m,b,E,_){const A=_||Number.POSITIVE_INFINITY;let I=0;return B;function B(st){return st===60?(i.enter(p),i.enter(w),i.enter(m),i.consume(st),i.exit(m),N):st===null||st===32||st===41||T0t(st)?f(st):(i.enter(p),i.enter(b),i.enter(E),i.enter("chunkString",{contentType:"string"}),W(st))}function N(st){return st===62?(i.enter(m),i.consume(st),i.exit(m),i.exit(w),i.exit(p),a):(i.enter(E),i.enter("chunkString",{contentType:"string"}),R(st))}function R(st){return st===62?(i.exit("chunkString"),i.exit(E),N(st)):st===null||st===60||xa(st)?f(st):(i.consume(st),st===92?z:R)}function z(st){return st===60||st===62||st===92?(i.consume(st),R):R(st)}function W(st){return!I&&(st===null||st===41||pp(st))?(i.exit("chunkString"),i.exit(E),i.exit(b),i.exit(p),a(st)):I999||R===null||R===91||R===93&&!_||R===94&&!E&&"_hiddenFootnoteSupport"in b.parser.constructs?f(R):R===93?(i.exit(m),i.enter(w),i.consume(R),i.exit(w),i.exit(p),a):xa(R)?(i.enter("lineEnding"),i.consume(R),i.exit("lineEnding"),I):(i.enter("chunkString",{contentType:"string"}),B(R))}function B(R){return R===null||R===91||R===93||xa(R)||E++>999?(i.exit("chunkString"),I(R)):(i.consume(R),_||(_=!Wc(R)),R===92?N:B)}function N(R){return R===91||R===92||R===93?(i.consume(R),E++,B):B(R)}}function XNt(i,a,f,p,w,m){let b;return E;function E(N){return N===34||N===39||N===40?(i.enter(p),i.enter(w),i.consume(N),i.exit(w),b=N===40?41:N,_):f(N)}function _(N){return N===b?(i.enter(w),i.consume(N),i.exit(w),i.exit(p),a):(i.enter(m),A(N))}function A(N){return N===b?(i.exit(m),_(b)):N===null?f(N):xa(N)?(i.enter("lineEnding"),i.consume(N),i.exit("lineEnding"),il(i,A,"linePrefix")):(i.enter("chunkString",{contentType:"string"}),I(N))}function I(N){return N===b||N===null||xa(N)?(i.exit("chunkString"),A(N)):(i.consume(N),N===92?B:I)}function B(N){return N===b||N===92?(i.consume(N),I):I(N)}}function TF(i,a){let f;return p;function p(w){return xa(w)?(i.enter("lineEnding"),i.consume(w),i.exit("lineEnding"),f=!0,p):Wc(w)?il(i,p,f?"linePrefix":"lineSuffix")(w):a(w)}}function oL(i){return i.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const aje={name:"definition",tokenize:cje},oje={tokenize:uje,partial:!0};function cje(i,a,f){const p=this;let w;return m;function m(R){return i.enter("definition"),b(R)}function b(R){return KNt.call(p,i,E,f,"definitionLabel","definitionLabelMarker","definitionLabelString")(R)}function E(R){return w=oL(p.sliceSerialize(p.events[p.events.length-1][1]).slice(1,-1)),R===58?(i.enter("definitionMarker"),i.consume(R),i.exit("definitionMarker"),_):f(R)}function _(R){return pp(R)?TF(i,A)(R):A(R)}function A(R){return YNt(i,I,f,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(R)}function I(R){return i.attempt(oje,B,B)(R)}function B(R){return Wc(R)?il(i,N,"whitespace")(R):N(R)}function N(R){return R===null||xa(R)?(i.exit("definition"),p.parser.defined.push(w),a(R)):f(R)}}function uje(i,a,f){return p;function p(E){return pp(E)?TF(i,w)(E):f(E)}function w(E){return XNt(i,m,f,"definitionTitle","definitionTitleMarker","definitionTitleString")(E)}function m(E){return Wc(E)?il(i,b,"whitespace")(E):b(E)}function b(E){return E===null||xa(E)?a(E):f(E)}}const lje={name:"hardBreakEscape",tokenize:hje};function hje(i,a,f){return p;function p(m){return i.enter("hardBreakEscape"),i.consume(m),w}function w(m){return xa(m)?(i.exit("hardBreakEscape"),a(m)):f(m)}}const fje={name:"headingAtx",tokenize:gje,resolve:dje};function dje(i,a){let f=i.length-2,p=3,w,m;return i[p][1].type==="whitespace"&&(p+=2),f-2>p&&i[f][1].type==="whitespace"&&(f-=2),i[f][1].type==="atxHeadingSequence"&&(p===f-1||f-4>p&&i[f-2][1].type==="whitespace")&&(f-=p+1===f?2:4),f>p&&(w={type:"atxHeadingText",start:i[p][1].start,end:i[f][1].end},m={type:"chunkText",start:i[p][1].start,end:i[f][1].end,contentType:"text"},m3(i,p,f-p+1,[["enter",w,a],["enter",m,a],["exit",m,a],["exit",w,a]])),i}function gje(i,a,f){let p=0;return w;function w(I){return i.enter("atxHeading"),m(I)}function m(I){return i.enter("atxHeadingSequence"),b(I)}function b(I){return I===35&&p++<6?(i.consume(I),b):I===null||pp(I)?(i.exit("atxHeadingSequence"),E(I)):f(I)}function E(I){return I===35?(i.enter("atxHeadingSequence"),_(I)):I===null||xa(I)?(i.exit("atxHeading"),a(I)):Wc(I)?il(i,E,"whitespace")(I):(i.enter("atxHeadingText"),A(I))}function _(I){return I===35?(i.consume(I),_):(i.exit("atxHeadingSequence"),E(I))}function A(I){return I===null||I===35||pp(I)?(i.exit("atxHeadingText"),E(I)):(i.consume(I),A)}}const pje=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],QNt=["pre","script","style","textarea"],bje={name:"htmlFlow",tokenize:yje,resolveTo:mje,concrete:!0},wje={tokenize:kje,partial:!0},vje={tokenize:xje,partial:!0};function mje(i){let a=i.length;for(;a--&&!(i[a][0]==="enter"&&i[a][1].type==="htmlFlow"););return a>1&&i[a-2][1].type==="linePrefix"&&(i[a][1].start=i[a-2][1].start,i[a+1][1].start=i[a-2][1].start,i.splice(a-2,2)),i}function yje(i,a,f){const p=this;let w,m,b,E,_;return A;function A(Ft){return I(Ft)}function I(Ft){return i.enter("htmlFlow"),i.enter("htmlFlowData"),i.consume(Ft),B}function B(Ft){return Ft===33?(i.consume(Ft),N):Ft===47?(i.consume(Ft),m=!0,W):Ft===63?(i.consume(Ft),w=3,p.interrupt?a:xt):y3(Ft)?(i.consume(Ft),b=String.fromCharCode(Ft),et):f(Ft)}function N(Ft){return Ft===45?(i.consume(Ft),w=2,R):Ft===91?(i.consume(Ft),w=5,E=0,z):y3(Ft)?(i.consume(Ft),w=4,p.interrupt?a:xt):f(Ft)}function R(Ft){return Ft===45?(i.consume(Ft),p.interrupt?a:xt):f(Ft)}function z(Ft){const gn="CDATA[";return Ft===gn.charCodeAt(E++)?(i.consume(Ft),E===gn.length?p.interrupt?a:Tt:z):f(Ft)}function W(Ft){return y3(Ft)?(i.consume(Ft),b=String.fromCharCode(Ft),et):f(Ft)}function et(Ft){if(Ft===null||Ft===47||Ft===62||pp(Ft)){const gn=Ft===47,Se=b.toLowerCase();return!gn&&!m&&QNt.includes(Se)?(w=1,p.interrupt?a(Ft):Tt(Ft)):pje.includes(b.toLowerCase())?(w=6,gn?(i.consume(Ft),st):p.interrupt?a(Ft):Tt(Ft)):(w=7,p.interrupt&&!p.parser.lazy[p.now().line]?f(Ft):m?at(Ft):bt(Ft))}return Ft===45||lm(Ft)?(i.consume(Ft),b+=String.fromCharCode(Ft),et):f(Ft)}function st(Ft){return Ft===62?(i.consume(Ft),p.interrupt?a:Tt):f(Ft)}function at(Ft){return Wc(Ft)?(i.consume(Ft),at):pt(Ft)}function bt(Ft){return Ft===47?(i.consume(Ft),pt):Ft===58||Ft===95||y3(Ft)?(i.consume(Ft),mt):Wc(Ft)?(i.consume(Ft),bt):pt(Ft)}function mt(Ft){return Ft===45||Ft===46||Ft===58||Ft===95||lm(Ft)?(i.consume(Ft),mt):yt(Ft)}function yt(Ft){return Ft===61?(i.consume(Ft),ft):Wc(Ft)?(i.consume(Ft),yt):bt(Ft)}function ft(Ft){return Ft===null||Ft===60||Ft===61||Ft===62||Ft===96?f(Ft):Ft===34||Ft===39?(i.consume(Ft),_=Ft,ut):Wc(Ft)?(i.consume(Ft),ft):vt(Ft)}function ut(Ft){return Ft===_?(i.consume(Ft),_=null,X):Ft===null||xa(Ft)?f(Ft):(i.consume(Ft),ut)}function vt(Ft){return Ft===null||Ft===34||Ft===39||Ft===47||Ft===60||Ft===61||Ft===62||Ft===96||pp(Ft)?yt(Ft):(i.consume(Ft),vt)}function X(Ft){return Ft===47||Ft===62||Wc(Ft)?bt(Ft):f(Ft)}function pt(Ft){return Ft===62?(i.consume(Ft),U):f(Ft)}function U(Ft){return Ft===null||xa(Ft)?Tt(Ft):Wc(Ft)?(i.consume(Ft),U):f(Ft)}function Tt(Ft){return Ft===45&&w===2?(i.consume(Ft),Bt):Ft===60&&w===1?(i.consume(Ft),Et):Ft===62&&w===4?(i.consume(Ft),Ht):Ft===63&&w===3?(i.consume(Ft),xt):Ft===93&&w===5?(i.consume(Ft),Ct):xa(Ft)&&(w===6||w===7)?(i.exit("htmlFlowData"),i.check(wje,Le,nt)(Ft)):Ft===null||xa(Ft)?(i.exit("htmlFlowData"),nt(Ft)):(i.consume(Ft),Tt)}function nt(Ft){return i.check(vje,It,Le)(Ft)}function It(Ft){return i.enter("lineEnding"),i.consume(Ft),i.exit("lineEnding"),Ot}function Ot(Ft){return Ft===null||xa(Ft)?nt(Ft):(i.enter("htmlFlowData"),Tt(Ft))}function Bt(Ft){return Ft===45?(i.consume(Ft),xt):Tt(Ft)}function Et(Ft){return Ft===47?(i.consume(Ft),b="",Z):Tt(Ft)}function Z(Ft){if(Ft===62){const gn=b.toLowerCase();return QNt.includes(gn)?(i.consume(Ft),Ht):Tt(Ft)}return y3(Ft)&&b.length<8?(i.consume(Ft),b+=String.fromCharCode(Ft),Z):Tt(Ft)}function Ct(Ft){return Ft===93?(i.consume(Ft),xt):Tt(Ft)}function xt(Ft){return Ft===62?(i.consume(Ft),Ht):Ft===45&&w===2?(i.consume(Ft),xt):Tt(Ft)}function Ht(Ft){return Ft===null||xa(Ft)?(i.exit("htmlFlowData"),Le(Ft)):(i.consume(Ft),Ht)}function Le(Ft){return i.exit("htmlFlow"),a(Ft)}}function xje(i,a,f){const p=this;return w;function w(b){return xa(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),m):f(b)}function m(b){return p.parser.lazy[p.now().line]?f(b):a(b)}}function kje(i,a,f){return p;function p(w){return i.enter("lineEnding"),i.consume(w),i.exit("lineEnding"),i.attempt(yY,a,f)}}const Eje={name:"htmlText",tokenize:Tje};function Tje(i,a,f){const p=this;let w,m,b;return E;function E(xt){return i.enter("htmlText"),i.enter("htmlTextData"),i.consume(xt),_}function _(xt){return xt===33?(i.consume(xt),A):xt===47?(i.consume(xt),yt):xt===63?(i.consume(xt),bt):y3(xt)?(i.consume(xt),vt):f(xt)}function A(xt){return xt===45?(i.consume(xt),I):xt===91?(i.consume(xt),m=0,z):y3(xt)?(i.consume(xt),at):f(xt)}function I(xt){return xt===45?(i.consume(xt),R):f(xt)}function B(xt){return xt===null?f(xt):xt===45?(i.consume(xt),N):xa(xt)?(b=B,Et(xt)):(i.consume(xt),B)}function N(xt){return xt===45?(i.consume(xt),R):B(xt)}function R(xt){return xt===62?Bt(xt):xt===45?N(xt):B(xt)}function z(xt){const Ht="CDATA[";return xt===Ht.charCodeAt(m++)?(i.consume(xt),m===Ht.length?W:z):f(xt)}function W(xt){return xt===null?f(xt):xt===93?(i.consume(xt),et):xa(xt)?(b=W,Et(xt)):(i.consume(xt),W)}function et(xt){return xt===93?(i.consume(xt),st):W(xt)}function st(xt){return xt===62?Bt(xt):xt===93?(i.consume(xt),st):W(xt)}function at(xt){return xt===null||xt===62?Bt(xt):xa(xt)?(b=at,Et(xt)):(i.consume(xt),at)}function bt(xt){return xt===null?f(xt):xt===63?(i.consume(xt),mt):xa(xt)?(b=bt,Et(xt)):(i.consume(xt),bt)}function mt(xt){return xt===62?Bt(xt):bt(xt)}function yt(xt){return y3(xt)?(i.consume(xt),ft):f(xt)}function ft(xt){return xt===45||lm(xt)?(i.consume(xt),ft):ut(xt)}function ut(xt){return xa(xt)?(b=ut,Et(xt)):Wc(xt)?(i.consume(xt),ut):Bt(xt)}function vt(xt){return xt===45||lm(xt)?(i.consume(xt),vt):xt===47||xt===62||pp(xt)?X(xt):f(xt)}function X(xt){return xt===47?(i.consume(xt),Bt):xt===58||xt===95||y3(xt)?(i.consume(xt),pt):xa(xt)?(b=X,Et(xt)):Wc(xt)?(i.consume(xt),X):Bt(xt)}function pt(xt){return xt===45||xt===46||xt===58||xt===95||lm(xt)?(i.consume(xt),pt):U(xt)}function U(xt){return xt===61?(i.consume(xt),Tt):xa(xt)?(b=U,Et(xt)):Wc(xt)?(i.consume(xt),U):X(xt)}function Tt(xt){return xt===null||xt===60||xt===61||xt===62||xt===96?f(xt):xt===34||xt===39?(i.consume(xt),w=xt,nt):xa(xt)?(b=Tt,Et(xt)):Wc(xt)?(i.consume(xt),Tt):(i.consume(xt),It)}function nt(xt){return xt===w?(i.consume(xt),w=void 0,Ot):xt===null?f(xt):xa(xt)?(b=nt,Et(xt)):(i.consume(xt),nt)}function It(xt){return xt===null||xt===34||xt===39||xt===60||xt===61||xt===96?f(xt):xt===47||xt===62||pp(xt)?X(xt):(i.consume(xt),It)}function Ot(xt){return xt===47||xt===62||pp(xt)?X(xt):f(xt)}function Bt(xt){return xt===62?(i.consume(xt),i.exit("htmlTextData"),i.exit("htmlText"),a):f(xt)}function Et(xt){return i.exit("htmlTextData"),i.enter("lineEnding"),i.consume(xt),i.exit("lineEnding"),Z}function Z(xt){return Wc(xt)?il(i,Ct,"linePrefix",p.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(xt):Ct(xt)}function Ct(xt){return i.enter("htmlTextData"),b(xt)}}const M0t={name:"labelEnd",tokenize:Mje,resolveTo:Lje,resolveAll:Aje},Cje={tokenize:Dje},_je={tokenize:Ije},Sje={tokenize:Oje};function Aje(i){let a=-1;for(;++a=3&&(A===null||xa(A))?(i.exit("thematicBreak"),a(A)):f(A)}function _(A){return A===w?(i.consume(A),p++,_):(i.exit("thematicBreakSequence"),Wc(A)?il(i,E,"whitespace")(A):E(A))}}const bp={name:"list",tokenize:qje,continuation:{tokenize:Hje},exit:Gje},$je={tokenize:Uje,partial:!0},zje={tokenize:Vje,partial:!0};function qje(i,a,f){const p=this,w=p.events[p.events.length-1];let m=w&&w[1].type==="linePrefix"?w[2].sliceSerialize(w[1],!0).length:0,b=0;return E;function E(R){const z=p.containerState.type||(R===42||R===43||R===45?"listUnordered":"listOrdered");if(z==="listUnordered"?!p.containerState.marker||R===p.containerState.marker:C0t(R)){if(p.containerState.type||(p.containerState.type=z,i.enter(z,{_container:!0})),z==="listUnordered")return i.enter("listItemPrefix"),R===42||R===45?i.check(xY,f,A)(R):A(R);if(!p.interrupt||R===49)return i.enter("listItemPrefix"),i.enter("listItemValue"),_(R)}return f(R)}function _(R){return C0t(R)&&++b<10?(i.consume(R),_):(!p.interrupt||b<2)&&(p.containerState.marker?R===p.containerState.marker:R===41||R===46)?(i.exit("listItemValue"),A(R)):f(R)}function A(R){return i.enter("listItemMarker"),i.consume(R),i.exit("listItemMarker"),p.containerState.marker=p.containerState.marker||R,i.check(yY,p.interrupt?f:I,i.attempt($je,N,B))}function I(R){return p.containerState.initialBlankLine=!0,m++,N(R)}function B(R){return Wc(R)?(i.enter("listItemPrefixWhitespace"),i.consume(R),i.exit("listItemPrefixWhitespace"),N):f(R)}function N(R){return p.containerState.size=m+p.sliceSerialize(i.exit("listItemPrefix"),!0).length,a(R)}}function Hje(i,a,f){const p=this;return p.containerState._closeFlow=void 0,i.check(yY,w,m);function w(E){return p.containerState.furtherBlankLines=p.containerState.furtherBlankLines||p.containerState.initialBlankLine,il(i,a,"listItemIndent",p.containerState.size+1)(E)}function m(E){return p.containerState.furtherBlankLines||!Wc(E)?(p.containerState.furtherBlankLines=void 0,p.containerState.initialBlankLine=void 0,b(E)):(p.containerState.furtherBlankLines=void 0,p.containerState.initialBlankLine=void 0,i.attempt(zje,a,b)(E))}function b(E){return p.containerState._closeFlow=!0,p.interrupt=void 0,il(i,i.attempt(bp,a,f),"linePrefix",p.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(E)}}function Vje(i,a,f){const p=this;return il(i,w,"listItemIndent",p.containerState.size+1);function w(m){const b=p.events[p.events.length-1];return b&&b[1].type==="listItemIndent"&&b[2].sliceSerialize(b[1],!0).length===p.containerState.size?a(m):f(m)}}function Gje(i){i.exit(this.containerState.type)}function Uje(i,a,f){const p=this;return il(i,w,"listItemPrefixWhitespace",p.parser.constructs.disable.null.includes("codeIndented")?void 0:4+1);function w(m){const b=p.events[p.events.length-1];return!Wc(m)&&b&&b[1].type==="listItemPrefixWhitespace"?a(m):f(m)}}const ZNt={name:"setextUnderline",tokenize:Yje,resolveTo:Wje};function Wje(i,a){let f=i.length,p,w,m;for(;f--;)if(i[f][0]==="enter"){if(i[f][1].type==="content"){p=f;break}i[f][1].type==="paragraph"&&(w=f)}else i[f][1].type==="content"&&i.splice(f,1),!m&&i[f][1].type==="definition"&&(m=f);const b={type:"setextHeading",start:Object.assign({},i[w][1].start),end:Object.assign({},i[i.length-1][1].end)};return i[w][1].type="setextHeadingText",m?(i.splice(w,0,["enter",b,a]),i.splice(m+1,0,["exit",i[p][1],a]),i[p][1].end=Object.assign({},i[m][1].end)):i[p][1]=b,i.push(["exit",b,a]),i}function Yje(i,a,f){const p=this;let w;return m;function m(A){let I=p.events.length,B;for(;I--;)if(p.events[I][1].type!=="lineEnding"&&p.events[I][1].type!=="linePrefix"&&p.events[I][1].type!=="content"){B=p.events[I][1].type==="paragraph";break}return!p.parser.lazy[p.now().line]&&(p.interrupt||B)?(i.enter("setextHeadingLine"),w=A,b(A)):f(A)}function b(A){return i.enter("setextHeadingLineSequence"),E(A)}function E(A){return A===w?(i.consume(A),E):(i.exit("setextHeadingLineSequence"),Wc(A)?il(i,_,"lineSuffix")(A):_(A))}function _(A){return A===null||xa(A)?(i.exit("setextHeadingLine"),a(A)):f(A)}}const Kje={tokenize:Xje};function Xje(i){const a=this,f=i.attempt(yY,p,i.attempt(this.parser.constructs.flowInitial,w,il(i,i.attempt(this.parser.constructs.flow,w,i.attempt(eje,w)),"linePrefix")));return f;function p(m){if(m===null){i.consume(m);return}return i.enter("lineEndingBlank"),i.consume(m),i.exit("lineEndingBlank"),a.currentConstruct=void 0,f}function w(m){if(m===null){i.consume(m);return}return i.enter("lineEnding"),i.consume(m),i.exit("lineEnding"),a.currentConstruct=void 0,f}}const Qje={resolveAll:tBt()},Zje=JNt("string"),Jje=JNt("text");function JNt(i){return{tokenize:a,resolveAll:tBt(i==="text"?t$e:void 0)};function a(f){const p=this,w=this.parser.constructs[i],m=f.attempt(w,b,E);return b;function b(I){return A(I)?m(I):E(I)}function E(I){if(I===null){f.consume(I);return}return f.enter("data"),f.consume(I),_}function _(I){return A(I)?(f.exit("data"),m(I)):(f.consume(I),_)}function A(I){if(I===null)return!0;const B=w[I];let N=-1;if(B)for(;++N-1){const E=b[0];typeof E=="string"?b[0]=E.slice(p):b.shift()}m>0&&b.push(i[w].slice(0,m))}return b}function r$e(i,a){let f=-1;const p=[];let w;for(;++f13&&f<32||f>126&&f<160||f>55295&&f<57344||f>64975&&f<65008||(f&65535)===65535||(f&65535)===65534||f>1114111?"�":String.fromCharCode(f)}const c$e=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function u$e(i){return i.replace(c$e,l$e)}function l$e(i,a,f){if(a)return a;if(f.charCodeAt(0)===35){const w=f.charCodeAt(1),m=w===120||w===88;return nBt(f.slice(m?2:1),m?16:10)}return A0t(f)||i}function kY(i){return!i||typeof i!="object"?"":"position"in i||"type"in i?rBt(i.position):"start"in i||"end"in i?rBt(i):"line"in i||"column"in i?I0t(i):""}function I0t(i){return iBt(i&&i.line)+":"+iBt(i&&i.column)}function rBt(i){return I0t(i&&i.start)+"-"+I0t(i&&i.end)}function iBt(i){return i&&typeof i=="number"?i:1}const sBt={}.hasOwnProperty,aBt=function(i,a,f){return typeof a!="string"&&(f=a,a=void 0),h$e(f)(o$e(s$e(f).document().write(a$e()(i,a,!0))))};function h$e(i){const a={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:E(Ks),autolinkProtocol:U,autolinkEmail:U,atxHeading:E(Me),blockQuote:E(zt),characterEscape:U,characterReference:U,codeFenced:E(re),codeFencedFenceInfo:_,codeFencedFenceMeta:_,codeIndented:E(re,_),codeText:E(se,_),codeTextData:U,data:U,codeFlowValue:U,definition:E(Pe),definitionDestinationString:_,definitionLabelString:_,definitionTitleString:_,emphasis:E(te),hardBreakEscape:E(de),hardBreakTrailing:E(de),htmlFlow:E(on,_),htmlFlowData:U,htmlText:E(on,_),htmlTextData:U,image:E(ni),label:_,link:E(Ks),listItem:E(fo),listItemValue:z,listOrdered:E(ws,R),listUnordered:E(ws),paragraph:E(Xi),reference:Se,referenceString:_,resourceDestinationString:_,resourceTitleString:_,setextHeading:E(Me),strong:E(Er),thematicBreak:E(di)},exit:{atxHeading:I(),atxHeadingSequence:ut,autolink:I(),autolinkEmail:ke,autolinkProtocol:ce,blockQuote:I(),characterEscapeValue:Tt,characterReferenceMarkerHexadecimal:Ve,characterReferenceMarkerNumeric:Ve,characterReferenceValue:Ye,codeFenced:I(at),codeFencedFence:st,codeFencedFenceInfo:W,codeFencedFenceMeta:et,codeFlowValue:Tt,codeIndented:I(bt),codeText:I(Et),codeTextData:Tt,data:Tt,definition:I(),definitionDestinationString:ft,definitionLabelString:mt,definitionTitleString:yt,emphasis:I(),hardBreakEscape:I(It),hardBreakTrailing:I(It),htmlFlow:I(Ot),htmlFlowData:Tt,htmlText:I(Bt),htmlTextData:Tt,image:I(Ct),label:Ht,labelText:xt,lineEnding:nt,link:I(Z),listItem:I(),listOrdered:I(),listUnordered:I(),paragraph:I(),referenceString:me,resourceDestinationString:Le,resourceTitleString:Ft,resource:gn,setextHeading:I(pt),setextHeadingLineSequence:X,setextHeadingText:vt,strong:I(),thematicBreak:I()}};oBt(a,(i||{}).mdastExtensions||[]);const f={};return p;function p(Ee){let Kn={type:"root",children:[]};const He={stack:[Kn],tokenStack:[],config:a,enter:A,exit:B,buffer:_,resume:N,setData:m,getData:b},Ti=[];let pn=-1;for(;++pn0){const Es=He.tokenStack[He.tokenStack.length-1];(Es[1]||cBt).call(He,void 0,Es[0])}for(Kn.position={start:wk(Ee.length>0?Ee[0][1].start:{line:1,column:1,offset:0}),end:wk(Ee.length>0?Ee[Ee.length-2][1].end:{line:1,column:1,offset:0})},pn=-1;++pn{I!==0&&(w++,p.push([])),A.split(" ").forEach(B=>{B&&p[w].push({content:B,type:E})})}):(b.type==="strong"||b.type==="emphasis")&&b.children.forEach(_=>{m(_,b.type)})}return f.forEach(b=>{b.type==="paragraph"&&b.children.forEach(E=>{m(E)})}),p}function p$e(i){const{children:a}=aBt(i);function f(p){return p.type==="text"?p.value.replace(/\n/g,"
"):p.type==="strong"?`${p.children.map(f).join("")}`:p.type==="emphasis"?`${p.children.map(f).join("")}`:p.type==="paragraph"?`

${p.children.map(f).join("")}

`:`Unsupported markdown: ${p.type}`}return a.map(f).join("")}function b$e(i){return Intl.Segmenter?[...new Intl.Segmenter().segment(i)].map(a=>a.segment):[...i]}function w$e(i,a){const f=b$e(a.content);return uBt(i,[],f,a.type)}function uBt(i,a,f,p){if(f.length===0)return[{content:a.join(""),type:p},{content:"",type:p}];const[w,...m]=f,b=[...a,w];return i([{content:b.join(""),type:p}])?uBt(i,b,m,p):(a.length===0&&w&&(a.push(w),f.shift()),[{content:a.join(""),type:p},{content:f.join(""),type:p}])}function v$e(i,a){if(i.some(({content:f})=>f.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return O0t(i,a)}function O0t(i,a,f=[],p=[]){if(i.length===0)return p.length>0&&f.push(p),f.length>0?f:[];let w="";i[0].content===" "&&(w=" ",i.shift());const m=i.shift()??{content:" ",type:"normal"},b=[...p];if(w!==""&&b.push({content:w,type:"normal"}),b.push(m),a(b))return O0t(i,a,f,b);if(p.length>0)f.push(p),i.unshift(m);else if(m.content){const[E,_]=w$e(a,m);f.push([E]),_.content&&i.unshift(_)}return O0t(i,a,f)}function m$e(i,a){a&&i.attr("style",a)}function y$e(i,a,f,p,w=!1){const m=i.append("foreignObject"),b=m.append("xhtml:div"),E=a.label,_=a.isNode?"nodeLabel":"edgeLabel";b.html(` + "+E+""),m$e(b,a.labelStyle),b.style("display","table-cell"),b.style("white-space","nowrap"),b.style("max-width",f+"px"),b.attr("xmlns","http://www.w3.org/1999/xhtml"),w&&b.attr("class","labelBkg");let A=b.node().getBoundingClientRect();return A.width===f&&(b.style("display","table"),b.style("white-space","break-spaces"),b.style("width",f+"px"),A=b.node().getBoundingClientRect()),m.style("width",A.width),m.style("height",A.height),m.node()}function P0t(i,a,f){return i.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",a*f-.1+"em").attr("dy",f+"em")}function x$e(i,a,f){const p=i.append("text"),w=P0t(p,1,a);F0t(w,f);const m=w.node().getComputedTextLength();return p.remove(),m}function k$e(i,a,f){var b;const p=i.append("text"),w=P0t(p,1,a);F0t(w,[{content:f,type:"normal"}]);const m=(b=w.node())==null?void 0:b.getBoundingClientRect();return m&&p.remove(),m}function E$e(i,a,f,p=!1){const m=a.append("g"),b=m.insert("rect").attr("class","background"),E=m.append("text").attr("y","-10.1");let _=0;for(const A of f){const I=N=>x$e(m,1.1,N)<=i,B=I(A)?[A]:v$e(A,I);for(const N of B){const R=P0t(E,_,1.1);F0t(R,N),_++}}if(p){const A=E.node().getBBox(),I=2;return b.attr("x",-I).attr("y",-I).attr("width",A.width+2*I).attr("height",A.height+2*I),m.node()}else return E.node()}function F0t(i,a){i.text(""),a.forEach((f,p)=>{const w=i.append("tspan").attr("font-style",f.type==="emphasis"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",f.type==="strong"?"bold":"normal");p===0?w.text(f.content):w.text(" "+f.content)})}const EY=(i,a="",{style:f="",isTitle:p=!1,classes:w="",useHtmlLabels:m=!0,isNode:b=!0,width:E=200,addSvgBackground:_=!1}={})=>{if(Ut.info("createText",a,f,p,w,m,b,_),m){const A=p$e(a),I={isNode:b,label:uF(A).replace(/fa[blrs]?:fa-[\w-]+/g,N=>``),labelStyle:f.replace("fill:","color:")};return y$e(i,I,E,w,_)}else{const A=g$e(a);return E$e(E,i,A,_)}},Nd=async(i,a,f,p)=>{let w;const m=a.useHtmlLabels||o1(Oe().flowchart.htmlLabels);f?w=f:w="node default";const b=i.insert("g").attr("class",w).attr("id",a.domId||a.id),E=b.insert("g").attr("class","label").attr("style",a.labelStyle);let _;a.labelText===void 0?_="":_=typeof a.labelText=="string"?a.labelText:a.labelText[0];const A=E.node();let I;a.labelType==="markdown"?I=EY(E,Q1(uF(_),Oe()),{useHtmlLabels:m,width:a.width||Oe().flowchart.wrappingWidth,classes:"markdown-node-label"}):I=A.appendChild(gp(Q1(uF(_),Oe()),a.labelStyle,!1,p));let B=I.getBBox();const N=a.padding/2;if(o1(Oe().flowchart.htmlLabels)){const R=I.children[0],z=yr(I),W=R.getElementsByTagName("img");if(W){const et=_.replace(/]*>/g,"").trim()==="";await Promise.all([...W].map(st=>new Promise(at=>{function bt(){if(st.style.display="flex",st.style.flexDirection="column",et){const mt=Oe().fontSize?Oe().fontSize:window.getComputedStyle(document.body).fontSize,yt=5;st.style.width=parseInt(mt,10)*yt+"px"}else st.style.width="100%";at(st)}setTimeout(()=>{st.complete&&bt()}),st.addEventListener("error",bt),st.addEventListener("load",bt)})))}B=R.getBoundingClientRect(),z.attr("width",B.width),z.attr("height",B.height)}return m?E.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"):E.attr("transform","translate(0, "+-B.height/2+")"),a.centerLabel&&E.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"),E.insert("rect",":first-child"),{shapeSvg:b,bbox:B,halfPadding:N,label:E}},tf=(i,a)=>{const f=a.node().getBBox();i.width=f.width,i.height=f.height};function F5(i,a,f,p){return i.insert("polygon",":first-child").attr("points",p.map(function(w){return w.x+","+w.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-a/2+","+f/2+")")}let Ho={},hm={},lBt={};const T$e=()=>{hm={},lBt={},Ho={}},TY=(i,a)=>(Ut.trace("In isDecendant",a," ",i," = ",hm[a].includes(i)),!!hm[a].includes(i)),C$e=(i,a)=>(Ut.info("Decendants of ",a," is ",hm[a]),Ut.info("Edge is ",i),i.v===a||i.w===a?!1:hm[a]?hm[a].includes(i.v)||TY(i.v,a)||TY(i.w,a)||hm[a].includes(i.w):(Ut.debug("Tilt, ",a,",not in decendants"),!1)),hBt=(i,a,f,p)=>{Ut.warn("Copying children of ",i,"root",p,"data",a.node(i),p);const w=a.children(i)||[];i!==p&&w.push(i),Ut.warn("Copying (nodes) clusterId",i,"nodes",w),w.forEach(m=>{if(a.children(m).length>0)hBt(m,a,f,p);else{const b=a.node(m);Ut.info("cp ",m," to ",p," with parent ",i),f.setNode(m,b),p!==a.parent(m)&&(Ut.warn("Setting parent",m,a.parent(m)),f.setParent(m,a.parent(m))),i!==p&&m!==i?(Ut.debug("Setting parent",m,i),f.setParent(m,i)):(Ut.info("In copy ",i,"root",p,"data",a.node(i),p),Ut.debug("Not Setting parent for node=",m,"cluster!==rootId",i!==p,"node!==clusterId",m!==i));const E=a.edges(m);Ut.debug("Copying Edges",E),E.forEach(_=>{Ut.info("Edge",_);const A=a.edge(_.v,_.w,_.name);Ut.info("Edge data",A,p);try{C$e(_,p)?(Ut.info("Copying as ",_.v,_.w,A,_.name),f.setEdge(_.v,_.w,A,_.name),Ut.info("newGraph edges ",f.edges(),f.edge(f.edges()[0]))):Ut.info("Skipping copy of edge ",_.v,"-->",_.w," rootId: ",p," clusterId:",i)}catch(I){Ut.error(I)}})}Ut.debug("Removing node",m),a.removeNode(m)})},fBt=(i,a)=>{const f=a.children(i);let p=[...f];for(const w of f)lBt[w]=i,p=[...p,...fBt(w,a)];return p},CF=(i,a)=>{Ut.trace("Searching",i);const f=a.children(i);if(Ut.trace("Searching children of id ",i,f),f.length<1)return Ut.trace("This is a valid node",i),i;for(const p of f){const w=CF(p,a);if(w)return Ut.trace("Found replacement for",i," => ",w),w}},CY=i=>!Ho[i]||!Ho[i].externalConnections?i:Ho[i]?Ho[i].id:i,_$e=(i,a)=>{if(!i||a>10){Ut.debug("Opting out, no graph ");return}else Ut.debug("Opting in, graph ");i.nodes().forEach(function(f){i.children(f).length>0&&(Ut.warn("Cluster identified",f," Replacement id in edges: ",CF(f,i)),hm[f]=fBt(f,i),Ho[f]={id:CF(f,i),clusterData:i.node(f)})}),i.nodes().forEach(function(f){const p=i.children(f),w=i.edges();p.length>0?(Ut.debug("Cluster identified",f,hm),w.forEach(m=>{if(m.v!==f&&m.w!==f){const b=TY(m.v,f),E=TY(m.w,f);b^E&&(Ut.warn("Edge: ",m," leaves cluster ",f),Ut.warn("Decendants of XXX ",f,": ",hm[f]),Ho[f].externalConnections=!0)}})):Ut.debug("Not a cluster ",f,hm)}),i.edges().forEach(function(f){const p=i.edge(f);Ut.warn("Edge "+f.v+" -> "+f.w+": "+JSON.stringify(f)),Ut.warn("Edge "+f.v+" -> "+f.w+": "+JSON.stringify(i.edge(f)));let w=f.v,m=f.w;if(Ut.warn("Fix XXX",Ho,"ids:",f.v,f.w,"Translating: ",Ho[f.v]," --- ",Ho[f.w]),Ho[f.v]&&Ho[f.w]&&Ho[f.v]===Ho[f.w]){Ut.warn("Fixing and trixing link to self - removing XXX",f.v,f.w,f.name),Ut.warn("Fixing and trixing - removing XXX",f.v,f.w,f.name),w=CY(f.v),m=CY(f.w),i.removeEdge(f.v,f.w,f.name);const b=f.w+"---"+f.v;i.setNode(b,{domId:b,id:b,labelStyle:"",labelText:p.label,padding:0,shape:"labelRect",style:""});const E=structuredClone(p),_=structuredClone(p);E.label="",E.arrowTypeEnd="none",_.label="",E.fromCluster=f.v,_.toCluster=f.v,i.setEdge(w,b,E,f.name+"-cyclic-special"),i.setEdge(b,m,_,f.name+"-cyclic-special")}else(Ho[f.v]||Ho[f.w])&&(Ut.warn("Fixing and trixing - removing XXX",f.v,f.w,f.name),w=CY(f.v),m=CY(f.w),i.removeEdge(f.v,f.w,f.name),w!==f.v&&(p.fromCluster=f.v),m!==f.w&&(p.toCluster=f.w),Ut.warn("Fix Replacing with XXX",w,m,f.name),i.setEdge(w,m,p,f.name))}),Ut.warn("Adjusted Graph",P5(i)),dBt(i,0),Ut.trace(Ho)},dBt=(i,a)=>{if(Ut.warn("extractor - ",a,P5(i),i.children("D")),a>10){Ut.error("Bailing out");return}let f=i.nodes(),p=!1;for(const w of f){const m=i.children(w);p=p||m.length>0}if(!p){Ut.debug("Done, no node has children",i.nodes());return}Ut.debug("Nodes = ",f,a);for(const w of f)if(Ut.debug("Extracting node",w,Ho,Ho[w]&&!Ho[w].externalConnections,!i.parent(w),i.node(w),i.children("D")," Depth ",a),!Ho[w])Ut.debug("Not a cluster",w,a);else if(!Ho[w].externalConnections&&i.children(w)&&i.children(w).length>0){Ut.warn("Cluster without external connections, without a parent and with children",w,a);let b=i.graph().rankdir==="TB"?"LR":"TB";Ho[w]&&Ho[w].clusterData&&Ho[w].clusterData.dir&&(b=Ho[w].clusterData.dir,Ut.warn("Fixing dir",Ho[w].clusterData.dir,b));const E=new c1({multigraph:!0,compound:!0}).setGraph({rankdir:b,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Ut.warn("Old graph before copy",P5(i)),hBt(w,i,E,w),i.setNode(w,{clusterNode:!0,id:w,clusterData:Ho[w].clusterData,labelText:Ho[w].labelText,graph:E}),Ut.warn("New graph after copy node: (",w,")",P5(E)),Ut.debug("Old graph after copy",P5(i))}else Ut.warn("Cluster ** ",w," **not meeting the criteria !externalConnections:",!Ho[w].externalConnections," no parent: ",!i.parent(w)," children ",i.children(w)&&i.children(w).length>0,i.children("D"),a),Ut.debug(Ho);f=i.nodes(),Ut.warn("New list of nodes",f);for(const w of f){const m=i.node(w);Ut.warn(" Now next level",w,m),m.clusterNode&&dBt(m.graph,a+1)}},gBt=(i,a)=>{if(a.length===0)return[];let f=Object.assign(a);return a.forEach(p=>{const w=i.children(p),m=gBt(i,w);f=[...f,...m]}),f},S$e=i=>gBt(i,i.children());function A$e(i,a){return i.intersect(a)}function pBt(i,a,f,p){var w=i.x,m=i.y,b=w-p.x,E=m-p.y,_=Math.sqrt(a*a*E*E+f*f*b*b),A=Math.abs(a*f*b/_);p.x0}function D$e(i,a,f){var p=i.x,w=i.y,m=[],b=Number.POSITIVE_INFINITY,E=Number.POSITIVE_INFINITY;typeof a.forEach=="function"?a.forEach(function(z){b=Math.min(b,z.x),E=Math.min(E,z.y)}):(b=Math.min(b,a.x),E=Math.min(E,a.y));for(var _=p-i.width/2-b,A=w-i.height/2-E,I=0;I1&&m.sort(function(z,W){var et=z.x-f.x,st=z.y-f.y,at=Math.sqrt(et*et+st*st),bt=W.x-f.x,mt=W.y-f.y,yt=Math.sqrt(bt*bt+mt*mt);return at{var f=i.x,p=i.y,w=a.x-f,m=a.y-p,b=i.width/2,E=i.height/2,_,A;return Math.abs(m)*b>Math.abs(w)*E?(m<0&&(E=-E),_=m===0?0:E*w/m,A=E):(w<0&&(b=-b),_=b,A=w===0?0:b*m/w),{x:f+_,y:p+A}},kh={node:A$e,circle:L$e,ellipse:pBt,polygon:D$e,rect:_F},I$e=async(i,a)=>{a.useHtmlLabels||Oe().flowchart.htmlLabels||(a.centerLabel=!0);const{shapeSvg:p,bbox:w,halfPadding:m}=await Nd(i,a,"node "+a.classes,!0);Ut.info("Classes = ",a.classes);const b=p.insert("rect",":first-child");return b.attr("rx",a.rx).attr("ry",a.ry).attr("x",-w.width/2-m).attr("y",-w.height/2-m).attr("width",w.width+a.padding).attr("height",w.height+a.padding),tf(a,b),a.intersect=function(E){return kh.rect(a,E)},p},wBt=i=>i?" "+i:"",jb=(i,a)=>`${a||"node default"}${wBt(i.classes)} ${wBt(i.class)}`,vBt=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=p.height+a.padding,b=w+m,E=[{x:b/2,y:0},{x:b,y:-b/2},{x:b/2,y:-b},{x:0,y:-b/2}];Ut.info("Question main (Circle)");const _=F5(f,b,b,E);return _.attr("style",a.style),tf(a,_),a.intersect=function(A){return Ut.warn("Intersect called"),kh.polygon(a,E,A)},f},O$e=(i,a)=>{const f=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),p=28,w=[{x:0,y:p/2},{x:p/2,y:0},{x:0,y:-p/2},{x:-p/2,y:0}];return f.insert("polygon",":first-child").attr("points",w.map(function(b){return b.x+","+b.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),a.width=28,a.height=28,a.intersect=function(b){return kh.circle(a,14,b)},f},P$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=4,m=p.height+a.padding,b=m/w,E=p.width+2*b+a.padding,_=[{x:b,y:0},{x:E-b,y:0},{x:E,y:-m/2},{x:E-b,y:-m},{x:b,y:-m},{x:0,y:-m/2}],A=F5(f,E,m,_);return A.attr("style",a.style),tf(a,A),a.intersect=function(I){return kh.polygon(a,_,I)},f},F$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=p.height+a.padding,b=[{x:-m/2,y:0},{x:w,y:0},{x:w,y:-m},{x:-m/2,y:-m},{x:0,y:-m/2}];return F5(f,w,m,b).attr("style",a.style),a.width=w+m,a.height=m,a.intersect=function(_){return kh.polygon(a,b,_)},f},N$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a),!0),w=p.width+a.padding,m=p.height+a.padding,b=[{x:-2*m/6,y:0},{x:w-m/6,y:0},{x:w+2*m/6,y:-m},{x:m/6,y:-m}],E=F5(f,w,m,b);return E.attr("style",a.style),tf(a,E),a.intersect=function(_){return kh.polygon(a,b,_)},f},B$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=p.height+a.padding,b=[{x:2*m/6,y:0},{x:w+m/6,y:0},{x:w-2*m/6,y:-m},{x:-m/6,y:-m}],E=F5(f,w,m,b);return E.attr("style",a.style),tf(a,E),a.intersect=function(_){return kh.polygon(a,b,_)},f},R$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=p.height+a.padding,b=[{x:-2*m/6,y:0},{x:w+2*m/6,y:0},{x:w-m/6,y:-m},{x:m/6,y:-m}],E=F5(f,w,m,b);return E.attr("style",a.style),tf(a,E),a.intersect=function(_){return kh.polygon(a,b,_)},f},j$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=p.height+a.padding,b=[{x:m/6,y:0},{x:w-m/6,y:0},{x:w+2*m/6,y:-m},{x:-2*m/6,y:-m}],E=F5(f,w,m,b);return E.attr("style",a.style),tf(a,E),a.intersect=function(_){return kh.polygon(a,b,_)},f},$$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=p.height+a.padding,b=[{x:0,y:0},{x:w+m/2,y:0},{x:w,y:-m/2},{x:w+m/2,y:-m},{x:0,y:-m}],E=F5(f,w,m,b);return E.attr("style",a.style),tf(a,E),a.intersect=function(_){return kh.polygon(a,b,_)},f},z$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=w/2,b=m/(2.5+w/50),E=p.height+b+a.padding,_="M 0,"+b+" a "+m+","+b+" 0,0,0 "+w+" 0 a "+m+","+b+" 0,0,0 "+-w+" 0 l 0,"+E+" a "+m+","+b+" 0,0,0 "+w+" 0 l 0,"+-E,A=f.attr("label-offset-y",b).insert("path",":first-child").attr("style",a.style).attr("d",_).attr("transform","translate("+-w/2+","+-(E/2+b)+")");return tf(a,A),a.intersect=function(I){const B=kh.rect(a,I),N=B.x-a.x;if(m!=0&&(Math.abs(N)a.height/2-b)){let R=b*b*(1-N*N/(m*m));R!=0&&(R=Math.sqrt(R)),R=b-R,I.y-a.y>0&&(R=-R),B.y+=R}return B},f},q$e=async(i,a)=>{const{shapeSvg:f,bbox:p,halfPadding:w}=await Nd(i,a,"node "+a.classes+" "+a.class,!0),m=f.insert("rect",":first-child"),b=p.width+a.padding,E=p.height+a.padding;if(m.attr("class","basic label-container").attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",-p.width/2-w).attr("y",-p.height/2-w).attr("width",b).attr("height",E),a.props){const _=new Set(Object.keys(a.props));a.props.borders&&(mBt(m,a.props.borders,b,E),_.delete("borders")),_.forEach(A=>{Ut.warn(`Unknown node property ${A}`)})}return tf(a,m),a.intersect=function(_){return kh.rect(a,_)},f},H$e=async(i,a)=>{const{shapeSvg:f}=await Nd(i,a,"label",!0);Ut.trace("Classes = ",a.class);const p=f.insert("rect",":first-child"),w=0,m=0;if(p.attr("width",w).attr("height",m),f.attr("class","label edgeLabel"),a.props){const b=new Set(Object.keys(a.props));a.props.borders&&(mBt(p,a.props.borders,w,m),b.delete("borders")),b.forEach(E=>{Ut.warn(`Unknown node property ${E}`)})}return tf(a,p),a.intersect=function(b){return kh.rect(a,b)},f};function mBt(i,a,f,p){const w=[],m=E=>{w.push(E,0)},b=E=>{w.push(0,E)};a.includes("t")?(Ut.debug("add top border"),m(f)):b(f),a.includes("r")?(Ut.debug("add right border"),m(p)):b(p),a.includes("b")?(Ut.debug("add bottom border"),m(f)):b(f),a.includes("l")?(Ut.debug("add left border"),m(p)):b(p),i.attr("stroke-dasharray",w.join(" "))}const V$e=(i,a)=>{let f;a.classes?f="node "+a.classes:f="node default";const p=i.insert("g").attr("class",f).attr("id",a.domId||a.id),w=p.insert("rect",":first-child"),m=p.insert("line"),b=p.insert("g").attr("class","label"),E=a.labelText.flat?a.labelText.flat():a.labelText;let _="";typeof E=="object"?_=E[0]:_=E,Ut.info("Label text abc79",_,E,typeof E=="object");const A=b.node().appendChild(gp(_,a.labelStyle,!0,!0));let I={width:0,height:0};if(o1(Oe().flowchart.htmlLabels)){const W=A.children[0],et=yr(A);I=W.getBoundingClientRect(),et.attr("width",I.width),et.attr("height",I.height)}Ut.info("Text 2",E);const B=E.slice(1,E.length);let N=A.getBBox();const R=b.node().appendChild(gp(B.join?B.join("
"):B,a.labelStyle,!0,!0));if(o1(Oe().flowchart.htmlLabels)){const W=R.children[0],et=yr(R);I=W.getBoundingClientRect(),et.attr("width",I.width),et.attr("height",I.height)}const z=a.padding/2;return yr(R).attr("transform","translate( "+(I.width>N.width?0:(N.width-I.width)/2)+", "+(N.height+z+5)+")"),yr(A).attr("transform","translate( "+(I.width{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.height+a.padding,m=p.width+w/4+a.padding,b=f.insert("rect",":first-child").attr("style",a.style).attr("rx",w/2).attr("ry",w/2).attr("x",-m/2).attr("y",-w/2).attr("width",m).attr("height",w);return tf(a,b),a.intersect=function(E){return kh.rect(a,E)},f},U$e=async(i,a)=>{const{shapeSvg:f,bbox:p,halfPadding:w}=await Nd(i,a,jb(a,void 0),!0),m=f.insert("circle",":first-child");return m.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",p.width/2+w).attr("width",p.width+a.padding).attr("height",p.height+a.padding),Ut.info("Circle main"),tf(a,m),a.intersect=function(b){return Ut.info("Circle intersect",a,p.width/2+w,b),kh.circle(a,p.width/2+w,b)},f},W$e=async(i,a)=>{const{shapeSvg:f,bbox:p,halfPadding:w}=await Nd(i,a,jb(a,void 0),!0),m=5,b=f.insert("g",":first-child"),E=b.insert("circle"),_=b.insert("circle");return b.attr("class",a.class),E.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",p.width/2+w+m).attr("width",p.width+a.padding+m*2).attr("height",p.height+a.padding+m*2),_.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",p.width/2+w).attr("width",p.width+a.padding).attr("height",p.height+a.padding),Ut.info("DoubleCircle main"),tf(a,E),a.intersect=function(A){return Ut.info("DoubleCircle intersect",a,p.width/2+w+m,A),kh.circle(a,p.width/2+w+m,A)},f},Y$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=p.height+a.padding,b=[{x:0,y:0},{x:w,y:0},{x:w,y:-m},{x:0,y:-m},{x:0,y:0},{x:-8,y:0},{x:w+8,y:0},{x:w+8,y:-m},{x:-8,y:-m},{x:-8,y:0}],E=F5(f,w,m,b);return E.attr("style",a.style),tf(a,E),a.intersect=function(_){return kh.polygon(a,b,_)},f},K$e=(i,a)=>{const f=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),p=f.insert("circle",":first-child");return p.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),tf(a,p),a.intersect=function(w){return kh.circle(a,7,w)},f},yBt=(i,a,f)=>{const p=i.insert("g").attr("class","node default").attr("id",a.domId||a.id);let w=70,m=10;f==="LR"&&(w=10,m=70);const b=p.append("rect").attr("x",-1*w/2).attr("y",-1*m/2).attr("width",w).attr("height",m).attr("class","fork-join");return tf(a,b),a.height=a.height+a.padding/2,a.width=a.width+a.padding/2,a.intersect=function(E){return kh.rect(a,E)},p},xBt={rhombus:vBt,question:vBt,rect:q$e,labelRect:H$e,rectWithTitle:V$e,choice:O$e,circle:U$e,doublecircle:W$e,stadium:G$e,hexagon:P$e,rect_left_inv_arrow:F$e,lean_right:N$e,lean_left:B$e,trapezoid:R$e,inv_trapezoid:j$e,rect_right_inv_arrow:$$e,cylinder:z$e,start:K$e,end:(i,a)=>{const f=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),p=f.insert("circle",":first-child"),w=f.insert("circle",":first-child");return w.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),p.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),tf(a,w),a.intersect=function(m){return kh.circle(a,7,m)},f},note:I$e,subroutine:Y$e,fork:yBt,join:yBt,class_box:(i,a)=>{const f=a.padding/2,p=4,w=8;let m;a.classes?m="node "+a.classes:m="node default";const b=i.insert("g").attr("class",m).attr("id",a.domId||a.id),E=b.insert("rect",":first-child"),_=b.insert("line"),A=b.insert("line");let I=0,B=p;const N=b.insert("g").attr("class","label");let R=0;const z=a.classData.annotations&&a.classData.annotations[0],W=a.classData.annotations[0]?"«"+a.classData.annotations[0]+"»":"",et=N.node().appendChild(gp(W,a.labelStyle,!0,!0));let st=et.getBBox();if(o1(Oe().flowchart.htmlLabels)){const vt=et.children[0],X=yr(et);st=vt.getBoundingClientRect(),X.attr("width",st.width),X.attr("height",st.height)}a.classData.annotations[0]&&(B+=st.height+p,I+=st.width);let at=a.classData.label;a.classData.type!==void 0&&a.classData.type!==""&&(Oe().flowchart.htmlLabels?at+="<"+a.classData.type+">":at+="<"+a.classData.type+">");const bt=N.node().appendChild(gp(at,a.labelStyle,!0,!0));yr(bt).attr("class","classTitle");let mt=bt.getBBox();if(o1(Oe().flowchart.htmlLabels)){const vt=bt.children[0],X=yr(bt);mt=vt.getBoundingClientRect(),X.attr("width",mt.width),X.attr("height",mt.height)}B+=mt.height+p,mt.width>I&&(I=mt.width);const yt=[];a.classData.members.forEach(vt=>{const X=vt.getDisplayDetails();let pt=X.displayText;Oe().flowchart.htmlLabels&&(pt=pt.replace(//g,">"));const U=N.node().appendChild(gp(pt,X.cssStyle?X.cssStyle:a.labelStyle,!0,!0));let Tt=U.getBBox();if(o1(Oe().flowchart.htmlLabels)){const nt=U.children[0],It=yr(U);Tt=nt.getBoundingClientRect(),It.attr("width",Tt.width),It.attr("height",Tt.height)}Tt.width>I&&(I=Tt.width),B+=Tt.height+p,yt.push(U)}),B+=w;const ft=[];if(a.classData.methods.forEach(vt=>{const X=vt.getDisplayDetails();let pt=X.displayText;Oe().flowchart.htmlLabels&&(pt=pt.replace(//g,">"));const U=N.node().appendChild(gp(pt,X.cssStyle?X.cssStyle:a.labelStyle,!0,!0));let Tt=U.getBBox();if(o1(Oe().flowchart.htmlLabels)){const nt=U.children[0],It=yr(U);Tt=nt.getBoundingClientRect(),It.attr("width",Tt.width),It.attr("height",Tt.height)}Tt.width>I&&(I=Tt.width),B+=Tt.height+p,ft.push(U)}),B+=w,z){let vt=(I-st.width)/2;yr(et).attr("transform","translate( "+(-1*I/2+vt)+", "+-1*B/2+")"),R=st.height+p}let ut=(I-mt.width)/2;return yr(bt).attr("transform","translate( "+(-1*I/2+ut)+", "+(-1*B/2+R)+")"),R+=mt.height+p,_.attr("class","divider").attr("x1",-I/2-f).attr("x2",I/2+f).attr("y1",-B/2-f+w+R).attr("y2",-B/2-f+w+R),R+=w,yt.forEach(vt=>{yr(vt).attr("transform","translate( "+-I/2+", "+(-1*B/2+R+w/2)+")");const X=vt==null?void 0:vt.getBBox();R+=((X==null?void 0:X.height)??0)+p}),R+=w,A.attr("class","divider").attr("x1",-I/2-f).attr("x2",I/2+f).attr("y1",-B/2-f+w+R).attr("y2",-B/2-f+w+R),R+=w,ft.forEach(vt=>{yr(vt).attr("transform","translate( "+-I/2+", "+(-1*B/2+R)+")");const X=vt==null?void 0:vt.getBBox();R+=((X==null?void 0:X.height)??0)+p}),E.attr("class","outer title-state").attr("x",-I/2-f).attr("y",-(B/2)-f).attr("width",I+a.padding).attr("height",B+a.padding),tf(a,E),a.intersect=function(vt){return kh.rect(a,vt)},b}};let cL={};const kBt=async(i,a,f)=>{let p,w;if(a.link){let m;Oe().securityLevel==="sandbox"?m="_top":a.linkTarget&&(m=a.linkTarget||"_blank"),p=i.insert("svg:a").attr("xlink:href",a.link).attr("target",m),w=await xBt[a.shape](p,a,f)}else w=await xBt[a.shape](i,a,f),p=w;return a.tooltip&&w.attr("title",a.tooltip),a.class&&w.attr("class","node default "+a.class),cL[a.id]=p,a.haveCallback&&cL[a.id].attr("class",cL[a.id].attr("class")+" clickable"),p},X$e=(i,a)=>{cL[a.id]=i},Q$e=()=>{cL={}},EBt=i=>{const a=cL[i.id];Ut.trace("Transforming node",i.diff,i,"translate("+(i.x-i.width/2-5)+", "+i.width/2+")");const f=8,p=i.diff||0;return i.clusterNode?a.attr("transform","translate("+(i.x+p-i.width/2)+", "+(i.y-i.height/2-f)+")"):a.attr("transform","translate("+i.x+", "+i.y+")"),p},Z$e={rect:(i,a)=>{Ut.info("Creating subgraph rect for ",a.id,a);const f=i.insert("g").attr("class","cluster"+(a.class?" "+a.class:"")).attr("id",a.id),p=f.insert("rect",":first-child"),w=o1(Oe().flowchart.htmlLabels),m=f.insert("g").attr("class","cluster-label"),b=a.labelType==="markdown"?EY(m,a.labelText,{style:a.labelStyle,useHtmlLabels:w}):m.node().appendChild(gp(a.labelText,a.labelStyle,void 0,!0));let E=b.getBBox();if(o1(Oe().flowchart.htmlLabels)){const N=b.children[0],R=yr(b);E=N.getBoundingClientRect(),R.attr("width",E.width),R.attr("height",E.height)}const _=0*a.padding,A=_/2,I=a.width<=E.width+_?E.width+_:a.width;a.width<=E.width+_?a.diff=(E.width-a.width)/2-a.padding/2:a.diff=-a.padding/2,Ut.trace("Data ",a,JSON.stringify(a)),p.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",a.x-I/2).attr("y",a.y-a.height/2-A).attr("width",I).attr("height",a.height+_),w?m.attr("transform","translate("+(a.x-E.width/2)+", "+(a.y-a.height/2)+")"):m.attr("transform","translate("+a.x+", "+(a.y-a.height/2)+")");const B=p.node().getBBox();return a.width=B.width,a.height=B.height,a.intersect=function(N){return _F(a,N)},f},roundedWithTitle:(i,a)=>{const f=i.insert("g").attr("class",a.classes).attr("id",a.id),p=f.insert("rect",":first-child"),w=f.insert("g").attr("class","cluster-label"),m=f.append("rect"),b=w.node().appendChild(gp(a.labelText,a.labelStyle,void 0,!0));let E=b.getBBox();if(o1(Oe().flowchart.htmlLabels)){const N=b.children[0],R=yr(b);E=N.getBoundingClientRect(),R.attr("width",E.width),R.attr("height",E.height)}E=b.getBBox();const _=0*a.padding,A=_/2,I=a.width<=E.width+a.padding?E.width+a.padding:a.width;a.width<=E.width+a.padding?a.diff=(E.width+a.padding*0-a.width)/2:a.diff=-a.padding/2,p.attr("class","outer").attr("x",a.x-I/2-A).attr("y",a.y-a.height/2-A).attr("width",I+_).attr("height",a.height+_),m.attr("class","inner").attr("x",a.x-I/2-A).attr("y",a.y-a.height/2-A+E.height-1).attr("width",I+_).attr("height",a.height+_-E.height-3),w.attr("transform","translate("+(a.x-E.width/2)+", "+(a.y-a.height/2-a.padding/3+(o1(Oe().flowchart.htmlLabels)?5:3))+")");const B=p.node().getBBox();return a.height=B.height,a.intersect=function(N){return _F(a,N)},f},noteGroup:(i,a)=>{const f=i.insert("g").attr("class","note-cluster").attr("id",a.id),p=f.insert("rect",":first-child"),w=0*a.padding,m=w/2;p.attr("rx",a.rx).attr("ry",a.ry).attr("x",a.x-a.width/2-m).attr("y",a.y-a.height/2-m).attr("width",a.width+w).attr("height",a.height+w).attr("fill","none");const b=p.node().getBBox();return a.width=b.width,a.height=b.height,a.intersect=function(E){return _F(a,E)},f},divider:(i,a)=>{const f=i.insert("g").attr("class",a.classes).attr("id",a.id),p=f.insert("rect",":first-child"),w=0*a.padding,m=w/2;p.attr("class","divider").attr("x",a.x-a.width/2-m).attr("y",a.y-a.height/2).attr("width",a.width+w).attr("height",a.height+w);const b=p.node().getBBox();return a.width=b.width,a.height=b.height,a.diff=-a.padding/2,a.intersect=function(E){return _F(a,E)},f}};let TBt={};const J$e=(i,a)=>{Ut.trace("Inserting cluster");const f=a.shape||"rect";TBt[a.id]=Z$e[f](i,a)},tze=()=>{TBt={}},vk={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function _Y(i,a){i=SY(i),a=SY(a);const[f,p]=[i.x,i.y],[w,m]=[a.x,a.y],b=w-f,E=m-p;return{angle:Math.atan(E/b),deltaX:b,deltaY:E}}const SY=i=>Array.isArray(i)?{x:i[0],y:i[1]}:i,CBt=i=>({x:function(a,f,p){let w=0;if(f===0&&Object.hasOwn(vk,i.arrowTypeStart)){const{angle:m,deltaX:b}=_Y(p[0],p[1]);w=vk[i.arrowTypeStart]*Math.cos(m)*(b>=0?1:-1)}else if(f===p.length-1&&Object.hasOwn(vk,i.arrowTypeEnd)){const{angle:m,deltaX:b}=_Y(p[p.length-1],p[p.length-2]);w=vk[i.arrowTypeEnd]*Math.cos(m)*(b>=0?1:-1)}return SY(a).x+w},y:function(a,f,p){let w=0;if(f===0&&Object.hasOwn(vk,i.arrowTypeStart)){const{angle:m,deltaY:b}=_Y(p[0],p[1]);w=vk[i.arrowTypeStart]*Math.abs(Math.sin(m))*(b>=0?1:-1)}else if(f===p.length-1&&Object.hasOwn(vk,i.arrowTypeEnd)){const{angle:m,deltaY:b}=_Y(p[p.length-1],p[p.length-2]);w=vk[i.arrowTypeEnd]*Math.abs(Math.sin(m))*(b>=0?1:-1)}return SY(a).y+w}});let AY={},Bd={};const eze=()=>{AY={},Bd={}},_Bt=(i,a)=>{const f=o1(Oe().flowchart.htmlLabels),p=a.labelType==="markdown"?EY(i,a.label,{style:a.labelStyle,useHtmlLabels:f,addSvgBackground:!0}):gp(a.label,a.labelStyle);Ut.info("abc82",a,a.labelType);const w=i.insert("g").attr("class","edgeLabel"),m=w.insert("g").attr("class","label");m.node().appendChild(p);let b=p.getBBox();if(f){const _=p.children[0],A=yr(p);b=_.getBoundingClientRect(),A.attr("width",b.width),A.attr("height",b.height)}m.attr("transform","translate("+-b.width/2+", "+-b.height/2+")"),AY[a.id]=w,a.width=b.width,a.height=b.height;let E;if(a.startLabelLeft){const _=gp(a.startLabelLeft,a.labelStyle),A=i.insert("g").attr("class","edgeTerminals"),I=A.insert("g").attr("class","inner");E=I.node().appendChild(_);const B=_.getBBox();I.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"),Bd[a.id]||(Bd[a.id]={}),Bd[a.id].startLeft=A,LY(E,a.startLabelLeft)}if(a.startLabelRight){const _=gp(a.startLabelRight,a.labelStyle),A=i.insert("g").attr("class","edgeTerminals"),I=A.insert("g").attr("class","inner");E=A.node().appendChild(_),I.node().appendChild(_);const B=_.getBBox();I.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"),Bd[a.id]||(Bd[a.id]={}),Bd[a.id].startRight=A,LY(E,a.startLabelRight)}if(a.endLabelLeft){const _=gp(a.endLabelLeft,a.labelStyle),A=i.insert("g").attr("class","edgeTerminals"),I=A.insert("g").attr("class","inner");E=I.node().appendChild(_);const B=_.getBBox();I.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"),A.node().appendChild(_),Bd[a.id]||(Bd[a.id]={}),Bd[a.id].endLeft=A,LY(E,a.endLabelLeft)}if(a.endLabelRight){const _=gp(a.endLabelRight,a.labelStyle),A=i.insert("g").attr("class","edgeTerminals"),I=A.insert("g").attr("class","inner");E=I.node().appendChild(_);const B=_.getBBox();I.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"),A.node().appendChild(_),Bd[a.id]||(Bd[a.id]={}),Bd[a.id].endRight=A,LY(E,a.endLabelRight)}return p};function LY(i,a){Oe().flowchart.htmlLabels&&i&&(i.style.width=a.length*9+"px",i.style.height="12px")}const nze=(i,a)=>{Ut.info("Moving label abc78 ",i.id,i.label,AY[i.id]);let f=a.updatedPath?a.updatedPath:a.originalPath;if(i.label){const p=AY[i.id];let w=i.x,m=i.y;if(f){const b=$a.calcLabelPosition(f);Ut.info("Moving label "+i.label+" from (",w,",",m,") to (",b.x,",",b.y,") abc78"),a.updatedPath&&(w=b.x,m=b.y)}p.attr("transform","translate("+w+", "+m+")")}if(i.startLabelLeft){const p=Bd[i.id].startLeft;let w=i.x,m=i.y;if(f){const b=$a.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_left",f);w=b.x,m=b.y}p.attr("transform","translate("+w+", "+m+")")}if(i.startLabelRight){const p=Bd[i.id].startRight;let w=i.x,m=i.y;if(f){const b=$a.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_right",f);w=b.x,m=b.y}p.attr("transform","translate("+w+", "+m+")")}if(i.endLabelLeft){const p=Bd[i.id].endLeft;let w=i.x,m=i.y;if(f){const b=$a.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_left",f);w=b.x,m=b.y}p.attr("transform","translate("+w+", "+m+")")}if(i.endLabelRight){const p=Bd[i.id].endRight;let w=i.x,m=i.y;if(f){const b=$a.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_right",f);w=b.x,m=b.y}p.attr("transform","translate("+w+", "+m+")")}},rze=(i,a)=>{const f=i.x,p=i.y,w=Math.abs(a.x-f),m=Math.abs(a.y-p),b=i.width/2,E=i.height/2;return w>=b||m>=E},ize=(i,a,f)=>{Ut.warn(`intersection calc abc89: + outsidePoint: ${JSON.stringify(a)} + insidePoint : ${JSON.stringify(f)} + node : x:${i.x} y:${i.y} w:${i.width} h:${i.height}`);const p=i.x,w=i.y,m=Math.abs(p-f.x),b=i.width/2;let E=f.xMath.abs(p-a.x)*_){let B=f.y{Ut.warn("abc88 cutPathAtIntersect",i,a);let f=[],p=i[0],w=!1;return i.forEach(m=>{if(Ut.info("abc88 checking point",m,a),!rze(a,m)&&!w){const b=ize(a,p,m);Ut.warn("abc88 inside",m,p,b),Ut.warn("abc88 intersection",b);let E=!1;f.forEach(_=>{E=E||_.x===b.x&&_.y===b.y}),f.some(_=>_.x===b.x&&_.y===b.y)?Ut.warn("abc88 no intersect",b,f):f.push(b),w=!0}else Ut.warn("abc88 outside",m,p),p=m,w||f.push(m)}),Ut.warn("abc88 returning points",f),f},sze=function(i,a,f,p,w,m,b){let E=f.points,_=!1;const A=m.node(a.v);var I=m.node(a.w);Ut.info("abc88 InsertEdge: ",f),I.intersect&&A.intersect&&(E=E.slice(1,f.points.length-1),E.unshift(A.intersect(E[0])),Ut.info("Last point",E[E.length-1],I,I.intersect(E[E.length-1])),E.push(I.intersect(E[E.length-1]))),f.toCluster&&(Ut.info("to cluster abc88",p[f.toCluster]),E=SBt(f.points,p[f.toCluster].node),_=!0),f.fromCluster&&(Ut.info("from cluster abc88",p[f.fromCluster]),E=SBt(E.reverse(),p[f.fromCluster].node).reverse(),_=!0);const B=E.filter(mt=>!Number.isNaN(mt.y));let N=HP;f.curve&&(w==="graph"||w==="flowchart")&&(N=f.curve);const{x:R,y:z}=CBt(f),W=E5().x(R).y(z).curve(N);let et;switch(f.thickness){case"normal":et="edge-thickness-normal";break;case"thick":et="edge-thickness-thick";break;case"invisible":et="edge-thickness-thick";break;default:et=""}switch(f.pattern){case"solid":et+=" edge-pattern-solid";break;case"dotted":et+=" edge-pattern-dotted";break;case"dashed":et+=" edge-pattern-dashed";break}const st=i.append("path").attr("d",W(B)).attr("id",f.id).attr("class"," "+et+(f.classes?" "+f.classes:"")).attr("style",f.style);let at="";switch((Oe().flowchart.arrowMarkerAbsolute||Oe().state.arrowMarkerAbsolute)&&(at=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,at=at.replace(/\(/g,"\\("),at=at.replace(/\)/g,"\\)")),Ut.info("arrowTypeStart",f.arrowTypeStart),Ut.info("arrowTypeEnd",f.arrowTypeEnd),f.arrowTypeStart){case"arrow_cross":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-crossStart)");break;case"arrow_point":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-pointStart)");break;case"arrow_barb":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-barbStart)");break;case"arrow_circle":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-circleStart)");break;case"aggregation":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-aggregationStart)");break;case"extension":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-extensionStart)");break;case"composition":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-compositionStart)");break;case"dependency":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-dependencyStart)");break;case"lollipop":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-lollipopStart)");break}switch(f.arrowTypeEnd){case"arrow_cross":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-crossEnd)");break;case"arrow_point":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-pointEnd)");break;case"arrow_barb":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-barbEnd)");break;case"arrow_circle":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-circleEnd)");break;case"aggregation":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-aggregationEnd)");break;case"extension":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-extensionEnd)");break;case"composition":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-compositionEnd)");break;case"dependency":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-dependencyEnd)");break;case"lollipop":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-lollipopEnd)");break}let bt={};return _&&(bt.updatedPath=E),bt.originalPath=f.points,bt},ABt=async(i,a,f,p,w)=>{Ut.info("Graph in recursive render: XXX",P5(a),w);const m=a.graph().rankdir;Ut.trace("Dir in recursive render - dir:",m);const b=i.insert("g").attr("class","root");a.nodes()?Ut.info("Recursive render XXX",a.nodes()):Ut.info("No nodes found for",a),a.edges().length>0&&Ut.trace("Recursive edges",a.edge(a.edges()[0]));const E=b.insert("g").attr("class","clusters"),_=b.insert("g").attr("class","edgePaths"),A=b.insert("g").attr("class","edgeLabels"),I=b.insert("g").attr("class","nodes");await Promise.all(a.nodes().map(async function(N){const R=a.node(N);if(w!==void 0){const z=JSON.parse(JSON.stringify(w.clusterData));Ut.info("Setting data for cluster XXX (",N,") ",z,w),a.setNode(w.id,z),a.parent(N)||(Ut.trace("Setting parent",N,w.id),a.setParent(N,w.id,z))}if(Ut.info("(Insert) Node XXX"+N+": "+JSON.stringify(a.node(N))),R&&R.clusterNode){Ut.info("Cluster identified",N,R.width,a.node(N));const z=await ABt(I,R.graph,f,p,a.node(N)),W=z.elem;tf(R,W),R.diff=z.diff||0,Ut.info("Node bounds (abc123)",N,R,R.width,R.x,R.y),X$e(W,R),Ut.warn("Recursive render complete ",W,R)}else a.children(N).length>0?(Ut.info("Cluster - the non recursive path XXX",N,R.id,R,a),Ut.info(CF(R.id,a)),Ho[R.id]={id:CF(R.id,a),node:R}):(Ut.info("Node - the non recursive path",N,R.id,R),await kBt(I,a.node(N),m))})),a.edges().forEach(function(N){const R=a.edge(N.v,N.w,N.name);Ut.info("Edge "+N.v+" -> "+N.w+": "+JSON.stringify(N)),Ut.info("Edge "+N.v+" -> "+N.w+": ",N," ",JSON.stringify(a.edge(N))),Ut.info("Fix",Ho,"ids:",N.v,N.w,"Translateing: ",Ho[N.v],Ho[N.w]),_Bt(A,R)}),a.edges().forEach(function(N){Ut.info("Edge "+N.v+" -> "+N.w+": "+JSON.stringify(N))}),Ut.info("#############################################"),Ut.info("### Layout ###"),Ut.info("#############################################"),Ut.info(a),aL(a),Ut.info("Graph after layout:",P5(a));let B=0;return S$e(a).forEach(function(N){const R=a.node(N);Ut.info("Position "+N+": "+JSON.stringify(a.node(N))),Ut.info("Position "+N+": ("+R.x,","+R.y,") width: ",R.width," height: ",R.height),R&&R.clusterNode?EBt(R):a.children(N).length>0?(J$e(E,R),Ho[R.id].node=R):EBt(R)}),a.edges().forEach(function(N){const R=a.edge(N);Ut.info("Edge "+N.v+" -> "+N.w+": "+JSON.stringify(R),R);const z=sze(_,N,R,Ho,f,a,p);nze(R,z)}),a.nodes().forEach(function(N){const R=a.node(N);Ut.info(N,R.type,R.diff),R.type==="group"&&(B=R.diff)}),{elem:b,diff:B}},N0t=async(i,a,f,p,w)=>{PNt(i,f,p,w),Q$e(),eze(),tze(),T$e(),Ut.warn("Graph at first:",JSON.stringify(P5(a))),_$e(a),Ut.warn("Graph after:",JSON.stringify(P5(a))),await ABt(i,a,p,w)},LBt={},aze=function(i){const a=Object.keys(i);for(const f of a)LBt[f]=i[f]},MBt=function(i,a,f,p,w,m){const b=p.select(`[id="${f}"]`);Object.keys(i).forEach(function(_){const A=i[_];let I="default";A.classes.length>0&&(I=A.classes.join(" ")),I=I+" flowchart-label";const B=im(A.styles);let N=A.text!==void 0?A.text:A.id,R;if(Ut.info("vertex",A,A.labelType),A.labelType==="markdown")Ut.info("vertex",A,A.labelType);else if(o1(Oe().flowchart.htmlLabels)){const et={label:N.replace(/fa[blrs]?:fa-[\w-]+/g,st=>``)};R=b0t(b,et).node(),R.parentNode.removeChild(R)}else{const et=w.createElementNS("http://www.w3.org/2000/svg","text");et.setAttribute("style",B.labelStyle.replace("color:","fill:"));const st=N.split(Kr.lineBreakRegex);for(const at of st){const bt=w.createElementNS("http://www.w3.org/2000/svg","tspan");bt.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),bt.setAttribute("dy","1em"),bt.setAttribute("x","1"),bt.textContent=at,et.appendChild(bt)}R=et}let z=0,W="";switch(A.type){case"round":z=5,W="rect";break;case"square":W="rect";break;case"diamond":W="question";break;case"hexagon":W="hexagon";break;case"odd":W="rect_left_inv_arrow";break;case"lean_right":W="lean_right";break;case"lean_left":W="lean_left";break;case"trapezoid":W="trapezoid";break;case"inv_trapezoid":W="inv_trapezoid";break;case"odd_right":W="rect_left_inv_arrow";break;case"circle":W="circle";break;case"ellipse":W="ellipse";break;case"stadium":W="stadium";break;case"subroutine":W="subroutine";break;case"cylinder":W="cylinder";break;case"group":W="rect";break;case"doublecircle":W="doublecircle";break;default:W="rect"}a.setNode(A.id,{labelStyle:B.labelStyle,shape:W,labelText:N,labelType:A.labelType,rx:z,ry:z,class:I,style:B.style,id:A.id,link:A.link,linkTarget:A.linkTarget,tooltip:m.db.getTooltip(A.id)||"",domId:m.db.lookUpDomId(A.id),haveCallback:A.haveCallback,width:A.type==="group"?500:void 0,dir:A.dir,type:A.type,props:A.props,padding:Oe().flowchart.padding}),Ut.info("setNode",{labelStyle:B.labelStyle,labelType:A.labelType,shape:W,labelText:N,rx:z,ry:z,class:I,style:B.style,id:A.id,domId:m.db.lookUpDomId(A.id),width:A.type==="group"?500:void 0,type:A.type,dir:A.dir,props:A.props,padding:Oe().flowchart.padding})})},DBt=function(i,a,f){Ut.info("abc78 edges = ",i);let p=0,w={},m,b;if(i.defaultStyle!==void 0){const E=im(i.defaultStyle);m=E.style,b=E.labelStyle}i.forEach(function(E){p++;const _="L-"+E.start+"-"+E.end;w[_]===void 0?(w[_]=0,Ut.info("abc78 new entry",_,w[_])):(w[_]++,Ut.info("abc78 new entry",_,w[_]));let A=_+"-"+w[_];Ut.info("abc78 new link id to be used is",_,A,w[_]);const I="LS-"+E.start,B="LE-"+E.end,N={style:"",labelStyle:""};switch(N.minlen=E.length||1,E.type==="arrow_open"?N.arrowhead="none":N.arrowhead="normal",N.arrowTypeStart="arrow_open",N.arrowTypeEnd="arrow_open",E.type){case"double_arrow_cross":N.arrowTypeStart="arrow_cross";case"arrow_cross":N.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":N.arrowTypeStart="arrow_point";case"arrow_point":N.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":N.arrowTypeStart="arrow_circle";case"arrow_circle":N.arrowTypeEnd="arrow_circle";break}let R="",z="";switch(E.stroke){case"normal":R="fill:none;",m!==void 0&&(R=m),b!==void 0&&(z=b),N.thickness="normal",N.pattern="solid";break;case"dotted":N.thickness="normal",N.pattern="dotted",N.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":N.thickness="thick",N.pattern="solid",N.style="stroke-width: 3.5px;fill:none;";break;case"invisible":N.thickness="invisible",N.pattern="solid",N.style="stroke-width: 0;fill:none;";break}if(E.style!==void 0){const W=im(E.style);R=W.style,z=W.labelStyle}N.style=N.style+=R,N.labelStyle=N.labelStyle+=z,E.interpolate!==void 0?N.curve=ew(E.interpolate,cg):i.defaultInterpolate!==void 0?N.curve=ew(i.defaultInterpolate,cg):N.curve=ew(LBt.curve,cg),E.text===void 0?E.style!==void 0&&(N.arrowheadStyle="fill: #333"):(N.arrowheadStyle="fill: #333",N.labelpos="c"),N.labelType=E.labelType,N.label=E.text.replace(Kr.lineBreakRegex,` +`),E.style===void 0&&(N.style=N.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),N.labelStyle=N.labelStyle.replace("color:","fill:"),N.id=A,N.classes="flowchart-link "+I+" "+B,a.setEdge(E.start,E.end,N,p)})},B0t={setConf:aze,addVertices:MBt,addEdges:DBt,getClasses:function(i,a){return a.db.getClasses()},draw:async function(i,a,f,p){Ut.info("Drawing flowchart");let w=p.db.getDirection();w===void 0&&(w="TD");const{securityLevel:m,flowchart:b}=Oe(),E=b.nodeSpacing||50,_=b.rankSpacing||50;let A;m==="sandbox"&&(A=yr("#i"+a));const I=yr(m==="sandbox"?A.nodes()[0].contentDocument.body:"body"),B=m==="sandbox"?A.nodes()[0].contentDocument:document,N=new c1({multigraph:!0,compound:!0}).setGraph({rankdir:w,nodesep:E,ranksep:_,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let R;const z=p.db.getSubGraphs();Ut.info("Subgraphs - ",z);for(let yt=z.length-1;yt>=0;yt--)R=z[yt],Ut.info("Subgraph - ",R),p.db.addVertex(R.id,{text:R.title,type:R.labelType},"group",void 0,R.classes,R.dir);const W=p.db.getVertices(),et=p.db.getEdges();Ut.info("Edges",et);let st=0;for(st=z.length-1;st>=0;st--){R=z[st],sMt("cluster").append("text");for(let yt=0;yt{const f=cCe,p=f(i,"r"),w=f(i,"g"),m=f(i,"b");return FA(p,w,m,a)},IBt=i=>`.label { + font-family: ${i.fontFamily}; + color: ${i.nodeTextColor||i.textColor}; + } + .cluster-label text { + fill: ${i.titleColor}; + } + .cluster-label span,p { + color: ${i.titleColor}; + } + + .label text,span,p { + fill: ${i.nodeTextColor||i.textColor}; + color: ${i.nodeTextColor||i.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${i.edgeLabelBackground}; + fill: ${i.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${oze(i.edgeLabelBackground,.5)}; + // background-color: + } + + .cluster rect { + fill: ${i.clusterBkg}; + stroke: ${i.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${i.titleColor}; + } + + .cluster span,p { + color: ${i.titleColor}; + } + /* .cluster div { + color: ${i.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${i.fontFamily}; + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } +`,cze=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Hdt,db:wT,renderer:B0t,styles:IBt,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,hRe.setConf(i.flowchart),wT.clear(),wT.setGen("gen-1")}}},Symbol.toStringTag,{value:"Module"})),uze=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Hdt,db:wT,renderer:B0t,styles:IBt,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,cAe({flowchart:{arrowMarkerAbsolute:i.arrowMarkerAbsolute}}),B0t.setConf(i.flowchart),wT.clear(),wT.setGen("gen-2")}}},Symbol.toStringTag,{value:"Module"}));var R0t=function(){var i=function(vt,X,pt,U){for(pt=pt||{},U=vt.length;U--;pt[vt[U]]=X);return pt},a=[6,8,10,20,22,24,26,27,28],f=[1,10],p=[1,11],w=[1,12],m=[1,13],b=[1,14],E=[1,15],_=[1,21],A=[1,22],I=[1,23],B=[1,24],N=[1,25],R=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],z=[1,34],W=[27,28,46,47],et=[41,42,43,44,45],st=[17,34],at=[1,54],bt=[1,53],mt=[17,34,36,38],yt={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:function(X,pt,U,Tt,nt,It,Ot){var Bt=It.length-1;switch(nt){case 1:break;case 2:this.$=[];break;case 3:It[Bt-1].push(It[Bt]),this.$=It[Bt-1];break;case 4:case 5:this.$=It[Bt];break;case 6:case 7:this.$=[];break;case 8:Tt.addEntity(It[Bt-4]),Tt.addEntity(It[Bt-2]),Tt.addRelationship(It[Bt-4],It[Bt],It[Bt-2],It[Bt-3]);break;case 9:Tt.addEntity(It[Bt-3]),Tt.addAttributes(It[Bt-3],It[Bt-1]);break;case 10:Tt.addEntity(It[Bt-2]);break;case 11:Tt.addEntity(It[Bt]);break;case 12:Tt.addEntity(It[Bt-6],It[Bt-4]),Tt.addAttributes(It[Bt-6],It[Bt-1]);break;case 13:Tt.addEntity(It[Bt-5],It[Bt-3]);break;case 14:Tt.addEntity(It[Bt-3],It[Bt-1]);break;case 15:case 16:this.$=It[Bt].trim(),Tt.setAccTitle(this.$);break;case 17:case 18:this.$=It[Bt].trim(),Tt.setAccDescription(this.$);break;case 19:case 43:this.$=It[Bt];break;case 20:case 41:case 42:this.$=It[Bt].replace(/"/g,"");break;case 21:case 29:this.$=[It[Bt]];break;case 22:It[Bt].push(It[Bt-1]),this.$=It[Bt];break;case 23:this.$={attributeType:It[Bt-1],attributeName:It[Bt]};break;case 24:this.$={attributeType:It[Bt-2],attributeName:It[Bt-1],attributeKeyTypeList:It[Bt]};break;case 25:this.$={attributeType:It[Bt-2],attributeName:It[Bt-1],attributeComment:It[Bt]};break;case 26:this.$={attributeType:It[Bt-3],attributeName:It[Bt-2],attributeKeyTypeList:It[Bt-1],attributeComment:It[Bt]};break;case 27:case 28:case 31:this.$=It[Bt];break;case 30:It[Bt-2].push(It[Bt]),this.$=It[Bt-2];break;case 32:this.$=It[Bt].replace(/"/g,"");break;case 33:this.$={cardA:It[Bt],relType:It[Bt-1],cardB:It[Bt-2]};break;case 34:this.$=Tt.Cardinality.ZERO_OR_ONE;break;case 35:this.$=Tt.Cardinality.ZERO_OR_MORE;break;case 36:this.$=Tt.Cardinality.ONE_OR_MORE;break;case 37:this.$=Tt.Cardinality.ONLY_ONE;break;case 38:this.$=Tt.Cardinality.MD_PARENT;break;case 39:this.$=Tt.Identification.NON_IDENTIFYING;break;case 40:this.$=Tt.Identification.IDENTIFYING;break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:f,22:p,24:w,26:m,27:b,28:E},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:16,11:9,20:f,22:p,24:w,26:m,27:b,28:E},i(a,[2,5]),i(a,[2,6]),i(a,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:_,42:A,43:I,44:B,45:N}),{21:[1,26]},{23:[1,27]},{25:[1,28]},i(a,[2,18]),i(R,[2,19]),i(R,[2,20]),i(a,[2,4]),{11:29,27:b,28:E},{16:30,17:[1,31],29:32,30:33,34:z},{11:35,27:b,28:E},{40:36,46:[1,37],47:[1,38]},i(W,[2,34]),i(W,[2,35]),i(W,[2,36]),i(W,[2,37]),i(W,[2,38]),i(a,[2,15]),i(a,[2,16]),i(a,[2,17]),{13:[1,39]},{17:[1,40]},i(a,[2,10]),{16:41,17:[2,21],29:32,30:33,34:z},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:_,42:A,43:I,44:B,45:N},i(et,[2,39]),i(et,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},i(a,[2,9]),{17:[2,22]},i(st,[2,23],{32:50,33:51,35:52,37:at,38:bt}),i([17,34,37,38],[2,28]),i(a,[2,14],{15:[1,55]}),i([27,28],[2,33]),i(a,[2,8]),i(a,[2,41]),i(a,[2,42]),i(a,[2,43]),i(st,[2,24],{33:56,36:[1,57],38:bt}),i(st,[2,25]),i(mt,[2,29]),i(st,[2,32]),i(mt,[2,31]),{16:58,17:[1,59],29:32,30:33,34:z},i(st,[2,26]),{35:60,37:at},{17:[1,61]},i(a,[2,13]),i(mt,[2,30]),i(a,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(X,pt){if(pt.recoverable)this.trace(X);else{var U=new Error(X);throw U.hash=pt,U}},parse:function(X){var pt=this,U=[0],Tt=[],nt=[null],It=[],Ot=this.table,Bt="",Et=0,Z=0,Ct=2,xt=1,Ht=It.slice.call(arguments,1),Le=Object.create(this.lexer),Ft={yy:{}};for(var gn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,gn)&&(Ft.yy[gn]=this.yy[gn]);Le.setInput(X,Ft.yy),Ft.yy.lexer=Le,Ft.yy.parser=this,typeof Le.yylloc>"u"&&(Le.yylloc={});var Se=Le.yylloc;It.push(Se);var me=Le.options&&Le.options.ranges;typeof Ft.yy.parseError=="function"?this.parseError=Ft.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ve(){var on;return on=Tt.pop()||Le.lex()||xt,typeof on!="number"&&(on instanceof Array&&(Tt=on,on=Tt.pop()),on=pt.symbols_[on]||on),on}for(var Ye,ce,ke,zt,re={},se,Pe,te,Me;;){if(ce=U[U.length-1],this.defaultActions[ce]?ke=this.defaultActions[ce]:((Ye===null||typeof Ye>"u")&&(Ye=Ve()),ke=Ot[ce]&&Ot[ce][Ye]),typeof ke>"u"||!ke.length||!ke[0]){var de="";Me=[];for(se in Ot[ce])this.terminals_[se]&&se>Ct&&Me.push("'"+this.terminals_[se]+"'");Le.showPosition?de="Parse error on line "+(Et+1)+`: +`+Le.showPosition()+` +Expecting `+Me.join(", ")+", got '"+(this.terminals_[Ye]||Ye)+"'":de="Parse error on line "+(Et+1)+": Unexpected "+(Ye==xt?"end of input":"'"+(this.terminals_[Ye]||Ye)+"'"),this.parseError(de,{text:Le.match,token:this.terminals_[Ye]||Ye,line:Le.yylineno,loc:Se,expected:Me})}if(ke[0]instanceof Array&&ke.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ce+", token: "+Ye);switch(ke[0]){case 1:U.push(Ye),nt.push(Le.yytext),It.push(Le.yylloc),U.push(ke[1]),Ye=null,Z=Le.yyleng,Bt=Le.yytext,Et=Le.yylineno,Se=Le.yylloc;break;case 2:if(Pe=this.productions_[ke[1]][1],re.$=nt[nt.length-Pe],re._$={first_line:It[It.length-(Pe||1)].first_line,last_line:It[It.length-1].last_line,first_column:It[It.length-(Pe||1)].first_column,last_column:It[It.length-1].last_column},me&&(re._$.range=[It[It.length-(Pe||1)].range[0],It[It.length-1].range[1]]),zt=this.performAction.apply(re,[Bt,Z,Et,Ft.yy,ke[1],nt,It].concat(Ht)),typeof zt<"u")return zt;Pe&&(U=U.slice(0,-1*Pe*2),nt=nt.slice(0,-1*Pe),It=It.slice(0,-1*Pe)),U.push(this.productions_[ke[1]][0]),nt.push(re.$),It.push(re._$),te=Ot[U[U.length-2]][U[U.length-1]],U.push(te);break;case 3:return!0}}return!0}},ft=function(){var vt={EOF:1,parseError:function(pt,U){if(this.yy.parser)this.yy.parser.parseError(pt,U);else throw new Error(pt)},setInput:function(X,pt){return this.yy=pt||this.yy||{},this._input=X,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var X=this._input[0];this.yytext+=X,this.yyleng++,this.offset++,this.match+=X,this.matched+=X;var pt=X.match(/(?:\r\n?|\n).*/g);return pt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),X},unput:function(X){var pt=X.length,U=X.split(/(?:\r\n?|\n)/g);this._input=X+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-pt),this.offset-=pt;var Tt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),U.length-1&&(this.yylineno-=U.length-1);var nt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:U?(U.length===Tt.length?this.yylloc.first_column:0)+Tt[Tt.length-U.length].length-U[0].length:this.yylloc.first_column-pt},this.options.ranges&&(this.yylloc.range=[nt[0],nt[0]+this.yyleng-pt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(X){this.unput(this.match.slice(X))},pastInput:function(){var X=this.matched.substr(0,this.matched.length-this.match.length);return(X.length>20?"...":"")+X.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var X=this.match;return X.length<20&&(X+=this._input.substr(0,20-X.length)),(X.substr(0,20)+(X.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var X=this.pastInput(),pt=new Array(X.length+1).join("-");return X+this.upcomingInput()+` +`+pt+"^"},test_match:function(X,pt){var U,Tt,nt;if(this.options.backtrack_lexer&&(nt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(nt.yylloc.range=this.yylloc.range.slice(0))),Tt=X[0].match(/(?:\r\n?|\n).*/g),Tt&&(this.yylineno+=Tt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Tt?Tt[Tt.length-1].length-Tt[Tt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+X[0].length},this.yytext+=X[0],this.match+=X[0],this.matches=X,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(X[0].length),this.matched+=X[0],U=this.performAction.call(this,this.yy,this,pt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),U)return U;if(this._backtrack){for(var It in nt)this[It]=nt[It];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var X,pt,U,Tt;this._more||(this.yytext="",this.match="");for(var nt=this._currentRules(),It=0;Itpt[0].length)){if(pt=U,Tt=It,this.options.backtrack_lexer){if(X=this.test_match(U,nt[It]),X!==!1)return X;if(this._backtrack){pt=!1;continue}else return!1}else if(!this.options.flex)break}return pt?(X=this.test_match(pt,nt[Tt]),X!==!1?X:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var pt=this.next();return pt||this.lex()},begin:function(pt){this.conditionStack.push(pt)},popState:function(){var pt=this.conditionStack.length-1;return pt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(pt){return pt=this.conditionStack.length-1-Math.abs(pt||0),pt>=0?this.conditionStack[pt]:"INITIAL"},pushState:function(pt){this.begin(pt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(pt,U,Tt,nt){switch(Tt){case 0:return this.begin("acc_title"),22;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),24;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;case 14:return 36;case 15:break;case 16:return 37;case 17:return 34;case 18:return 34;case 19:return 38;case 20:break;case 21:return this.popState(),17;case 22:return U.yytext[0];case 23:return 18;case 24:return 19;case 25:return 41;case 26:return 43;case 27:return 43;case 28:return 43;case 29:return 41;case 30:return 41;case 31:return 42;case 32:return 42;case 33:return 42;case 34:return 42;case 35:return 42;case 36:return 43;case 37:return 42;case 38:return 43;case 39:return 44;case 40:return 44;case 41:return 44;case 42:return 44;case 43:return 41;case 44:return 42;case 45:return 43;case 46:return 45;case 47:return 46;case 48:return 47;case 49:return 47;case 50:return 46;case 51:return 46;case 52:return 46;case 53:return 27;case 54:return U.yytext[0];case 55:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],inclusive:!0}}};return vt}();yt.lexer=ft;function ut(){this.yy={}}return ut.prototype=yt,yt.Parser=ut,new ut}();R0t.parser=R0t;const lze=R0t;let mk={},j0t=[];const hze={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},fze={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},OBt=function(i,a=void 0){return mk[i]===void 0?(mk[i]={attributes:[],alias:a},Ut.info("Added new entity :",i)):mk[i]&&!mk[i].alias&&a&&(mk[i].alias=a,Ut.info(`Add alias '${a}' to entity '${i}'`)),mk[i]},dze={Cardinality:hze,Identification:fze,getConfig:()=>Oe().er,addEntity:OBt,addAttributes:function(i,a){let f=OBt(i),p;for(p=a.length-1;p>=0;p--)f.attributes.push(a[p]),Ut.debug("Added attribute ",a[p].attributeName)},getEntities:()=>mk,addRelationship:function(i,a,f,p){let w={entityA:i,roleA:a,entityB:f,relSpec:p};j0t.push(w),Ut.debug("Added new relationship :",w)},getRelationships:()=>j0t,clear:function(){mk={},j0t=[],hg()},setAccTitle:E0,getAccTitle:fg,setAccDescription:dg,getAccDescription:gg,setDiagramTitle:Nb,getDiagramTitle:pg},fm={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},dm={ERMarkers:fm,insertMarkers:function(i,a){let f;i.append("defs").append("marker").attr("id",fm.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",fm.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",fm.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),i.append("defs").append("marker").attr("id",fm.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),f=i.append("defs").append("marker").attr("id",fm.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M9,0 L9,18"),f=i.append("defs").append("marker").attr("id",fm.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M21,0 L21,18"),i.append("defs").append("marker").attr("id",fm.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),i.append("defs").append("marker").attr("id",fm.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),f=i.append("defs").append("marker").attr("id",fm.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),f=i.append("defs").append("marker").attr("id",fm.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")}},gze=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function pze(i){return typeof i=="string"&&gze.test(i)}const Rd=[];for(let i=0;i<256;++i)Rd.push((i+256).toString(16).slice(1));function bze(i,a=0){return(Rd[i[a+0]]+Rd[i[a+1]]+Rd[i[a+2]]+Rd[i[a+3]]+"-"+Rd[i[a+4]]+Rd[i[a+5]]+"-"+Rd[i[a+6]]+Rd[i[a+7]]+"-"+Rd[i[a+8]]+Rd[i[a+9]]+"-"+Rd[i[a+10]]+Rd[i[a+11]]+Rd[i[a+12]]+Rd[i[a+13]]+Rd[i[a+14]]+Rd[i[a+15]]).toLowerCase()}function wze(i){if(!pze(i))throw TypeError("Invalid UUID");let a;const f=new Uint8Array(16);return f[0]=(a=parseInt(i.slice(0,8),16))>>>24,f[1]=a>>>16&255,f[2]=a>>>8&255,f[3]=a&255,f[4]=(a=parseInt(i.slice(9,13),16))>>>8,f[5]=a&255,f[6]=(a=parseInt(i.slice(14,18),16))>>>8,f[7]=a&255,f[8]=(a=parseInt(i.slice(19,23),16))>>>8,f[9]=a&255,f[10]=(a=parseInt(i.slice(24,36),16))/1099511627776&255,f[11]=a/4294967296&255,f[12]=a>>>24&255,f[13]=a>>>16&255,f[14]=a>>>8&255,f[15]=a&255,f}function vze(i){i=unescape(encodeURIComponent(i));const a=[];for(let f=0;f>>32-a}function Eze(i){const a=[1518500249,1859775393,2400959708,3395469782],f=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof i=="string"){const b=unescape(encodeURIComponent(i));i=[];for(let E=0;E>>0;N=B,B=I,I=$0t(A,30)>>>0,A=_,_=W}f[0]=f[0]+_>>>0,f[1]=f[1]+A>>>0,f[2]=f[2]+I>>>0,f[3]=f[3]+B>>>0,f[4]=f[4]+N>>>0}return[f[0]>>24&255,f[0]>>16&255,f[0]>>8&255,f[0]&255,f[1]>>24&255,f[1]>>16&255,f[1]>>8&255,f[1]&255,f[2]>>24&255,f[2]>>16&255,f[2]>>8&255,f[2]&255,f[3]>>24&255,f[3]>>16&255,f[3]>>8&255,f[3]&255,f[4]>>24&255,f[4]>>16&255,f[4]>>8&255,f[4]&255]}const Tze=xze("v5",80,Eze),Cze=/[^\dA-Za-z](\W)*/g;let u1={},SF=new Map;const _ze=function(i){const a=Object.keys(i);for(const f of a)u1[f]=i[f]},Sze=(i,a,f)=>{const p=u1.entityPadding/3,w=u1.entityPadding/3,m=u1.fontSize*.85,b=a.node().getBBox(),E=[];let _=!1,A=!1,I=0,B=0,N=0,R=0,z=b.height+p*2,W=1;f.forEach(bt=>{bt.attributeKeyTypeList!==void 0&&bt.attributeKeyTypeList.length>0&&(_=!0),bt.attributeComment!==void 0&&(A=!0)}),f.forEach(bt=>{const mt=`${a.node().id}-attr-${W}`;let yt=0;const ft=YP(bt.attributeType),ut=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Oe().fontFamily).style("font-size",m+"px").text(ft),vt=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Oe().fontFamily).style("font-size",m+"px").text(bt.attributeName),X={};X.tn=ut,X.nn=vt;const pt=ut.node().getBBox(),U=vt.node().getBBox();if(I=Math.max(I,pt.width),B=Math.max(B,U.width),yt=Math.max(pt.height,U.height),_){const Tt=bt.attributeKeyTypeList!==void 0?bt.attributeKeyTypeList.join(","):"",nt=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Oe().fontFamily).style("font-size",m+"px").text(Tt);X.kn=nt;const It=nt.node().getBBox();N=Math.max(N,It.width),yt=Math.max(yt,It.height)}if(A){const Tt=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Oe().fontFamily).style("font-size",m+"px").text(bt.attributeComment||"");X.cn=Tt;const nt=Tt.node().getBBox();R=Math.max(R,nt.width),yt=Math.max(yt,nt.height)}X.height=yt,E.push(X),z+=yt+p*2,W+=1});let et=4;_&&(et+=2),A&&(et+=2);const st=I+B+N+R,at={width:Math.max(u1.minEntityWidth,Math.max(b.width+u1.entityPadding*2,st+w*et)),height:f.length>0?z:Math.max(u1.minEntityHeight,b.height+u1.entityPadding*2)};if(f.length>0){const bt=Math.max(0,(at.width-st-w*et)/(et/2));a.attr("transform","translate("+at.width/2+","+(p+b.height/2)+")");let mt=b.height+p*2,yt="attributeBoxOdd";E.forEach(ft=>{const ut=mt+p+ft.height/2;ft.tn.attr("transform","translate("+w+","+ut+")");const vt=i.insert("rect","#"+ft.tn.node().id).classed(`er ${yt}`,!0).attr("x",0).attr("y",mt).attr("width",I+w*2+bt).attr("height",ft.height+p*2),X=parseFloat(vt.attr("x"))+parseFloat(vt.attr("width"));ft.nn.attr("transform","translate("+(X+w)+","+ut+")");const pt=i.insert("rect","#"+ft.nn.node().id).classed(`er ${yt}`,!0).attr("x",X).attr("y",mt).attr("width",B+w*2+bt).attr("height",ft.height+p*2);let U=parseFloat(pt.attr("x"))+parseFloat(pt.attr("width"));if(_){ft.kn.attr("transform","translate("+(U+w)+","+ut+")");const Tt=i.insert("rect","#"+ft.kn.node().id).classed(`er ${yt}`,!0).attr("x",U).attr("y",mt).attr("width",N+w*2+bt).attr("height",ft.height+p*2);U=parseFloat(Tt.attr("x"))+parseFloat(Tt.attr("width"))}A&&(ft.cn.attr("transform","translate("+(U+w)+","+ut+")"),i.insert("rect","#"+ft.cn.node().id).classed(`er ${yt}`,"true").attr("x",U).attr("y",mt).attr("width",R+w*2+bt).attr("height",ft.height+p*2)),mt+=ft.height+p*2,yt=yt==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else at.height=Math.max(u1.minEntityHeight,z),a.attr("transform","translate("+at.width/2+","+at.height/2+")");return at},Aze=function(i,a,f){const p=Object.keys(a);let w;return p.forEach(function(m){const b=Pze(m,"entity");SF.set(m,b);const E=i.append("g").attr("id",b);w=w===void 0?b:w;const _="text-"+b,A=E.append("text").classed("er entityLabel",!0).attr("id",_).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",Oe().fontFamily).style("font-size",u1.fontSize+"px").text(a[m].alias??m),{width:I,height:B}=Sze(E,A,a[m].attributes),R=E.insert("rect","#"+_).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",I).attr("height",B).node().getBBox();f.setNode(b,{width:R.width,height:R.height,shape:"rect",id:b})}),w},Lze=function(i,a){a.nodes().forEach(function(f){f!==void 0&&a.node(f)!==void 0&&i.select("#"+f).attr("transform","translate("+(a.node(f).x-a.node(f).width/2)+","+(a.node(f).y-a.node(f).height/2)+" )")})},PBt=function(i){return(i.entityA+i.roleA+i.entityB).replace(/\s/g,"")},Mze=function(i,a){return i.forEach(function(f){a.setEdge(SF.get(f.entityA),SF.get(f.entityB),{relationship:f},PBt(f))}),i};let FBt=0;const Dze=function(i,a,f,p,w){FBt++;const m=f.edge(SF.get(a.entityA),SF.get(a.entityB),PBt(a)),b=E5().x(function(z){return z.x}).y(function(z){return z.y}).curve(HP),E=i.insert("path","#"+p).classed("er relationshipLine",!0).attr("d",b(m.points)).style("stroke",u1.stroke).style("fill","none");a.relSpec.relType===w.db.Identification.NON_IDENTIFYING&&E.attr("stroke-dasharray","8,8");let _="";switch(u1.arrowMarkerAbsolute&&(_=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,_=_.replace(/\(/g,"\\("),_=_.replace(/\)/g,"\\)")),a.relSpec.cardA){case w.db.Cardinality.ZERO_OR_ONE:E.attr("marker-end","url("+_+"#"+dm.ERMarkers.ZERO_OR_ONE_END+")");break;case w.db.Cardinality.ZERO_OR_MORE:E.attr("marker-end","url("+_+"#"+dm.ERMarkers.ZERO_OR_MORE_END+")");break;case w.db.Cardinality.ONE_OR_MORE:E.attr("marker-end","url("+_+"#"+dm.ERMarkers.ONE_OR_MORE_END+")");break;case w.db.Cardinality.ONLY_ONE:E.attr("marker-end","url("+_+"#"+dm.ERMarkers.ONLY_ONE_END+")");break;case w.db.Cardinality.MD_PARENT:E.attr("marker-end","url("+_+"#"+dm.ERMarkers.MD_PARENT_END+")");break}switch(a.relSpec.cardB){case w.db.Cardinality.ZERO_OR_ONE:E.attr("marker-start","url("+_+"#"+dm.ERMarkers.ZERO_OR_ONE_START+")");break;case w.db.Cardinality.ZERO_OR_MORE:E.attr("marker-start","url("+_+"#"+dm.ERMarkers.ZERO_OR_MORE_START+")");break;case w.db.Cardinality.ONE_OR_MORE:E.attr("marker-start","url("+_+"#"+dm.ERMarkers.ONE_OR_MORE_START+")");break;case w.db.Cardinality.ONLY_ONE:E.attr("marker-start","url("+_+"#"+dm.ERMarkers.ONLY_ONE_START+")");break;case w.db.Cardinality.MD_PARENT:E.attr("marker-start","url("+_+"#"+dm.ERMarkers.MD_PARENT_START+")");break}const A=E.node().getTotalLength(),I=E.node().getPointAtLength(A*.5),B="rel"+FBt,R=i.append("text").classed("er relationshipLabel",!0).attr("id",B).attr("x",I.x).attr("y",I.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",Oe().fontFamily).style("font-size",u1.fontSize+"px").text(a.roleA).node().getBBox();i.insert("rect","#"+B).classed("er relationshipLabelBox",!0).attr("x",I.x-R.width/2).attr("y",I.y-R.height/2).attr("width",R.width).attr("height",R.height)},Ize=function(i,a,f,p){u1=Oe().er,Ut.info("Drawing ER diagram");const w=Oe().securityLevel;let m;w==="sandbox"&&(m=yr("#i"+a));const E=yr(w==="sandbox"?m.nodes()[0].contentDocument.body:"body").select(`[id='${a}']`);dm.insertMarkers(E,u1);let _;_=new c1({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:u1.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});const A=Aze(E,p.db.getEntities(),_),I=Mze(p.db.getRelationships(),_);aL(_),Lze(E,_),I.forEach(function(W){Dze(E,W,_,A,p)});const B=u1.diagramPadding;$a.insertTitle(E,"entityTitleText",u1.titleTopMargin,p.db.getDiagramTitle());const N=E.node().getBBox(),R=N.width+B*2,z=N.height+B*2;k0(E,z,R,u1.useMaxWidth),E.attr("viewBox",`${N.x-B} ${N.y-B} ${R} ${z}`)},Oze="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function Pze(i="",a=""){const f=i.replace(Cze,"");return`${NBt(a)}${NBt(f)}${Tze(i,Oze)}`}function NBt(i=""){return i.length>0?`${i}-`:""}const Fze=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:lze,db:dze,renderer:{setConf:_ze,draw:Ize},styles:i=>` + .entityBox { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + } + + .attributeBoxOdd { + fill: ${i.attributeBackgroundColorOdd}; + stroke: ${i.nodeBorder}; + } + + .attributeBoxEven { + fill: ${i.attributeBackgroundColorEven}; + stroke: ${i.nodeBorder}; + } + + .relationshipLabelBox { + fill: ${i.tertiaryColor}; + opacity: 0.7; + background-color: ${i.tertiaryColor}; + rect { + opacity: 0.5; + } + } + + .relationshipLine { + stroke: ${i.lineColor}; + } + + .entityTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } + #MD_PARENT_START { + fill: #f5f5f5 !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; + } + #MD_PARENT_END { + fill: #f5f5f5 !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; + } + +`}},Symbol.toStringTag,{value:"Module"}));var z0t=function(){var i=function(yt,ft,ut,vt){for(ut=ut||{},vt=yt.length;vt--;ut[yt[vt]]=ft);return ut},a=[1,3],f=[1,6],p=[1,4],w=[1,5],m=[2,5],b=[1,12],E=[5,7,13,19,21,23,24,26,28,31,36,39,46],_=[7,13,19,21,23,24,26,28,31,36,39],A=[7,12,13,19,21,23,24,26,28,31,36,39],I=[7,13,46],B=[1,42],N=[1,41],R=[7,13,29,32,34,37,46],z=[1,55],W=[1,56],et=[1,57],st=[7,13,32,34,41,46],at={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,GG:5,document:6,EOF:7,":":8,DIR:9,options:10,body:11,OPT:12,NL:13,line:14,statement:15,commitStatement:16,mergeStatement:17,cherryPickStatement:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,section:24,branchStatement:25,CHECKOUT:26,ref:27,BRANCH:28,ORDER:29,NUM:30,CHERRY_PICK:31,COMMIT_ID:32,STR:33,COMMIT_TAG:34,EMPTYSTR:35,MERGE:36,COMMIT_TYPE:37,commitType:38,COMMIT:39,commit_arg:40,COMMIT_MSG:41,NORMAL:42,REVERSE:43,HIGHLIGHT:44,ID:45,";":46,$accept:0,$end:1},terminals_:{2:"error",5:"GG",7:"EOF",8:":",9:"DIR",12:"OPT",13:"NL",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"section",26:"CHECKOUT",28:"BRANCH",29:"ORDER",30:"NUM",31:"CHERRY_PICK",32:"COMMIT_ID",33:"STR",34:"COMMIT_TAG",35:"EMPTYSTR",36:"MERGE",37:"COMMIT_TYPE",39:"COMMIT",41:"COMMIT_MSG",42:"NORMAL",43:"REVERSE",44:"HIGHLIGHT",45:"ID",46:";"},productions_:[0,[3,2],[3,3],[3,4],[3,5],[6,0],[6,2],[10,2],[10,1],[11,0],[11,2],[14,2],[14,1],[15,1],[15,1],[15,1],[15,2],[15,2],[15,1],[15,1],[15,1],[15,2],[25,2],[25,4],[18,3],[18,5],[18,5],[18,5],[18,5],[17,2],[17,4],[17,4],[17,4],[17,6],[17,6],[17,6],[17,6],[17,6],[17,6],[17,8],[17,8],[17,8],[17,8],[17,8],[17,8],[16,2],[16,3],[16,3],[16,5],[16,5],[16,3],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,3],[16,5],[16,5],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[40,0],[40,1],[38,1],[38,1],[38,1],[27,1],[27,1],[4,1],[4,1],[4,1]],performAction:function(ft,ut,vt,X,pt,U,Tt){var nt=U.length-1;switch(pt){case 2:return U[nt];case 3:return U[nt-1];case 4:return X.setDirection(U[nt-3]),U[nt-1];case 6:X.setOptions(U[nt-1]),this.$=U[nt];break;case 7:U[nt-1]+=U[nt],this.$=U[nt-1];break;case 9:this.$=[];break;case 10:U[nt-1].push(U[nt]),this.$=U[nt-1];break;case 11:this.$=U[nt-1];break;case 16:this.$=U[nt].trim(),X.setAccTitle(this.$);break;case 17:case 18:this.$=U[nt].trim(),X.setAccDescription(this.$);break;case 19:X.addSection(U[nt].substr(8)),this.$=U[nt].substr(8);break;case 21:X.checkout(U[nt]);break;case 22:X.branch(U[nt]);break;case 23:X.branch(U[nt-2],U[nt]);break;case 24:X.cherryPick(U[nt],"",void 0);break;case 25:X.cherryPick(U[nt-2],"",U[nt]);break;case 26:case 28:X.cherryPick(U[nt-2],"","");break;case 27:X.cherryPick(U[nt],"",U[nt-2]);break;case 29:X.merge(U[nt],"","","");break;case 30:X.merge(U[nt-2],U[nt],"","");break;case 31:X.merge(U[nt-2],"",U[nt],"");break;case 32:X.merge(U[nt-2],"","",U[nt]);break;case 33:X.merge(U[nt-4],U[nt],"",U[nt-2]);break;case 34:X.merge(U[nt-4],"",U[nt],U[nt-2]);break;case 35:X.merge(U[nt-4],"",U[nt-2],U[nt]);break;case 36:X.merge(U[nt-4],U[nt-2],U[nt],"");break;case 37:X.merge(U[nt-4],U[nt-2],"",U[nt]);break;case 38:X.merge(U[nt-4],U[nt],U[nt-2],"");break;case 39:X.merge(U[nt-6],U[nt-4],U[nt-2],U[nt]);break;case 40:X.merge(U[nt-6],U[nt],U[nt-4],U[nt-2]);break;case 41:X.merge(U[nt-6],U[nt-4],U[nt],U[nt-2]);break;case 42:X.merge(U[nt-6],U[nt-2],U[nt-4],U[nt]);break;case 43:X.merge(U[nt-6],U[nt],U[nt-2],U[nt-4]);break;case 44:X.merge(U[nt-6],U[nt-2],U[nt],U[nt-4]);break;case 45:X.commit(U[nt]);break;case 46:X.commit("","",X.commitType.NORMAL,U[nt]);break;case 47:X.commit("","",U[nt],"");break;case 48:X.commit("","",U[nt],U[nt-2]);break;case 49:X.commit("","",U[nt-2],U[nt]);break;case 50:X.commit("",U[nt],X.commitType.NORMAL,"");break;case 51:X.commit("",U[nt-2],X.commitType.NORMAL,U[nt]);break;case 52:X.commit("",U[nt],X.commitType.NORMAL,U[nt-2]);break;case 53:X.commit("",U[nt-2],U[nt],"");break;case 54:X.commit("",U[nt],U[nt-2],"");break;case 55:X.commit("",U[nt-4],U[nt-2],U[nt]);break;case 56:X.commit("",U[nt-4],U[nt],U[nt-2]);break;case 57:X.commit("",U[nt-2],U[nt-4],U[nt]);break;case 58:X.commit("",U[nt],U[nt-4],U[nt-2]);break;case 59:X.commit("",U[nt],U[nt-2],U[nt-4]);break;case 60:X.commit("",U[nt-2],U[nt],U[nt-4]);break;case 61:X.commit(U[nt],"",X.commitType.NORMAL,"");break;case 62:X.commit(U[nt],"",X.commitType.NORMAL,U[nt-2]);break;case 63:X.commit(U[nt-2],"",X.commitType.NORMAL,U[nt]);break;case 64:X.commit(U[nt-2],"",U[nt],"");break;case 65:X.commit(U[nt],"",U[nt-2],"");break;case 66:X.commit(U[nt],U[nt-2],X.commitType.NORMAL,"");break;case 67:X.commit(U[nt-2],U[nt],X.commitType.NORMAL,"");break;case 68:X.commit(U[nt-4],"",U[nt-2],U[nt]);break;case 69:X.commit(U[nt-4],"",U[nt],U[nt-2]);break;case 70:X.commit(U[nt-2],"",U[nt-4],U[nt]);break;case 71:X.commit(U[nt],"",U[nt-4],U[nt-2]);break;case 72:X.commit(U[nt],"",U[nt-2],U[nt-4]);break;case 73:X.commit(U[nt-2],"",U[nt],U[nt-4]);break;case 74:X.commit(U[nt-4],U[nt],U[nt-2],"");break;case 75:X.commit(U[nt-4],U[nt-2],U[nt],"");break;case 76:X.commit(U[nt-2],U[nt],U[nt-4],"");break;case 77:X.commit(U[nt],U[nt-2],U[nt-4],"");break;case 78:X.commit(U[nt],U[nt-4],U[nt-2],"");break;case 79:X.commit(U[nt-2],U[nt-4],U[nt],"");break;case 80:X.commit(U[nt-4],U[nt],X.commitType.NORMAL,U[nt-2]);break;case 81:X.commit(U[nt-4],U[nt-2],X.commitType.NORMAL,U[nt]);break;case 82:X.commit(U[nt-2],U[nt],X.commitType.NORMAL,U[nt-4]);break;case 83:X.commit(U[nt],U[nt-2],X.commitType.NORMAL,U[nt-4]);break;case 84:X.commit(U[nt],U[nt-4],X.commitType.NORMAL,U[nt-2]);break;case 85:X.commit(U[nt-2],U[nt-4],X.commitType.NORMAL,U[nt]);break;case 86:X.commit(U[nt-6],U[nt-4],U[nt-2],U[nt]);break;case 87:X.commit(U[nt-6],U[nt-4],U[nt],U[nt-2]);break;case 88:X.commit(U[nt-6],U[nt-2],U[nt-4],U[nt]);break;case 89:X.commit(U[nt-6],U[nt],U[nt-4],U[nt-2]);break;case 90:X.commit(U[nt-6],U[nt-2],U[nt],U[nt-4]);break;case 91:X.commit(U[nt-6],U[nt],U[nt-2],U[nt-4]);break;case 92:X.commit(U[nt-4],U[nt-6],U[nt-2],U[nt]);break;case 93:X.commit(U[nt-4],U[nt-6],U[nt],U[nt-2]);break;case 94:X.commit(U[nt-2],U[nt-6],U[nt-4],U[nt]);break;case 95:X.commit(U[nt],U[nt-6],U[nt-4],U[nt-2]);break;case 96:X.commit(U[nt-2],U[nt-6],U[nt],U[nt-4]);break;case 97:X.commit(U[nt],U[nt-6],U[nt-2],U[nt-4]);break;case 98:X.commit(U[nt],U[nt-4],U[nt-2],U[nt-6]);break;case 99:X.commit(U[nt-2],U[nt-4],U[nt],U[nt-6]);break;case 100:X.commit(U[nt],U[nt-2],U[nt-4],U[nt-6]);break;case 101:X.commit(U[nt-2],U[nt],U[nt-4],U[nt-6]);break;case 102:X.commit(U[nt-4],U[nt-2],U[nt],U[nt-6]);break;case 103:X.commit(U[nt-4],U[nt],U[nt-2],U[nt-6]);break;case 104:X.commit(U[nt-2],U[nt-4],U[nt-6],U[nt]);break;case 105:X.commit(U[nt],U[nt-4],U[nt-6],U[nt-2]);break;case 106:X.commit(U[nt-2],U[nt],U[nt-6],U[nt-4]);break;case 107:X.commit(U[nt],U[nt-2],U[nt-6],U[nt-4]);break;case 108:X.commit(U[nt-4],U[nt-2],U[nt-6],U[nt]);break;case 109:X.commit(U[nt-4],U[nt],U[nt-6],U[nt-2]);break;case 110:this.$="";break;case 111:this.$=U[nt];break;case 112:this.$=X.commitType.NORMAL;break;case 113:this.$=X.commitType.REVERSE;break;case 114:this.$=X.commitType.HIGHLIGHT;break}},table:[{3:1,4:2,5:a,7:f,13:p,46:w},{1:[3]},{3:7,4:2,5:a,7:f,13:p,46:w},{6:8,7:m,8:[1,9],9:[1,10],10:11,13:b},i(E,[2,117]),i(E,[2,118]),i(E,[2,119]),{1:[2,1]},{7:[1,13]},{6:14,7:m,10:11,13:b},{8:[1,15]},i(_,[2,9],{11:16,12:[1,17]}),i(A,[2,8]),{1:[2,2]},{7:[1,18]},{6:19,7:m,10:11,13:b},{7:[2,6],13:[1,22],14:20,15:21,16:23,17:24,18:25,19:[1,26],21:[1,27],23:[1,28],24:[1,29],25:30,26:[1,31],28:[1,35],31:[1,34],36:[1,33],39:[1,32]},i(A,[2,7]),{1:[2,3]},{7:[1,36]},i(_,[2,10]),{4:37,7:f,13:p,46:w},i(_,[2,12]),i(I,[2,13]),i(I,[2,14]),i(I,[2,15]),{20:[1,38]},{22:[1,39]},i(I,[2,18]),i(I,[2,19]),i(I,[2,20]),{27:40,33:B,45:N},i(I,[2,110],{40:43,32:[1,46],33:[1,48],34:[1,44],37:[1,45],41:[1,47]}),{27:49,33:B,45:N},{32:[1,50],34:[1,51]},{27:52,33:B,45:N},{1:[2,4]},i(_,[2,11]),i(I,[2,16]),i(I,[2,17]),i(I,[2,21]),i(R,[2,115]),i(R,[2,116]),i(I,[2,45]),{33:[1,53]},{38:54,42:z,43:W,44:et},{33:[1,58]},{33:[1,59]},i(I,[2,111]),i(I,[2,29],{32:[1,60],34:[1,62],37:[1,61]}),{33:[1,63]},{33:[1,64],35:[1,65]},i(I,[2,22],{29:[1,66]}),i(I,[2,46],{32:[1,68],37:[1,67],41:[1,69]}),i(I,[2,47],{32:[1,71],34:[1,70],41:[1,72]}),i(st,[2,112]),i(st,[2,113]),i(st,[2,114]),i(I,[2,50],{34:[1,73],37:[1,74],41:[1,75]}),i(I,[2,61],{32:[1,78],34:[1,76],37:[1,77]}),{33:[1,79]},{38:80,42:z,43:W,44:et},{33:[1,81]},i(I,[2,24],{34:[1,82]}),{32:[1,83]},{32:[1,84]},{30:[1,85]},{38:86,42:z,43:W,44:et},{33:[1,87]},{33:[1,88]},{33:[1,89]},{33:[1,90]},{33:[1,91]},{33:[1,92]},{38:93,42:z,43:W,44:et},{33:[1,94]},{33:[1,95]},{38:96,42:z,43:W,44:et},{33:[1,97]},i(I,[2,30],{34:[1,99],37:[1,98]}),i(I,[2,31],{32:[1,101],34:[1,100]}),i(I,[2,32],{32:[1,102],37:[1,103]}),{33:[1,104],35:[1,105]},{33:[1,106]},{33:[1,107]},i(I,[2,23]),i(I,[2,48],{32:[1,108],41:[1,109]}),i(I,[2,52],{37:[1,110],41:[1,111]}),i(I,[2,62],{32:[1,113],37:[1,112]}),i(I,[2,49],{32:[1,114],41:[1,115]}),i(I,[2,54],{34:[1,116],41:[1,117]}),i(I,[2,65],{32:[1,119],34:[1,118]}),i(I,[2,51],{37:[1,120],41:[1,121]}),i(I,[2,53],{34:[1,122],41:[1,123]}),i(I,[2,66],{34:[1,125],37:[1,124]}),i(I,[2,63],{32:[1,127],37:[1,126]}),i(I,[2,64],{32:[1,129],34:[1,128]}),i(I,[2,67],{34:[1,131],37:[1,130]}),{38:132,42:z,43:W,44:et},{33:[1,133]},{33:[1,134]},{33:[1,135]},{33:[1,136]},{38:137,42:z,43:W,44:et},i(I,[2,25]),i(I,[2,26]),i(I,[2,27]),i(I,[2,28]),{33:[1,138]},{33:[1,139]},{38:140,42:z,43:W,44:et},{33:[1,141]},{38:142,42:z,43:W,44:et},{33:[1,143]},{33:[1,144]},{33:[1,145]},{33:[1,146]},{33:[1,147]},{33:[1,148]},{33:[1,149]},{38:150,42:z,43:W,44:et},{33:[1,151]},{33:[1,152]},{33:[1,153]},{38:154,42:z,43:W,44:et},{33:[1,155]},{38:156,42:z,43:W,44:et},{33:[1,157]},{33:[1,158]},{33:[1,159]},{38:160,42:z,43:W,44:et},{33:[1,161]},i(I,[2,36],{34:[1,162]}),i(I,[2,37],{37:[1,163]}),i(I,[2,35],{32:[1,164]}),i(I,[2,38],{34:[1,165]}),i(I,[2,33],{37:[1,166]}),i(I,[2,34],{32:[1,167]}),i(I,[2,59],{41:[1,168]}),i(I,[2,72],{32:[1,169]}),i(I,[2,60],{41:[1,170]}),i(I,[2,83],{37:[1,171]}),i(I,[2,73],{32:[1,172]}),i(I,[2,82],{37:[1,173]}),i(I,[2,58],{41:[1,174]}),i(I,[2,71],{32:[1,175]}),i(I,[2,57],{41:[1,176]}),i(I,[2,77],{34:[1,177]}),i(I,[2,70],{32:[1,178]}),i(I,[2,76],{34:[1,179]}),i(I,[2,56],{41:[1,180]}),i(I,[2,84],{37:[1,181]}),i(I,[2,55],{41:[1,182]}),i(I,[2,78],{34:[1,183]}),i(I,[2,79],{34:[1,184]}),i(I,[2,85],{37:[1,185]}),i(I,[2,69],{32:[1,186]}),i(I,[2,80],{37:[1,187]}),i(I,[2,68],{32:[1,188]}),i(I,[2,74],{34:[1,189]}),i(I,[2,75],{34:[1,190]}),i(I,[2,81],{37:[1,191]}),{33:[1,192]},{38:193,42:z,43:W,44:et},{33:[1,194]},{33:[1,195]},{38:196,42:z,43:W,44:et},{33:[1,197]},{33:[1,198]},{33:[1,199]},{33:[1,200]},{38:201,42:z,43:W,44:et},{33:[1,202]},{38:203,42:z,43:W,44:et},{33:[1,204]},{33:[1,205]},{33:[1,206]},{33:[1,207]},{33:[1,208]},{33:[1,209]},{33:[1,210]},{38:211,42:z,43:W,44:et},{33:[1,212]},{33:[1,213]},{33:[1,214]},{38:215,42:z,43:W,44:et},{33:[1,216]},{38:217,42:z,43:W,44:et},{33:[1,218]},{33:[1,219]},{33:[1,220]},{38:221,42:z,43:W,44:et},i(I,[2,39]),i(I,[2,41]),i(I,[2,40]),i(I,[2,42]),i(I,[2,44]),i(I,[2,43]),i(I,[2,100]),i(I,[2,101]),i(I,[2,98]),i(I,[2,99]),i(I,[2,103]),i(I,[2,102]),i(I,[2,107]),i(I,[2,106]),i(I,[2,105]),i(I,[2,104]),i(I,[2,109]),i(I,[2,108]),i(I,[2,97]),i(I,[2,96]),i(I,[2,95]),i(I,[2,94]),i(I,[2,92]),i(I,[2,93]),i(I,[2,91]),i(I,[2,90]),i(I,[2,89]),i(I,[2,88]),i(I,[2,86]),i(I,[2,87])],defaultActions:{7:[2,1],13:[2,2],18:[2,3],36:[2,4]},parseError:function(ft,ut){if(ut.recoverable)this.trace(ft);else{var vt=new Error(ft);throw vt.hash=ut,vt}},parse:function(ft){var ut=this,vt=[0],X=[],pt=[null],U=[],Tt=this.table,nt="",It=0,Ot=0,Bt=2,Et=1,Z=U.slice.call(arguments,1),Ct=Object.create(this.lexer),xt={yy:{}};for(var Ht in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ht)&&(xt.yy[Ht]=this.yy[Ht]);Ct.setInput(ft,xt.yy),xt.yy.lexer=Ct,xt.yy.parser=this,typeof Ct.yylloc>"u"&&(Ct.yylloc={});var Le=Ct.yylloc;U.push(Le);var Ft=Ct.options&&Ct.options.ranges;typeof xt.yy.parseError=="function"?this.parseError=xt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function gn(){var te;return te=X.pop()||Ct.lex()||Et,typeof te!="number"&&(te instanceof Array&&(X=te,te=X.pop()),te=ut.symbols_[te]||te),te}for(var Se,me,Ve,Ye,ce={},ke,zt,re,se;;){if(me=vt[vt.length-1],this.defaultActions[me]?Ve=this.defaultActions[me]:((Se===null||typeof Se>"u")&&(Se=gn()),Ve=Tt[me]&&Tt[me][Se]),typeof Ve>"u"||!Ve.length||!Ve[0]){var Pe="";se=[];for(ke in Tt[me])this.terminals_[ke]&&ke>Bt&&se.push("'"+this.terminals_[ke]+"'");Ct.showPosition?Pe="Parse error on line "+(It+1)+`: +`+Ct.showPosition()+` +Expecting `+se.join(", ")+", got '"+(this.terminals_[Se]||Se)+"'":Pe="Parse error on line "+(It+1)+": Unexpected "+(Se==Et?"end of input":"'"+(this.terminals_[Se]||Se)+"'"),this.parseError(Pe,{text:Ct.match,token:this.terminals_[Se]||Se,line:Ct.yylineno,loc:Le,expected:se})}if(Ve[0]instanceof Array&&Ve.length>1)throw new Error("Parse Error: multiple actions possible at state: "+me+", token: "+Se);switch(Ve[0]){case 1:vt.push(Se),pt.push(Ct.yytext),U.push(Ct.yylloc),vt.push(Ve[1]),Se=null,Ot=Ct.yyleng,nt=Ct.yytext,It=Ct.yylineno,Le=Ct.yylloc;break;case 2:if(zt=this.productions_[Ve[1]][1],ce.$=pt[pt.length-zt],ce._$={first_line:U[U.length-(zt||1)].first_line,last_line:U[U.length-1].last_line,first_column:U[U.length-(zt||1)].first_column,last_column:U[U.length-1].last_column},Ft&&(ce._$.range=[U[U.length-(zt||1)].range[0],U[U.length-1].range[1]]),Ye=this.performAction.apply(ce,[nt,Ot,It,xt.yy,Ve[1],pt,U].concat(Z)),typeof Ye<"u")return Ye;zt&&(vt=vt.slice(0,-1*zt*2),pt=pt.slice(0,-1*zt),U=U.slice(0,-1*zt)),vt.push(this.productions_[Ve[1]][0]),pt.push(ce.$),U.push(ce._$),re=Tt[vt[vt.length-2]][vt[vt.length-1]],vt.push(re);break;case 3:return!0}}return!0}},bt=function(){var yt={EOF:1,parseError:function(ut,vt){if(this.yy.parser)this.yy.parser.parseError(ut,vt);else throw new Error(ut)},setInput:function(ft,ut){return this.yy=ut||this.yy||{},this._input=ft,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var ft=this._input[0];this.yytext+=ft,this.yyleng++,this.offset++,this.match+=ft,this.matched+=ft;var ut=ft.match(/(?:\r\n?|\n).*/g);return ut?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ft},unput:function(ft){var ut=ft.length,vt=ft.split(/(?:\r\n?|\n)/g);this._input=ft+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ut),this.offset-=ut;var X=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),vt.length-1&&(this.yylineno-=vt.length-1);var pt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:vt?(vt.length===X.length?this.yylloc.first_column:0)+X[X.length-vt.length].length-vt[0].length:this.yylloc.first_column-ut},this.options.ranges&&(this.yylloc.range=[pt[0],pt[0]+this.yyleng-ut]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ft){this.unput(this.match.slice(ft))},pastInput:function(){var ft=this.matched.substr(0,this.matched.length-this.match.length);return(ft.length>20?"...":"")+ft.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ft=this.match;return ft.length<20&&(ft+=this._input.substr(0,20-ft.length)),(ft.substr(0,20)+(ft.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ft=this.pastInput(),ut=new Array(ft.length+1).join("-");return ft+this.upcomingInput()+` +`+ut+"^"},test_match:function(ft,ut){var vt,X,pt;if(this.options.backtrack_lexer&&(pt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(pt.yylloc.range=this.yylloc.range.slice(0))),X=ft[0].match(/(?:\r\n?|\n).*/g),X&&(this.yylineno+=X.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:X?X[X.length-1].length-X[X.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ft[0].length},this.yytext+=ft[0],this.match+=ft[0],this.matches=ft,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(ft[0].length),this.matched+=ft[0],vt=this.performAction.call(this,this.yy,this,ut,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),vt)return vt;if(this._backtrack){for(var U in pt)this[U]=pt[U];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ft,ut,vt,X;this._more||(this.yytext="",this.match="");for(var pt=this._currentRules(),U=0;Uut[0].length)){if(ut=vt,X=U,this.options.backtrack_lexer){if(ft=this.test_match(vt,pt[U]),ft!==!1)return ft;if(this._backtrack){ut=!1;continue}else return!1}else if(!this.options.flex)break}return ut?(ft=this.test_match(ut,pt[X]),ft!==!1?ft:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ut=this.next();return ut||this.lex()},begin:function(ut){this.conditionStack.push(ut)},popState:function(){var ut=this.conditionStack.length-1;return ut>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ut){return ut=this.conditionStack.length-1-Math.abs(ut||0),ut>=0?this.conditionStack[ut]:"INITIAL"},pushState:function(ut){this.begin(ut)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ut,vt,X,pt){switch(X){case 0:return this.begin("acc_title"),19;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),21;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 13;case 8:break;case 9:break;case 10:return 5;case 11:return 39;case 12:return 32;case 13:return 37;case 14:return 41;case 15:return 42;case 16:return 43;case 17:return 44;case 18:return 34;case 19:return 28;case 20:return 29;case 21:return 36;case 22:return 31;case 23:return 26;case 24:return 9;case 25:return 9;case 26:return 8;case 27:return"CARET";case 28:this.begin("options");break;case 29:this.popState();break;case 30:return 12;case 31:return 35;case 32:this.begin("string");break;case 33:this.popState();break;case 34:return 33;case 35:return 30;case 36:return 45;case 37:return 7}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit(?=\s|$))/i,/^(?:id:)/i,/^(?:type:)/i,/^(?:msg:)/i,/^(?:NORMAL\b)/i,/^(?:REVERSE\b)/i,/^(?:HIGHLIGHT\b)/i,/^(?:tag:)/i,/^(?:branch(?=\s|$))/i,/^(?:order:)/i,/^(?:merge(?=\s|$))/i,/^(?:cherry-pick(?=\s|$))/i,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:TB\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:[ \r\n\t]+end\b)/i,/^(?:[\s\S]+(?=[ \r\n\t]+end))/i,/^(?:["]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[0-9]+(?=\s|$))/i,/^(?:\w([-\./\w]*[-\w])?)/i,/^(?:$)/i,/^(?:\s+)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},options:{rules:[29,30],inclusive:!1},string:{rules:[33,34],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,31,32,35,36,37,38],inclusive:!0}}};return yt}();at.lexer=bt;function mt(){this.yy={}}return mt.prototype=at,at.Parser=mt,new mt}();z0t.parser=z0t;const Nze=z0t;let MY=Oe().gitGraph.mainBranchName,Bze=Oe().gitGraph.mainBranchOrder,l1={},vg=null,AF={};AF[MY]={name:MY,order:Bze};let Nf={};Nf[MY]=vg;let J1=MY,BBt="LR",ET=0;function q0t(){return GIt({length:7})}function Rze(i,a){const f=Object.create(null);return i.reduce((p,w)=>{const m=a(w);return f[m]||(f[m]=!0,p.push(w)),p},[])}const jze=function(i){BBt=i};let RBt={};const $ze=function(i){Ut.debug("options str",i),i=i&&i.trim(),i=i||"{}";try{RBt=JSON.parse(i)}catch(a){Ut.error("error while parsing gitGraph options",a.message)}},zze=function(){return RBt},qze=function(i,a,f,p){Ut.debug("Entering commit:",i,a,f,p),a=Kr.sanitizeText(a,Oe()),i=Kr.sanitizeText(i,Oe()),p=Kr.sanitizeText(p,Oe());const w={id:a||ET+"-"+q0t(),message:i,seq:ET++,type:f||LF.NORMAL,tag:p||"",parents:vg==null?[]:[vg.id],branch:J1};vg=w,l1[w.id]=w,Nf[J1]=w.id,Ut.debug("in pushCommit "+w.id)},Hze=function(i,a){if(i=Kr.sanitizeText(i,Oe()),Nf[i]===void 0)Nf[i]=vg!=null?vg.id:null,AF[i]={name:i,order:a?parseInt(a,10):null},jBt(i),Ut.debug("in createBranch");else{let f=new Error('Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout '+i+'")');throw f.hash={text:"branch "+i,token:"branch "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+i+'"']},f}},Vze=function(i,a,f,p){i=Kr.sanitizeText(i,Oe()),a=Kr.sanitizeText(a,Oe());const w=l1[Nf[J1]],m=l1[Nf[i]];if(J1===i){let E=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},E}else if(w===void 0||!w){let E=new Error('Incorrect usage of "merge". Current branch ('+J1+")has no commits");throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["commit"]},E}else if(Nf[i]===void 0){let E=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") does not exist");throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch "+i]},E}else if(m===void 0||!m){let E=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") has no commits");throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"commit"']},E}else if(w===m){let E=new Error('Incorrect usage of "merge". Both branches have same head');throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},E}else if(a&&l1[a]!==void 0){let E=new Error('Incorrect usage of "merge". Commit with id:'+a+" already exists, use different custom Id");throw E.hash={text:"merge "+i+a+f+p,token:"merge "+i+a+f+p,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+i+" "+a+"_UNIQUE "+f+" "+p]},E}const b={id:a||ET+"-"+q0t(),message:"merged branch "+i+" into "+J1,seq:ET++,parents:[vg==null?null:vg.id,Nf[i]],branch:J1,type:LF.MERGE,customType:f,customId:!!a,tag:p||""};vg=b,l1[b.id]=b,Nf[J1]=b.id,Ut.debug(Nf),Ut.debug("in mergeBranch")},Gze=function(i,a,f){if(Ut.debug("Entering cherryPick:",i,a,f),i=Kr.sanitizeText(i,Oe()),a=Kr.sanitizeText(a,Oe()),f=Kr.sanitizeText(f,Oe()),!i||l1[i]===void 0){let m=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw m.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},m}let p=l1[i],w=p.branch;if(p.type===LF.MERGE){let m=new Error('Incorrect usage of "cherryPick". Source commit should not be a merge commit');throw m.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},m}if(!a||l1[a]===void 0){if(w===J1){let E=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw E.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},E}const m=l1[Nf[J1]];if(m===void 0||!m){let E=new Error('Incorrect usage of "cherry-pick". Current branch ('+J1+")has no commits");throw E.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},E}const b={id:ET+"-"+q0t(),message:"cherry-picked "+p+" into "+J1,seq:ET++,parents:[vg==null?null:vg.id,p.id],branch:J1,type:LF.CHERRY_PICK,tag:f??"cherry-pick:"+p.id};vg=b,l1[b.id]=b,Nf[J1]=b.id,Ut.debug(Nf),Ut.debug("in cherryPick")}},jBt=function(i){if(i=Kr.sanitizeText(i,Oe()),Nf[i]===void 0){let a=new Error('Trying to checkout branch which is not yet created. (Help try using "branch '+i+'")');throw a.hash={text:"checkout "+i,token:"checkout "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"branch '+i+'"']},a}else{J1=i;const a=Nf[J1];vg=l1[a]}};function $Bt(i,a,f){const p=i.indexOf(a);p===-1?i.push(f):i.splice(p,1,f)}function zBt(i){const a=i.reduce((w,m)=>w.seq>m.seq?w:m,i[0]);let f="";i.forEach(function(w){w===a?f+=" *":f+=" |"});const p=[f,a.id,a.seq];for(let w in Nf)Nf[w]===a.id&&p.push(w);if(Ut.debug(p.join(" ")),a.parents&&a.parents.length==2){const w=l1[a.parents[0]];$Bt(i,a,w),i.push(l1[a.parents[1]])}else{if(a.parents.length==0)return;{const w=l1[a.parents];$Bt(i,a,w)}}i=Rze(i,w=>w.id),zBt(i)}const Uze=function(){Ut.debug(l1);const i=qBt()[0];zBt([i])},Wze=function(){l1={},vg=null;let i=Oe().gitGraph.mainBranchName,a=Oe().gitGraph.mainBranchOrder;Nf={},Nf[i]=null,AF={},AF[i]={name:i,order:a},J1=i,ET=0,hg()},Yze=function(){return Object.values(AF).map((a,f)=>a.order!==null?a:{...a,order:parseFloat(`0.${f}`,10)}).sort((a,f)=>a.order-f.order).map(({name:a})=>({name:a}))},Kze=function(){return Nf},Xze=function(){return l1},qBt=function(){const i=Object.keys(l1).map(function(a){return l1[a]});return i.forEach(function(a){Ut.debug(a.id)}),i.sort((a,f)=>a.seq-f.seq),i},Qze=function(){return J1},Zze=function(){return BBt},Jze=function(){return vg},LF={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},tqe={getConfig:()=>Oe().gitGraph,setDirection:jze,setOptions:$ze,getOptions:zze,commit:qze,branch:Hze,merge:Vze,cherryPick:Gze,checkout:jBt,prettyPrint:Uze,clear:Wze,getBranchesAsObjArray:Yze,getBranches:Kze,getCommits:Xze,getCommitsArray:qBt,getCurrentBranch:Qze,getDirection:Zze,getHead:Jze,setAccTitle:E0,getAccTitle:fg,getAccDescription:gg,setAccDescription:dg,setDiagramTitle:Nb,getDiagramTitle:pg,commitType:LF};let MF={};const $b={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},TT=8;let td={},DF={},DY=[],IF=0,C0="LR";const eqe=()=>{td={},DF={},MF={},IF=0,DY=[],C0="LR"},HBt=i=>{const a=document.createElementNS("http://www.w3.org/2000/svg","text");let f=[];typeof i=="string"?f=i.split(/\\n|\n|/gi):Array.isArray(i)?f=i:f=[];for(const p of f){const w=document.createElementNS("http://www.w3.org/2000/svg","tspan");w.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),w.setAttribute("dy","1em"),w.setAttribute("x","0"),w.setAttribute("class","row"),w.textContent=p.trim(),a.appendChild(w)}return a},VBt=(i,a,f)=>{const p=Oe().gitGraph,w=i.append("g").attr("class","commit-bullets"),m=i.append("g").attr("class","commit-labels");let b=0;C0==="TB"&&(b=30),Object.keys(a).sort((A,I)=>a[A].seq-a[I].seq).forEach(A=>{const I=a[A],B=C0==="TB"?b+10:td[I.branch].pos,N=C0==="TB"?td[I.branch].pos:b+10;if(f){let R,z=I.customType!==void 0&&I.customType!==""?I.customType:I.type;switch(z){case $b.NORMAL:R="commit-normal";break;case $b.REVERSE:R="commit-reverse";break;case $b.HIGHLIGHT:R="commit-highlight";break;case $b.MERGE:R="commit-merge";break;case $b.CHERRY_PICK:R="commit-cherry-pick";break;default:R="commit-normal"}if(z===$b.HIGHLIGHT){const W=w.append("rect");W.attr("x",N-10),W.attr("y",B-10),W.attr("height",20),W.attr("width",20),W.attr("class",`commit ${I.id} commit-highlight${td[I.branch].index%TT} ${R}-outer`),w.append("rect").attr("x",N-6).attr("y",B-6).attr("height",12).attr("width",12).attr("class",`commit ${I.id} commit${td[I.branch].index%TT} ${R}-inner`)}else if(z===$b.CHERRY_PICK)w.append("circle").attr("cx",N).attr("cy",B).attr("r",10).attr("class",`commit ${I.id} ${R}`),w.append("circle").attr("cx",N-3).attr("cy",B+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${I.id} ${R}`),w.append("circle").attr("cx",N+3).attr("cy",B+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${I.id} ${R}`),w.append("line").attr("x1",N+3).attr("y1",B+1).attr("x2",N).attr("y2",B-5).attr("stroke","#fff").attr("class",`commit ${I.id} ${R}`),w.append("line").attr("x1",N-3).attr("y1",B+1).attr("x2",N).attr("y2",B-5).attr("stroke","#fff").attr("class",`commit ${I.id} ${R}`);else{const W=w.append("circle");if(W.attr("cx",N),W.attr("cy",B),W.attr("r",I.type===$b.MERGE?9:10),W.attr("class",`commit ${I.id} commit${td[I.branch].index%TT}`),z===$b.MERGE){const et=w.append("circle");et.attr("cx",N),et.attr("cy",B),et.attr("r",6),et.attr("class",`commit ${R} ${I.id} commit${td[I.branch].index%TT}`)}z===$b.REVERSE&&w.append("path").attr("d",`M ${N-5},${B-5}L${N+5},${B+5}M${N-5},${B+5}L${N+5},${B-5}`).attr("class",`commit ${R} ${I.id} commit${td[I.branch].index%TT}`)}}if(C0==="TB"?DF[I.id]={x:N,y:b+10}:DF[I.id]={x:b+10,y:B},f){if(I.type!==$b.CHERRY_PICK&&(I.customId&&I.type===$b.MERGE||I.type!==$b.MERGE)&&p.showCommitLabel){const W=m.append("g"),et=W.insert("rect").attr("class","commit-label-bkg"),st=W.append("text").attr("x",b).attr("y",B+25).attr("class","commit-label").text(I.id);let at=st.node().getBBox();if(et.attr("x",b+10-at.width/2-2).attr("y",B+13.5).attr("width",at.width+2*2).attr("height",at.height+2*2),C0==="TB"&&(et.attr("x",N-(at.width+4*4+5)).attr("y",B-12),st.attr("x",N-(at.width+4*4)).attr("y",B+at.height-12)),C0!=="TB"&&st.attr("x",b+10-at.width/2),p.rotateCommitLabel)if(C0==="TB")st.attr("transform","rotate(-45, "+N+", "+B+")"),et.attr("transform","rotate(-45, "+N+", "+B+")");else{let bt=-7.5-(at.width+10)/25*9.5,mt=10+at.width/25*8.5;W.attr("transform","translate("+bt+", "+mt+") rotate(-45, "+b+", "+B+")")}}if(I.tag){const W=m.insert("polygon"),et=m.append("circle"),st=m.append("text").attr("y",B-16).attr("class","tag-label").text(I.tag);let at=st.node().getBBox();st.attr("x",b+10-at.width/2);const bt=at.height/2,mt=B-19.2;W.attr("class","tag-label-bkg").attr("points",` + ${b-at.width/2-4/2},${mt+2} + ${b-at.width/2-4/2},${mt-2} + ${b+10-at.width/2-4},${mt-bt-2} + ${b+10+at.width/2+4},${mt-bt-2} + ${b+10+at.width/2+4},${mt+bt+2} + ${b+10-at.width/2-4},${mt+bt+2}`),et.attr("cx",b-at.width/2+4/2).attr("cy",mt).attr("r",1.5).attr("class","tag-hole"),C0==="TB"&&(W.attr("class","tag-label-bkg").attr("points",` + ${N},${b+2} + ${N},${b-2} + ${N+10},${b-bt-2} + ${N+10+at.width+4},${b-bt-2} + ${N+10+at.width+4},${b+bt+2} + ${N+10},${b+bt+2}`).attr("transform","translate(12,12) rotate(45, "+N+","+b+")"),et.attr("cx",N+4/2).attr("cy",b).attr("transform","translate(12,12) rotate(45, "+N+","+b+")"),st.attr("x",N+5).attr("y",b+3).attr("transform","translate(14,14) rotate(45, "+N+","+b+")"))}}b+=50,b>IF&&(IF=b)})},nqe=(i,a,f)=>Object.keys(f).filter(m=>f[m].branch===a.branch&&f[m].seq>i.seq&&f[m].seq0,OF=(i,a,f=0)=>{const p=i+Math.abs(i-a)/2;if(f>5)return p;if(DY.every(b=>Math.abs(b-p)>=10))return DY.push(p),p;const m=Math.abs(i-a);return OF(i,a-m/5,f+1)},rqe=(i,a,f,p)=>{const w=DF[a.id],m=DF[f.id],b=nqe(a,f,p);let E="",_="",A=0,I=0,B=td[f.branch].index,N;if(b){E="A 10 10, 0, 0, 0,",_="A 10 10, 0, 0, 1,",A=10,I=10,B=td[f.branch].index;const R=w.ym.x&&(E="A 20 20, 0, 0, 0,",_="A 20 20, 0, 0, 1,",A=20,I=20,B=td[a.branch].index,N=`M ${w.x} ${w.y} L ${w.x} ${m.y-A} ${_} ${w.x-I} ${m.y} L ${m.x} ${m.y}`),w.x===m.x&&(B=td[a.branch].index,N=`M ${w.x} ${w.y} L ${w.x+A} ${w.y} ${E} ${w.x+I} ${m.y+A} L ${m.x} ${m.y}`)):(w.ym.y&&(E="A 20 20, 0, 0, 0,",A=20,I=20,B=td[a.branch].index,N=`M ${w.x} ${w.y} L ${m.x-A} ${w.y} ${E} ${m.x} ${w.y-I} L ${m.x} ${m.y}`),w.y===m.y&&(B=td[a.branch].index,N=`M ${w.x} ${w.y} L ${w.x} ${m.y-A} ${E} ${w.x+I} ${m.y} L ${m.x} ${m.y}`));i.append("path").attr("d",N).attr("class","arrow arrow"+B%TT)},iqe=(i,a)=>{const f=i.append("g").attr("class","commit-arrows");Object.keys(a).forEach(p=>{const w=a[p];w.parents&&w.parents.length>0&&w.parents.forEach(m=>{rqe(f,a[m],w,a)})})},sqe=(i,a)=>{const f=Oe().gitGraph,p=i.append("g");a.forEach((w,m)=>{const b=m%TT,E=td[w.name].pos,_=p.append("line");_.attr("x1",0),_.attr("y1",E),_.attr("x2",IF),_.attr("y2",E),_.attr("class","branch branch"+b),C0==="TB"&&(_.attr("y1",30),_.attr("x1",E),_.attr("y2",IF),_.attr("x2",E)),DY.push(E);let A=w.name;const I=HBt(A),B=p.insert("rect"),R=p.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+b);R.node().appendChild(I);let z=I.getBBox();B.attr("class","branchLabelBkg label"+b).attr("rx",4).attr("ry",4).attr("x",-z.width-4-(f.rotateCommitLabel===!0?30:0)).attr("y",-z.height/2+8).attr("width",z.width+18).attr("height",z.height+4),R.attr("transform","translate("+(-z.width-14-(f.rotateCommitLabel===!0?30:0))+", "+(E-z.height/2-1)+")"),C0==="TB"&&(B.attr("x",E-z.width/2-10).attr("y",0),R.attr("transform","translate("+(E-z.width/2-5)+", 0)")),C0!=="TB"&&B.attr("transform","translate(-19, "+(E-z.height/2)+")")})},aqe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Nze,db:tqe,renderer:{draw:function(i,a,f,p){eqe();const w=Oe(),m=w.gitGraph;Ut.debug("in gitgraph renderer",i+` +`,"id:",a,f),MF=p.db.getCommits();const b=p.db.getBranchesAsObjArray();C0=p.db.getDirection();const E=yr(`[id="${a}"]`);let _=0;b.forEach((A,I)=>{const B=HBt(A.name),N=E.append("g"),R=N.insert("g").attr("class","branchLabel"),z=R.insert("g").attr("class","label branch-label");z.node().appendChild(B);let W=B.getBBox();td[A.name]={pos:_,index:I},_+=50+(m.rotateCommitLabel?40:0)+(C0==="TB"?W.width/2:0),z.remove(),R.remove(),N.remove()}),VBt(E,MF,!1),m.showBranches&&sqe(E,b),iqe(E,MF),VBt(E,MF,!0),$a.insertTitle(E,"gitTitleText",m.titleTopMargin,p.db.getDiagramTitle()),AOt(void 0,E,m.diagramPadding,m.useMaxWidth??w.useMaxWidth)}},styles:i=>` + .commit-id, + .commit-msg, + .branch-label { + fill: lightgrey; + color: lightgrey; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + ${[0,1,2,3,4,5,6,7].map(a=>` + .branch-label${a} { fill: ${i["gitBranchLabel"+a]}; } + .commit${a} { stroke: ${i["git"+a]}; fill: ${i["git"+a]}; } + .commit-highlight${a} { stroke: ${i["gitInv"+a]}; fill: ${i["gitInv"+a]}; } + .label${a} { fill: ${i["git"+a]}; } + .arrow${a} { stroke: ${i["git"+a]}; } + `).join(` +`)} + + .branch { + stroke-width: 1; + stroke: ${i.lineColor}; + stroke-dasharray: 2; + } + .commit-label { font-size: ${i.commitLabelFontSize}; fill: ${i.commitLabelColor};} + .commit-label-bkg { font-size: ${i.commitLabelFontSize}; fill: ${i.commitLabelBackground}; opacity: 0.5; } + .tag-label { font-size: ${i.tagLabelFontSize}; fill: ${i.tagLabelColor};} + .tag-label-bkg { fill: ${i.tagLabelBackground}; stroke: ${i.tagLabelBorder}; } + .tag-hole { fill: ${i.textColor}; } + + .commit-merge { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + } + .commit-reverse { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + stroke-width: 3; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + } + + .arrow { stroke-width: 8; stroke-linecap: round; fill: none} + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } +`}},Symbol.toStringTag,{value:"Module"}));var H0t=function(){var i=function(U,Tt,nt,It){for(nt=nt||{},It=U.length;It--;nt[U[It]]=Tt);return nt},a=[6,8,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,35,37],f=[1,25],p=[1,26],w=[1,27],m=[1,28],b=[1,29],E=[1,30],_=[1,31],A=[1,9],I=[1,10],B=[1,11],N=[1,12],R=[1,13],z=[1,14],W=[1,15],et=[1,16],st=[1,18],at=[1,19],bt=[1,20],mt=[1,21],yt=[1,22],ft=[1,24],ut=[1,32],vt={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,dateFormat:19,inclusiveEndDates:20,topAxis:21,axisFormat:22,tickInterval:23,excludes:24,includes:25,todayMarker:26,title:27,acc_title:28,acc_title_value:29,acc_descr:30,acc_descr_value:31,acc_descr_multiline_value:32,section:33,clickStatement:34,taskTxt:35,taskData:36,click:37,callbackname:38,callbackargs:39,href:40,clickStatementDebug:41,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",19:"dateFormat",20:"inclusiveEndDates",21:"topAxis",22:"axisFormat",23:"tickInterval",24:"excludes",25:"includes",26:"todayMarker",27:"title",28:"acc_title",29:"acc_title_value",30:"acc_descr",31:"acc_descr_value",32:"acc_descr_multiline_value",33:"section",35:"taskTxt",36:"taskData",37:"click",38:"callbackname",39:"callbackargs",40:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[34,2],[34,3],[34,3],[34,4],[34,3],[34,4],[34,2],[41,2],[41,3],[41,3],[41,4],[41,3],[41,4],[41,2]],performAction:function(Tt,nt,It,Ot,Bt,Et,Z){var Ct=Et.length-1;switch(Bt){case 1:return Et[Ct-1];case 2:this.$=[];break;case 3:Et[Ct-1].push(Et[Ct]),this.$=Et[Ct-1];break;case 4:case 5:this.$=Et[Ct];break;case 6:case 7:this.$=[];break;case 8:Ot.setWeekday("monday");break;case 9:Ot.setWeekday("tuesday");break;case 10:Ot.setWeekday("wednesday");break;case 11:Ot.setWeekday("thursday");break;case 12:Ot.setWeekday("friday");break;case 13:Ot.setWeekday("saturday");break;case 14:Ot.setWeekday("sunday");break;case 15:Ot.setDateFormat(Et[Ct].substr(11)),this.$=Et[Ct].substr(11);break;case 16:Ot.enableInclusiveEndDates(),this.$=Et[Ct].substr(18);break;case 17:Ot.TopAxis(),this.$=Et[Ct].substr(8);break;case 18:Ot.setAxisFormat(Et[Ct].substr(11)),this.$=Et[Ct].substr(11);break;case 19:Ot.setTickInterval(Et[Ct].substr(13)),this.$=Et[Ct].substr(13);break;case 20:Ot.setExcludes(Et[Ct].substr(9)),this.$=Et[Ct].substr(9);break;case 21:Ot.setIncludes(Et[Ct].substr(9)),this.$=Et[Ct].substr(9);break;case 22:Ot.setTodayMarker(Et[Ct].substr(12)),this.$=Et[Ct].substr(12);break;case 24:Ot.setDiagramTitle(Et[Ct].substr(6)),this.$=Et[Ct].substr(6);break;case 25:this.$=Et[Ct].trim(),Ot.setAccTitle(this.$);break;case 26:case 27:this.$=Et[Ct].trim(),Ot.setAccDescription(this.$);break;case 28:Ot.addSection(Et[Ct].substr(8)),this.$=Et[Ct].substr(8);break;case 30:Ot.addTask(Et[Ct-1],Et[Ct]),this.$="task";break;case 31:this.$=Et[Ct-1],Ot.setClickEvent(Et[Ct-1],Et[Ct],null);break;case 32:this.$=Et[Ct-2],Ot.setClickEvent(Et[Ct-2],Et[Ct-1],Et[Ct]);break;case 33:this.$=Et[Ct-2],Ot.setClickEvent(Et[Ct-2],Et[Ct-1],null),Ot.setLink(Et[Ct-2],Et[Ct]);break;case 34:this.$=Et[Ct-3],Ot.setClickEvent(Et[Ct-3],Et[Ct-2],Et[Ct-1]),Ot.setLink(Et[Ct-3],Et[Ct]);break;case 35:this.$=Et[Ct-2],Ot.setClickEvent(Et[Ct-2],Et[Ct],null),Ot.setLink(Et[Ct-2],Et[Ct-1]);break;case 36:this.$=Et[Ct-3],Ot.setClickEvent(Et[Ct-3],Et[Ct-1],Et[Ct]),Ot.setLink(Et[Ct-3],Et[Ct-2]);break;case 37:this.$=Et[Ct-1],Ot.setLink(Et[Ct-1],Et[Ct]);break;case 38:case 44:this.$=Et[Ct-1]+" "+Et[Ct];break;case 39:case 40:case 42:this.$=Et[Ct-2]+" "+Et[Ct-1]+" "+Et[Ct];break;case 41:case 43:this.$=Et[Ct-3]+" "+Et[Ct-2]+" "+Et[Ct-1]+" "+Et[Ct];break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:f,13:p,14:w,15:m,16:b,17:E,18:_,19:A,20:I,21:B,22:N,23:R,24:z,25:W,26:et,27:st,28:at,30:bt,32:mt,33:yt,34:23,35:ft,37:ut},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:33,11:17,12:f,13:p,14:w,15:m,16:b,17:E,18:_,19:A,20:I,21:B,22:N,23:R,24:z,25:W,26:et,27:st,28:at,30:bt,32:mt,33:yt,34:23,35:ft,37:ut},i(a,[2,5]),i(a,[2,6]),i(a,[2,15]),i(a,[2,16]),i(a,[2,17]),i(a,[2,18]),i(a,[2,19]),i(a,[2,20]),i(a,[2,21]),i(a,[2,22]),i(a,[2,23]),i(a,[2,24]),{29:[1,34]},{31:[1,35]},i(a,[2,27]),i(a,[2,28]),i(a,[2,29]),{36:[1,36]},i(a,[2,8]),i(a,[2,9]),i(a,[2,10]),i(a,[2,11]),i(a,[2,12]),i(a,[2,13]),i(a,[2,14]),{38:[1,37],40:[1,38]},i(a,[2,4]),i(a,[2,25]),i(a,[2,26]),i(a,[2,30]),i(a,[2,31],{39:[1,39],40:[1,40]}),i(a,[2,37],{38:[1,41]}),i(a,[2,32],{40:[1,42]}),i(a,[2,33]),i(a,[2,35],{39:[1,43]}),i(a,[2,34]),i(a,[2,36])],defaultActions:{},parseError:function(Tt,nt){if(nt.recoverable)this.trace(Tt);else{var It=new Error(Tt);throw It.hash=nt,It}},parse:function(Tt){var nt=this,It=[0],Ot=[],Bt=[null],Et=[],Z=this.table,Ct="",xt=0,Ht=0,Le=2,Ft=1,gn=Et.slice.call(arguments,1),Se=Object.create(this.lexer),me={yy:{}};for(var Ve in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ve)&&(me.yy[Ve]=this.yy[Ve]);Se.setInput(Tt,me.yy),me.yy.lexer=Se,me.yy.parser=this,typeof Se.yylloc>"u"&&(Se.yylloc={});var Ye=Se.yylloc;Et.push(Ye);var ce=Se.options&&Se.options.ranges;typeof me.yy.parseError=="function"?this.parseError=me.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ke(){var ws;return ws=Ot.pop()||Se.lex()||Ft,typeof ws!="number"&&(ws instanceof Array&&(Ot=ws,ws=Ot.pop()),ws=nt.symbols_[ws]||ws),ws}for(var zt,re,se,Pe,te={},Me,de,on,ni;;){if(re=It[It.length-1],this.defaultActions[re]?se=this.defaultActions[re]:((zt===null||typeof zt>"u")&&(zt=ke()),se=Z[re]&&Z[re][zt]),typeof se>"u"||!se.length||!se[0]){var Ks="";ni=[];for(Me in Z[re])this.terminals_[Me]&&Me>Le&&ni.push("'"+this.terminals_[Me]+"'");Se.showPosition?Ks="Parse error on line "+(xt+1)+`: +`+Se.showPosition()+` +Expecting `+ni.join(", ")+", got '"+(this.terminals_[zt]||zt)+"'":Ks="Parse error on line "+(xt+1)+": Unexpected "+(zt==Ft?"end of input":"'"+(this.terminals_[zt]||zt)+"'"),this.parseError(Ks,{text:Se.match,token:this.terminals_[zt]||zt,line:Se.yylineno,loc:Ye,expected:ni})}if(se[0]instanceof Array&&se.length>1)throw new Error("Parse Error: multiple actions possible at state: "+re+", token: "+zt);switch(se[0]){case 1:It.push(zt),Bt.push(Se.yytext),Et.push(Se.yylloc),It.push(se[1]),zt=null,Ht=Se.yyleng,Ct=Se.yytext,xt=Se.yylineno,Ye=Se.yylloc;break;case 2:if(de=this.productions_[se[1]][1],te.$=Bt[Bt.length-de],te._$={first_line:Et[Et.length-(de||1)].first_line,last_line:Et[Et.length-1].last_line,first_column:Et[Et.length-(de||1)].first_column,last_column:Et[Et.length-1].last_column},ce&&(te._$.range=[Et[Et.length-(de||1)].range[0],Et[Et.length-1].range[1]]),Pe=this.performAction.apply(te,[Ct,Ht,xt,me.yy,se[1],Bt,Et].concat(gn)),typeof Pe<"u")return Pe;de&&(It=It.slice(0,-1*de*2),Bt=Bt.slice(0,-1*de),Et=Et.slice(0,-1*de)),It.push(this.productions_[se[1]][0]),Bt.push(te.$),Et.push(te._$),on=Z[It[It.length-2]][It[It.length-1]],It.push(on);break;case 3:return!0}}return!0}},X=function(){var U={EOF:1,parseError:function(nt,It){if(this.yy.parser)this.yy.parser.parseError(nt,It);else throw new Error(nt)},setInput:function(Tt,nt){return this.yy=nt||this.yy||{},this._input=Tt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Tt=this._input[0];this.yytext+=Tt,this.yyleng++,this.offset++,this.match+=Tt,this.matched+=Tt;var nt=Tt.match(/(?:\r\n?|\n).*/g);return nt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Tt},unput:function(Tt){var nt=Tt.length,It=Tt.split(/(?:\r\n?|\n)/g);this._input=Tt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-nt),this.offset-=nt;var Ot=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),It.length-1&&(this.yylineno-=It.length-1);var Bt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:It?(It.length===Ot.length?this.yylloc.first_column:0)+Ot[Ot.length-It.length].length-It[0].length:this.yylloc.first_column-nt},this.options.ranges&&(this.yylloc.range=[Bt[0],Bt[0]+this.yyleng-nt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Tt){this.unput(this.match.slice(Tt))},pastInput:function(){var Tt=this.matched.substr(0,this.matched.length-this.match.length);return(Tt.length>20?"...":"")+Tt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Tt=this.match;return Tt.length<20&&(Tt+=this._input.substr(0,20-Tt.length)),(Tt.substr(0,20)+(Tt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Tt=this.pastInput(),nt=new Array(Tt.length+1).join("-");return Tt+this.upcomingInput()+` +`+nt+"^"},test_match:function(Tt,nt){var It,Ot,Bt;if(this.options.backtrack_lexer&&(Bt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Bt.yylloc.range=this.yylloc.range.slice(0))),Ot=Tt[0].match(/(?:\r\n?|\n).*/g),Ot&&(this.yylineno+=Ot.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ot?Ot[Ot.length-1].length-Ot[Ot.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Tt[0].length},this.yytext+=Tt[0],this.match+=Tt[0],this.matches=Tt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Tt[0].length),this.matched+=Tt[0],It=this.performAction.call(this,this.yy,this,nt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),It)return It;if(this._backtrack){for(var Et in Bt)this[Et]=Bt[Et];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Tt,nt,It,Ot;this._more||(this.yytext="",this.match="");for(var Bt=this._currentRules(),Et=0;Etnt[0].length)){if(nt=It,Ot=Et,this.options.backtrack_lexer){if(Tt=this.test_match(It,Bt[Et]),Tt!==!1)return Tt;if(this._backtrack){nt=!1;continue}else return!1}else if(!this.options.flex)break}return nt?(Tt=this.test_match(nt,Bt[Ot]),Tt!==!1?Tt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var nt=this.next();return nt||this.lex()},begin:function(nt){this.conditionStack.push(nt)},popState:function(){var nt=this.conditionStack.length-1;return nt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(nt){return nt=this.conditionStack.length-1-Math.abs(nt||0),nt>=0?this.conditionStack[nt]:"INITIAL"},pushState:function(nt){this.begin(nt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(nt,It,Ot,Bt){switch(Ot){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),28;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),30;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:break;case 15:this.begin("href");break;case 16:this.popState();break;case 17:return 40;case 18:this.begin("callbackname");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callbackargs");break;case 21:return 38;case 22:this.popState();break;case 23:return 39;case 24:this.begin("click");break;case 25:this.popState();break;case 26:return 37;case 27:return 4;case 28:return 19;case 29:return 20;case 30:return 21;case 31:return 22;case 32:return 23;case 33:return 25;case 34:return 24;case 35:return 26;case 36:return 12;case 37:return 13;case 38:return 14;case 39:return 15;case 40:return 16;case 41:return 17;case 42:return 18;case 43:return"date";case 44:return 27;case 45:return"accDescription";case 46:return 33;case 47:return 35;case 48:return 36;case 49:return":";case 50:return 6;case 51:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[22,23],inclusive:!1},callbackname:{rules:[19,20,21],inclusive:!1},href:{rules:[16,17],inclusive:!1},click:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,18,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return U}();vt.lexer=X;function pt(){this.yy={}}return pt.prototype=vt,vt.Parser=pt,new pt}();H0t.parser=H0t;const oqe=H0t;var GBt={exports:{}};(function(i,a){(function(f,p){i.exports=p()})(b0,function(){var f="day";return function(p,w,m){var b=function(A){return A.add(4-A.isoWeekday(),f)},E=w.prototype;E.isoWeekYear=function(){return b(this).year()},E.isoWeek=function(A){if(!this.$utils().u(A))return this.add(7*(A-this.isoWeek()),f);var I,B,N,R,z=b(this),W=(I=this.isoWeekYear(),B=this.$u,N=(B?m.utc:m)().year(I).startOf("year"),R=4-N.isoWeekday(),N.isoWeekday()>4&&(R+=7),N.add(R,f));return z.diff(W,"week")+1},E.isoWeekday=function(A){return this.$utils().u(A)?this.day()||7:this.day(this.day()%7?A:A-7)};var _=E.startOf;E.startOf=function(A,I){var B=this.$utils(),N=!!B.u(I)||I;return B.p(A)==="isoweek"?N?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):_.bind(this)(A,I)}}})})(GBt);var cqe=GBt.exports;const uqe=G7(cqe);var UBt={exports:{}};(function(i,a){(function(f,p){i.exports=p()})(b0,function(){var f={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},p=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,w=/\d\d/,m=/\d\d?/,b=/\d*[^-_:/,()\s\d]+/,E={},_=function(W){return(W=+W)+(W>68?1900:2e3)},A=function(W){return function(et){this[W]=+et}},I=[/[+-]\d\d:?(\d\d)?|Z/,function(W){(this.zone||(this.zone={})).offset=function(et){if(!et||et==="Z")return 0;var st=et.match(/([+-]|\d\d)/g),at=60*st[1]+(+st[2]||0);return at===0?0:st[0]==="+"?-at:at}(W)}],B=function(W){var et=E[W];return et&&(et.indexOf?et:et.s.concat(et.f))},N=function(W,et){var st,at=E.meridiem;if(at){for(var bt=1;bt<=24;bt+=1)if(W.indexOf(at(bt,0,et))>-1){st=bt>12;break}}else st=W===(et?"pm":"PM");return st},R={A:[b,function(W){this.afternoon=N(W,!1)}],a:[b,function(W){this.afternoon=N(W,!0)}],S:[/\d/,function(W){this.milliseconds=100*+W}],SS:[w,function(W){this.milliseconds=10*+W}],SSS:[/\d{3}/,function(W){this.milliseconds=+W}],s:[m,A("seconds")],ss:[m,A("seconds")],m:[m,A("minutes")],mm:[m,A("minutes")],H:[m,A("hours")],h:[m,A("hours")],HH:[m,A("hours")],hh:[m,A("hours")],D:[m,A("day")],DD:[w,A("day")],Do:[b,function(W){var et=E.ordinal,st=W.match(/\d+/);if(this.day=st[0],et)for(var at=1;at<=31;at+=1)et(at).replace(/\[|\]/g,"")===W&&(this.day=at)}],M:[m,A("month")],MM:[w,A("month")],MMM:[b,function(W){var et=B("months"),st=(B("monthsShort")||et.map(function(at){return at.slice(0,3)})).indexOf(W)+1;if(st<1)throw new Error;this.month=st%12||st}],MMMM:[b,function(W){var et=B("months").indexOf(W)+1;if(et<1)throw new Error;this.month=et%12||et}],Y:[/[+-]?\d+/,A("year")],YY:[w,function(W){this.year=_(W)}],YYYY:[/\d{4}/,A("year")],Z:I,ZZ:I};function z(W){var et,st;et=W,st=E&&E.formats;for(var at=(W=et.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(X,pt,U){var Tt=U&&U.toUpperCase();return pt||st[U]||f[U]||st[Tt].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(nt,It,Ot){return It||Ot.slice(1)})})).match(p),bt=at.length,mt=0;mt-1)return new Date((Et==="X"?1e3:1)*Bt);var Ct=z(Et)(Bt),xt=Ct.year,Ht=Ct.month,Le=Ct.day,Ft=Ct.hours,gn=Ct.minutes,Se=Ct.seconds,me=Ct.milliseconds,Ve=Ct.zone,Ye=new Date,ce=Le||(xt||Ht?1:Ye.getDate()),ke=xt||Ye.getFullYear(),zt=0;xt&&!Ht||(zt=Ht>0?Ht-1:Ye.getMonth());var re=Ft||0,se=gn||0,Pe=Se||0,te=me||0;return Ve?new Date(Date.UTC(ke,zt,ce,re,se,Pe,te+60*Ve.offset*1e3)):Z?new Date(Date.UTC(ke,zt,ce,re,se,Pe,te)):new Date(ke,zt,ce,re,se,Pe,te)}catch{return new Date("")}}(yt,vt,ft),this.init(),Tt&&Tt!==!0&&(this.$L=this.locale(Tt).$L),U&&yt!=this.format(vt)&&(this.$d=new Date("")),E={}}else if(vt instanceof Array)for(var nt=vt.length,It=1;It<=nt;It+=1){ut[1]=vt[It-1];var Ot=st.apply(this,ut);if(Ot.isValid()){this.$d=Ot.$d,this.$L=Ot.$L,this.init();break}It===nt&&(this.$d=new Date(""))}else bt.call(this,mt)}}})})(UBt);var lqe=UBt.exports;const hqe=G7(lqe);var WBt={exports:{}};(function(i,a){(function(f,p){i.exports=p()})(b0,function(){return function(f,p){var w=p.prototype,m=w.format;w.format=function(b){var E=this,_=this.$locale();if(!this.isValid())return m.bind(this)(b);var A=this.$utils(),I=(b||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(B){switch(B){case"Q":return Math.ceil((E.$M+1)/3);case"Do":return _.ordinal(E.$D);case"gggg":return E.weekYear();case"GGGG":return E.isoWeekYear();case"wo":return _.ordinal(E.week(),"W");case"w":case"ww":return A.s(E.week(),B==="w"?1:2,"0");case"W":case"WW":return A.s(E.isoWeek(),B==="W"?1:2,"0");case"k":case"kk":return A.s(String(E.$H===0?24:E.$H),B==="k"?1:2,"0");case"X":return Math.floor(E.$d.getTime()/1e3);case"x":return E.$d.getTime();case"z":return"["+E.offsetName()+"]";case"zzz":return"["+E.offsetName("long")+"]";default:return B}});return m.bind(this)(I)}}})})(WBt);var fqe=WBt.exports;const dqe=G7(fqe);w0.extend(uqe),w0.extend(hqe),w0.extend(dqe);let x3="",V0t="",G0t,U0t="",PF=[],FF=[],W0t={},Y0t=[],IY=[],uL="",K0t="";const YBt=["active","done","crit","milestone"];let X0t=[],NF=!1,Q0t=!1,Z0t="sunday",J0t=0;const gqe=function(){Y0t=[],IY=[],uL="",X0t=[],OY=0,egt=void 0,PY=void 0,h1=[],x3="",V0t="",K0t="",G0t=void 0,U0t="",PF=[],FF=[],NF=!1,Q0t=!1,J0t=0,W0t={},hg(),Z0t="sunday"},pqe=function(i){V0t=i},bqe=function(){return V0t},wqe=function(i){G0t=i},vqe=function(){return G0t},mqe=function(i){U0t=i},yqe=function(){return U0t},xqe=function(i){x3=i},kqe=function(){NF=!0},Eqe=function(){return NF},Tqe=function(){Q0t=!0},Cqe=function(){return Q0t},_qe=function(i){K0t=i},Sqe=function(){return K0t},Aqe=function(){return x3},Lqe=function(i){PF=i.toLowerCase().split(/[\s,]+/)},Mqe=function(){return PF},Dqe=function(i){FF=i.toLowerCase().split(/[\s,]+/)},Iqe=function(){return FF},Oqe=function(){return W0t},Pqe=function(i){uL=i,Y0t.push(i)},Fqe=function(){return Y0t},Nqe=function(){let i=tRt();const a=10;let f=0;for(;!i&&f=6&&f.includes("weekends")||f.includes(i.format("dddd").toLowerCase())?!0:f.includes(i.format(a.trim()))},Bqe=function(i){Z0t=i},Rqe=function(){return Z0t},XBt=function(i,a,f,p){if(!f.length||i.manualEndTime)return;let w;i.startTime instanceof Date?w=w0(i.startTime):w=w0(i.startTime,a,!0),w=w.add(1,"d");let m;i.endTime instanceof Date?m=w0(i.endTime):m=w0(i.endTime,a,!0);const[b,E]=jqe(w,m,a,f,p);i.endTime=b.toDate(),i.renderEndTime=E},jqe=function(i,a,f,p,w){let m=!1,b=null;for(;i<=a;)m||(b=a.toDate()),m=KBt(i,f,p,w),m&&(a=a.add(1,"d")),i=i.add(1,"d");return[a,b]},tgt=function(i,a,f){f=f.trim();const w=/^after\s+([\d\w- ]+)/.exec(f.trim());if(w!==null){let b=null;if(w[1].split(" ").forEach(function(E){let _=hL(E);_!==void 0&&(b?_.endTime>b.endTime&&(b=_):b=_)}),b)return b.endTime;{const E=new Date;return E.setHours(0,0,0,0),E}}let m=w0(f,a.trim(),!0);if(m.isValid())return m.toDate();{Ut.debug("Invalid date:"+f),Ut.debug("With date format:"+a.trim());const b=new Date(f);if(b===void 0||isNaN(b.getTime())||b.getFullYear()<-1e4||b.getFullYear()>1e4)throw new Error("Invalid date:"+f);return b}},QBt=function(i){const a=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(i.trim());return a!==null?[Number.parseFloat(a[1]),a[2]]:[NaN,"ms"]},ZBt=function(i,a,f,p=!1){f=f.trim();let w=w0(f,a.trim(),!0);if(w.isValid())return p&&(w=w.add(1,"d")),w.toDate();let m=w0(i);const[b,E]=QBt(f);if(!Number.isNaN(b)){const _=m.add(b,E);_.isValid()&&(m=_)}return m.toDate()};let OY=0;const lL=function(i){return i===void 0?(OY=OY+1,"task"+OY):i},$qe=function(i,a){let f;a.substr(0,1)===":"?f=a.substr(1,a.length):f=a;const p=f.split(","),w={};rRt(p,w,YBt);for(let b=0;b{window.open(f,"_self")}),W0t[p]=f)}),eRt(i,"clickable")},eRt=function(i,a){i.split(",").forEach(function(f){let p=hL(f);p!==void 0&&p.classes.push(a)})},Gqe=function(i,a,f){if(Oe().securityLevel!=="loose"||a===void 0)return;let p=[];if(typeof f=="string"){p=f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let m=0;m{$a.runFunc(a,...p)})},nRt=function(i,a){X0t.push(function(){const f=document.querySelector(`[id="${i}"]`);f!==null&&f.addEventListener("click",function(){a()})},function(){const f=document.querySelector(`[id="${i}-text"]`);f!==null&&f.addEventListener("click",function(){a()})})},Uqe={getConfig:()=>Oe().gantt,clear:gqe,setDateFormat:xqe,getDateFormat:Aqe,enableInclusiveEndDates:kqe,endDatesAreInclusive:Eqe,enableTopAxis:Tqe,topAxisEnabled:Cqe,setAxisFormat:pqe,getAxisFormat:bqe,setTickInterval:wqe,getTickInterval:vqe,setTodayMarker:mqe,getTodayMarker:yqe,setAccTitle:E0,getAccTitle:fg,setDiagramTitle:Nb,getDiagramTitle:pg,setDisplayMode:_qe,getDisplayMode:Sqe,setAccDescription:dg,getAccDescription:gg,addSection:Pqe,getSections:Fqe,getTasks:Nqe,addTask:qqe,findTaskById:hL,addTaskOrg:Hqe,setIncludes:Lqe,getIncludes:Mqe,setExcludes:Dqe,getExcludes:Iqe,setClickEvent:function(i,a,f){i.split(",").forEach(function(p){Gqe(p,a,f)}),eRt(i,"clickable")},setLink:Vqe,getLinks:Oqe,bindFunctions:function(i){X0t.forEach(function(a){a(i)})},parseDuration:QBt,isInvalidDate:KBt,setWeekday:Bqe,getWeekday:Rqe};function rRt(i,a,f){let p=!0;for(;p;)p=!1,f.forEach(function(w){const m="^\\s*"+w+"\\s*$",b=new RegExp(m);i[0].match(b)&&(a[w]=!0,i.shift(1),p=!0)})}const Wqe=function(){Ut.debug("Something is calling, setConf, remove the call")},iRt={monday:BP,tuesday:JMt,wednesday:tDt,thursday:tT,friday:eDt,saturday:nDt,sunday:NP},Yqe=(i,a)=>{let f=[...i].map(()=>-1/0),p=[...i].sort((m,b)=>m.startTime-b.startTime||m.order-b.order),w=0;for(const m of p)for(let b=0;b=f[b]){f[b]=m.endTime,m.order=b+a,b>w&&(w=b);break}return w};let N5;const Kqe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:oqe,db:Uqe,renderer:{setConf:Wqe,draw:function(i,a,f,p){const w=Oe().gantt,m=Oe().securityLevel;let b;m==="sandbox"&&(b=yr("#i"+a));const E=yr(m==="sandbox"?b.nodes()[0].contentDocument.body:"body"),_=m==="sandbox"?b.nodes()[0].contentDocument:document,A=_.getElementById(a);N5=A.parentElement.offsetWidth,N5===void 0&&(N5=1200),w.useWidth!==void 0&&(N5=w.useWidth);const I=p.db.getTasks();let B=[];for(const vt of I)B.push(vt.type);B=ut(B);const N={};let R=2*w.topPadding;if(p.db.getDisplayMode()==="compact"||w.displayMode==="compact"){const vt={};for(const pt of I)vt[pt.section]===void 0?vt[pt.section]=[pt]:vt[pt.section].push(pt);let X=0;for(const pt of Object.keys(vt)){const U=Yqe(vt[pt],X)+1;X+=U,R+=U*(w.barHeight+w.barGap),N[pt]=U}}else{R+=I.length*(w.barHeight+w.barGap);for(const vt of B)N[vt]=I.filter(X=>X.type===vt).length}A.setAttribute("viewBox","0 0 "+N5+" "+R);const z=E.select(`[id="${a}"]`),W=Y7e().domain([Mxe(I,function(vt){return vt.startTime}),Lxe(I,function(vt){return vt.endTime})]).rangeRound([0,N5-w.leftPadding-w.rightPadding]);function et(vt,X){const pt=vt.startTime,U=X.startTime;let Tt=0;return pt>U?Tt=1:ptxt.order))].map(xt=>vt.find(Ht=>Ht.order===xt));z.append("g").selectAll("rect").data(Bt).enter().append("rect").attr("x",0).attr("y",function(xt,Ht){return Ht=xt.order,Ht*X+pt-2}).attr("width",function(){return It-w.rightPadding/2}).attr("height",X).attr("class",function(xt){for(const[Ht,Le]of B.entries())if(xt.type===Le)return"section section"+Ht%w.numberSectionStyles;return"section section0"});const Et=z.append("g").selectAll("rect").data(vt).enter(),Z=p.db.getLinks();if(Et.append("rect").attr("id",function(xt){return xt.id}).attr("rx",3).attr("ry",3).attr("x",function(xt){return xt.milestone?W(xt.startTime)+U+.5*(W(xt.endTime)-W(xt.startTime))-.5*Tt:W(xt.startTime)+U}).attr("y",function(xt,Ht){return Ht=xt.order,Ht*X+pt}).attr("width",function(xt){return xt.milestone?Tt:W(xt.renderEndTime||xt.endTime)-W(xt.startTime)}).attr("height",Tt).attr("transform-origin",function(xt,Ht){return Ht=xt.order,(W(xt.startTime)+U+.5*(W(xt.endTime)-W(xt.startTime))).toString()+"px "+(Ht*X+pt+.5*Tt).toString()+"px"}).attr("class",function(xt){const Ht="task";let Le="";xt.classes.length>0&&(Le=xt.classes.join(" "));let Ft=0;for(const[Se,me]of B.entries())xt.type===me&&(Ft=Se%w.numberSectionStyles);let gn="";return xt.active?xt.crit?gn+=" activeCrit":gn=" active":xt.done?xt.crit?gn=" doneCrit":gn=" done":xt.crit&&(gn+=" crit"),gn.length===0&&(gn=" task"),xt.milestone&&(gn=" milestone "+gn),gn+=Ft,gn+=" "+Le,Ht+gn}),Et.append("text").attr("id",function(xt){return xt.id+"-text"}).text(function(xt){return xt.task}).attr("font-size",w.fontSize).attr("x",function(xt){let Ht=W(xt.startTime),Le=W(xt.renderEndTime||xt.endTime);xt.milestone&&(Ht+=.5*(W(xt.endTime)-W(xt.startTime))-.5*Tt),xt.milestone&&(Le=Ht+Tt);const Ft=this.getBBox().width;return Ft>Le-Ht?Le+Ft+1.5*w.leftPadding>It?Ht+U-5:Le+U+5:(Le-Ht)/2+Ht+U}).attr("y",function(xt,Ht){return Ht=xt.order,Ht*X+w.barHeight/2+(w.fontSize/2-2)+pt}).attr("text-height",Tt).attr("class",function(xt){const Ht=W(xt.startTime);let Le=W(xt.endTime);xt.milestone&&(Le=Ht+Tt);const Ft=this.getBBox().width;let gn="";xt.classes.length>0&&(gn=xt.classes.join(" "));let Se=0;for(const[Ve,Ye]of B.entries())xt.type===Ye&&(Se=Ve%w.numberSectionStyles);let me="";return xt.active&&(xt.crit?me="activeCritText"+Se:me="activeText"+Se),xt.done?xt.crit?me=me+" doneCritText"+Se:me=me+" doneText"+Se:xt.crit&&(me=me+" critText"+Se),xt.milestone&&(me+=" milestoneText"),Ft>Le-Ht?Le+Ft+1.5*w.leftPadding>It?gn+" taskTextOutsideLeft taskTextOutside"+Se+" "+me:gn+" taskTextOutsideRight taskTextOutside"+Se+" "+me+" width-"+Ft:gn+" taskText taskText"+Se+" "+me+" width-"+Ft}),Oe().securityLevel==="sandbox"){let xt;xt=yr("#i"+a);const Ht=xt.nodes()[0].contentDocument;Et.filter(function(Le){return Z[Le.id]!==void 0}).each(function(Le){var Ft=Ht.querySelector("#"+Le.id),gn=Ht.querySelector("#"+Le.id+"-text");const Se=Ft.parentNode;var me=Ht.createElement("a");me.setAttribute("xlink:href",Z[Le.id]),me.setAttribute("target","_top"),Se.appendChild(me),me.appendChild(Ft),me.appendChild(gn)})}}function bt(vt,X,pt,U,Tt,nt,It,Ot){if(It.length===0&&Ot.length===0)return;let Bt,Et;for(const{startTime:Ft,endTime:gn}of nt)(Bt===void 0||FtEt)&&(Et=gn);if(!Bt||!Et)return;if(w0(Et).diff(w0(Bt),"year")>5){Ut.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const Z=p.db.getDateFormat(),Ct=[];let xt=null,Ht=w0(Bt);for(;Ht.valueOf()<=Et;)p.db.isInvalidDate(Ht,Z,It,Ot)?xt?xt.end=Ht:xt={start:Ht,end:Ht}:xt&&(Ct.push(xt),xt=null),Ht=Ht.add(1,"d");z.append("g").selectAll("rect").data(Ct).enter().append("rect").attr("id",function(Ft){return"exclude-"+Ft.start.format("YYYY-MM-DD")}).attr("x",function(Ft){return W(Ft.start)+pt}).attr("y",w.gridLineStartPadding).attr("width",function(Ft){const gn=Ft.end.add(1,"day");return W(gn)-W(Ft.start)}).attr("height",Tt-X-w.gridLineStartPadding).attr("transform-origin",function(Ft,gn){return(W(Ft.start)+pt+.5*(W(Ft.end)-W(Ft.start))).toString()+"px "+(gn*vt+.5*Tt).toString()+"px"}).attr("class","exclude-range")}function mt(vt,X,pt,U){let Tt=jxe(W).tickSize(-U+X+w.gridLineStartPadding).tickFormat(ZU(p.db.getAxisFormat()||w.axisFormat||"%Y-%m-%d"));const It=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(p.db.getTickInterval()||w.tickInterval);if(It!==null){const Ot=It[1],Bt=It[2],Et=p.db.getWeekday()||w.weekday;switch(Bt){case"millisecond":Tt.ticks(LA.every(Ot));break;case"second":Tt.ticks(sk.every(Ot));break;case"minute":Tt.ticks(PP.every(Ot));break;case"hour":Tt.ticks(FP.every(Ot));break;case"day":Tt.ticks(Z7.every(Ot));break;case"week":Tt.ticks(iRt[Et].every(Ot));break;case"month":Tt.ticks(RP.every(Ot));break}}if(z.append("g").attr("class","grid").attr("transform","translate("+vt+", "+(U-50)+")").call(Tt).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),p.db.topAxisEnabled()||w.topAxis){let Ot=Rxe(W).tickSize(-U+X+w.gridLineStartPadding).tickFormat(ZU(p.db.getAxisFormat()||w.axisFormat||"%Y-%m-%d"));if(It!==null){const Bt=It[1],Et=It[2],Z=p.db.getWeekday()||w.weekday;switch(Et){case"millisecond":Ot.ticks(LA.every(Bt));break;case"second":Ot.ticks(sk.every(Bt));break;case"minute":Ot.ticks(PP.every(Bt));break;case"hour":Ot.ticks(FP.every(Bt));break;case"day":Ot.ticks(Z7.every(Bt));break;case"week":Ot.ticks(iRt[Z].every(Bt));break;case"month":Ot.ticks(RP.every(Bt));break}}z.append("g").attr("class","grid").attr("transform","translate("+vt+", "+X+")").call(Ot).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function yt(vt,X){let pt=0;const U=Object.keys(N).map(Tt=>[Tt,N[Tt]]);z.append("g").selectAll("text").data(U).enter().append(function(Tt){const nt=Tt[0].split(Kr.lineBreakRegex),It=-(nt.length-1)/2,Ot=_.createElementNS("http://www.w3.org/2000/svg","text");Ot.setAttribute("dy",It+"em");for(const[Bt,Et]of nt.entries()){const Z=_.createElementNS("http://www.w3.org/2000/svg","tspan");Z.setAttribute("alignment-baseline","central"),Z.setAttribute("x","10"),Bt>0&&Z.setAttribute("dy","1em"),Z.textContent=Et,Ot.appendChild(Z)}return Ot}).attr("x",10).attr("y",function(Tt,nt){if(nt>0)for(let It=0;It` + .mermaid-main-font { + font-family: "trebuchet ms", verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + .exclude-range { + fill: ${i.excludeBkgColor}; + } + + .section { + stroke: none; + opacity: 0.2; + } + + .section0 { + fill: ${i.sectionBkgColor}; + } + + .section2 { + fill: ${i.sectionBkgColor2}; + } + + .section1, + .section3 { + fill: ${i.altSectionBkgColor}; + opacity: 0.2; + } + + .sectionTitle0 { + fill: ${i.titleColor}; + } + + .sectionTitle1 { + fill: ${i.titleColor}; + } + + .sectionTitle2 { + fill: ${i.titleColor}; + } + + .sectionTitle3 { + fill: ${i.titleColor}; + } + + .sectionTitle { + text-anchor: start; + // font-size: ${i.ganttFontSize}; + // text-height: 14px; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + + } + + + /* Grid and axis */ + + .grid .tick { + stroke: ${i.gridColor}; + opacity: 0.8; + shape-rendering: crispEdges; + text { + font-family: ${i.fontFamily}; + fill: ${i.textColor}; + } + } + + .grid path { + stroke-width: 0; + } + + + /* Today line */ + + .today { + fill: none; + stroke: ${i.todayLineColor}; + stroke-width: 2px; + } + + + /* Task styling */ + + /* Default task */ + + .task { + stroke-width: 2; + } + + .taskText { + text-anchor: middle; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + + // .taskText:not([font-size]) { + // font-size: ${i.ganttFontSize}; + // } + + .taskTextOutsideRight { + fill: ${i.taskTextDarkColor}; + text-anchor: start; + // font-size: ${i.ganttFontSize}; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + + } + + .taskTextOutsideLeft { + fill: ${i.taskTextDarkColor}; + text-anchor: end; + // font-size: ${i.ganttFontSize}; + } + + /* Special case clickable */ + .task.clickable { + cursor: pointer; + } + .taskText.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideLeft.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideRight.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + /* Specific task settings for the sections*/ + + .taskText0, + .taskText1, + .taskText2, + .taskText3 { + fill: ${i.taskTextColor}; + } + + .task0, + .task1, + .task2, + .task3 { + fill: ${i.taskBkgColor}; + stroke: ${i.taskBorderColor}; + } + + .taskTextOutside0, + .taskTextOutside2 + { + fill: ${i.taskTextOutsideColor}; + } + + .taskTextOutside1, + .taskTextOutside3 { + fill: ${i.taskTextOutsideColor}; + } + + + /* Active task */ + + .active0, + .active1, + .active2, + .active3 { + fill: ${i.activeTaskBkgColor}; + stroke: ${i.activeTaskBorderColor}; + } + + .activeText0, + .activeText1, + .activeText2, + .activeText3 { + fill: ${i.taskTextDarkColor} !important; + } + + + /* Completed task */ + + .done0, + .done1, + .done2, + .done3 { + stroke: ${i.doneTaskBorderColor}; + fill: ${i.doneTaskBkgColor}; + stroke-width: 2; + } + + .doneText0, + .doneText1, + .doneText2, + .doneText3 { + fill: ${i.taskTextDarkColor} !important; + } + + + /* Tasks on the critical line */ + + .crit0, + .crit1, + .crit2, + .crit3 { + stroke: ${i.critBorderColor}; + fill: ${i.critBkgColor}; + stroke-width: 2; + } + + .activeCrit0, + .activeCrit1, + .activeCrit2, + .activeCrit3 { + stroke: ${i.critBorderColor}; + fill: ${i.activeTaskBkgColor}; + stroke-width: 2; + } + + .doneCrit0, + .doneCrit1, + .doneCrit2, + .doneCrit3 { + stroke: ${i.critBorderColor}; + fill: ${i.doneTaskBkgColor}; + stroke-width: 2; + cursor: pointer; + shape-rendering: crispEdges; + } + + .milestone { + transform: rotate(45deg) scale(0.8,0.8); + } + + .milestoneText { + font-style: italic; + } + .doneCritText0, + .doneCritText1, + .doneCritText2, + .doneCritText3 { + fill: ${i.taskTextDarkColor} !important; + } + + .activeCritText0, + .activeCritText1, + .activeCritText2, + .activeCritText3 { + fill: ${i.taskTextDarkColor} !important; + } + + .titleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor} ; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } +`}},Symbol.toStringTag,{value:"Module"}));var ngt=function(){var i=function(m,b,E,_){for(E=E||{},_=m.length;_--;E[m[_]]=b);return E},a=[6,9,10],f={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(b,E,_,A,I,B,N){switch(B.length-1,I){case 1:return A;case 4:break;case 6:A.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},i(a,[2,3]),i(a,[2,4]),i(a,[2,5]),i(a,[2,6])],defaultActions:{4:[2,1]},parseError:function(b,E){if(E.recoverable)this.trace(b);else{var _=new Error(b);throw _.hash=E,_}},parse:function(b){var E=this,_=[0],A=[],I=[null],B=[],N=this.table,R="",z=0,W=0,et=2,st=1,at=B.slice.call(arguments,1),bt=Object.create(this.lexer),mt={yy:{}};for(var yt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,yt)&&(mt.yy[yt]=this.yy[yt]);bt.setInput(b,mt.yy),mt.yy.lexer=bt,mt.yy.parser=this,typeof bt.yylloc>"u"&&(bt.yylloc={});var ft=bt.yylloc;B.push(ft);var ut=bt.options&&bt.options.ranges;typeof mt.yy.parseError=="function"?this.parseError=mt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function vt(){var Ct;return Ct=A.pop()||bt.lex()||st,typeof Ct!="number"&&(Ct instanceof Array&&(A=Ct,Ct=A.pop()),Ct=E.symbols_[Ct]||Ct),Ct}for(var X,pt,U,Tt,nt={},It,Ot,Bt,Et;;){if(pt=_[_.length-1],this.defaultActions[pt]?U=this.defaultActions[pt]:((X===null||typeof X>"u")&&(X=vt()),U=N[pt]&&N[pt][X]),typeof U>"u"||!U.length||!U[0]){var Z="";Et=[];for(It in N[pt])this.terminals_[It]&&It>et&&Et.push("'"+this.terminals_[It]+"'");bt.showPosition?Z="Parse error on line "+(z+1)+`: +`+bt.showPosition()+` +Expecting `+Et.join(", ")+", got '"+(this.terminals_[X]||X)+"'":Z="Parse error on line "+(z+1)+": Unexpected "+(X==st?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(Z,{text:bt.match,token:this.terminals_[X]||X,line:bt.yylineno,loc:ft,expected:Et})}if(U[0]instanceof Array&&U.length>1)throw new Error("Parse Error: multiple actions possible at state: "+pt+", token: "+X);switch(U[0]){case 1:_.push(X),I.push(bt.yytext),B.push(bt.yylloc),_.push(U[1]),X=null,W=bt.yyleng,R=bt.yytext,z=bt.yylineno,ft=bt.yylloc;break;case 2:if(Ot=this.productions_[U[1]][1],nt.$=I[I.length-Ot],nt._$={first_line:B[B.length-(Ot||1)].first_line,last_line:B[B.length-1].last_line,first_column:B[B.length-(Ot||1)].first_column,last_column:B[B.length-1].last_column},ut&&(nt._$.range=[B[B.length-(Ot||1)].range[0],B[B.length-1].range[1]]),Tt=this.performAction.apply(nt,[R,W,z,mt.yy,U[1],I,B].concat(at)),typeof Tt<"u")return Tt;Ot&&(_=_.slice(0,-1*Ot*2),I=I.slice(0,-1*Ot),B=B.slice(0,-1*Ot)),_.push(this.productions_[U[1]][0]),I.push(nt.$),B.push(nt._$),Bt=N[_[_.length-2]][_[_.length-1]],_.push(Bt);break;case 3:return!0}}return!0}},p=function(){var m={EOF:1,parseError:function(E,_){if(this.yy.parser)this.yy.parser.parseError(E,_);else throw new Error(E)},setInput:function(b,E){return this.yy=E||this.yy||{},this._input=b,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var b=this._input[0];this.yytext+=b,this.yyleng++,this.offset++,this.match+=b,this.matched+=b;var E=b.match(/(?:\r\n?|\n).*/g);return E?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),b},unput:function(b){var E=b.length,_=b.split(/(?:\r\n?|\n)/g);this._input=b+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-E),this.offset-=E;var A=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),_.length-1&&(this.yylineno-=_.length-1);var I=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:_?(_.length===A.length?this.yylloc.first_column:0)+A[A.length-_.length].length-_[0].length:this.yylloc.first_column-E},this.options.ranges&&(this.yylloc.range=[I[0],I[0]+this.yyleng-E]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(b){this.unput(this.match.slice(b))},pastInput:function(){var b=this.matched.substr(0,this.matched.length-this.match.length);return(b.length>20?"...":"")+b.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var b=this.match;return b.length<20&&(b+=this._input.substr(0,20-b.length)),(b.substr(0,20)+(b.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var b=this.pastInput(),E=new Array(b.length+1).join("-");return b+this.upcomingInput()+` +`+E+"^"},test_match:function(b,E){var _,A,I;if(this.options.backtrack_lexer&&(I={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(I.yylloc.range=this.yylloc.range.slice(0))),A=b[0].match(/(?:\r\n?|\n).*/g),A&&(this.yylineno+=A.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:A?A[A.length-1].length-A[A.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],_=this.performAction.call(this,this.yy,this,E,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),_)return _;if(this._backtrack){for(var B in I)this[B]=I[B];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var b,E,_,A;this._more||(this.yytext="",this.match="");for(var I=this._currentRules(),B=0;BE[0].length)){if(E=_,A=B,this.options.backtrack_lexer){if(b=this.test_match(_,I[B]),b!==!1)return b;if(this._backtrack){E=!1;continue}else return!1}else if(!this.options.flex)break}return E?(b=this.test_match(E,I[A]),b!==!1?b:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var E=this.next();return E||this.lex()},begin:function(E){this.conditionStack.push(E)},popState:function(){var E=this.conditionStack.length-1;return E>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(E){return E=this.conditionStack.length-1-Math.abs(E||0),E>=0?this.conditionStack[E]:"INITIAL"},pushState:function(E){this.begin(E)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(E,_,A,I){switch(A){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};return m}();f.lexer=p;function w(){this.yy={}}return w.prototype=f,f.Parser=w,new w}();ngt.parser=ngt;const Xqe=ngt,sRt={info:!1};let rgt=sRt.info;const Qqe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Xqe,db:{clear:()=>{rgt=sRt.info},setInfo:i=>{rgt=i},getInfo:()=>rgt},renderer:{draw:(i,a,f)=>{Ut.debug(`rendering info diagram +`+i);const p=VW(a);k0(p,100,400,!0),p.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${f}`)}}}},Symbol.toStringTag,{value:"Module"}));var igt=function(){var i=function(bt,mt,yt,ft){for(yt=yt||{},ft=bt.length;ft--;yt[bt[ft]]=mt);return yt},a=[1,3],f=[1,4],p=[1,5],w=[1,6],m=[1,10,12,14,16,18,19,20,21,22],b=[2,4],E=[1,5,10,12,14,16,18,19,20,21,22],_=[20,21,22],A=[2,7],I=[1,12],B=[1,13],N=[1,14],R=[1,15],z=[1,16],W=[1,17],et={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,PIE:5,document:6,showData:7,line:8,statement:9,txt:10,value:11,title:12,title_value:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,section:19,NEWLINE:20,";":21,EOF:22,$accept:0,$end:1},terminals_:{2:"error",5:"PIE",7:"showData",10:"txt",11:"value",12:"title",13:"title_value",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"section",20:"NEWLINE",21:";",22:"EOF"},productions_:[0,[3,2],[3,2],[3,3],[6,0],[6,2],[8,2],[9,0],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[4,1],[4,1],[4,1]],performAction:function(mt,yt,ft,ut,vt,X,pt){var U=X.length-1;switch(vt){case 3:ut.setShowData(!0);break;case 6:this.$=X[U-1];break;case 8:ut.addSection(X[U-1],ut.cleanupValue(X[U]));break;case 9:this.$=X[U].trim(),ut.setDiagramTitle(this.$);break;case 10:this.$=X[U].trim(),ut.setAccTitle(this.$);break;case 11:case 12:this.$=X[U].trim(),ut.setAccDescription(this.$);break;case 13:ut.addSection(X[U].substr(8)),this.$=X[U].substr(8);break}},table:[{3:1,4:2,5:a,20:f,21:p,22:w},{1:[3]},{3:7,4:2,5:a,20:f,21:p,22:w},i(m,b,{6:8,7:[1,9]}),i(E,[2,14]),i(E,[2,15]),i(E,[2,16]),{1:[2,1]},i(_,A,{8:10,9:11,1:[2,2],10:I,12:B,14:N,16:R,18:z,19:W}),i(m,b,{6:18}),i(m,[2,5]),{4:19,20:f,21:p,22:w},{11:[1,20]},{13:[1,21]},{15:[1,22]},{17:[1,23]},i(_,[2,12]),i(_,[2,13]),i(_,A,{8:10,9:11,1:[2,3],10:I,12:B,14:N,16:R,18:z,19:W}),i(m,[2,6]),i(_,[2,8]),i(_,[2,9]),i(_,[2,10]),i(_,[2,11])],defaultActions:{7:[2,1]},parseError:function(mt,yt){if(yt.recoverable)this.trace(mt);else{var ft=new Error(mt);throw ft.hash=yt,ft}},parse:function(mt){var yt=this,ft=[0],ut=[],vt=[null],X=[],pt=this.table,U="",Tt=0,nt=0,It=2,Ot=1,Bt=X.slice.call(arguments,1),Et=Object.create(this.lexer),Z={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(Z.yy[Ct]=this.yy[Ct]);Et.setInput(mt,Z.yy),Z.yy.lexer=Et,Z.yy.parser=this,typeof Et.yylloc>"u"&&(Et.yylloc={});var xt=Et.yylloc;X.push(xt);var Ht=Et.options&&Et.options.ranges;typeof Z.yy.parseError=="function"?this.parseError=Z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Le(){var se;return se=ut.pop()||Et.lex()||Ot,typeof se!="number"&&(se instanceof Array&&(ut=se,se=ut.pop()),se=yt.symbols_[se]||se),se}for(var Ft,gn,Se,me,Ve={},Ye,ce,ke,zt;;){if(gn=ft[ft.length-1],this.defaultActions[gn]?Se=this.defaultActions[gn]:((Ft===null||typeof Ft>"u")&&(Ft=Le()),Se=pt[gn]&&pt[gn][Ft]),typeof Se>"u"||!Se.length||!Se[0]){var re="";zt=[];for(Ye in pt[gn])this.terminals_[Ye]&&Ye>It&&zt.push("'"+this.terminals_[Ye]+"'");Et.showPosition?re="Parse error on line "+(Tt+1)+`: +`+Et.showPosition()+` +Expecting `+zt.join(", ")+", got '"+(this.terminals_[Ft]||Ft)+"'":re="Parse error on line "+(Tt+1)+": Unexpected "+(Ft==Ot?"end of input":"'"+(this.terminals_[Ft]||Ft)+"'"),this.parseError(re,{text:Et.match,token:this.terminals_[Ft]||Ft,line:Et.yylineno,loc:xt,expected:zt})}if(Se[0]instanceof Array&&Se.length>1)throw new Error("Parse Error: multiple actions possible at state: "+gn+", token: "+Ft);switch(Se[0]){case 1:ft.push(Ft),vt.push(Et.yytext),X.push(Et.yylloc),ft.push(Se[1]),Ft=null,nt=Et.yyleng,U=Et.yytext,Tt=Et.yylineno,xt=Et.yylloc;break;case 2:if(ce=this.productions_[Se[1]][1],Ve.$=vt[vt.length-ce],Ve._$={first_line:X[X.length-(ce||1)].first_line,last_line:X[X.length-1].last_line,first_column:X[X.length-(ce||1)].first_column,last_column:X[X.length-1].last_column},Ht&&(Ve._$.range=[X[X.length-(ce||1)].range[0],X[X.length-1].range[1]]),me=this.performAction.apply(Ve,[U,nt,Tt,Z.yy,Se[1],vt,X].concat(Bt)),typeof me<"u")return me;ce&&(ft=ft.slice(0,-1*ce*2),vt=vt.slice(0,-1*ce),X=X.slice(0,-1*ce)),ft.push(this.productions_[Se[1]][0]),vt.push(Ve.$),X.push(Ve._$),ke=pt[ft[ft.length-2]][ft[ft.length-1]],ft.push(ke);break;case 3:return!0}}return!0}},st=function(){var bt={EOF:1,parseError:function(yt,ft){if(this.yy.parser)this.yy.parser.parseError(yt,ft);else throw new Error(yt)},setInput:function(mt,yt){return this.yy=yt||this.yy||{},this._input=mt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var mt=this._input[0];this.yytext+=mt,this.yyleng++,this.offset++,this.match+=mt,this.matched+=mt;var yt=mt.match(/(?:\r\n?|\n).*/g);return yt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),mt},unput:function(mt){var yt=mt.length,ft=mt.split(/(?:\r\n?|\n)/g);this._input=mt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-yt),this.offset-=yt;var ut=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ft.length-1&&(this.yylineno-=ft.length-1);var vt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ft?(ft.length===ut.length?this.yylloc.first_column:0)+ut[ut.length-ft.length].length-ft[0].length:this.yylloc.first_column-yt},this.options.ranges&&(this.yylloc.range=[vt[0],vt[0]+this.yyleng-yt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(mt){this.unput(this.match.slice(mt))},pastInput:function(){var mt=this.matched.substr(0,this.matched.length-this.match.length);return(mt.length>20?"...":"")+mt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var mt=this.match;return mt.length<20&&(mt+=this._input.substr(0,20-mt.length)),(mt.substr(0,20)+(mt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var mt=this.pastInput(),yt=new Array(mt.length+1).join("-");return mt+this.upcomingInput()+` +`+yt+"^"},test_match:function(mt,yt){var ft,ut,vt;if(this.options.backtrack_lexer&&(vt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(vt.yylloc.range=this.yylloc.range.slice(0))),ut=mt[0].match(/(?:\r\n?|\n).*/g),ut&&(this.yylineno+=ut.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ut?ut[ut.length-1].length-ut[ut.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+mt[0].length},this.yytext+=mt[0],this.match+=mt[0],this.matches=mt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(mt[0].length),this.matched+=mt[0],ft=this.performAction.call(this,this.yy,this,yt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ft)return ft;if(this._backtrack){for(var X in vt)this[X]=vt[X];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var mt,yt,ft,ut;this._more||(this.yytext="",this.match="");for(var vt=this._currentRules(),X=0;Xyt[0].length)){if(yt=ft,ut=X,this.options.backtrack_lexer){if(mt=this.test_match(ft,vt[X]),mt!==!1)return mt;if(this._backtrack){yt=!1;continue}else return!1}else if(!this.options.flex)break}return yt?(mt=this.test_match(yt,vt[ut]),mt!==!1?mt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var yt=this.next();return yt||this.lex()},begin:function(yt){this.conditionStack.push(yt)},popState:function(){var yt=this.conditionStack.length-1;return yt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(yt){return yt=this.conditionStack.length-1-Math.abs(yt||0),yt>=0?this.conditionStack[yt]:"INITIAL"},pushState:function(yt){this.begin(yt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(yt,ft,ut,vt){switch(ut){case 0:break;case 1:break;case 2:return 20;case 3:break;case 4:break;case 5:return this.begin("title"),12;case 6:return this.popState(),"title_value";case 7:return this.begin("acc_title"),14;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),16;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:this.begin("string");break;case 15:this.popState();break;case 16:return"txt";case 17:return 5;case 18:return 7;case 19:return"value";case 20:return 22}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[6],inclusive:!1},string:{rules:[15,16],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,7,9,11,14,17,18,19,20],inclusive:!0}}};return bt}();et.lexer=st;function at(){this.yy={}}return at.prototype=et,et.Parser=at,new at}();igt.parser=igt;const Zqe=igt,aRt=Zh.pie,FY={sections:{},showData:!1,config:aRt};let NY=FY.sections,sgt=FY.showData;const Jqe=structuredClone(aRt),tHe={getConfig:()=>structuredClone(Jqe),clear:()=>{NY=structuredClone(FY.sections),sgt=FY.showData,hg()},setDiagramTitle:Nb,getDiagramTitle:pg,setAccTitle:E0,getAccTitle:fg,setAccDescription:dg,getAccDescription:gg,addSection:(i,a)=>{i=Q1(i,Oe()),NY[i]===void 0&&(NY[i]=a,Ut.debug(`added new section: ${i}, with value: ${a}`))},getSections:()=>NY,cleanupValue:i=>(i.substring(0,1)===":"&&(i=i.substring(1).trim()),Number(i.trim())),setShowData:i=>{sgt=i},getShowData:()=>sgt},eHe=i=>` + .pieCircle{ + stroke: ${i.pieStrokeColor}; + stroke-width : ${i.pieStrokeWidth}; + opacity : ${i.pieOpacity}; + } + .pieOuterCircle{ + stroke: ${i.pieOuterStrokeColor}; + stroke-width: ${i.pieOuterStrokeWidth}; + fill: none; + } + .pieTitleText { + text-anchor: middle; + font-size: ${i.pieTitleTextSize}; + fill: ${i.pieTitleTextColor}; + font-family: ${i.fontFamily}; + } + .slice { + font-family: ${i.fontFamily}; + fill: ${i.pieSectionTextColor}; + font-size:${i.pieSectionTextSize}; + // fill: white; + } + .legend text { + fill: ${i.pieLegendTextColor}; + font-family: ${i.fontFamily}; + font-size: ${i.pieLegendTextSize}; + } +`,nHe=i=>{const a=Object.entries(i).map(p=>({label:p[0],value:p[1]})).sort((p,w)=>w.value-p.value);return uTe().value(p=>p.value)(a)},rHe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Zqe,db:tHe,renderer:{draw:(i,a,f,p)=>{var pt,U;Ut.debug(`rendering pie chart +`+i);const w=p.db,m=Oe(),b=rF(w.getConfig(),m.pie),E=450,_=((U=(pt=document.getElementById(a))==null?void 0:pt.parentElement)==null?void 0:U.offsetWidth)??b.useWidth,A=VW(a);A.attr("viewBox",`0 0 ${_} ${E}`),k0(A,E,_,b.useMaxWidth);const I=40,B=18,N=4,R=A.append("g");R.attr("transform","translate("+_/2+","+E/2+")");const{themeVariables:z}=m;let[W]=VA(z.pieOuterStrokeWidth);W??(W=2);const et=b.textPosition,st=Math.min(_,E)/2-I,at=OA().innerRadius(0).outerRadius(st),bt=OA().innerRadius(st*et).outerRadius(st*et);R.append("circle").attr("cx",0).attr("cy",0).attr("r",st+W/2).attr("class","pieOuterCircle");const mt=w.getSections(),yt=nHe(mt),ft=[z.pie1,z.pie2,z.pie3,z.pie4,z.pie5,z.pie6,z.pie7,z.pie8,z.pie9,z.pie10,z.pie11,z.pie12],ut=XU(ft);R.selectAll("mySlices").data(yt).enter().append("path").attr("d",at).attr("fill",Tt=>ut(Tt.data.label)).attr("class","pieCircle");let vt=0;Object.keys(mt).forEach(Tt=>{vt+=mt[Tt]}),R.selectAll("mySlices").data(yt).enter().append("text").text(Tt=>(Tt.data.value/vt*100).toFixed(0)+"%").attr("transform",Tt=>"translate("+bt.centroid(Tt)+")").style("text-anchor","middle").attr("class","slice"),R.append("text").text(w.getDiagramTitle()).attr("x",0).attr("y",-(E-50)/2).attr("class","pieTitleText");const X=R.selectAll(".legend").data(ut.domain()).enter().append("g").attr("class","legend").attr("transform",(Tt,nt)=>{const It=B+N,Ot=It*ut.domain().length/2,Bt=12*B,Et=nt*It-Ot;return"translate("+Bt+","+Et+")"});X.append("rect").attr("width",B).attr("height",B).style("fill",ut).style("stroke",ut),X.data(yt).append("text").attr("x",B+N).attr("y",B-N).text(Tt=>{const{label:nt,value:It}=Tt.data;return w.getShowData()?`${nt} [${It}]`:nt})}},styles:eHe}},Symbol.toStringTag,{value:"Module"}));var agt=function(){var i=function(Se,me,Ve,Ye){for(Ve=Ve||{},Ye=Se.length;Ye--;Ve[Se[Ye]]=me);return Ve},a=[1,3],f=[1,4],p=[1,5],w=[1,6],m=[1,7],b=[1,5,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],E=[1,5,6,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],_=[32,33,34],A=[2,7],I=[1,13],B=[1,17],N=[1,18],R=[1,19],z=[1,20],W=[1,21],et=[1,22],st=[1,23],at=[1,24],bt=[1,25],mt=[1,26],yt=[1,27],ft=[1,30],ut=[1,31],vt=[1,32],X=[1,33],pt=[1,34],U=[1,35],Tt=[1,36],nt=[1,37],It=[1,38],Ot=[1,39],Bt=[1,40],Et=[1,41],Z=[1,42],Ct=[1,57],xt=[1,58],Ht=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],Le={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,QUADRANT:6,document:7,line:8,statement:9,axisDetails:10,quadrantDetails:11,points:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,text:21,point_start:22,point_x:23,point_y:24,"X-AXIS":25,"AXIS-TEXT-DELIMITER":26,"Y-AXIS":27,QUADRANT_1:28,QUADRANT_2:29,QUADRANT_3:30,QUADRANT_4:31,NEWLINE:32,SEMI:33,EOF:34,alphaNumToken:35,textNoTagsToken:36,STR:37,MD_STR:38,alphaNum:39,PUNCTUATION:40,AMP:41,NUM:42,ALPHA:43,COMMA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,UNDERSCORE:50,MINUS:51,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",6:"QUADRANT",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",22:"point_start",23:"point_x",24:"point_y",25:"X-AXIS",26:"AXIS-TEXT-DELIMITER",27:"Y-AXIS",28:"QUADRANT_1",29:"QUADRANT_2",30:"QUADRANT_3",31:"QUADRANT_4",32:"NEWLINE",33:"SEMI",34:"EOF",37:"STR",38:"MD_STR",40:"PUNCTUATION",41:"AMP",42:"NUM",43:"ALPHA",44:"COMMA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"UNDERSCORE",51:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,1],[9,1],[9,1],[9,2],[9,2],[9,2],[9,1],[9,1],[12,4],[10,4],[10,3],[10,2],[10,4],[10,3],[10,2],[11,2],[11,2],[11,2],[11,2],[4,1],[4,1],[4,1],[21,1],[21,2],[21,1],[21,1],[39,1],[39,2],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[36,1],[36,1],[36,1]],performAction:function(me,Ve,Ye,ce,ke,zt,re){var se=zt.length-1;switch(ke){case 12:this.$=zt[se].trim(),ce.setDiagramTitle(this.$);break;case 13:this.$=zt[se].trim(),ce.setAccTitle(this.$);break;case 14:case 15:this.$=zt[se].trim(),ce.setAccDescription(this.$);break;case 16:ce.addSection(zt[se].substr(8)),this.$=zt[se].substr(8);break;case 17:ce.addPoint(zt[se-3],zt[se-1],zt[se]);break;case 18:ce.setXAxisLeftText(zt[se-2]),ce.setXAxisRightText(zt[se]);break;case 19:zt[se-1].text+=" ⟶ ",ce.setXAxisLeftText(zt[se-1]);break;case 20:ce.setXAxisLeftText(zt[se]);break;case 21:ce.setYAxisBottomText(zt[se-2]),ce.setYAxisTopText(zt[se]);break;case 22:zt[se-1].text+=" ⟶ ",ce.setYAxisBottomText(zt[se-1]);break;case 23:ce.setYAxisBottomText(zt[se]);break;case 24:ce.setQuadrant1Text(zt[se]);break;case 25:ce.setQuadrant2Text(zt[se]);break;case 26:ce.setQuadrant3Text(zt[se]);break;case 27:ce.setQuadrant4Text(zt[se]);break;case 31:this.$={text:zt[se],type:"text"};break;case 32:this.$={text:zt[se-1].text+""+zt[se],type:zt[se-1].type};break;case 33:this.$={text:zt[se],type:"text"};break;case 34:this.$={text:zt[se],type:"markdown"};break;case 35:this.$=zt[se];break;case 36:this.$=zt[se-1]+""+zt[se];break}},table:[{3:1,4:2,5:a,6:f,32:p,33:w,34:m},{1:[3]},{3:8,4:2,5:a,6:f,32:p,33:w,34:m},{3:9,4:2,5:a,6:f,32:p,33:w,34:m},i(b,[2,4],{7:10}),i(E,[2,28]),i(E,[2,29]),i(E,[2,30]),{1:[2,1]},{1:[2,2]},i(_,A,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:I,13:B,15:N,17:R,19:z,20:W,25:et,27:st,28:at,29:bt,30:mt,31:yt,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z}),i(b,[2,5]),{4:43,32:p,33:w,34:m},i(_,A,{10:14,11:15,12:16,21:28,35:29,9:44,5:I,13:B,15:N,17:R,19:z,20:W,25:et,27:st,28:at,29:bt,30:mt,31:yt,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z}),i(_,[2,9]),i(_,[2,10]),i(_,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},i(_,[2,15]),i(_,[2,16]),{21:48,35:29,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z},{21:49,35:29,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z},{21:50,35:29,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z},{21:51,35:29,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z},{21:52,35:29,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z},{21:53,35:29,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z},{5:Ct,22:[1,54],35:56,36:55,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt},i(Ht,[2,31]),i(Ht,[2,33]),i(Ht,[2,34]),i(Ht,[2,37]),i(Ht,[2,38]),i(Ht,[2,39]),i(Ht,[2,40]),i(Ht,[2,41]),i(Ht,[2,42]),i(Ht,[2,43]),i(Ht,[2,44]),i(Ht,[2,45]),i(Ht,[2,46]),i(Ht,[2,47]),i(b,[2,6]),i(_,[2,8]),i(_,[2,12]),i(_,[2,13]),i(_,[2,14]),i(_,[2,20],{36:55,35:56,5:Ct,26:[1,59],40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),i(_,[2,23],{36:55,35:56,5:Ct,26:[1,60],40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),i(_,[2,24],{36:55,35:56,5:Ct,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),i(_,[2,25],{36:55,35:56,5:Ct,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),i(_,[2,26],{36:55,35:56,5:Ct,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),i(_,[2,27],{36:55,35:56,5:Ct,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),{23:[1,61]},i(Ht,[2,32]),i(Ht,[2,48]),i(Ht,[2,49]),i(Ht,[2,50]),i(_,[2,19],{35:29,21:62,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z}),i(_,[2,22],{35:29,21:63,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z}),{24:[1,64]},i(_,[2,18],{36:55,35:56,5:Ct,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),i(_,[2,21],{36:55,35:56,5:Ct,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),i(_,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(me,Ve){if(Ve.recoverable)this.trace(me);else{var Ye=new Error(me);throw Ye.hash=Ve,Ye}},parse:function(me){var Ve=this,Ye=[0],ce=[],ke=[null],zt=[],re=this.table,se="",Pe=0,te=0,Me=2,de=1,on=zt.slice.call(arguments,1),ni=Object.create(this.lexer),Ks={yy:{}};for(var ws in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ws)&&(Ks.yy[ws]=this.yy[ws]);ni.setInput(me,Ks.yy),Ks.yy.lexer=ni,Ks.yy.parser=this,typeof ni.yylloc>"u"&&(ni.yylloc={});var fo=ni.yylloc;zt.push(fo);var Xi=ni.options&&ni.options.ranges;typeof Ks.yy.parseError=="function"?this.parseError=Ks.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Er(){var Gs;return Gs=ce.pop()||ni.lex()||de,typeof Gs!="number"&&(Gs instanceof Array&&(ce=Gs,Gs=ce.pop()),Gs=Ve.symbols_[Gs]||Gs),Gs}for(var Xn,di,Ee,Kn,He={},Ti,pn,Es,qa;;){if(di=Ye[Ye.length-1],this.defaultActions[di]?Ee=this.defaultActions[di]:((Xn===null||typeof Xn>"u")&&(Xn=Er()),Ee=re[di]&&re[di][Xn]),typeof Ee>"u"||!Ee.length||!Ee[0]){var Ma="";qa=[];for(Ti in re[di])this.terminals_[Ti]&&Ti>Me&&qa.push("'"+this.terminals_[Ti]+"'");ni.showPosition?Ma="Parse error on line "+(Pe+1)+`: +`+ni.showPosition()+` +Expecting `+qa.join(", ")+", got '"+(this.terminals_[Xn]||Xn)+"'":Ma="Parse error on line "+(Pe+1)+": Unexpected "+(Xn==de?"end of input":"'"+(this.terminals_[Xn]||Xn)+"'"),this.parseError(Ma,{text:ni.match,token:this.terminals_[Xn]||Xn,line:ni.yylineno,loc:fo,expected:qa})}if(Ee[0]instanceof Array&&Ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+di+", token: "+Xn);switch(Ee[0]){case 1:Ye.push(Xn),ke.push(ni.yytext),zt.push(ni.yylloc),Ye.push(Ee[1]),Xn=null,te=ni.yyleng,se=ni.yytext,Pe=ni.yylineno,fo=ni.yylloc;break;case 2:if(pn=this.productions_[Ee[1]][1],He.$=ke[ke.length-pn],He._$={first_line:zt[zt.length-(pn||1)].first_line,last_line:zt[zt.length-1].last_line,first_column:zt[zt.length-(pn||1)].first_column,last_column:zt[zt.length-1].last_column},Xi&&(He._$.range=[zt[zt.length-(pn||1)].range[0],zt[zt.length-1].range[1]]),Kn=this.performAction.apply(He,[se,te,Pe,Ks.yy,Ee[1],ke,zt].concat(on)),typeof Kn<"u")return Kn;pn&&(Ye=Ye.slice(0,-1*pn*2),ke=ke.slice(0,-1*pn),zt=zt.slice(0,-1*pn)),Ye.push(this.productions_[Ee[1]][0]),ke.push(He.$),zt.push(He._$),Es=re[Ye[Ye.length-2]][Ye[Ye.length-1]],Ye.push(Es);break;case 3:return!0}}return!0}},Ft=function(){var Se={EOF:1,parseError:function(Ve,Ye){if(this.yy.parser)this.yy.parser.parseError(Ve,Ye);else throw new Error(Ve)},setInput:function(me,Ve){return this.yy=Ve||this.yy||{},this._input=me,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var me=this._input[0];this.yytext+=me,this.yyleng++,this.offset++,this.match+=me,this.matched+=me;var Ve=me.match(/(?:\r\n?|\n).*/g);return Ve?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),me},unput:function(me){var Ve=me.length,Ye=me.split(/(?:\r\n?|\n)/g);this._input=me+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ve),this.offset-=Ve;var ce=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ye.length-1&&(this.yylineno-=Ye.length-1);var ke=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ye?(Ye.length===ce.length?this.yylloc.first_column:0)+ce[ce.length-Ye.length].length-Ye[0].length:this.yylloc.first_column-Ve},this.options.ranges&&(this.yylloc.range=[ke[0],ke[0]+this.yyleng-Ve]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(me){this.unput(this.match.slice(me))},pastInput:function(){var me=this.matched.substr(0,this.matched.length-this.match.length);return(me.length>20?"...":"")+me.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var me=this.match;return me.length<20&&(me+=this._input.substr(0,20-me.length)),(me.substr(0,20)+(me.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var me=this.pastInput(),Ve=new Array(me.length+1).join("-");return me+this.upcomingInput()+` +`+Ve+"^"},test_match:function(me,Ve){var Ye,ce,ke;if(this.options.backtrack_lexer&&(ke={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ke.yylloc.range=this.yylloc.range.slice(0))),ce=me[0].match(/(?:\r\n?|\n).*/g),ce&&(this.yylineno+=ce.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ce?ce[ce.length-1].length-ce[ce.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+me[0].length},this.yytext+=me[0],this.match+=me[0],this.matches=me,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(me[0].length),this.matched+=me[0],Ye=this.performAction.call(this,this.yy,this,Ve,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ye)return Ye;if(this._backtrack){for(var zt in ke)this[zt]=ke[zt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var me,Ve,Ye,ce;this._more||(this.yytext="",this.match="");for(var ke=this._currentRules(),zt=0;ztVe[0].length)){if(Ve=Ye,ce=zt,this.options.backtrack_lexer){if(me=this.test_match(Ye,ke[zt]),me!==!1)return me;if(this._backtrack){Ve=!1;continue}else return!1}else if(!this.options.flex)break}return Ve?(me=this.test_match(Ve,ke[ce]),me!==!1?me:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ve=this.next();return Ve||this.lex()},begin:function(Ve){this.conditionStack.push(Ve)},popState:function(){var Ve=this.conditionStack.length-1;return Ve>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ve){return Ve=this.conditionStack.length-1-Math.abs(Ve||0),Ve>=0?this.conditionStack[Ve]:"INITIAL"},pushState:function(Ve){this.begin(Ve)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ve,Ye,ce,ke){switch(ce){case 0:break;case 1:break;case 2:return 32;case 3:break;case 4:return this.begin("title"),13;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),15;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),17;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 25;case 14:return 27;case 15:return 26;case 16:return 28;case 17:return 29;case 18:return 30;case 19:return 31;case 20:this.begin("md_string");break;case 21:return"MD_STR";case 22:this.popState();break;case 23:this.begin("string");break;case 24:this.popState();break;case 25:return"STR";case 26:return this.begin("point_start"),22;case 27:return this.begin("point_x"),23;case 28:this.popState();break;case 29:this.popState(),this.begin("point_y");break;case 30:return this.popState(),24;case 31:return 6;case 32:return 43;case 33:return"COLON";case 34:return 45;case 35:return 44;case 36:return 46;case 37:return 46;case 38:return 47;case 39:return 49;case 40:return 50;case 41:return 48;case 42:return 41;case 43:return 51;case 44:return 42;case 45:return 5;case 46:return 33;case 47:return 40;case 48:return 34}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{point_y:{rules:[30],inclusive:!1},point_x:{rules:[29],inclusive:!1},point_start:{rules:[27,28],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[21,22],inclusive:!1},string:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,23,26,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};return Se}();Le.lexer=Ft;function gn(){this.yy={}}return gn.prototype=Le,Le.Parser=gn,new gn}();agt.parser=agt;const iHe=agt,mg=X1t();class sHe{constructor(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){var a,f,p,w,m,b,E,_,A,I,B,N,R,z,W,et,st,at;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:((a=Zh.quadrantChart)==null?void 0:a.chartWidth)||500,chartWidth:((f=Zh.quadrantChart)==null?void 0:f.chartHeight)||500,titlePadding:((p=Zh.quadrantChart)==null?void 0:p.titlePadding)||10,titleFontSize:((w=Zh.quadrantChart)==null?void 0:w.titleFontSize)||20,quadrantPadding:((m=Zh.quadrantChart)==null?void 0:m.quadrantPadding)||5,xAxisLabelPadding:((b=Zh.quadrantChart)==null?void 0:b.xAxisLabelPadding)||5,yAxisLabelPadding:((E=Zh.quadrantChart)==null?void 0:E.yAxisLabelPadding)||5,xAxisLabelFontSize:((_=Zh.quadrantChart)==null?void 0:_.xAxisLabelFontSize)||16,yAxisLabelFontSize:((A=Zh.quadrantChart)==null?void 0:A.yAxisLabelFontSize)||16,quadrantLabelFontSize:((I=Zh.quadrantChart)==null?void 0:I.quadrantLabelFontSize)||16,quadrantTextTopPadding:((B=Zh.quadrantChart)==null?void 0:B.quadrantTextTopPadding)||5,pointTextPadding:((N=Zh.quadrantChart)==null?void 0:N.pointTextPadding)||5,pointLabelFontSize:((R=Zh.quadrantChart)==null?void 0:R.pointLabelFontSize)||12,pointRadius:((z=Zh.quadrantChart)==null?void 0:z.pointRadius)||5,xAxisPosition:((W=Zh.quadrantChart)==null?void 0:W.xAxisPosition)||"top",yAxisPosition:((et=Zh.quadrantChart)==null?void 0:et.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:((st=Zh.quadrantChart)==null?void 0:st.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:((at=Zh.quadrantChart)==null?void 0:at.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:mg.quadrant1Fill,quadrant2Fill:mg.quadrant2Fill,quadrant3Fill:mg.quadrant3Fill,quadrant4Fill:mg.quadrant4Fill,quadrant1TextFill:mg.quadrant1TextFill,quadrant2TextFill:mg.quadrant2TextFill,quadrant3TextFill:mg.quadrant3TextFill,quadrant4TextFill:mg.quadrant4TextFill,quadrantPointFill:mg.quadrantPointFill,quadrantPointTextFill:mg.quadrantPointTextFill,quadrantXAxisTextFill:mg.quadrantXAxisTextFill,quadrantYAxisTextFill:mg.quadrantYAxisTextFill,quadrantTitleFill:mg.quadrantTitleFill,quadrantInternalBorderStrokeFill:mg.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:mg.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),Ut.info("clear called")}setData(a){this.data={...this.data,...a}}addPoints(a){this.data.points=[...a,...this.data.points]}setConfig(a){Ut.trace("setConfig called with: ",a),this.config={...this.config,...a}}setThemeConfig(a){Ut.trace("setThemeConfig called with: ",a),this.themeConfig={...this.themeConfig,...a}}calculateSpace(a,f,p,w){const m=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,b={top:a==="top"&&f?m:0,bottom:a==="bottom"&&f?m:0},E=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,_={left:this.config.yAxisPosition==="left"&&p?E:0,right:this.config.yAxisPosition==="right"&&p?E:0},A=this.config.titleFontSize+this.config.titlePadding*2,I={top:w?A:0},B=this.config.quadrantPadding+_.left,N=this.config.quadrantPadding+b.top+I.top,R=this.config.chartWidth-this.config.quadrantPadding*2-_.left-_.right,z=this.config.chartHeight-this.config.quadrantPadding*2-b.top-b.bottom-I.top,W=R/2,et=z/2;return{xAxisSpace:b,yAxisSpace:_,titleSpace:I,quadrantSpace:{quadrantLeft:B,quadrantTop:N,quadrantWidth:R,quadrantHalfWidth:W,quadrantHeight:z,quadrantHalfHeight:et}}}getAxisLabels(a,f,p,w){const{quadrantSpace:m,titleSpace:b}=w,{quadrantHalfHeight:E,quadrantHeight:_,quadrantLeft:A,quadrantHalfWidth:I,quadrantTop:B,quadrantWidth:N}=m,R=!!this.data.xAxisRightText,z=!!this.data.yAxisTopText,W=[];return this.data.xAxisLeftText&&f&&W.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:A+(R?I/2:0),y:a==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+B+_+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:R?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&f&&W.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:A+I+(R?I/2:0),y:a==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+B+_+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:R?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&p&&W.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+A+N+this.config.quadrantPadding,y:B+_-(z?E/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:z?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&p&&W.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+A+N+this.config.quadrantPadding,y:B+E-(z?E/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:z?"center":"left",horizontalPos:"top",rotation:-90}),W}getQuadrants(a){const{quadrantSpace:f}=a,{quadrantHalfHeight:p,quadrantLeft:w,quadrantHalfWidth:m,quadrantTop:b}=f,E=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w+m,y:b,width:m,height:p,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w,y:b,width:m,height:p,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w,y:b+p,width:m,height:p,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w+m,y:b+p,width:m,height:p,fill:this.themeConfig.quadrant4Fill}];for(const _ of E)_.text.x=_.x+_.width/2,this.data.points.length===0?(_.text.y=_.y+_.height/2,_.text.horizontalPos="middle"):(_.text.y=_.y+this.config.quadrantTextTopPadding,_.text.horizontalPos="top");return E}getQuadrantPoints(a){const{quadrantSpace:f}=a,{quadrantHeight:p,quadrantLeft:w,quadrantTop:m,quadrantWidth:b}=f,E=AA().domain([0,1]).range([w,b+w]),_=AA().domain([0,1]).range([p+m,m]);return this.data.points.map(I=>({x:E(I.x),y:_(I.y),fill:this.themeConfig.quadrantPointFill,radius:this.config.pointRadius,text:{text:I.text,fill:this.themeConfig.quadrantPointTextFill,x:E(I.x),y:_(I.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0}}))}getBorders(a){const f=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:p}=a,{quadrantHalfHeight:w,quadrantHeight:m,quadrantLeft:b,quadrantHalfWidth:E,quadrantTop:_,quadrantWidth:A}=p;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-f,y1:_,x2:b+A+f,y2:_},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b+A,y1:_+f,x2:b+A,y2:_+m-f},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-f,y1:_+m,x2:b+A+f,y2:_+m},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b,y1:_+f,x2:b,y2:_+m-f},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+E,y1:_+f,x2:b+E,y2:_+m-f},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+f,y1:_+w,x2:b+A-f,y2:_+w}]}getTitle(a){if(a)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const a=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),f=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),p=this.config.showTitle&&!!this.data.titleText,w=this.data.points.length>0?"bottom":this.config.xAxisPosition,m=this.calculateSpace(w,a,f,p);return{points:this.getQuadrantPoints(m),quadrants:this.getQuadrants(m),axisLabels:this.getAxisLabels(w,a,f,m),borderLines:this.getBorders(m),title:this.getTitle(p)}}}const aHe=Oe();function B5(i){return Q1(i.trim(),aHe)}const _0=new sHe;function oHe(i){_0.setData({quadrant1Text:B5(i.text)})}function cHe(i){_0.setData({quadrant2Text:B5(i.text)})}function uHe(i){_0.setData({quadrant3Text:B5(i.text)})}function lHe(i){_0.setData({quadrant4Text:B5(i.text)})}function hHe(i){_0.setData({xAxisLeftText:B5(i.text)})}function fHe(i){_0.setData({xAxisRightText:B5(i.text)})}function dHe(i){_0.setData({yAxisTopText:B5(i.text)})}function gHe(i){_0.setData({yAxisBottomText:B5(i.text)})}function pHe(i,a,f){_0.addPoints([{x:a,y:f,text:B5(i.text)}])}function bHe(i){_0.setConfig({chartWidth:i})}function wHe(i){_0.setConfig({chartHeight:i})}function vHe(){const i=Oe(),{themeVariables:a,quadrantChart:f}=i;return f&&_0.setConfig(f),_0.setThemeConfig({quadrant1Fill:a.quadrant1Fill,quadrant2Fill:a.quadrant2Fill,quadrant3Fill:a.quadrant3Fill,quadrant4Fill:a.quadrant4Fill,quadrant1TextFill:a.quadrant1TextFill,quadrant2TextFill:a.quadrant2TextFill,quadrant3TextFill:a.quadrant3TextFill,quadrant4TextFill:a.quadrant4TextFill,quadrantPointFill:a.quadrantPointFill,quadrantPointTextFill:a.quadrantPointTextFill,quadrantXAxisTextFill:a.quadrantXAxisTextFill,quadrantYAxisTextFill:a.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:a.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:a.quadrantInternalBorderStrokeFill,quadrantTitleFill:a.quadrantTitleFill}),_0.setData({titleText:pg()}),_0.build()}const mHe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:iHe,db:{setWidth:bHe,setHeight:wHe,setQuadrant1Text:oHe,setQuadrant2Text:cHe,setQuadrant3Text:uHe,setQuadrant4Text:lHe,setXAxisLeftText:hHe,setXAxisRightText:fHe,setYAxisTopText:dHe,setYAxisBottomText:gHe,addPoint:pHe,getQuadrantData:vHe,clear:function(){_0.clear(),hg()},setAccTitle:E0,getAccTitle:fg,setDiagramTitle:Nb,getDiagramTitle:pg,getAccDescription:gg,setAccDescription:dg},renderer:{draw:(i,a,f,p)=>{var vt,X,pt;function w(U){return U==="top"?"hanging":"middle"}function m(U){return U==="left"?"start":"middle"}function b(U){return`translate(${U.x}, ${U.y}) rotate(${U.rotation||0})`}const E=Oe();Ut.debug(`Rendering quadrant chart +`+i);const _=E.securityLevel;let A;_==="sandbox"&&(A=yr("#i"+a));const B=yr(_==="sandbox"?A.nodes()[0].contentDocument.body:"body").select(`[id="${a}"]`),N=B.append("g").attr("class","main"),R=((vt=E.quadrantChart)==null?void 0:vt.chartWidth)||500,z=((X=E.quadrantChart)==null?void 0:X.chartHeight)||500;k0(B,z,R,((pt=E.quadrantChart)==null?void 0:pt.useMaxWidth)||!0),B.attr("viewBox","0 0 "+R+" "+z),p.db.setHeight(z),p.db.setWidth(R);const W=p.db.getQuadrantData(),et=N.append("g").attr("class","quadrants"),st=N.append("g").attr("class","border"),at=N.append("g").attr("class","data-points"),bt=N.append("g").attr("class","labels"),mt=N.append("g").attr("class","title");W.title&&mt.append("text").attr("x",0).attr("y",0).attr("fill",W.title.fill).attr("font-size",W.title.fontSize).attr("dominant-baseline",w(W.title.horizontalPos)).attr("text-anchor",m(W.title.verticalPos)).attr("transform",b(W.title)).text(W.title.text),W.borderLines&&st.selectAll("line").data(W.borderLines).enter().append("line").attr("x1",U=>U.x1).attr("y1",U=>U.y1).attr("x2",U=>U.x2).attr("y2",U=>U.y2).style("stroke",U=>U.strokeFill).style("stroke-width",U=>U.strokeWidth);const yt=et.selectAll("g.quadrant").data(W.quadrants).enter().append("g").attr("class","quadrant");yt.append("rect").attr("x",U=>U.x).attr("y",U=>U.y).attr("width",U=>U.width).attr("height",U=>U.height).attr("fill",U=>U.fill),yt.append("text").attr("x",0).attr("y",0).attr("fill",U=>U.text.fill).attr("font-size",U=>U.text.fontSize).attr("dominant-baseline",U=>w(U.text.horizontalPos)).attr("text-anchor",U=>m(U.text.verticalPos)).attr("transform",U=>b(U.text)).text(U=>U.text.text),bt.selectAll("g.label").data(W.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(U=>U.text).attr("fill",U=>U.fill).attr("font-size",U=>U.fontSize).attr("dominant-baseline",U=>w(U.horizontalPos)).attr("text-anchor",U=>m(U.verticalPos)).attr("transform",U=>b(U));const ut=at.selectAll("g.data-point").data(W.points).enter().append("g").attr("class","data-point");ut.append("circle").attr("cx",U=>U.x).attr("cy",U=>U.y).attr("r",U=>U.radius).attr("fill",U=>U.fill),ut.append("text").attr("x",0).attr("y",0).text(U=>U.text.text).attr("fill",U=>U.text.fill).attr("font-size",U=>U.text.fontSize).attr("dominant-baseline",U=>w(U.text.horizontalPos)).attr("text-anchor",U=>m(U.text.verticalPos)).attr("transform",U=>b(U.text))}},styles:()=>""}},Symbol.toStringTag,{value:"Module"}));var ogt=function(){var i=function(Ot,Bt,Et,Z){for(Et=Et||{},Z=Ot.length;Z--;Et[Ot[Z]]=Bt);return Et},a=[1,10,12,14,16,18,19,21,23],f=[2,6],p=[1,3],w=[1,5],m=[1,6],b=[1,7],E=[1,5,10,12,14,16,18,19,21,23,34,35,36],_=[1,25],A=[1,26],I=[1,28],B=[1,29],N=[1,30],R=[1,31],z=[1,32],W=[1,33],et=[1,34],st=[1,35],at=[1,36],bt=[1,37],mt=[1,43],yt=[1,42],ft=[1,47],ut=[1,50],vt=[1,10,12,14,16,18,19,21,23,34,35,36],X=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],pt=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],U=[1,64],Tt={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:function(Bt,Et,Z,Ct,xt,Ht,Le){var Ft=Ht.length-1;switch(xt){case 5:Ct.setOrientation(Ht[Ft]);break;case 9:Ct.setDiagramTitle(Ht[Ft].text.trim());break;case 12:Ct.setLineData({text:"",type:"text"},Ht[Ft]);break;case 13:Ct.setLineData(Ht[Ft-1],Ht[Ft]);break;case 14:Ct.setBarData({text:"",type:"text"},Ht[Ft]);break;case 15:Ct.setBarData(Ht[Ft-1],Ht[Ft]);break;case 16:this.$=Ht[Ft].trim(),Ct.setAccTitle(this.$);break;case 17:case 18:this.$=Ht[Ft].trim(),Ct.setAccDescription(this.$);break;case 19:this.$=Ht[Ft-1];break;case 20:this.$=[Number(Ht[Ft-2]),...Ht[Ft]];break;case 21:this.$=[Number(Ht[Ft])];break;case 22:Ct.setXAxisTitle(Ht[Ft]);break;case 23:Ct.setXAxisTitle(Ht[Ft-1]);break;case 24:Ct.setXAxisTitle({type:"text",text:""});break;case 25:Ct.setXAxisBand(Ht[Ft]);break;case 26:Ct.setXAxisRangeData(Number(Ht[Ft-2]),Number(Ht[Ft]));break;case 27:this.$=Ht[Ft-1];break;case 28:this.$=[Ht[Ft-2],...Ht[Ft]];break;case 29:this.$=[Ht[Ft]];break;case 30:Ct.setYAxisTitle(Ht[Ft]);break;case 31:Ct.setYAxisTitle(Ht[Ft-1]);break;case 32:Ct.setYAxisTitle({type:"text",text:""});break;case 33:Ct.setYAxisRangeData(Number(Ht[Ft-2]),Number(Ht[Ft]));break;case 37:this.$={text:Ht[Ft],type:"text"};break;case 38:this.$={text:Ht[Ft],type:"text"};break;case 39:this.$={text:Ht[Ft],type:"markdown"};break;case 40:this.$=Ht[Ft];break;case 41:this.$=Ht[Ft-1]+""+Ht[Ft];break}},table:[i(a,f,{3:1,4:2,7:4,5:p,34:w,35:m,36:b}),{1:[3]},i(a,f,{4:2,7:4,3:8,5:p,34:w,35:m,36:b}),i(a,f,{4:2,7:4,6:9,3:10,5:p,8:[1,11],34:w,35:m,36:b}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},i(E,[2,34]),i(E,[2,35]),i(E,[2,36]),{1:[2,1]},i(a,f,{4:2,7:4,3:21,5:p,34:w,35:m,36:b}),{1:[2,3]},i(E,[2,5]),i(a,[2,7],{4:22,34:w,35:m,36:b}),{11:23,37:24,38:_,39:A,40:27,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt},{11:39,13:38,24:mt,27:yt,29:40,30:41,37:24,38:_,39:A,40:27,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt},{11:45,15:44,27:ft,33:46,37:24,38:_,39:A,40:27,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt},{11:49,17:48,24:ut,37:24,38:_,39:A,40:27,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt},{11:52,17:51,24:ut,37:24,38:_,39:A,40:27,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt},{20:[1,53]},{22:[1,54]},i(vt,[2,18]),{1:[2,2]},i(vt,[2,8]),i(vt,[2,9]),i(X,[2,37],{40:55,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt}),i(X,[2,38]),i(X,[2,39]),i(pt,[2,40]),i(pt,[2,42]),i(pt,[2,43]),i(pt,[2,44]),i(pt,[2,45]),i(pt,[2,46]),i(pt,[2,47]),i(pt,[2,48]),i(pt,[2,49]),i(pt,[2,50]),i(pt,[2,51]),i(vt,[2,10]),i(vt,[2,22],{30:41,29:56,24:mt,27:yt}),i(vt,[2,24]),i(vt,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:_,39:A,40:27,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt},i(vt,[2,11]),i(vt,[2,30],{33:60,27:ft}),i(vt,[2,32]),{31:[1,61]},i(vt,[2,12]),{17:62,24:ut},{25:63,27:U},i(vt,[2,14]),{17:65,24:ut},i(vt,[2,16]),i(vt,[2,17]),i(pt,[2,41]),i(vt,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},i(vt,[2,31]),{27:[1,69]},i(vt,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},i(vt,[2,15]),i(vt,[2,26]),i(vt,[2,27]),{11:59,32:72,37:24,38:_,39:A,40:27,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt},i(vt,[2,33]),i(vt,[2,19]),{25:73,27:U},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:function(Bt,Et){if(Et.recoverable)this.trace(Bt);else{var Z=new Error(Bt);throw Z.hash=Et,Z}},parse:function(Bt){var Et=this,Z=[0],Ct=[],xt=[null],Ht=[],Le=this.table,Ft="",gn=0,Se=0,me=2,Ve=1,Ye=Ht.slice.call(arguments,1),ce=Object.create(this.lexer),ke={yy:{}};for(var zt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,zt)&&(ke.yy[zt]=this.yy[zt]);ce.setInput(Bt,ke.yy),ke.yy.lexer=ce,ke.yy.parser=this,typeof ce.yylloc>"u"&&(ce.yylloc={});var re=ce.yylloc;Ht.push(re);var se=ce.options&&ce.options.ranges;typeof ke.yy.parseError=="function"?this.parseError=ke.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pe(){var Xn;return Xn=Ct.pop()||ce.lex()||Ve,typeof Xn!="number"&&(Xn instanceof Array&&(Ct=Xn,Xn=Ct.pop()),Xn=Et.symbols_[Xn]||Xn),Xn}for(var te,Me,de,on,ni={},Ks,ws,fo,Xi;;){if(Me=Z[Z.length-1],this.defaultActions[Me]?de=this.defaultActions[Me]:((te===null||typeof te>"u")&&(te=Pe()),de=Le[Me]&&Le[Me][te]),typeof de>"u"||!de.length||!de[0]){var Er="";Xi=[];for(Ks in Le[Me])this.terminals_[Ks]&&Ks>me&&Xi.push("'"+this.terminals_[Ks]+"'");ce.showPosition?Er="Parse error on line "+(gn+1)+`: +`+ce.showPosition()+` +Expecting `+Xi.join(", ")+", got '"+(this.terminals_[te]||te)+"'":Er="Parse error on line "+(gn+1)+": Unexpected "+(te==Ve?"end of input":"'"+(this.terminals_[te]||te)+"'"),this.parseError(Er,{text:ce.match,token:this.terminals_[te]||te,line:ce.yylineno,loc:re,expected:Xi})}if(de[0]instanceof Array&&de.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Me+", token: "+te);switch(de[0]){case 1:Z.push(te),xt.push(ce.yytext),Ht.push(ce.yylloc),Z.push(de[1]),te=null,Se=ce.yyleng,Ft=ce.yytext,gn=ce.yylineno,re=ce.yylloc;break;case 2:if(ws=this.productions_[de[1]][1],ni.$=xt[xt.length-ws],ni._$={first_line:Ht[Ht.length-(ws||1)].first_line,last_line:Ht[Ht.length-1].last_line,first_column:Ht[Ht.length-(ws||1)].first_column,last_column:Ht[Ht.length-1].last_column},se&&(ni._$.range=[Ht[Ht.length-(ws||1)].range[0],Ht[Ht.length-1].range[1]]),on=this.performAction.apply(ni,[Ft,Se,gn,ke.yy,de[1],xt,Ht].concat(Ye)),typeof on<"u")return on;ws&&(Z=Z.slice(0,-1*ws*2),xt=xt.slice(0,-1*ws),Ht=Ht.slice(0,-1*ws)),Z.push(this.productions_[de[1]][0]),xt.push(ni.$),Ht.push(ni._$),fo=Le[Z[Z.length-2]][Z[Z.length-1]],Z.push(fo);break;case 3:return!0}}return!0}},nt=function(){var Ot={EOF:1,parseError:function(Et,Z){if(this.yy.parser)this.yy.parser.parseError(Et,Z);else throw new Error(Et)},setInput:function(Bt,Et){return this.yy=Et||this.yy||{},this._input=Bt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Bt=this._input[0];this.yytext+=Bt,this.yyleng++,this.offset++,this.match+=Bt,this.matched+=Bt;var Et=Bt.match(/(?:\r\n?|\n).*/g);return Et?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Bt},unput:function(Bt){var Et=Bt.length,Z=Bt.split(/(?:\r\n?|\n)/g);this._input=Bt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Et),this.offset-=Et;var Ct=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Z.length-1&&(this.yylineno-=Z.length-1);var xt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Z?(Z.length===Ct.length?this.yylloc.first_column:0)+Ct[Ct.length-Z.length].length-Z[0].length:this.yylloc.first_column-Et},this.options.ranges&&(this.yylloc.range=[xt[0],xt[0]+this.yyleng-Et]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Bt){this.unput(this.match.slice(Bt))},pastInput:function(){var Bt=this.matched.substr(0,this.matched.length-this.match.length);return(Bt.length>20?"...":"")+Bt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Bt=this.match;return Bt.length<20&&(Bt+=this._input.substr(0,20-Bt.length)),(Bt.substr(0,20)+(Bt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Bt=this.pastInput(),Et=new Array(Bt.length+1).join("-");return Bt+this.upcomingInput()+` +`+Et+"^"},test_match:function(Bt,Et){var Z,Ct,xt;if(this.options.backtrack_lexer&&(xt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(xt.yylloc.range=this.yylloc.range.slice(0))),Ct=Bt[0].match(/(?:\r\n?|\n).*/g),Ct&&(this.yylineno+=Ct.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ct?Ct[Ct.length-1].length-Ct[Ct.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Bt[0].length},this.yytext+=Bt[0],this.match+=Bt[0],this.matches=Bt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Bt[0].length),this.matched+=Bt[0],Z=this.performAction.call(this,this.yy,this,Et,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Z)return Z;if(this._backtrack){for(var Ht in xt)this[Ht]=xt[Ht];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Bt,Et,Z,Ct;this._more||(this.yytext="",this.match="");for(var xt=this._currentRules(),Ht=0;HtEt[0].length)){if(Et=Z,Ct=Ht,this.options.backtrack_lexer){if(Bt=this.test_match(Z,xt[Ht]),Bt!==!1)return Bt;if(this._backtrack){Et=!1;continue}else return!1}else if(!this.options.flex)break}return Et?(Bt=this.test_match(Et,xt[Ct]),Bt!==!1?Bt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Et=this.next();return Et||this.lex()},begin:function(Et){this.conditionStack.push(Et)},popState:function(){var Et=this.conditionStack.length-1;return Et>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Et){return Et=this.conditionStack.length-1-Math.abs(Et||0),Et>=0?this.conditionStack[Et]:"INITIAL"},pushState:function(Et){this.begin(Et)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Et,Z,Ct,xt){switch(Ct){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};return Ot}();Tt.lexer=nt;function It(){this.yy={}}return It.prototype=Tt,Tt.Parser=It,new It}();ogt.parser=ogt;const yHe=ogt;function oRt(i){return i.type==="bar"}function cRt(i){return i.type==="band"}function BF(i){return i.type==="linear"}class uRt{constructor(a){this.parentGroup=a}getMaxDimension(a,f){if(!this.parentGroup)return{width:a.reduce((m,b)=>Math.max(b.length,m),0)*f,height:f};const p={width:0,height:0},w=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",f);for(const m of a){const b=k$e(w,1,m),E=b?b.width:m.length*f,_=b?b.height:f;p.width=Math.max(p.width,E),p.height=Math.max(p.height,_)}return w.remove(),p}}const lRt=.7,hRt=.2;class fRt{constructor(a,f,p,w){this.axisConfig=a,this.title=f,this.textDimensionCalculator=p,this.axisThemeConfig=w,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(a){this.range=a,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=a[1]-a[0]:this.boundingRect.width=a[1]-a[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(a){this.axisPosition=a,this.setRange(this.range)}getTickDistance(){const a=this.getRange();return Math.abs(a[0]-a[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(a=>a.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){lRt*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(lRt*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(a){let f=a.height;if(this.axisConfig.showAxisLine&&f>this.axisConfig.axisLineWidth&&(f-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const p=this.getLabelDimension(),w=hRt*a.width;this.outerPadding=Math.min(p.width/2,w);const m=p.height+this.axisConfig.labelPadding*2;this.labelTextHeight=p.height,m<=f&&(f-=m,this.showLabel=!0)}if(this.axisConfig.showTick&&f>=this.axisConfig.tickLength&&(this.showTick=!0,f-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const p=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),w=p.height+this.axisConfig.titlePadding*2;this.titleTextHeight=p.height,w<=f&&(f-=w,this.showTitle=!0)}this.boundingRect.width=a.width,this.boundingRect.height=a.height-f}calculateSpaceIfDrawnVertical(a){let f=a.width;if(this.axisConfig.showAxisLine&&f>this.axisConfig.axisLineWidth&&(f-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const p=this.getLabelDimension(),w=hRt*a.height;this.outerPadding=Math.min(p.height/2,w);const m=p.width+this.axisConfig.labelPadding*2;m<=f&&(f-=m,this.showLabel=!0)}if(this.axisConfig.showTick&&f>=this.axisConfig.tickLength&&(this.showTick=!0,f-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const p=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),w=p.height+this.axisConfig.titlePadding*2;this.titleTextHeight=p.height,w<=f&&(f-=w,this.showTitle=!0)}this.boundingRect.width=a.width-f,this.boundingRect.height=a.height}calculateSpace(a){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(a):this.calculateSpaceIfDrawnHorizontally(a),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}getDrawableElementsForLeftAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${f},${this.boundingRect.y} L ${f},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(f),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const f=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);a.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(p=>({path:`M ${f},${this.getScaleValue(p)} L ${f-this.axisConfig.tickLength},${this.getScaleValue(p)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElementsForBottomAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.y+this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${f} L ${this.boundingRect.x+this.boundingRect.width},${f}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.getScaleValue(f),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const f=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);a.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(p=>({path:`M ${this.getScaleValue(p)},${f} L ${this.getScaleValue(p)},${f+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElementsForTopAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${f} L ${this.boundingRect.x+this.boundingRect.width},${f}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.getScaleValue(f),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const f=this.boundingRect.y;a.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(p=>({path:`M ${this.getScaleValue(p)},${f+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(p)},${f+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}class xHe extends fRt{constructor(a,f,p,w,m){super(a,w,m,f),this.categories=p,this.scale=S1t().domain(this.categories).range(this.getRange())}setRange(a){super.setRange(a)}recalculateScale(){this.scale=S1t().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Ut.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(a){return this.scale(a)||this.getRange()[0]}}class kHe extends fRt{constructor(a,f,p,w,m){super(a,w,m,f),this.domain=p,this.scale=AA().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const a=[...this.domain];this.axisPosition==="left"&&a.reverse(),this.scale=AA().domain(a).range(this.getRange())}getScaleValue(a){return this.scale(a)}}function dRt(i,a,f,p){const w=new uRt(p);return cRt(i)?new xHe(a,f,i.categories,i.title,w):new kHe(a,f,[i.min,i.max],i.title,w)}class EHe{constructor(a,f,p,w){this.textDimensionCalculator=a,this.chartConfig=f,this.chartData=p,this.chartThemeConfig=w,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}calculateSpace(a){const f=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),p=Math.max(f.width,a.width),w=f.height+2*this.chartConfig.titlePadding;return f.width<=p&&f.height<=w&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=p,this.boundingRect.height=w,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const a=[];return this.showChartTitle&&a.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),a}}function THe(i,a,f,p){const w=new uRt(p);return new EHe(w,i,a,f)}class CHe{constructor(a,f,p,w,m){this.plotData=a,this.xAxis=f,this.yAxis=p,this.orientation=w,this.plotIndex=m}getDrawableElement(){const a=this.plotData.data.map(p=>[this.xAxis.getScaleValue(p[0]),this.yAxis.getScaleValue(p[1])]);let f;return this.orientation==="horizontal"?f=E5().y(p=>p[0]).x(p=>p[1])(a):f=E5().x(p=>p[0]).y(p=>p[1])(a),f?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:f,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}class _He{constructor(a,f,p,w,m,b){this.barData=a,this.boundingRect=f,this.xAxis=p,this.yAxis=w,this.orientation=m,this.plotIndex=b}getDrawableElement(){const a=this.barData.data.map(m=>[this.xAxis.getScaleValue(m[0]),this.yAxis.getScaleValue(m[1])]),f=.05,p=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-f),w=p/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:a.map(m=>({x:this.boundingRect.x,y:m[0]-w,height:p,width:m[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:a.map(m=>({x:m[0]-w,y:m[1],width:p,height:this.boundingRect.y+this.boundingRect.height-m[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}class SHe{constructor(a,f,p){this.chartConfig=a,this.chartData=f,this.chartThemeConfig=p,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(a,f){this.xAxis=a,this.yAxis=f}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}calculateSpace(a){return this.boundingRect.width=a.width,this.boundingRect.height=a.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const a=[];for(const[f,p]of this.chartData.plots.entries())switch(p.type){case"line":{const w=new CHe(p,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,f);a.push(...w.getDrawableElement())}break;case"bar":{const w=new _He(p,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,f);a.push(...w.getDrawableElement())}break}return a}}function AHe(i,a,f){return new SHe(i,a,f)}class LHe{constructor(a,f,p,w){this.chartConfig=a,this.chartData=f,this.componentStore={title:THe(a,f,p,w),plot:AHe(a,f,p),xAxis:dRt(f.xAxis,a.xAxis,{titleColor:p.xAxisTitleColor,labelColor:p.xAxisLabelColor,tickColor:p.xAxisTickColor,axisLineColor:p.xAxisLineColor},w),yAxis:dRt(f.yAxis,a.yAxis,{titleColor:p.yAxisTitleColor,labelColor:p.yAxisLabelColor,tickColor:p.yAxisTickColor,axisLineColor:p.yAxisLineColor},w)}}calculateVerticalSpace(){let a=this.chartConfig.width,f=this.chartConfig.height,p=0,w=0,m=Math.floor(a*this.chartConfig.plotReservedSpacePercent/100),b=Math.floor(f*this.chartConfig.plotReservedSpacePercent/100),E=this.componentStore.plot.calculateSpace({width:m,height:b});a-=E.width,f-=E.height,E=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:f}),w=E.height,f-=E.height,this.componentStore.xAxis.setAxisPosition("bottom"),E=this.componentStore.xAxis.calculateSpace({width:a,height:f}),f-=E.height,this.componentStore.yAxis.setAxisPosition("left"),E=this.componentStore.yAxis.calculateSpace({width:a,height:f}),p=E.width,a-=E.width,a>0&&(m+=a,a=0),f>0&&(b+=f,f=0),this.componentStore.plot.calculateSpace({width:m,height:b}),this.componentStore.plot.setBoundingBoxXY({x:p,y:w}),this.componentStore.xAxis.setRange([p,p+m]),this.componentStore.xAxis.setBoundingBoxXY({x:p,y:w+b}),this.componentStore.yAxis.setRange([w,w+b]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:w}),this.chartData.plots.some(_=>oRt(_))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizonatalSpace(){let a=this.chartConfig.width,f=this.chartConfig.height,p=0,w=0,m=0,b=Math.floor(a*this.chartConfig.plotReservedSpacePercent/100),E=Math.floor(f*this.chartConfig.plotReservedSpacePercent/100),_=this.componentStore.plot.calculateSpace({width:b,height:E});a-=_.width,f-=_.height,_=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:f}),p=_.height,f-=_.height,this.componentStore.xAxis.setAxisPosition("left"),_=this.componentStore.xAxis.calculateSpace({width:a,height:f}),a-=_.width,w=_.width,this.componentStore.yAxis.setAxisPosition("top"),_=this.componentStore.yAxis.calculateSpace({width:a,height:f}),f-=_.height,m=p+_.height,a>0&&(b+=a,a=0),f>0&&(E+=f,f=0),this.componentStore.plot.calculateSpace({width:b,height:E}),this.componentStore.plot.setBoundingBoxXY({x:w,y:m}),this.componentStore.yAxis.setRange([w,w+b]),this.componentStore.yAxis.setBoundingBoxXY({x:w,y:p}),this.componentStore.xAxis.setRange([m,m+E]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:m}),this.chartData.plots.some(A=>oRt(A))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizonatalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const a=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const f of Object.values(this.componentStore))a.push(...f.getDrawableElements());return a}}class MHe{static build(a,f,p,w){return new LHe(a,f,p,w).getDrawableElement()}}let RF=0,gRt,jF=bRt(),$F=pRt(),fu=wRt(),cgt=$F.plotColorPalette.split(",").map(i=>i.trim()),BY=!1,ugt=!1;function pRt(){const i=X1t(),a=Fd();return rF(i.xyChart,a.themeVariables.xyChart)}function bRt(){const i=Fd();return rF(Zh.xyChart,i.xyChart)}function wRt(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function lgt(i){const a=Fd();return Q1(i.trim(),a)}function DHe(i){gRt=i}function IHe(i){i==="horizontal"?jF.chartOrientation="horizontal":jF.chartOrientation="vertical"}function OHe(i){fu.xAxis.title=lgt(i.text)}function vRt(i,a){fu.xAxis={type:"linear",title:fu.xAxis.title,min:i,max:a},BY=!0}function PHe(i){fu.xAxis={type:"band",title:fu.xAxis.title,categories:i.map(a=>lgt(a.text))},BY=!0}function FHe(i){fu.yAxis.title=lgt(i.text)}function NHe(i,a){fu.yAxis={type:"linear",title:fu.yAxis.title,min:i,max:a},ugt=!0}function BHe(i){const a=Math.min(...i),f=Math.max(...i),p=BF(fu.yAxis)?fu.yAxis.min:1/0,w=BF(fu.yAxis)?fu.yAxis.max:-1/0;fu.yAxis={type:"linear",title:fu.yAxis.title,min:Math.min(p,a),max:Math.max(w,f)}}function mRt(i){let a=[];if(i.length===0)return a;if(!BY){const f=BF(fu.xAxis)?fu.xAxis.min:1/0,p=BF(fu.xAxis)?fu.xAxis.max:-1/0;vRt(Math.min(f,1),Math.max(p,i.length))}if(ugt||BHe(i),cRt(fu.xAxis)&&(a=fu.xAxis.categories.map((f,p)=>[f,i[p]])),BF(fu.xAxis)){const f=fu.xAxis.min,p=fu.xAxis.max,w=(p-f+1)/i.length,m=[];for(let b=f;b<=p;b+=w)m.push(`${b}`);a=m.map((b,E)=>[b,i[E]])}return a}function yRt(i){return cgt[i===0?0:i%cgt.length]}function RHe(i,a){const f=mRt(a);fu.plots.push({type:"line",strokeFill:yRt(RF),strokeWidth:2,data:f}),RF++}function jHe(i,a){const f=mRt(a);fu.plots.push({type:"bar",fill:yRt(RF),data:f}),RF++}function $He(){if(fu.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return fu.title=pg(),MHe.build(jF,fu,$F,gRt)}function zHe(){return $F}function qHe(){return jF}const HHe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:yHe,db:{getDrawableElem:$He,clear:function(){hg(),RF=0,jF=bRt(),fu=wRt(),$F=pRt(),cgt=$F.plotColorPalette.split(",").map(i=>i.trim()),BY=!1,ugt=!1},setAccTitle:E0,getAccTitle:fg,setDiagramTitle:Nb,getDiagramTitle:pg,getAccDescription:gg,setAccDescription:dg,setOrientation:IHe,setXAxisTitle:OHe,setXAxisRangeData:vRt,setXAxisBand:PHe,setYAxisTitle:FHe,setYAxisRangeData:NHe,setLineData:RHe,setBarData:jHe,setTmpSVGG:DHe,getChartThemeConfig:zHe,getChartConfig:qHe},renderer:{draw:(i,a,f,p)=>{const w=p.db,m=w.getChartThemeConfig(),b=w.getChartConfig();function E(et){return et==="top"?"text-before-edge":"middle"}function _(et){return et==="left"?"start":et==="right"?"end":"middle"}function A(et){return`translate(${et.x}, ${et.y}) rotate(${et.rotation||0})`}Ut.debug(`Rendering xychart chart +`+i);const I=VW(a),B=I.append("g").attr("class","main"),N=B.append("rect").attr("width",b.width).attr("height",b.height).attr("class","background");k0(I,b.height,b.width,!0),I.attr("viewBox",`0 0 ${b.width} ${b.height}`),N.attr("fill",m.backgroundColor),w.setTmpSVGG(I.append("g").attr("class","mermaid-tmp-group"));const R=w.getDrawableElem(),z={};function W(et){let st=B,at="";for(const[bt]of et.entries()){let mt=B;bt>0&&z[at]&&(mt=z[at]),at+=et[bt],st=z[at],st||(st=z[at]=mt.append("g").attr("class",et[bt]))}return st}for(const et of R){if(et.data.length===0)continue;const st=W(et.groupTexts);switch(et.type){case"rect":st.selectAll("rect").data(et.data).enter().append("rect").attr("x",at=>at.x).attr("y",at=>at.y).attr("width",at=>at.width).attr("height",at=>at.height).attr("fill",at=>at.fill).attr("stroke",at=>at.strokeFill).attr("stroke-width",at=>at.strokeWidth);break;case"text":st.selectAll("text").data(et.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",at=>at.fill).attr("font-size",at=>at.fontSize).attr("dominant-baseline",at=>E(at.verticalPos)).attr("text-anchor",at=>_(at.horizontalPos)).attr("transform",at=>A(at)).text(at=>at.text);break;case"path":st.selectAll("path").data(et.data).enter().append("path").attr("d",at=>at.path).attr("fill",at=>at.fill?at.fill:"none").attr("stroke",at=>at.strokeFill).attr("stroke-width",at=>at.strokeWidth);break}}}}}},Symbol.toStringTag,{value:"Module"}));var hgt=function(){var i=function(Se,me,Ve,Ye){for(Ve=Ve||{},Ye=Se.length;Ye--;Ve[Se[Ye]]=me);return Ve},a=[1,3],f=[1,4],p=[1,5],w=[1,6],m=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],b=[1,18],E=[2,7],_=[1,22],A=[1,23],I=[1,24],B=[1,25],N=[1,26],R=[1,27],z=[1,20],W=[1,28],et=[1,29],st=[62,63],at=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],bt=[1,47],mt=[1,48],yt=[1,49],ft=[1,50],ut=[1,51],vt=[1,52],X=[1,53],pt=[53,54],U=[1,64],Tt=[1,60],nt=[1,61],It=[1,62],Ot=[1,63],Bt=[1,65],Et=[1,69],Z=[1,70],Ct=[1,67],xt=[1,68],Ht=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],Le={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:function(me,Ve,Ye,ce,ke,zt,re){var se=zt.length-1;switch(ke){case 4:this.$=zt[se].trim(),ce.setAccTitle(this.$);break;case 5:case 6:this.$=zt[se].trim(),ce.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:ce.addRequirement(zt[se-3],zt[se-4]);break;case 14:ce.setNewReqId(zt[se-2]);break;case 15:ce.setNewReqText(zt[se-2]);break;case 16:ce.setNewReqRisk(zt[se-2]);break;case 17:ce.setNewReqVerifyMethod(zt[se-2]);break;case 20:this.$=ce.RequirementType.REQUIREMENT;break;case 21:this.$=ce.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=ce.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=ce.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=ce.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=ce.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=ce.RiskLevel.LOW_RISK;break;case 27:this.$=ce.RiskLevel.MED_RISK;break;case 28:this.$=ce.RiskLevel.HIGH_RISK;break;case 29:this.$=ce.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=ce.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=ce.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=ce.VerifyType.VERIFY_TEST;break;case 33:ce.addElement(zt[se-3]);break;case 34:ce.setNewElementType(zt[se-2]);break;case 35:ce.setNewElementDocRef(zt[se-2]);break;case 38:ce.addRelationship(zt[se-2],zt[se],zt[se-4]);break;case 39:ce.addRelationship(zt[se-2],zt[se-4],zt[se]);break;case 40:this.$=ce.Relationships.CONTAINS;break;case 41:this.$=ce.Relationships.COPIES;break;case 42:this.$=ce.Relationships.DERIVES;break;case 43:this.$=ce.Relationships.SATISFIES;break;case 44:this.$=ce.Relationships.VERIFIES;break;case 45:this.$=ce.Relationships.REFINES;break;case 46:this.$=ce.Relationships.TRACES;break}},table:[{3:1,4:2,6:a,9:f,11:p,13:w},{1:[3]},{3:8,4:2,5:[1,7],6:a,9:f,11:p,13:w},{5:[1,9]},{10:[1,10]},{12:[1,11]},i(m,[2,6]),{3:12,4:2,6:a,9:f,11:p,13:w},{1:[2,2]},{4:17,5:b,7:13,8:E,9:f,11:p,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:A,33:I,34:B,35:N,36:R,44:z,62:W,63:et},i(m,[2,4]),i(m,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:b,7:31,8:E,9:f,11:p,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:A,33:I,34:B,35:N,36:R,44:z,62:W,63:et},{4:17,5:b,7:32,8:E,9:f,11:p,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:A,33:I,34:B,35:N,36:R,44:z,62:W,63:et},{4:17,5:b,7:33,8:E,9:f,11:p,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:A,33:I,34:B,35:N,36:R,44:z,62:W,63:et},{4:17,5:b,7:34,8:E,9:f,11:p,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:A,33:I,34:B,35:N,36:R,44:z,62:W,63:et},{4:17,5:b,7:35,8:E,9:f,11:p,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:A,33:I,34:B,35:N,36:R,44:z,62:W,63:et},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},i(st,[2,20]),i(st,[2,21]),i(st,[2,22]),i(st,[2,23]),i(st,[2,24]),i(st,[2,25]),i(at,[2,49]),i(at,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:bt,56:mt,57:yt,58:ft,59:ut,60:vt,61:X},{52:54,55:bt,56:mt,57:yt,58:ft,59:ut,60:vt,61:X},{5:[1,55]},{5:[1,56]},{53:[1,57]},i(pt,[2,40]),i(pt,[2,41]),i(pt,[2,42]),i(pt,[2,43]),i(pt,[2,44]),i(pt,[2,45]),i(pt,[2,46]),{54:[1,58]},{5:U,20:59,21:Tt,24:nt,26:It,28:Ot,30:Bt},{5:Et,30:Z,46:66,47:Ct,49:xt},{23:71,62:W,63:et},{23:72,62:W,63:et},i(Ht,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:U,20:77,21:Tt,24:nt,26:It,28:Ot,30:Bt},i(Ht,[2,19]),i(Ht,[2,33]),{22:[1,78]},{22:[1,79]},{5:Et,30:Z,46:80,47:Ct,49:xt},i(Ht,[2,37]),i(Ht,[2,38]),i(Ht,[2,39]),{23:81,62:W,63:et},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},i(Ht,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},i(Ht,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:U,20:106,21:Tt,24:nt,26:It,28:Ot,30:Bt},{5:U,20:107,21:Tt,24:nt,26:It,28:Ot,30:Bt},{5:U,20:108,21:Tt,24:nt,26:It,28:Ot,30:Bt},{5:U,20:109,21:Tt,24:nt,26:It,28:Ot,30:Bt},{5:Et,30:Z,46:110,47:Ct,49:xt},{5:Et,30:Z,46:111,47:Ct,49:xt},i(Ht,[2,14]),i(Ht,[2,15]),i(Ht,[2,16]),i(Ht,[2,17]),i(Ht,[2,34]),i(Ht,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:function(me,Ve){if(Ve.recoverable)this.trace(me);else{var Ye=new Error(me);throw Ye.hash=Ve,Ye}},parse:function(me){var Ve=this,Ye=[0],ce=[],ke=[null],zt=[],re=this.table,se="",Pe=0,te=0,Me=2,de=1,on=zt.slice.call(arguments,1),ni=Object.create(this.lexer),Ks={yy:{}};for(var ws in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ws)&&(Ks.yy[ws]=this.yy[ws]);ni.setInput(me,Ks.yy),Ks.yy.lexer=ni,Ks.yy.parser=this,typeof ni.yylloc>"u"&&(ni.yylloc={});var fo=ni.yylloc;zt.push(fo);var Xi=ni.options&&ni.options.ranges;typeof Ks.yy.parseError=="function"?this.parseError=Ks.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Er(){var Gs;return Gs=ce.pop()||ni.lex()||de,typeof Gs!="number"&&(Gs instanceof Array&&(ce=Gs,Gs=ce.pop()),Gs=Ve.symbols_[Gs]||Gs),Gs}for(var Xn,di,Ee,Kn,He={},Ti,pn,Es,qa;;){if(di=Ye[Ye.length-1],this.defaultActions[di]?Ee=this.defaultActions[di]:((Xn===null||typeof Xn>"u")&&(Xn=Er()),Ee=re[di]&&re[di][Xn]),typeof Ee>"u"||!Ee.length||!Ee[0]){var Ma="";qa=[];for(Ti in re[di])this.terminals_[Ti]&&Ti>Me&&qa.push("'"+this.terminals_[Ti]+"'");ni.showPosition?Ma="Parse error on line "+(Pe+1)+`: +`+ni.showPosition()+` +Expecting `+qa.join(", ")+", got '"+(this.terminals_[Xn]||Xn)+"'":Ma="Parse error on line "+(Pe+1)+": Unexpected "+(Xn==de?"end of input":"'"+(this.terminals_[Xn]||Xn)+"'"),this.parseError(Ma,{text:ni.match,token:this.terminals_[Xn]||Xn,line:ni.yylineno,loc:fo,expected:qa})}if(Ee[0]instanceof Array&&Ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+di+", token: "+Xn);switch(Ee[0]){case 1:Ye.push(Xn),ke.push(ni.yytext),zt.push(ni.yylloc),Ye.push(Ee[1]),Xn=null,te=ni.yyleng,se=ni.yytext,Pe=ni.yylineno,fo=ni.yylloc;break;case 2:if(pn=this.productions_[Ee[1]][1],He.$=ke[ke.length-pn],He._$={first_line:zt[zt.length-(pn||1)].first_line,last_line:zt[zt.length-1].last_line,first_column:zt[zt.length-(pn||1)].first_column,last_column:zt[zt.length-1].last_column},Xi&&(He._$.range=[zt[zt.length-(pn||1)].range[0],zt[zt.length-1].range[1]]),Kn=this.performAction.apply(He,[se,te,Pe,Ks.yy,Ee[1],ke,zt].concat(on)),typeof Kn<"u")return Kn;pn&&(Ye=Ye.slice(0,-1*pn*2),ke=ke.slice(0,-1*pn),zt=zt.slice(0,-1*pn)),Ye.push(this.productions_[Ee[1]][0]),ke.push(He.$),zt.push(He._$),Es=re[Ye[Ye.length-2]][Ye[Ye.length-1]],Ye.push(Es);break;case 3:return!0}}return!0}},Ft=function(){var Se={EOF:1,parseError:function(Ve,Ye){if(this.yy.parser)this.yy.parser.parseError(Ve,Ye);else throw new Error(Ve)},setInput:function(me,Ve){return this.yy=Ve||this.yy||{},this._input=me,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var me=this._input[0];this.yytext+=me,this.yyleng++,this.offset++,this.match+=me,this.matched+=me;var Ve=me.match(/(?:\r\n?|\n).*/g);return Ve?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),me},unput:function(me){var Ve=me.length,Ye=me.split(/(?:\r\n?|\n)/g);this._input=me+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ve),this.offset-=Ve;var ce=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ye.length-1&&(this.yylineno-=Ye.length-1);var ke=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ye?(Ye.length===ce.length?this.yylloc.first_column:0)+ce[ce.length-Ye.length].length-Ye[0].length:this.yylloc.first_column-Ve},this.options.ranges&&(this.yylloc.range=[ke[0],ke[0]+this.yyleng-Ve]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(me){this.unput(this.match.slice(me))},pastInput:function(){var me=this.matched.substr(0,this.matched.length-this.match.length);return(me.length>20?"...":"")+me.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var me=this.match;return me.length<20&&(me+=this._input.substr(0,20-me.length)),(me.substr(0,20)+(me.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var me=this.pastInput(),Ve=new Array(me.length+1).join("-");return me+this.upcomingInput()+` +`+Ve+"^"},test_match:function(me,Ve){var Ye,ce,ke;if(this.options.backtrack_lexer&&(ke={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ke.yylloc.range=this.yylloc.range.slice(0))),ce=me[0].match(/(?:\r\n?|\n).*/g),ce&&(this.yylineno+=ce.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ce?ce[ce.length-1].length-ce[ce.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+me[0].length},this.yytext+=me[0],this.match+=me[0],this.matches=me,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(me[0].length),this.matched+=me[0],Ye=this.performAction.call(this,this.yy,this,Ve,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ye)return Ye;if(this._backtrack){for(var zt in ke)this[zt]=ke[zt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var me,Ve,Ye,ce;this._more||(this.yytext="",this.match="");for(var ke=this._currentRules(),zt=0;ztVe[0].length)){if(Ve=Ye,ce=zt,this.options.backtrack_lexer){if(me=this.test_match(Ye,ke[zt]),me!==!1)return me;if(this._backtrack){Ve=!1;continue}else return!1}else if(!this.options.flex)break}return Ve?(me=this.test_match(Ve,ke[ce]),me!==!1?me:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ve=this.next();return Ve||this.lex()},begin:function(Ve){this.conditionStack.push(Ve)},popState:function(){var Ve=this.conditionStack.length-1;return Ve>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ve){return Ve=this.conditionStack.length-1-Math.abs(Ve||0),Ve>=0?this.conditionStack[Ve]:"INITIAL"},pushState:function(Ve){this.begin(Ve)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ve,Ye,ce,ke){switch(ce){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:break;case 10:break;case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 48:this.popState();break;case 49:return"qString";case 50:return Ye.yytext=Ye.yytext.trim(),62}},rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,50],inclusive:!0}}};return Se}();Le.lexer=Ft;function gn(){this.yy={}}return gn.prototype=Le,Le.Parser=gn,new gn}();hgt.parser=hgt;const VHe=hgt;let fgt=[],wp={},zF={},yk={},qF={};const GHe={RequirementType:{REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},RiskLevel:{LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},VerifyType:{VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},Relationships:{CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},getConfig:()=>Oe().req,addRequirement:(i,a)=>(zF[i]===void 0&&(zF[i]={name:i,type:a,id:wp.id,text:wp.text,risk:wp.risk,verifyMethod:wp.verifyMethod}),wp={},zF[i]),getRequirements:()=>zF,setNewReqId:i=>{wp!==void 0&&(wp.id=i)},setNewReqText:i=>{wp!==void 0&&(wp.text=i)},setNewReqRisk:i=>{wp!==void 0&&(wp.risk=i)},setNewReqVerifyMethod:i=>{wp!==void 0&&(wp.verifyMethod=i)},setAccTitle:E0,getAccTitle:fg,setAccDescription:dg,getAccDescription:gg,addElement:i=>(qF[i]===void 0&&(qF[i]={name:i,type:yk.type,docRef:yk.docRef},Ut.info("Added new requirement: ",i)),yk={},qF[i]),getElements:()=>qF,setNewElementType:i=>{yk!==void 0&&(yk.type=i)},setNewElementDocRef:i=>{yk!==void 0&&(yk.docRef=i)},addRelationship:(i,a,f)=>{fgt.push({type:i,src:a,dst:f})},getRelationships:()=>fgt,clear:()=>{fgt=[],wp={},zF={},yk={},qF={},hg()}},UHe=i=>` + + marker { + fill: ${i.relationColor}; + stroke: ${i.relationColor}; + } + + marker.cross { + stroke: ${i.lineColor}; + } + + svg { + font-family: ${i.fontFamily}; + font-size: ${i.fontSize}; + } + + .reqBox { + fill: ${i.requirementBackground}; + fill-opacity: 1.0; + stroke: ${i.requirementBorderColor}; + stroke-width: ${i.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${i.requirementTextColor}; + } + .reqLabelBox { + fill: ${i.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${i.requirementBorderColor}; + stroke-width: ${i.requirementBorderSize}; + } + .relationshipLine { + stroke: ${i.relationColor}; + stroke-width: 1; + } + .relationshipLabel { + fill: ${i.relationLabelColor}; + } + +`,dgt={CONTAINS:"contains",ARROW:"arrow"},xRt={ReqMarkers:dgt,insertLineEndings:(i,a)=>{let f=i.append("defs").append("marker").attr("id",dgt.CONTAINS+"_line_ending").attr("refX",0).attr("refY",a.line_height/2).attr("markerWidth",a.line_height).attr("markerHeight",a.line_height).attr("orient","auto").append("g");f.append("circle").attr("cx",a.line_height/2).attr("cy",a.line_height/2).attr("r",a.line_height/2).attr("fill","none"),f.append("line").attr("x1",0).attr("x2",a.line_height).attr("y1",a.line_height/2).attr("y2",a.line_height/2).attr("stroke-width",1),f.append("line").attr("y1",0).attr("y2",a.line_height).attr("x1",a.line_height/2).attr("x2",a.line_height/2).attr("stroke-width",1),i.append("defs").append("marker").attr("id",dgt.ARROW+"_line_ending").attr("refX",a.line_height).attr("refY",.5*a.line_height).attr("markerWidth",a.line_height).attr("markerHeight",a.line_height).attr("orient","auto").append("path").attr("d",`M0,0 + L${a.line_height},${a.line_height/2} + M${a.line_height},${a.line_height/2} + L0,${a.line_height}`).attr("stroke-width",1)}};let Eh={},kRt=0;const ERt=(i,a)=>i.insert("rect","#"+a).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",Eh.rect_min_width+"px").attr("height",Eh.rect_min_height+"px"),TRt=(i,a,f)=>{let p=Eh.rect_min_width/2,w=i.append("text").attr("class","req reqLabel reqTitle").attr("id",a).attr("x",p).attr("y",Eh.rect_padding).attr("dominant-baseline","hanging"),m=0;f.forEach(A=>{m==0?w.append("tspan").attr("text-anchor","middle").attr("x",Eh.rect_min_width/2).attr("dy",0).text(A):w.append("tspan").attr("text-anchor","middle").attr("x",Eh.rect_min_width/2).attr("dy",Eh.line_height*.75).text(A),m++});let b=1.5*Eh.rect_padding,E=m*Eh.line_height*.75,_=b+E;return i.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",Eh.rect_min_width).attr("y1",_).attr("y2",_),{titleNode:w,y:_}},CRt=(i,a,f,p)=>{let w=i.append("text").attr("class","req reqLabel").attr("id",a).attr("x",Eh.rect_padding).attr("y",p).attr("dominant-baseline","hanging"),m=0;const b=30;let E=[];return f.forEach(_=>{let A=_.length;for(;A>b&&m<3;){let I=_.substring(0,b);_=_.substring(b,_.length),A=_.length,E[E.length]=I,m++}if(m==3){let I=E[E.length-1];E[E.length-1]=I.substring(0,I.length-4)+"..."}else E[E.length]=_;m=0}),E.forEach(_=>{w.append("tspan").attr("x",Eh.rect_padding).attr("dy",Eh.line_height).text(_)}),w},WHe=(i,a,f,p)=>{const w=a.node().getTotalLength(),m=a.node().getPointAtLength(w*.5),b="rel"+kRt;kRt++;const _=i.append("text").attr("class","req relationshipLabel").attr("id",b).attr("x",m.x).attr("y",m.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(p).node().getBBox();i.insert("rect","#"+b).attr("class","req reqLabelBox").attr("x",m.x-_.width/2).attr("y",m.y-_.height/2).attr("width",_.width).attr("height",_.height).attr("fill","white").attr("fill-opacity","85%")},YHe=function(i,a,f,p,w){const m=f.edge(fL(a.src),fL(a.dst)),b=E5().x(function(_){return _.x}).y(function(_){return _.y}),E=i.insert("path","#"+p).attr("class","er relationshipLine").attr("d",b(m.points)).attr("fill","none");a.type==w.db.Relationships.CONTAINS?E.attr("marker-start","url("+Kr.getUrl(Eh.arrowMarkerAbsolute)+"#"+a.type+"_line_ending)"):(E.attr("stroke-dasharray","10,7"),E.attr("marker-end","url("+Kr.getUrl(Eh.arrowMarkerAbsolute)+"#"+xRt.ReqMarkers.ARROW+"_line_ending)")),WHe(i,E,Eh,`<<${a.type}>>`)},KHe=(i,a,f)=>{Object.keys(i).forEach(p=>{let w=i[p];p=fL(p),Ut.info("Added new requirement: ",p);const m=f.append("g").attr("id",p),b="req-"+p,E=ERt(m,b);let _=TRt(m,p+"_title",[`<<${w.type}>>`,`${w.name}`]);CRt(m,p+"_body",[`Id: ${w.id}`,`Text: ${w.text}`,`Risk: ${w.risk}`,`Verification: ${w.verifyMethod}`],_.y);const A=E.node().getBBox();a.setNode(p,{width:A.width,height:A.height,shape:"rect",id:p})})},XHe=(i,a,f)=>{Object.keys(i).forEach(p=>{let w=i[p];const m=fL(p),b=f.append("g").attr("id",m),E="element-"+m,_=ERt(b,E);let A=TRt(b,E+"_title",["<>",`${p}`]);CRt(b,E+"_body",[`Type: ${w.type||"Not Specified"}`,`Doc Ref: ${w.docRef||"None"}`],A.y);const I=_.node().getBBox();a.setNode(m,{width:I.width,height:I.height,shape:"rect",id:m})})},QHe=(i,a)=>(i.forEach(function(f){let p=fL(f.src),w=fL(f.dst);a.setEdge(p,w,{relationship:f})}),i),ZHe=function(i,a){a.nodes().forEach(function(f){f!==void 0&&a.node(f)!==void 0&&(i.select("#"+f),i.select("#"+f).attr("transform","translate("+(a.node(f).x-a.node(f).width/2)+","+(a.node(f).y-a.node(f).height/2)+" )"))})},fL=i=>i.replace(/\s/g,"").replace(/\./g,"_"),JHe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:VHe,db:GHe,renderer:{draw:(i,a,f,p)=>{Eh=Oe().requirement;const w=Eh.securityLevel;let m;w==="sandbox"&&(m=yr("#i"+a));const E=yr(w==="sandbox"?m.nodes()[0].contentDocument.body:"body").select(`[id='${a}']`);xRt.insertLineEndings(E,Eh);const _=new c1({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:Eh.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let A=p.db.getRequirements(),I=p.db.getElements(),B=p.db.getRelationships();KHe(A,_,E),XHe(I,_,E),QHe(B,_),aL(_),ZHe(E,_),B.forEach(function(et){YHe(E,et,_,a,p)});const N=Eh.rect_padding,R=E.node().getBBox(),z=R.width+N*2,W=R.height+N*2;k0(E,W,z,Eh.useMaxWidth),E.attr("viewBox",`${R.x-N} ${R.y-N} ${z} ${W}`)}},styles:UHe}},Symbol.toStringTag,{value:"Module"}));var ggt=function(){var i=function(ce,ke,zt,re){for(zt=zt||{},re=ce.length;re--;zt[ce[re]]=ke);return zt},a=[1,2],f=[1,3],p=[1,4],w=[2,4],m=[1,9],b=[1,11],E=[1,13],_=[1,14],A=[1,16],I=[1,17],B=[1,18],N=[1,24],R=[1,25],z=[1,26],W=[1,27],et=[1,28],st=[1,29],at=[1,30],bt=[1,31],mt=[1,32],yt=[1,33],ft=[1,34],ut=[1,35],vt=[1,36],X=[1,37],pt=[1,38],U=[1,39],Tt=[1,41],nt=[1,42],It=[1,43],Ot=[1,44],Bt=[1,45],Et=[1,46],Z=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],Ct=[4,5,16,50,52,53],xt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],Ht=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],Le=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],Ft=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],gn=[68,69,70],Se=[1,120],me={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,DOTTED_ARROW:74,SOLID_CROSS:75,DOTTED_CROSS:76,SOLID_POINT:77,DOTTED_POINT:78,TXT:79,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"DOTTED_ARROW",75:"SOLID_CROSS",76:"DOTTED_CROSS",77:"SOLID_POINT",78:"DOTTED_POINT",79:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:function(ke,zt,re,se,Pe,te,Me){var de=te.length-1;switch(Pe){case 3:return se.apply(te[de]),te[de];case 4:case 9:this.$=[];break;case 5:case 10:te[de-1].push(te[de]),this.$=te[de-1];break;case 6:case 7:case 11:case 12:this.$=te[de];break;case 8:case 13:this.$=[];break;case 15:te[de].type="createParticipant",this.$=te[de];break;case 16:te[de-1].unshift({type:"boxStart",boxData:se.parseBoxData(te[de-2])}),te[de-1].push({type:"boxEnd",boxText:te[de-2]}),this.$=te[de-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(te[de-2]),sequenceIndexStep:Number(te[de-1]),sequenceVisible:!0,signalType:se.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(te[de-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:se.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:se.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:se.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:se.LINETYPE.ACTIVE_START,actor:te[de-1]};break;case 23:this.$={type:"activeEnd",signalType:se.LINETYPE.ACTIVE_END,actor:te[de-1]};break;case 29:se.setDiagramTitle(te[de].substring(6)),this.$=te[de].substring(6);break;case 30:se.setDiagramTitle(te[de].substring(7)),this.$=te[de].substring(7);break;case 31:this.$=te[de].trim(),se.setAccTitle(this.$);break;case 32:case 33:this.$=te[de].trim(),se.setAccDescription(this.$);break;case 34:te[de-1].unshift({type:"loopStart",loopText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.LOOP_START}),te[de-1].push({type:"loopEnd",loopText:te[de-2],signalType:se.LINETYPE.LOOP_END}),this.$=te[de-1];break;case 35:te[de-1].unshift({type:"rectStart",color:se.parseMessage(te[de-2]),signalType:se.LINETYPE.RECT_START}),te[de-1].push({type:"rectEnd",color:se.parseMessage(te[de-2]),signalType:se.LINETYPE.RECT_END}),this.$=te[de-1];break;case 36:te[de-1].unshift({type:"optStart",optText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.OPT_START}),te[de-1].push({type:"optEnd",optText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.OPT_END}),this.$=te[de-1];break;case 37:te[de-1].unshift({type:"altStart",altText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.ALT_START}),te[de-1].push({type:"altEnd",signalType:se.LINETYPE.ALT_END}),this.$=te[de-1];break;case 38:te[de-1].unshift({type:"parStart",parText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.PAR_START}),te[de-1].push({type:"parEnd",signalType:se.LINETYPE.PAR_END}),this.$=te[de-1];break;case 39:te[de-1].unshift({type:"parStart",parText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.PAR_OVER_START}),te[de-1].push({type:"parEnd",signalType:se.LINETYPE.PAR_END}),this.$=te[de-1];break;case 40:te[de-1].unshift({type:"criticalStart",criticalText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.CRITICAL_START}),te[de-1].push({type:"criticalEnd",signalType:se.LINETYPE.CRITICAL_END}),this.$=te[de-1];break;case 41:te[de-1].unshift({type:"breakStart",breakText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.BREAK_START}),te[de-1].push({type:"breakEnd",optText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.BREAK_END}),this.$=te[de-1];break;case 43:this.$=te[de-3].concat([{type:"option",optionText:se.parseMessage(te[de-1]),signalType:se.LINETYPE.CRITICAL_OPTION},te[de]]);break;case 45:this.$=te[de-3].concat([{type:"and",parText:se.parseMessage(te[de-1]),signalType:se.LINETYPE.PAR_AND},te[de]]);break;case 47:this.$=te[de-3].concat([{type:"else",altText:se.parseMessage(te[de-1]),signalType:se.LINETYPE.ALT_ELSE},te[de]]);break;case 48:te[de-3].draw="participant",te[de-3].type="addParticipant",te[de-3].description=se.parseMessage(te[de-1]),this.$=te[de-3];break;case 49:te[de-1].draw="participant",te[de-1].type="addParticipant",this.$=te[de-1];break;case 50:te[de-3].draw="actor",te[de-3].type="addParticipant",te[de-3].description=se.parseMessage(te[de-1]),this.$=te[de-3];break;case 51:te[de-1].draw="actor",te[de-1].type="addParticipant",this.$=te[de-1];break;case 52:te[de-1].type="destroyParticipant",this.$=te[de-1];break;case 53:this.$=[te[de-1],{type:"addNote",placement:te[de-2],actor:te[de-1].actor,text:te[de]}];break;case 54:te[de-2]=[].concat(te[de-1],te[de-1]).slice(0,2),te[de-2][0]=te[de-2][0].actor,te[de-2][1]=te[de-2][1].actor,this.$=[te[de-1],{type:"addNote",placement:se.PLACEMENT.OVER,actor:te[de-2].slice(0,2),text:te[de]}];break;case 55:this.$=[te[de-1],{type:"addLinks",actor:te[de-1].actor,text:te[de]}];break;case 56:this.$=[te[de-1],{type:"addALink",actor:te[de-1].actor,text:te[de]}];break;case 57:this.$=[te[de-1],{type:"addProperties",actor:te[de-1].actor,text:te[de]}];break;case 58:this.$=[te[de-1],{type:"addDetails",actor:te[de-1].actor,text:te[de]}];break;case 61:this.$=[te[de-2],te[de]];break;case 62:this.$=te[de];break;case 63:this.$=se.PLACEMENT.LEFTOF;break;case 64:this.$=se.PLACEMENT.RIGHTOF;break;case 65:this.$=[te[de-4],te[de-1],{type:"addMessage",from:te[de-4].actor,to:te[de-1].actor,signalType:te[de-3],msg:te[de],activate:!0},{type:"activeStart",signalType:se.LINETYPE.ACTIVE_START,actor:te[de-1]}];break;case 66:this.$=[te[de-4],te[de-1],{type:"addMessage",from:te[de-4].actor,to:te[de-1].actor,signalType:te[de-3],msg:te[de]},{type:"activeEnd",signalType:se.LINETYPE.ACTIVE_END,actor:te[de-4]}];break;case 67:this.$=[te[de-3],te[de-1],{type:"addMessage",from:te[de-3].actor,to:te[de-1].actor,signalType:te[de-2],msg:te[de]}];break;case 68:this.$={type:"addParticipant",actor:te[de]};break;case 69:this.$=se.LINETYPE.SOLID_OPEN;break;case 70:this.$=se.LINETYPE.DOTTED_OPEN;break;case 71:this.$=se.LINETYPE.SOLID;break;case 72:this.$=se.LINETYPE.DOTTED;break;case 73:this.$=se.LINETYPE.SOLID_CROSS;break;case 74:this.$=se.LINETYPE.DOTTED_CROSS;break;case 75:this.$=se.LINETYPE.SOLID_POINT;break;case 76:this.$=se.LINETYPE.DOTTED_POINT;break;case 77:this.$=se.parseMessage(te[de].trim().substring(1));break}},table:[{3:1,4:a,5:f,6:p},{1:[3]},{3:5,4:a,5:f,6:p},{3:6,4:a,5:f,6:p},i([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],w,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:m,5:b,8:8,9:10,12:12,13:E,14:_,17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},i(Z,[2,5]),{9:47,12:12,13:E,14:_,17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},i(Z,[2,7]),i(Z,[2,8]),i(Z,[2,14]),{12:48,50:X,52:pt,53:U},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:Et},{22:55,70:Et},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},i(Z,[2,29]),i(Z,[2,30]),{32:[1,61]},{34:[1,62]},i(Z,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:Et},{22:72,70:Et},{22:73,70:Et},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82]},{55:83,57:[1,84],65:[1,85],66:[1,86]},{22:87,70:Et},{22:88,70:Et},{22:89,70:Et},{22:90,70:Et},i([5,51,64,71,72,73,74,75,76,77,78,79],[2,68]),i(Z,[2,6]),i(Z,[2,15]),i(Ct,[2,9],{10:91}),i(Z,[2,17]),{5:[1,93],19:[1,92]},{5:[1,94]},i(Z,[2,21]),{5:[1,95]},{5:[1,96]},i(Z,[2,24]),i(Z,[2,25]),i(Z,[2,26]),i(Z,[2,27]),i(Z,[2,28]),i(Z,[2,31]),i(Z,[2,32]),i(xt,w,{7:97}),i(xt,w,{7:98}),i(xt,w,{7:99}),i(Ht,w,{40:100,7:101}),i(Le,w,{42:102,7:103}),i(Le,w,{7:103,42:104}),i(Ft,w,{45:105,7:106}),i(xt,w,{7:107}),{5:[1,109],51:[1,108]},{5:[1,111],51:[1,110]},{5:[1,112]},{22:115,68:[1,113],69:[1,114],70:Et},i(gn,[2,69]),i(gn,[2,70]),i(gn,[2,71]),i(gn,[2,72]),i(gn,[2,73]),i(gn,[2,74]),i(gn,[2,75]),i(gn,[2,76]),{22:116,70:Et},{22:118,58:117,70:Et},{70:[2,63]},{70:[2,64]},{56:119,79:Se},{56:121,79:Se},{56:122,79:Se},{56:123,79:Se},{4:[1,126],5:[1,128],11:125,12:127,16:[1,124],50:X,52:pt,53:U},{5:[1,129]},i(Z,[2,19]),i(Z,[2,20]),i(Z,[2,22]),i(Z,[2,23]),{4:m,5:b,8:8,9:10,12:12,13:E,14:_,16:[1,130],17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},{4:m,5:b,8:8,9:10,12:12,13:E,14:_,16:[1,131],17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},{4:m,5:b,8:8,9:10,12:12,13:E,14:_,16:[1,132],17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},{16:[1,133]},{4:m,5:b,8:8,9:10,12:12,13:E,14:_,16:[2,46],17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,49:[1,134],50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},{16:[1,135]},{4:m,5:b,8:8,9:10,12:12,13:E,14:_,16:[2,44],17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,48:[1,136],50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},{16:[1,137]},{16:[1,138]},{4:m,5:b,8:8,9:10,12:12,13:E,14:_,16:[2,42],17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,47:[1,139],50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},{4:m,5:b,8:8,9:10,12:12,13:E,14:_,16:[1,140],17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},{15:[1,141]},i(Z,[2,49]),{15:[1,142]},i(Z,[2,51]),i(Z,[2,52]),{22:143,70:Et},{22:144,70:Et},{56:145,79:Se},{56:146,79:Se},{56:147,79:Se},{64:[1,148],79:[2,62]},{5:[2,55]},{5:[2,77]},{5:[2,56]},{5:[2,57]},{5:[2,58]},i(Z,[2,16]),i(Ct,[2,10]),{12:149,50:X,52:pt,53:U},i(Ct,[2,12]),i(Ct,[2,13]),i(Z,[2,18]),i(Z,[2,34]),i(Z,[2,35]),i(Z,[2,36]),i(Z,[2,37]),{15:[1,150]},i(Z,[2,38]),{15:[1,151]},i(Z,[2,39]),i(Z,[2,40]),{15:[1,152]},i(Z,[2,41]),{5:[1,153]},{5:[1,154]},{56:155,79:Se},{56:156,79:Se},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:157,70:Et},i(Ct,[2,11]),i(Ht,w,{7:101,40:158}),i(Le,w,{7:103,42:159}),i(Ft,w,{7:106,45:160}),i(Z,[2,48]),i(Z,[2,50]),{5:[2,65]},{5:[2,66]},{79:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],85:[2,63],86:[2,64],119:[2,55],120:[2,77],121:[2,56],122:[2,57],123:[2,58],145:[2,67],146:[2,53],147:[2,54],155:[2,65],156:[2,66],157:[2,61],158:[2,47],159:[2,45],160:[2,43]},parseError:function(ke,zt){if(zt.recoverable)this.trace(ke);else{var re=new Error(ke);throw re.hash=zt,re}},parse:function(ke){var zt=this,re=[0],se=[],Pe=[null],te=[],Me=this.table,de="",on=0,ni=0,Ks=2,ws=1,fo=te.slice.call(arguments,1),Xi=Object.create(this.lexer),Er={yy:{}};for(var Xn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Xn)&&(Er.yy[Xn]=this.yy[Xn]);Xi.setInput(ke,Er.yy),Er.yy.lexer=Xi,Er.yy.parser=this,typeof Xi.yylloc>"u"&&(Xi.yylloc={});var di=Xi.yylloc;te.push(di);var Ee=Xi.options&&Xi.options.ranges;typeof Er.yy.parseError=="function"?this.parseError=Er.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Kn(){var zs;return zs=se.pop()||Xi.lex()||ws,typeof zs!="number"&&(zs instanceof Array&&(se=zs,zs=se.pop()),zs=zt.symbols_[zs]||zs),zs}for(var He,Ti,pn,Es,qa={},Ma,Gs,Po,vs;;){if(Ti=re[re.length-1],this.defaultActions[Ti]?pn=this.defaultActions[Ti]:((He===null||typeof He>"u")&&(He=Kn()),pn=Me[Ti]&&Me[Ti][He]),typeof pn>"u"||!pn.length||!pn[0]){var ru="";vs=[];for(Ma in Me[Ti])this.terminals_[Ma]&&Ma>Ks&&vs.push("'"+this.terminals_[Ma]+"'");Xi.showPosition?ru="Parse error on line "+(on+1)+`: +`+Xi.showPosition()+` +Expecting `+vs.join(", ")+", got '"+(this.terminals_[He]||He)+"'":ru="Parse error on line "+(on+1)+": Unexpected "+(He==ws?"end of input":"'"+(this.terminals_[He]||He)+"'"),this.parseError(ru,{text:Xi.match,token:this.terminals_[He]||He,line:Xi.yylineno,loc:di,expected:vs})}if(pn[0]instanceof Array&&pn.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ti+", token: "+He);switch(pn[0]){case 1:re.push(He),Pe.push(Xi.yytext),te.push(Xi.yylloc),re.push(pn[1]),He=null,ni=Xi.yyleng,de=Xi.yytext,on=Xi.yylineno,di=Xi.yylloc;break;case 2:if(Gs=this.productions_[pn[1]][1],qa.$=Pe[Pe.length-Gs],qa._$={first_line:te[te.length-(Gs||1)].first_line,last_line:te[te.length-1].last_line,first_column:te[te.length-(Gs||1)].first_column,last_column:te[te.length-1].last_column},Ee&&(qa._$.range=[te[te.length-(Gs||1)].range[0],te[te.length-1].range[1]]),Es=this.performAction.apply(qa,[de,ni,on,Er.yy,pn[1],Pe,te].concat(fo)),typeof Es<"u")return Es;Gs&&(re=re.slice(0,-1*Gs*2),Pe=Pe.slice(0,-1*Gs),te=te.slice(0,-1*Gs)),re.push(this.productions_[pn[1]][0]),Pe.push(qa.$),te.push(qa._$),Po=Me[re[re.length-2]][re[re.length-1]],re.push(Po);break;case 3:return!0}}return!0}},Ve=function(){var ce={EOF:1,parseError:function(zt,re){if(this.yy.parser)this.yy.parser.parseError(zt,re);else throw new Error(zt)},setInput:function(ke,zt){return this.yy=zt||this.yy||{},this._input=ke,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var ke=this._input[0];this.yytext+=ke,this.yyleng++,this.offset++,this.match+=ke,this.matched+=ke;var zt=ke.match(/(?:\r\n?|\n).*/g);return zt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ke},unput:function(ke){var zt=ke.length,re=ke.split(/(?:\r\n?|\n)/g);this._input=ke+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-zt),this.offset-=zt;var se=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),re.length-1&&(this.yylineno-=re.length-1);var Pe=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:re?(re.length===se.length?this.yylloc.first_column:0)+se[se.length-re.length].length-re[0].length:this.yylloc.first_column-zt},this.options.ranges&&(this.yylloc.range=[Pe[0],Pe[0]+this.yyleng-zt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ke){this.unput(this.match.slice(ke))},pastInput:function(){var ke=this.matched.substr(0,this.matched.length-this.match.length);return(ke.length>20?"...":"")+ke.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ke=this.match;return ke.length<20&&(ke+=this._input.substr(0,20-ke.length)),(ke.substr(0,20)+(ke.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ke=this.pastInput(),zt=new Array(ke.length+1).join("-");return ke+this.upcomingInput()+` +`+zt+"^"},test_match:function(ke,zt){var re,se,Pe;if(this.options.backtrack_lexer&&(Pe={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Pe.yylloc.range=this.yylloc.range.slice(0))),se=ke[0].match(/(?:\r\n?|\n).*/g),se&&(this.yylineno+=se.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:se?se[se.length-1].length-se[se.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ke[0].length},this.yytext+=ke[0],this.match+=ke[0],this.matches=ke,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(ke[0].length),this.matched+=ke[0],re=this.performAction.call(this,this.yy,this,zt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),re)return re;if(this._backtrack){for(var te in Pe)this[te]=Pe[te];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ke,zt,re,se;this._more||(this.yytext="",this.match="");for(var Pe=this._currentRules(),te=0;tezt[0].length)){if(zt=re,se=te,this.options.backtrack_lexer){if(ke=this.test_match(re,Pe[te]),ke!==!1)return ke;if(this._backtrack){zt=!1;continue}else return!1}else if(!this.options.flex)break}return zt?(ke=this.test_match(zt,Pe[se]),ke!==!1?ke:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var zt=this.next();return zt||this.lex()},begin:function(zt){this.conditionStack.push(zt)},popState:function(){var zt=this.conditionStack.length-1;return zt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(zt){return zt=this.conditionStack.length-1-Math.abs(zt||0),zt>=0?this.conditionStack[zt]:"INITIAL"},pushState:function(zt){this.begin(zt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(zt,re,se,Pe){switch(se){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;case 8:return this.begin("ID"),50;case 9:return this.begin("ID"),52;case 10:return 13;case 11:return this.begin("ID"),53;case 12:return re.yytext=re.yytext.trim(),this.begin("ALIAS"),70;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),36;case 16:return this.begin("LINE"),37;case 17:return this.begin("LINE"),38;case 18:return this.begin("LINE"),39;case 19:return this.begin("LINE"),49;case 20:return this.begin("LINE"),41;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),48;case 23:return this.begin("LINE"),44;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),46;case 26:return this.popState(),15;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;case 37:return this.begin("ID"),23;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;case 41:return this.popState(),"acc_title_value";case 42:return this.begin("acc_descr"),33;case 43:return this.popState(),"acc_descr_value";case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 51:return 5;case 52:return re.yytext=re.yytext.trim(),70;case 53:return 73;case 54:return 74;case 55:return 71;case 56:return 72;case 57:return 75;case 58:return 76;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 68;case 63:return 69;case 64:return 5;case 65:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\->:\n,;]+?([\-]*[^\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65],inclusive:!0}}};return ce}();me.lexer=Ve;function Ye(){this.yy={}}return Ye.prototype=me,me.Parser=Ye,new Ye}();ggt.parser=ggt;const tVe=ggt;let HF,R5={},pgt={},bgt={},dL=[],zb=[],RY=!1,wgt,j5,VF,gL;const eVe=function(i){dL.push({name:i.text,wrap:i.wrap===void 0&&CT()||!!i.wrap,fill:i.color,actorKeys:[]}),j5=dL.slice(-1)[0]},vgt=function(i,a,f,p){let w=j5;const m=R5[i];if(m){if(j5&&m.box&&j5!==m.box)throw new Error("A same participant should only be defined in one Box: "+m.name+" can't be in '"+m.box.name+"' and in '"+j5.name+"' at the same time.");if(w=m.box?m.box:j5,m.box=w,m&&a===m.name&&f==null)return}(f==null||f.text==null)&&(f={text:a,wrap:null,type:p}),(p==null||f.text==null)&&(f={text:a,wrap:null,type:p}),R5[i]={box:w,name:a,description:f.text,wrap:f.wrap===void 0&&CT()||!!f.wrap,prevActor:HF,links:{},properties:{},actorCnt:null,rectData:null,type:p||"participant"},HF&&R5[HF]&&(R5[HF].nextActor=i),j5&&j5.actorKeys.push(i),HF=i},nVe=i=>{let a,f=0;for(a=0;a>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},b}return zb.push({from:i,to:a,message:f.text,wrap:f.wrap===void 0&&CT()||!!f.wrap,type:p,activate:w}),!0},iVe=function(){return dL.length>0},sVe=function(){return dL.some(i=>i.name)},aVe=function(){return zb},oVe=function(){return dL},cVe=function(){return R5},uVe=function(){return pgt},lVe=function(){return bgt},GF=function(i){return R5[i]},hVe=function(){return Object.keys(R5)},fVe=function(){RY=!0},dVe=function(){RY=!1},gVe=()=>RY,pVe=function(i){wgt=i},CT=()=>wgt!==void 0?wgt:Oe().sequence.wrap,bVe=function(){R5={},pgt={},bgt={},dL=[],zb=[],RY=!1,hg()},wVe=function(i){const a=i.trim(),f={text:a.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:a.match(/^:?wrap:/)!==null?!0:a.match(/^:?nowrap:/)!==null?!1:void 0};return Ut.debug("parseMessage:",f),f},vVe=function(i){const a=i.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/);let f=a!=null&&a[1]?a[1].trim():"transparent",p=a!=null&&a[2]?a[2].trim():void 0;if(window&&window.CSS)window.CSS.supports("color",f)||(f="transparent",p=i.trim());else{const m=new Option().style;m.color=f,m.color!==f&&(f="transparent",p=i.trim())}return{color:f,text:p!==void 0?Q1(p.replace(/^:?(?:no)?wrap:/,""),Oe()):void 0,wrap:p!==void 0?p.match(/^:?wrap:/)!==null?!0:p.match(/^:?nowrap:/)!==null?!1:void 0:void 0}},UF={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32},mVe={FILLED:0,OPEN:1},yVe={LEFTOF:0,RIGHTOF:1,OVER:2},_Rt=function(i,a,f){f.text,f.wrap===void 0&&CT()||f.wrap;const p=[].concat(i,i);zb.push({from:p[0],to:p[1],message:f.text,wrap:f.wrap===void 0&&CT()||!!f.wrap,type:UF.NOTE,placement:a})},SRt=function(i,a){const f=GF(i);try{let p=Q1(a.text,Oe());p=p.replace(/&/g,"&"),p=p.replace(/=/g,"=");const w=JSON.parse(p);mgt(f,w)}catch(p){Ut.error("error while parsing actor link text",p)}},xVe=function(i,a){const f=GF(i);try{const b={};let E=Q1(a.text,Oe());var p=E.indexOf("@");E=E.replace(/&/g,"&"),E=E.replace(/=/g,"=");var w=E.slice(0,p-1).trim(),m=E.slice(p+1).trim();b[w]=m,mgt(f,b)}catch(b){Ut.error("error while parsing actor link text",b)}};function mgt(i,a){if(i.links==null)i.links=a;else for(let f in a)i.links[f]=a[f]}const ARt=function(i,a){const f=GF(i);try{let p=Q1(a.text,Oe());const w=JSON.parse(p);LRt(f,w)}catch(p){Ut.error("error while parsing actor properties text",p)}};function LRt(i,a){if(i.properties==null)i.properties=a;else for(let f in a)i.properties[f]=a[f]}function kVe(){j5=void 0}const MRt=function(i,a){const f=GF(i),p=document.getElementById(a.text);try{const w=p.innerHTML,m=JSON.parse(w);m.properties&&LRt(f,m.properties),m.links&&mgt(f,m.links)}catch(w){Ut.error("error while parsing actor details text",w)}},EVe=function(i,a){if(i!==void 0&&i.properties!==void 0)return i.properties[a]},DRt=function(i){if(Array.isArray(i))i.forEach(function(a){DRt(a)});else switch(i.type){case"sequenceIndex":zb.push({from:void 0,to:void 0,message:{start:i.sequenceIndex,step:i.sequenceIndexStep,visible:i.sequenceVisible},wrap:!1,type:i.signalType});break;case"addParticipant":vgt(i.actor,i.actor,i.description,i.draw);break;case"createParticipant":if(R5[i.actor])throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");VF=i.actor,vgt(i.actor,i.actor,i.description,i.draw),pgt[i.actor]=zb.length;break;case"destroyParticipant":gL=i.actor,bgt[i.actor]=zb.length;break;case"activeStart":ef(i.actor,void 0,void 0,i.signalType);break;case"activeEnd":ef(i.actor,void 0,void 0,i.signalType);break;case"addNote":_Rt(i.actor,i.placement,i.text);break;case"addLinks":SRt(i.actor,i.text);break;case"addALink":xVe(i.actor,i.text);break;case"addProperties":ARt(i.actor,i.text);break;case"addDetails":MRt(i.actor,i.text);break;case"addMessage":if(VF){if(i.to!==VF)throw new Error("The created participant "+VF+" does not have an associated creating message after its declaration. Please check the sequence diagram.");VF=void 0}else if(gL){if(i.to!==gL&&i.from!==gL)throw new Error("The destroyed participant "+gL+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");gL=void 0}ef(i.from,i.to,i.msg,i.signalType,i.activate);break;case"boxStart":eVe(i.boxData);break;case"boxEnd":kVe();break;case"loopStart":ef(void 0,void 0,i.loopText,i.signalType);break;case"loopEnd":ef(void 0,void 0,void 0,i.signalType);break;case"rectStart":ef(void 0,void 0,i.color,i.signalType);break;case"rectEnd":ef(void 0,void 0,void 0,i.signalType);break;case"optStart":ef(void 0,void 0,i.optText,i.signalType);break;case"optEnd":ef(void 0,void 0,void 0,i.signalType);break;case"altStart":ef(void 0,void 0,i.altText,i.signalType);break;case"else":ef(void 0,void 0,i.altText,i.signalType);break;case"altEnd":ef(void 0,void 0,void 0,i.signalType);break;case"setAccTitle":E0(i.text);break;case"parStart":ef(void 0,void 0,i.parText,i.signalType);break;case"and":ef(void 0,void 0,i.parText,i.signalType);break;case"parEnd":ef(void 0,void 0,void 0,i.signalType);break;case"criticalStart":ef(void 0,void 0,i.criticalText,i.signalType);break;case"option":ef(void 0,void 0,i.optionText,i.signalType);break;case"criticalEnd":ef(void 0,void 0,void 0,i.signalType);break;case"breakStart":ef(void 0,void 0,i.breakText,i.signalType);break;case"breakEnd":ef(void 0,void 0,void 0,i.signalType);break}},IRt={addActor:vgt,addMessage:rVe,addSignal:ef,addLinks:SRt,addDetails:MRt,addProperties:ARt,autoWrap:CT,setWrap:pVe,enableSequenceNumbers:fVe,disableSequenceNumbers:dVe,showSequenceNumbers:gVe,getMessages:aVe,getActors:cVe,getCreatedActors:uVe,getDestroyedActors:lVe,getActor:GF,getActorKeys:hVe,getActorProperty:EVe,getAccTitle:fg,getBoxes:oVe,getDiagramTitle:pg,setDiagramTitle:Nb,getConfig:()=>Oe().sequence,clear:bVe,parseMessage:wVe,parseBoxData:vVe,LINETYPE:UF,ARROWTYPE:mVe,PLACEMENT:yVe,addNote:_Rt,setAccTitle:E0,apply:DRt,setAccDescription:dg,getAccDescription:gg,hasAtLeastOneBox:iVe,hasAtLeastOneBoxWithTitle:sVe},TVe=i=>`.actor { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + } + + text.actor > tspan { + fill: ${i.actorTextColor}; + stroke: none; + } + + .actor-line { + stroke: ${i.actorLineColor}; + } + + .messageLine0 { + stroke-width: 1.5; + stroke-dasharray: none; + stroke: ${i.signalColor}; + } + + .messageLine1 { + stroke-width: 1.5; + stroke-dasharray: 2, 2; + stroke: ${i.signalColor}; + } + + #arrowhead path { + fill: ${i.signalColor}; + stroke: ${i.signalColor}; + } + + .sequenceNumber { + fill: ${i.sequenceNumberColor}; + } + + #sequencenumber { + fill: ${i.signalColor}; + } + + #crosshead path { + fill: ${i.signalColor}; + stroke: ${i.signalColor}; + } + + .messageText { + fill: ${i.signalTextColor}; + stroke: none; + } + + .labelBox { + stroke: ${i.labelBoxBorderColor}; + fill: ${i.labelBoxBkgColor}; + } + + .labelText, .labelText > tspan { + fill: ${i.labelTextColor}; + stroke: none; + } + + .loopText, .loopText > tspan { + fill: ${i.loopTextColor}; + stroke: none; + } + + .loopLine { + stroke-width: 2px; + stroke-dasharray: 2, 2; + stroke: ${i.labelBoxBorderColor}; + fill: ${i.labelBoxBorderColor}; + } + + .note { + //stroke: #decc93; + stroke: ${i.noteBorderColor}; + fill: ${i.noteBkgColor}; + } + + .noteText, .noteText > tspan { + fill: ${i.noteTextColor}; + stroke: none; + } + + .activation0 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .activation1 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .activation2 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .actorPopupMenu { + position: absolute; + } + + .actorPopupMenuPanel { + position: absolute; + fill: ${i.actorBkg}; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); +} + .actor-man line { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + } + .actor-man circle, line { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + stroke-width: 2px; + } +`,_T=18*2,ygt=function(i,a){return JW(i,a)},ORt=(i,a)=>{vAe(()=>{const f=document.querySelectorAll(i);f.length!==0&&(f[0].addEventListener("mouseover",function(){AVe("actor"+a+"_popup")}),f[0].addEventListener("mouseout",function(){LVe("actor"+a+"_popup")}))})},CVe=function(i,a,f,p,w){if(a.links===void 0||a.links===null||Object.keys(a.links).length===0)return{height:0,width:0};const m=a.links,b=a.actorCnt,E=a.rectData;var _="none";w&&(_="block !important");const A=i.append("g");A.attr("id","actor"+b+"_popup"),A.attr("class","actorPopupMenu"),A.attr("display",_),ORt("#actor"+b+"_popup",b);var I="";E.class!==void 0&&(I=" "+E.class);let B=E.width>f?E.width:f;const N=A.append("rect");if(N.attr("class","actorPopupMenuPanel"+I),N.attr("x",E.x),N.attr("y",E.height),N.attr("fill",E.fill),N.attr("stroke",E.stroke),N.attr("width",B),N.attr("height",E.height),N.attr("rx",E.rx),N.attr("ry",E.ry),m!=null){var R=20;for(let et in m){var z=A.append("a"),W=ik(m[et]);z.attr("xlink:href",W),z.attr("target","_blank"),GVe(p)(et,z,E.x+10,E.height+R,B,20,{class:"actor"},p),R+=30}}return N.attr("height",R),{height:E.height+R,width:B}},_Ve=function(i){return"var pu = document.getElementById('"+i+"'); if (pu != null) { pu.style.display = 'block'; }"},SVe=function(i){return"var pu = document.getElementById('"+i+"'); if (pu != null) { pu.style.display = 'none'; }"},AVe=function(i){var a=document.getElementById(i);a!=null&&(a.style.display="block")},LVe=function(i){var a=document.getElementById(i);a!=null&&(a.style.display="none")},pL=function(i,a){let f=0,p=0;const w=a.text.split(Kr.lineBreakRegex),[m,b]=VA(a.fontSize);let E=[],_=0,A=()=>a.y;if(a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0)switch(a.valign){case"top":case"start":A=()=>Math.round(a.y+a.textMargin);break;case"middle":case"center":A=()=>Math.round(a.y+(f+p+a.textMargin)/2);break;case"bottom":case"end":A=()=>Math.round(a.y+(f+p+2*a.textMargin)-a.textMargin);break}if(a.anchor!==void 0&&a.textMargin!==void 0&&a.width!==void 0)switch(a.anchor){case"left":case"start":a.x=Math.round(a.x+a.textMargin),a.anchor="start",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"middle":case"center":a.x=Math.round(a.x+a.width/2),a.anchor="middle",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"right":case"end":a.x=Math.round(a.x+a.width-a.textMargin),a.anchor="end",a.dominantBaseline="middle",a.alignmentBaseline="middle";break}for(let[I,B]of w.entries()){a.textMargin!==void 0&&a.textMargin===0&&m!==void 0&&(_=I*m);const N=i.append("text");N.attr("x",a.x),N.attr("y",A()),a.anchor!==void 0&&N.attr("text-anchor",a.anchor).attr("dominant-baseline",a.dominantBaseline).attr("alignment-baseline",a.alignmentBaseline),a.fontFamily!==void 0&&N.style("font-family",a.fontFamily),b!==void 0&&N.style("font-size",b),a.fontWeight!==void 0&&N.style("font-weight",a.fontWeight),a.fill!==void 0&&N.attr("fill",a.fill),a.class!==void 0&&N.attr("class",a.class),a.dy!==void 0?N.attr("dy",a.dy):_!==0&&N.attr("dy",_);const R=B||jIt;if(a.tspan){const z=N.append("tspan");z.attr("x",a.x),a.fill!==void 0&&z.attr("fill",a.fill),z.text(R)}else N.text(R);a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0&&(p+=(N._groups||N)[0][0].getBBox().height,f=p),E.push(N)}return E},PRt=function(i,a){function f(w,m,b,E,_){return w+","+m+" "+(w+b)+","+m+" "+(w+b)+","+(m+E-_)+" "+(w+b-_*1.2)+","+(m+E)+" "+w+","+(m+E)}const p=i.append("polygon");return p.attr("points",f(a.x,a.y,a.width,a.height,7)),p.attr("class","labelBox"),a.y=a.y+a.height/2,pL(i,a),p};let gm=-1;const FRt=(i,a,f,p)=>{i.select&&f.forEach(w=>{const m=a[w],b=i.select("#actor"+m.actorCnt);!p.mirrorActors&&m.stopy?b.attr("y2",m.stopy+m.height/2):p.mirrorActors&&b.attr("y2",m.stopy)})},MVe=function(i,a,f,p){const w=p?a.stopy:a.starty,m=a.x+a.width/2,b=w+5,E=i.append("g").lower();var _=E;p||(gm++,_.append("line").attr("id","actor"+gm).attr("x1",m).attr("y1",b).attr("x2",m).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),_=E.append("g"),a.actorCnt=gm,a.links!=null&&(_.attr("id","root-"+gm),ORt("#root-"+gm,gm)));const A=bT();var I="actor";a.properties!=null&&a.properties.class?I=a.properties.class:A.fill="#eaeaea",A.x=a.x,A.y=w,A.width=a.width,A.height=a.height,A.class=I,A.rx=3,A.ry=3;const B=ygt(_,A);if(a.rectData=A,a.properties!=null&&a.properties.icon){const R=a.properties.icon.trim();R.charAt(0)==="@"?$De(_,A.x+A.width-20,A.y+10,R.substr(1)):jDe(_,A.x+A.width-20,A.y+10,R)}xgt(f)(a.description,_,A.x,A.y,A.width,A.height,{class:"actor"},f);let N=a.height;if(B.node){const R=B.node().getBBox();a.height=R.height,N=R.height}return N},DVe=function(i,a,f,p){const w=p?a.stopy:a.starty,m=a.x+a.width/2,b=w+80;i.lower(),p||(gm++,i.append("line").attr("id","actor"+gm).attr("x1",m).attr("y1",b).attr("x2",m).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),a.actorCnt=gm);const E=i.append("g");E.attr("class","actor-man");const _=bT();_.x=a.x,_.y=w,_.fill="#eaeaea",_.width=a.width,_.height=a.height,_.class="actor",_.rx=3,_.ry=3,E.append("line").attr("id","actor-man-torso"+gm).attr("x1",m).attr("y1",w+25).attr("x2",m).attr("y2",w+45),E.append("line").attr("id","actor-man-arms"+gm).attr("x1",m-_T/2).attr("y1",w+33).attr("x2",m+_T/2).attr("y2",w+33),E.append("line").attr("x1",m-_T/2).attr("y1",w+60).attr("x2",m).attr("y2",w+45),E.append("line").attr("x1",m).attr("y1",w+45).attr("x2",m+_T/2-2).attr("y2",w+60);const A=E.append("circle");A.attr("cx",a.x+a.width/2),A.attr("cy",w+10),A.attr("r",15),A.attr("width",a.width),A.attr("height",a.height);const I=E.node().getBBox();return a.height=I.height,xgt(f)(a.description,E,_.x,_.y+35,_.width,_.height,{class:"actor"},f),a.height},IVe=function(i,a,f,p){switch(a.type){case"actor":return DVe(i,a,f,p);case"participant":return MVe(i,a,f,p)}},OVe=function(i,a,f){const w=i.append("g");NRt(w,a),a.name&&xgt(f)(a.name,w,a.x,a.y+(a.textMaxHeight||0)/2,a.width,0,{class:"text"},f),w.lower()},PVe=function(i){return i.append("g")},FVe=function(i,a,f,p,w){const m=bT(),b=a.anchored;m.x=a.startx,m.y=a.starty,m.class="activation"+w%3,m.width=a.stopx-a.startx,m.height=f-a.starty,ygt(b,m)},NVe=function(i,a,f,p){const{boxMargin:w,boxTextMargin:m,labelBoxHeight:b,labelBoxWidth:E,messageFontFamily:_,messageFontSize:A,messageFontWeight:I}=p,B=i.append("g"),N=function(W,et,st,at){return B.append("line").attr("x1",W).attr("y1",et).attr("x2",st).attr("y2",at).attr("class","loopLine")};N(a.startx,a.starty,a.stopx,a.starty),N(a.stopx,a.starty,a.stopx,a.stopy),N(a.startx,a.stopy,a.stopx,a.stopy),N(a.startx,a.starty,a.startx,a.stopy),a.sections!==void 0&&a.sections.forEach(function(W){N(a.startx,W.y,a.stopx,W.y).style("stroke-dasharray","3, 3")});let R=Rdt();R.text=f,R.x=a.startx,R.y=a.starty,R.fontFamily=_,R.fontSize=A,R.fontWeight=I,R.anchor="middle",R.valign="middle",R.tspan=!1,R.width=E||50,R.height=b||20,R.textMargin=m,R.class="labelText",PRt(B,R),R=BRt(),R.text=a.title,R.x=a.startx+E/2+(a.stopx-a.startx)/2,R.y=a.starty+w+m,R.anchor="middle",R.valign="middle",R.textMargin=m,R.class="loopText",R.fontFamily=_,R.fontSize=A,R.fontWeight=I,R.wrap=!0;let z=pL(B,R);return a.sectionTitles!==void 0&&a.sectionTitles.forEach(function(W,et){if(W.message){R.text=W.message,R.x=a.startx+(a.stopx-a.startx)/2,R.y=a.sections[et].y+w+m,R.class="loopText",R.anchor="middle",R.valign="middle",R.tspan=!1,R.fontFamily=_,R.fontSize=A,R.fontWeight=I,R.wrap=a.wrap,z=pL(B,R);let st=Math.round(z.map(at=>(at._groups||at)[0][0].getBBox().height).reduce((at,bt)=>at+bt));a.sections[et].height+=st-(w+m)}}),a.height=Math.round(a.stopy-a.starty),B},NRt=function(i,a){mPt(i,a)},BVe=function(i){i.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},RVe=function(i){i.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},jVe=function(i){i.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},$Ve=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},zVe=function(i){i.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},qVe=function(i){i.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},HVe=function(i){i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},BRt=function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},VVe=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},xgt=function(){function i(w,m,b,E,_,A,I){const B=m.append("text").attr("x",b+_/2).attr("y",E+A/2+5).style("text-anchor","middle").text(w);p(B,I)}function a(w,m,b,E,_,A,I,B){const{actorFontSize:N,actorFontFamily:R,actorFontWeight:z}=B,[W,et]=VA(N),st=w.split(Kr.lineBreakRegex);for(let at=0;ati.height||0))+(this.loops.length===0?0:this.loops.map(i=>i.height||0).reduce((i,a)=>i+a))+(this.messages.length===0?0:this.messages.map(i=>i.height||0).reduce((i,a)=>i+a))+(this.notes.length===0?0:this.notes.map(i=>i.height||0).reduce((i,a)=>i+a))},clear:function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},addBox:function(i){this.boxes.push(i)},addActor:function(i){this.actors.push(i)},addLoop:function(i){this.loops.push(i)},addMessage:function(i){this.messages.push(i)},addNote:function(i){this.notes.push(i)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],boxes:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,jRt(Oe())},updateVal:function(i,a,f,p){i[a]===void 0?i[a]=f:i[a]=p(f,i[a])},updateBounds:function(i,a,f,p){const w=this;let m=0;function b(E){return function(A){m++;const I=w.sequenceItems.length-m+1;w.updateVal(A,"starty",a-I*fn.boxMargin,Math.min),w.updateVal(A,"stopy",p+I*fn.boxMargin,Math.max),w.updateVal(Fr.data,"startx",i-I*fn.boxMargin,Math.min),w.updateVal(Fr.data,"stopx",f+I*fn.boxMargin,Math.max),E!=="activation"&&(w.updateVal(A,"startx",i-I*fn.boxMargin,Math.min),w.updateVal(A,"stopx",f+I*fn.boxMargin,Math.max),w.updateVal(Fr.data,"starty",a-I*fn.boxMargin,Math.min),w.updateVal(Fr.data,"stopy",p+I*fn.boxMargin,Math.max))}}this.sequenceItems.forEach(b()),this.activations.forEach(b("activation"))},insert:function(i,a,f,p){const w=Kr.getMin(i,f),m=Kr.getMax(i,f),b=Kr.getMin(a,p),E=Kr.getMax(a,p);this.updateVal(Fr.data,"startx",w,Math.min),this.updateVal(Fr.data,"starty",b,Math.min),this.updateVal(Fr.data,"stopx",m,Math.max),this.updateVal(Fr.data,"stopy",E,Math.max),this.updateBounds(w,b,m,E)},newActivation:function(i,a,f){const p=f[i.from.actor],w=jY(i.from.actor).length||0,m=p.x+p.width/2+(w-1)*fn.activationWidth/2;this.activations.push({startx:m,starty:this.verticalPos+2,stopx:m+fn.activationWidth,stopy:void 0,actor:i.from.actor,anchored:nf.anchorElement(a)})},endActivation:function(i){const a=this.activations.map(function(f){return f.actor}).lastIndexOf(i.from.actor);return this.activations.splice(a,1)[0]},createLoop:function(i={message:void 0,wrap:!1,width:void 0},a){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:i.message,wrap:i.wrap,width:i.width,height:0,fill:a}},newLoop:function(i={message:void 0,wrap:!1,width:void 0},a){this.sequenceItems.push(this.createLoop(i,a))},endLoop:function(){return this.sequenceItems.pop()},isLoopOverlap:function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},addSectionToLoop:function(i){const a=this.sequenceItems.pop();a.sections=a.sections||[],a.sectionTitles=a.sectionTitles||[],a.sections.push({y:Fr.getVerticalPos(),height:0}),a.sectionTitles.push(i),this.sequenceItems.push(a)},saveVerticalPos:function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},resetVerticalPos:function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=Kr.getMax(this.data.stopy,this.verticalPos)},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},UVe=function(i,a){Fr.bumpVerticalPos(fn.boxMargin),a.height=fn.boxMargin,a.starty=Fr.getVerticalPos();const f=bT();f.x=a.startx,f.y=a.starty,f.width=a.width||fn.width,f.class="note";const p=i.append("g"),w=nf.drawRect(p,f),m=Rdt();m.x=a.startx,m.y=a.starty,m.width=f.width,m.dy="1em",m.text=a.message,m.class="noteText",m.fontFamily=fn.noteFontFamily,m.fontSize=fn.noteFontSize,m.fontWeight=fn.noteFontWeight,m.anchor=fn.noteAlign,m.textMargin=fn.noteMargin,m.valign="center";const b=pL(p,m),E=Math.round(b.map(_=>(_._groups||_)[0][0].getBBox().height).reduce((_,A)=>_+A));w.attr("height",E+2*fn.noteMargin),a.height+=E+2*fn.noteMargin,Fr.bumpVerticalPos(E+2*fn.noteMargin),a.stopy=a.starty+E+2*fn.noteMargin,a.stopx=a.startx+f.width,Fr.insert(a.startx,a.starty,a.stopx,a.stopy),Fr.models.addNote(a)},ST=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight}),bL=i=>({fontFamily:i.noteFontFamily,fontSize:i.noteFontSize,fontWeight:i.noteFontWeight}),kgt=i=>({fontFamily:i.actorFontFamily,fontSize:i.actorFontSize,fontWeight:i.actorFontWeight});function WVe(i,a){Fr.bumpVerticalPos(10);const{startx:f,stopx:p,message:w}=a,m=Kr.splitBreaks(w).length,b=$a.calculateTextDimensions(w,ST(fn)),E=b.height/m;a.height+=E,Fr.bumpVerticalPos(E);let _,A=b.height-10;const I=b.width;if(f===p){_=Fr.getVerticalPos()+A,fn.rightAngles||(A+=fn.boxMargin,_=Fr.getVerticalPos()+A),A+=30;const B=Kr.getMax(I/2,fn.width/2);Fr.insert(f-B,Fr.getVerticalPos()-10+A,p+B,Fr.getVerticalPos()+30+A)}else A+=fn.boxMargin,_=Fr.getVerticalPos()+A,Fr.insert(f,_-10,p,_);return Fr.bumpVerticalPos(A),a.height+=A,a.stopy=a.starty+a.height,Fr.insert(a.fromBounds,a.starty,a.toBounds,a.stopy),_}const YVe=function(i,a,f,p){const{startx:w,stopx:m,starty:b,message:E,type:_,sequenceIndex:A,sequenceVisible:I}=a,B=$a.calculateTextDimensions(E,ST(fn)),N=Rdt();N.x=w,N.y=b+10,N.width=m-w,N.class="messageText",N.dy="1em",N.text=E,N.fontFamily=fn.messageFontFamily,N.fontSize=fn.messageFontSize,N.fontWeight=fn.messageFontWeight,N.anchor=fn.messageAlign,N.valign="center",N.textMargin=fn.wrapPadding,N.tspan=!1,pL(i,N);const R=B.width;let z;w===m?fn.rightAngles?z=i.append("path").attr("d",`M ${w},${f} H ${w+Kr.getMax(fn.width/2,R/2)} V ${f+25} H ${w}`):z=i.append("path").attr("d","M "+w+","+f+" C "+(w+60)+","+(f-10)+" "+(w+60)+","+(f+30)+" "+w+","+(f+20)):(z=i.append("line"),z.attr("x1",w),z.attr("y1",f),z.attr("x2",m),z.attr("y2",f)),_===p.db.LINETYPE.DOTTED||_===p.db.LINETYPE.DOTTED_CROSS||_===p.db.LINETYPE.DOTTED_POINT||_===p.db.LINETYPE.DOTTED_OPEN?(z.style("stroke-dasharray","3, 3"),z.attr("class","messageLine1")):z.attr("class","messageLine0");let W="";fn.arrowMarkerAbsolute&&(W=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,W=W.replace(/\(/g,"\\("),W=W.replace(/\)/g,"\\)")),z.attr("stroke-width",2),z.attr("stroke","none"),z.style("fill","none"),(_===p.db.LINETYPE.SOLID||_===p.db.LINETYPE.DOTTED)&&z.attr("marker-end","url("+W+"#arrowhead)"),(_===p.db.LINETYPE.SOLID_POINT||_===p.db.LINETYPE.DOTTED_POINT)&&z.attr("marker-end","url("+W+"#filled-head)"),(_===p.db.LINETYPE.SOLID_CROSS||_===p.db.LINETYPE.DOTTED_CROSS)&&z.attr("marker-end","url("+W+"#crosshead)"),(I||fn.showSequenceNumbers)&&(z.attr("marker-start","url("+W+"#sequencenumber)"),i.append("text").attr("x",w).attr("y",f+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(A))},KVe=function(i,a,f,p,w,m,b){let E=0,_=0,A,I=0;for(const B of p){const N=a[B],R=N.box;A&&A!=R&&(b||Fr.models.addBox(A),_+=fn.boxMargin+A.margin),R&&R!=A&&(b||(R.x=E+_,R.y=w),_+=R.margin),N.width=N.width||fn.width,N.height=Kr.getMax(N.height||fn.height,fn.height),N.margin=N.margin||fn.actorMargin,I=Kr.getMax(I,N.height),f[N.name]&&(_+=N.width/2),N.x=E+_,N.starty=Fr.getVerticalPos(),Fr.insert(N.x,w,N.x+N.width,N.height),E+=N.width+_,N.box&&(N.box.width=E+R.margin-N.box.x),_=N.margin,A=N.box,Fr.models.addActor(N)}A&&!b&&Fr.models.addBox(A),Fr.bumpVerticalPos(I)},Egt=function(i,a,f,p){if(p){let w=0;Fr.bumpVerticalPos(fn.boxMargin*2);for(const m of f){const b=a[m];b.stopy||(b.stopy=Fr.getVerticalPos());const E=nf.drawActor(i,b,fn,!0);w=Kr.getMax(w,E)}Fr.bumpVerticalPos(w+fn.boxMargin)}else for(const w of f){const m=a[w];nf.drawActor(i,m,fn,!1)}},RRt=function(i,a,f,p){let w=0,m=0;for(const b of f){const E=a[b],_=JVe(E),A=nf.drawPopup(i,E,_,fn,fn.forceMenus,p);A.height>w&&(w=A.height),A.width+E.x>m&&(m=A.width+E.x)}return{maxHeight:w,maxWidth:m}},jRt=function(i){Z1(fn,i),i.fontFamily&&(fn.actorFontFamily=fn.noteFontFamily=fn.messageFontFamily=i.fontFamily),i.fontSize&&(fn.actorFontSize=fn.noteFontSize=fn.messageFontSize=i.fontSize),i.fontWeight&&(fn.actorFontWeight=fn.noteFontWeight=fn.messageFontWeight=i.fontWeight)},jY=function(i){return Fr.activations.filter(function(a){return a.actor===i})},$Rt=function(i,a){const f=a[i],p=jY(i),w=p.reduce(function(b,E){return Kr.getMin(b,E.startx)},f.x+f.width/2-1),m=p.reduce(function(b,E){return Kr.getMax(b,E.stopx)},f.x+f.width/2+1);return[w,m]};function k3(i,a,f,p,w){Fr.bumpVerticalPos(f);let m=p;if(a.id&&a.message&&i[a.id]){const b=i[a.id].width,E=ST(fn);a.message=$a.wrapLabel(`[${a.message}]`,b-2*fn.wrapPadding,E),a.width=b,a.wrap=!0;const _=$a.calculateTextDimensions(a.message,E),A=Kr.getMax(_.height,fn.labelBoxHeight);m=p+A,Ut.debug(`${A} - ${a.message}`)}w(a),Fr.bumpVerticalPos(m)}function XVe(i,a,f,p,w,m,b){function E(A,I){A.x{Et.add(Z.from),Et.add(Z.to)}),z=z.filter(Z=>Et.has(Z))}KVe(A,I,B,z,0,W,!1);const mt=rGe(W,I,bt,p);nf.insertArrowHead(A),nf.insertArrowCrossHead(A),nf.insertArrowFilledHead(A),nf.insertSequenceNumber(A);function yt(Et,Z){const Ct=Fr.endActivation(Et);Ct.starty+18>Z&&(Ct.starty=Z-6,Z+=12),nf.drawActivation(A,Ct,Z,fn,jY(Et.from.actor).length),Fr.insert(Ct.startx,Z-10,Ct.stopx,Z)}let ft=1,ut=1;const vt=[],X=[];W.forEach(function(Et,Z){let Ct,xt,Ht;switch(Et.type){case p.db.LINETYPE.NOTE:Fr.resetVerticalPos(),xt=Et.noteModel,UVe(A,xt);break;case p.db.LINETYPE.ACTIVE_START:Fr.newActivation(Et,A,I);break;case p.db.LINETYPE.ACTIVE_END:yt(Et,Fr.getVerticalPos());break;case p.db.LINETYPE.LOOP_START:k3(mt,Et,fn.boxMargin,fn.boxMargin+fn.boxTextMargin,Le=>Fr.newLoop(Le));break;case p.db.LINETYPE.LOOP_END:Ct=Fr.endLoop(),nf.drawLoop(A,Ct,"loop",fn),Fr.bumpVerticalPos(Ct.stopy-Fr.getVerticalPos()),Fr.models.addLoop(Ct);break;case p.db.LINETYPE.RECT_START:k3(mt,Et,fn.boxMargin,fn.boxMargin,Le=>Fr.newLoop(void 0,Le.message));break;case p.db.LINETYPE.RECT_END:Ct=Fr.endLoop(),X.push(Ct),Fr.models.addLoop(Ct),Fr.bumpVerticalPos(Ct.stopy-Fr.getVerticalPos());break;case p.db.LINETYPE.OPT_START:k3(mt,Et,fn.boxMargin,fn.boxMargin+fn.boxTextMargin,Le=>Fr.newLoop(Le));break;case p.db.LINETYPE.OPT_END:Ct=Fr.endLoop(),nf.drawLoop(A,Ct,"opt",fn),Fr.bumpVerticalPos(Ct.stopy-Fr.getVerticalPos()),Fr.models.addLoop(Ct);break;case p.db.LINETYPE.ALT_START:k3(mt,Et,fn.boxMargin,fn.boxMargin+fn.boxTextMargin,Le=>Fr.newLoop(Le));break;case p.db.LINETYPE.ALT_ELSE:k3(mt,Et,fn.boxMargin+fn.boxTextMargin,fn.boxMargin,Le=>Fr.addSectionToLoop(Le));break;case p.db.LINETYPE.ALT_END:Ct=Fr.endLoop(),nf.drawLoop(A,Ct,"alt",fn),Fr.bumpVerticalPos(Ct.stopy-Fr.getVerticalPos()),Fr.models.addLoop(Ct);break;case p.db.LINETYPE.PAR_START:case p.db.LINETYPE.PAR_OVER_START:k3(mt,Et,fn.boxMargin,fn.boxMargin+fn.boxTextMargin,Le=>Fr.newLoop(Le)),Fr.saveVerticalPos();break;case p.db.LINETYPE.PAR_AND:k3(mt,Et,fn.boxMargin+fn.boxTextMargin,fn.boxMargin,Le=>Fr.addSectionToLoop(Le));break;case p.db.LINETYPE.PAR_END:Ct=Fr.endLoop(),nf.drawLoop(A,Ct,"par",fn),Fr.bumpVerticalPos(Ct.stopy-Fr.getVerticalPos()),Fr.models.addLoop(Ct);break;case p.db.LINETYPE.AUTONUMBER:ft=Et.message.start||ft,ut=Et.message.step||ut,Et.message.visible?p.db.enableSequenceNumbers():p.db.disableSequenceNumbers();break;case p.db.LINETYPE.CRITICAL_START:k3(mt,Et,fn.boxMargin,fn.boxMargin+fn.boxTextMargin,Le=>Fr.newLoop(Le));break;case p.db.LINETYPE.CRITICAL_OPTION:k3(mt,Et,fn.boxMargin+fn.boxTextMargin,fn.boxMargin,Le=>Fr.addSectionToLoop(Le));break;case p.db.LINETYPE.CRITICAL_END:Ct=Fr.endLoop(),nf.drawLoop(A,Ct,"critical",fn),Fr.bumpVerticalPos(Ct.stopy-Fr.getVerticalPos()),Fr.models.addLoop(Ct);break;case p.db.LINETYPE.BREAK_START:k3(mt,Et,fn.boxMargin,fn.boxMargin+fn.boxTextMargin,Le=>Fr.newLoop(Le));break;case p.db.LINETYPE.BREAK_END:Ct=Fr.endLoop(),nf.drawLoop(A,Ct,"break",fn),Fr.bumpVerticalPos(Ct.stopy-Fr.getVerticalPos()),Fr.models.addLoop(Ct);break;default:try{Ht=Et.msgModel,Ht.starty=Fr.getVerticalPos(),Ht.sequenceIndex=ft,Ht.sequenceVisible=p.db.showSequenceNumbers();const Le=WVe(A,Ht);XVe(Et,Ht,Le,Z,I,B,N),vt.push({messageModel:Ht,lineStartY:Le}),Fr.models.addMessage(Ht)}catch(Le){Ut.error("error while drawing message",Le)}}[p.db.LINETYPE.SOLID_OPEN,p.db.LINETYPE.DOTTED_OPEN,p.db.LINETYPE.SOLID,p.db.LINETYPE.DOTTED,p.db.LINETYPE.SOLID_CROSS,p.db.LINETYPE.DOTTED_CROSS,p.db.LINETYPE.SOLID_POINT,p.db.LINETYPE.DOTTED_POINT].includes(Et.type)&&(ft=ft+ut)}),Ut.debug("createdActors",B),Ut.debug("destroyedActors",N),Egt(A,I,z,!1),vt.forEach(Et=>YVe(A,Et.messageModel,Et.lineStartY,p)),fn.mirrorActors&&Egt(A,I,z,!0),X.forEach(Et=>nf.drawBackgroundRect(A,Et)),FRt(A,I,z,fn),Fr.models.boxes.forEach(function(Et){Et.height=Fr.getVerticalPos()-Et.y,Fr.insert(Et.x,Et.y,Et.x+Et.width,Et.height),Et.startx=Et.x,Et.starty=Et.y,Et.stopx=Et.startx+Et.width,Et.stopy=Et.starty+Et.height,Et.stroke="rgb(0,0,0, 0.5)",nf.drawBox(A,Et,fn)}),st&&Fr.bumpVerticalPos(fn.boxMargin);const pt=RRt(A,I,z,_),{bounds:U}=Fr.getBounds();let Tt=U.stopy-U.starty;Tt{const b=i[m];b.wrap&&(b.description=$a.wrapLabel(b.description,fn.width-2*fn.wrapPadding,kgt(fn)));const E=$a.calculateTextDimensions(b.description,kgt(fn));b.width=b.wrap?fn.width:Kr.getMax(fn.width,E.width+2*fn.wrapPadding),b.height=b.wrap?Kr.getMax(E.height,fn.height):fn.height,p=Kr.getMax(p,b.height)});for(const m in a){const b=i[m];if(!b)continue;const E=i[b.nextActor];if(!E){const B=a[m]+fn.actorMargin-b.width/2;b.margin=Kr.getMax(B,fn.actorMargin);continue}const A=a[m]+fn.actorMargin-b.width/2-E.width/2;b.margin=Kr.getMax(A,fn.actorMargin)}let w=0;return f.forEach(m=>{const b=ST(fn);let E=m.actorKeys.reduce((I,B)=>I+=i[B].width+(i[B].margin||0),0);E-=2*fn.boxTextMargin,m.wrap&&(m.name=$a.wrapLabel(m.name,E-2*fn.wrapPadding,b));const _=$a.calculateTextDimensions(m.name,b);w=Kr.getMax(_.height,w);const A=Kr.getMax(E,_.width+2*fn.wrapPadding);if(m.margin=fn.boxTextMargin,Em.textMaxHeight=w),Kr.getMax(p,fn.height)}const eGe=function(i,a,f){const p=a[i.from].x,w=a[i.to].x,m=i.wrap&&i.message;let b=$a.calculateTextDimensions(m?$a.wrapLabel(i.message,fn.width,bL(fn)):i.message,bL(fn));const E={width:m?fn.width:Kr.getMax(fn.width,b.width+2*fn.noteMargin),height:0,startx:a[i.from].x,stopx:0,starty:0,stopy:0,message:i.message};return i.placement===f.db.PLACEMENT.RIGHTOF?(E.width=m?Kr.getMax(fn.width,b.width):Kr.getMax(a[i.from].width/2+a[i.to].width/2,b.width+2*fn.noteMargin),E.startx=p+(a[i.from].width+fn.actorMargin)/2):i.placement===f.db.PLACEMENT.LEFTOF?(E.width=m?Kr.getMax(fn.width,b.width+2*fn.noteMargin):Kr.getMax(a[i.from].width/2+a[i.to].width/2,b.width+2*fn.noteMargin),E.startx=p-E.width+(a[i.from].width-fn.actorMargin)/2):i.to===i.from?(b=$a.calculateTextDimensions(m?$a.wrapLabel(i.message,Kr.getMax(fn.width,a[i.from].width),bL(fn)):i.message,bL(fn)),E.width=m?Kr.getMax(fn.width,a[i.from].width):Kr.getMax(a[i.from].width,fn.width,b.width+2*fn.noteMargin),E.startx=p+(a[i.from].width-E.width)/2):(E.width=Math.abs(p+a[i.from].width/2-(w+a[i.to].width/2))+fn.actorMargin,E.startx=p2,B=W=>E?-W:W;i.from===i.to?A=_:(i.activate&&!I&&(A+=B(fn.activationWidth/2-1)),[f.db.LINETYPE.SOLID_OPEN,f.db.LINETYPE.DOTTED_OPEN].includes(i.type)||(A+=B(3)));const N=[p,w,m,b],R=Math.abs(_-A);i.wrap&&i.message&&(i.message=$a.wrapLabel(i.message,Kr.getMax(R+2*fn.wrapPadding,fn.width),ST(fn)));const z=$a.calculateTextDimensions(i.message,ST(fn));return{width:Kr.getMax(i.wrap?0:z.width+2*fn.wrapPadding,R+2*fn.wrapPadding,fn.width),height:0,startx:_,stopx:A,starty:0,stopy:0,message:i.message,type:i.type,wrap:i.wrap,fromBounds:Math.min.apply(null,N),toBounds:Math.max.apply(null,N)}},rGe=function(i,a,f,p){const w={},m=[];let b,E,_;return i.forEach(function(A){switch(A.id=$a.random({length:10}),A.type){case p.db.LINETYPE.LOOP_START:case p.db.LINETYPE.ALT_START:case p.db.LINETYPE.OPT_START:case p.db.LINETYPE.PAR_START:case p.db.LINETYPE.PAR_OVER_START:case p.db.LINETYPE.CRITICAL_START:case p.db.LINETYPE.BREAK_START:m.push({id:A.id,msg:A.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case p.db.LINETYPE.ALT_ELSE:case p.db.LINETYPE.PAR_AND:case p.db.LINETYPE.CRITICAL_OPTION:A.message&&(b=m.pop(),w[b.id]=b,w[A.id]=b,m.push(b));break;case p.db.LINETYPE.LOOP_END:case p.db.LINETYPE.ALT_END:case p.db.LINETYPE.OPT_END:case p.db.LINETYPE.PAR_END:case p.db.LINETYPE.CRITICAL_END:case p.db.LINETYPE.BREAK_END:b=m.pop(),w[b.id]=b;break;case p.db.LINETYPE.ACTIVE_START:{const B=a[A.from?A.from.actor:A.to.actor],N=jY(A.from?A.from.actor:A.to.actor).length,R=B.x+B.width/2+(N-1)*fn.activationWidth/2,z={startx:R,stopx:R+fn.activationWidth,actor:A.from.actor,enabled:!0};Fr.activations.push(z)}break;case p.db.LINETYPE.ACTIVE_END:{const B=Fr.activations.map(N=>N.actor).lastIndexOf(A.from.actor);delete Fr.activations.splice(B,1)[0]}break}A.placement!==void 0?(E=eGe(A,a,p),A.noteModel=E,m.forEach(B=>{b=B,b.from=Kr.getMin(b.from,E.startx),b.to=Kr.getMax(b.to,E.startx+E.width),b.width=Kr.getMax(b.width,Math.abs(b.from-b.to))-fn.labelBoxWidth})):(_=nGe(A,a,p),A.msgModel=_,_.startx&&_.stopx&&m.length>0&&m.forEach(B=>{if(b=B,_.startx===_.stopx){const N=a[A.from],R=a[A.to];b.from=Kr.getMin(N.x-_.width/2,N.x-N.width/2,b.from),b.to=Kr.getMax(R.x+_.width/2,R.x+N.width/2,b.to),b.width=Kr.getMax(b.width,Math.abs(b.to-b.from))-fn.labelBoxWidth}else b.from=Kr.getMin(_.startx,b.from),b.to=Kr.getMax(_.stopx,b.to),b.width=Kr.getMax(b.width,_.width)-fn.labelBoxWidth}))}),Fr.activations=[],Ut.debug("Loop type widths:",w),w},iGe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:tVe,db:IRt,renderer:{bounds:Fr,drawActors:Egt,drawActorsPopup:RRt,setConf:jRt,draw:QVe},styles:TVe,init:({wrap:i})=>{IRt.setWrap(i)}}},Symbol.toStringTag,{value:"Module"}));var Tgt=function(){var i=function(ke,zt,re,se){for(re=re||{},se=ke.length;se--;re[ke[se]]=zt);return re},a=[1,16],f=[1,17],p=[1,18],w=[1,37],m=[1,38],b=[1,24],E=[1,22],_=[1,23],A=[1,29],I=[1,30],B=[1,31],N=[1,32],R=[1,33],z=[1,34],W=[1,25],et=[1,26],st=[1,27],at=[1,28],bt=[1,42],mt=[1,39],yt=[1,40],ft=[1,41],ut=[1,43],vt=[1,9],X=[1,8,9],pt=[1,54],U=[1,55],Tt=[1,56],nt=[1,57],It=[1,58],Ot=[1,59],Bt=[1,60],Et=[1,8,9,38],Z=[1,71],Ct=[1,8,9,12,13,21,36,38,41,58,59,60,61,62,63,64,69,71],xt=[1,8,9,12,13,19,21,36,38,41,45,58,59,60,61,62,63,64,69,71,84,86,87,88,89],Ht=[13,84,86,87,88,89],Le=[13,63,64,84,86,87,88,89],Ft=[13,58,59,60,61,62,84,86,87,88,89],gn=[1,90],Se=[1,8,9,36,38,41],me=[1,8,9,21],Ve={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,cssClassStatement:27,noteStatement:28,direction:29,acc_title:30,acc_title_value:31,acc_descr:32,acc_descr_value:33,acc_descr_multiline_value:34,namespaceIdentifier:35,STRUCT_START:36,classStatements:37,STRUCT_STOP:38,NAMESPACE:39,classIdentifier:40,STYLE_SEPARATOR:41,members:42,CLASS:43,ANNOTATION_START:44,ANNOTATION_END:45,MEMBER:46,SEPARATOR:47,relation:48,NOTE_FOR:49,noteText:50,NOTE:51,direction_tb:52,direction_bt:53,direction_rl:54,direction_lr:55,relationType:56,lineType:57,AGGREGATION:58,EXTENSION:59,COMPOSITION:60,DEPENDENCY:61,LOLLIPOP:62,LINE:63,DOTTED_LINE:64,CALLBACK:65,LINK:66,LINK_TARGET:67,CLICK:68,CALLBACK_NAME:69,CALLBACK_ARGS:70,HREF:71,CSSCLASS:72,commentToken:73,textToken:74,graphCodeTokens:75,textNoTagsToken:76,TAGSTART:77,TAGEND:78,"==":79,"--":80,PCT:81,DEFAULT:82,SPACE:83,MINUS:84,keywords:85,UNICODE_TEXT:86,NUM:87,ALPHA:88,BQUOTE_STR:89,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",30:"acc_title",31:"acc_title_value",32:"acc_descr",33:"acc_descr_value",34:"acc_descr_multiline_value",36:"STRUCT_START",38:"STRUCT_STOP",39:"NAMESPACE",41:"STYLE_SEPARATOR",43:"CLASS",44:"ANNOTATION_START",45:"ANNOTATION_END",46:"MEMBER",47:"SEPARATOR",49:"NOTE_FOR",51:"NOTE",52:"direction_tb",53:"direction_bt",54:"direction_rl",55:"direction_lr",58:"AGGREGATION",59:"EXTENSION",60:"COMPOSITION",61:"DEPENDENCY",62:"LOLLIPOP",63:"LINE",64:"DOTTED_LINE",65:"CALLBACK",66:"LINK",67:"LINK_TARGET",68:"CLICK",69:"CALLBACK_NAME",70:"CALLBACK_ARGS",71:"HREF",72:"CSSCLASS",75:"graphCodeTokens",77:"TAGSTART",78:"TAGEND",79:"==",80:"--",81:"PCT",82:"DEFAULT",83:"SPACE",84:"MINUS",85:"keywords",86:"UNICODE_TEXT",87:"NUM",88:"ALPHA",89:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[35,2],[37,1],[37,2],[37,3],[23,1],[23,3],[23,4],[23,6],[40,2],[40,3],[25,4],[42,1],[42,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[28,3],[28,2],[29,1],[29,1],[29,1],[29,1],[48,3],[48,2],[48,2],[48,1],[56,1],[56,1],[56,1],[56,1],[56,1],[57,1],[57,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[73,1],[73,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[76,1],[76,1],[76,1],[76,1],[16,1],[16,1],[16,1],[16,1],[18,1],[50,1]],performAction:function(zt,re,se,Pe,te,Me,de){var on=Me.length-1;switch(te){case 8:this.$=Me[on-1];break;case 9:case 11:case 12:this.$=Me[on];break;case 10:case 13:this.$=Me[on-1]+Me[on];break;case 14:case 15:this.$=Me[on-1]+"~"+Me[on]+"~";break;case 16:Pe.addRelation(Me[on]);break;case 17:Me[on-1].title=Pe.cleanupLabel(Me[on]),Pe.addRelation(Me[on-1]);break;case 26:this.$=Me[on].trim(),Pe.setAccTitle(this.$);break;case 27:case 28:this.$=Me[on].trim(),Pe.setAccDescription(this.$);break;case 29:Pe.addClassesToNamespace(Me[on-3],Me[on-1]);break;case 30:Pe.addClassesToNamespace(Me[on-4],Me[on-1]);break;case 31:this.$=Me[on],Pe.addNamespace(Me[on]);break;case 32:this.$=[Me[on]];break;case 33:this.$=[Me[on-1]];break;case 34:Me[on].unshift(Me[on-2]),this.$=Me[on];break;case 36:Pe.setCssClass(Me[on-2],Me[on]);break;case 37:Pe.addMembers(Me[on-3],Me[on-1]);break;case 38:Pe.setCssClass(Me[on-5],Me[on-3]),Pe.addMembers(Me[on-5],Me[on-1]);break;case 39:this.$=Me[on],Pe.addClass(Me[on]);break;case 40:this.$=Me[on-1],Pe.addClass(Me[on-1]),Pe.setClassLabel(Me[on-1],Me[on]);break;case 41:Pe.addAnnotation(Me[on],Me[on-2]);break;case 42:this.$=[Me[on]];break;case 43:Me[on].push(Me[on-1]),this.$=Me[on];break;case 44:break;case 45:Pe.addMember(Me[on-1],Pe.cleanupLabel(Me[on]));break;case 46:break;case 47:break;case 48:this.$={id1:Me[on-2],id2:Me[on],relation:Me[on-1],relationTitle1:"none",relationTitle2:"none"};break;case 49:this.$={id1:Me[on-3],id2:Me[on],relation:Me[on-1],relationTitle1:Me[on-2],relationTitle2:"none"};break;case 50:this.$={id1:Me[on-3],id2:Me[on],relation:Me[on-2],relationTitle1:"none",relationTitle2:Me[on-1]};break;case 51:this.$={id1:Me[on-4],id2:Me[on],relation:Me[on-2],relationTitle1:Me[on-3],relationTitle2:Me[on-1]};break;case 52:Pe.addNote(Me[on],Me[on-1]);break;case 53:Pe.addNote(Me[on]);break;case 54:Pe.setDirection("TB");break;case 55:Pe.setDirection("BT");break;case 56:Pe.setDirection("RL");break;case 57:Pe.setDirection("LR");break;case 58:this.$={type1:Me[on-2],type2:Me[on],lineType:Me[on-1]};break;case 59:this.$={type1:"none",type2:Me[on],lineType:Me[on-1]};break;case 60:this.$={type1:Me[on-1],type2:"none",lineType:Me[on]};break;case 61:this.$={type1:"none",type2:"none",lineType:Me[on]};break;case 62:this.$=Pe.relationType.AGGREGATION;break;case 63:this.$=Pe.relationType.EXTENSION;break;case 64:this.$=Pe.relationType.COMPOSITION;break;case 65:this.$=Pe.relationType.DEPENDENCY;break;case 66:this.$=Pe.relationType.LOLLIPOP;break;case 67:this.$=Pe.lineType.LINE;break;case 68:this.$=Pe.lineType.DOTTED_LINE;break;case 69:case 75:this.$=Me[on-2],Pe.setClickEvent(Me[on-1],Me[on]);break;case 70:case 76:this.$=Me[on-3],Pe.setClickEvent(Me[on-2],Me[on-1]),Pe.setTooltip(Me[on-2],Me[on]);break;case 71:this.$=Me[on-2],Pe.setLink(Me[on-1],Me[on]);break;case 72:this.$=Me[on-3],Pe.setLink(Me[on-2],Me[on-1],Me[on]);break;case 73:this.$=Me[on-3],Pe.setLink(Me[on-2],Me[on-1]),Pe.setTooltip(Me[on-2],Me[on]);break;case 74:this.$=Me[on-4],Pe.setLink(Me[on-3],Me[on-2],Me[on]),Pe.setTooltip(Me[on-3],Me[on-1]);break;case 77:this.$=Me[on-3],Pe.setClickEvent(Me[on-2],Me[on-1],Me[on]);break;case 78:this.$=Me[on-4],Pe.setClickEvent(Me[on-3],Me[on-2],Me[on-1]),Pe.setTooltip(Me[on-3],Me[on]);break;case 79:this.$=Me[on-3],Pe.setLink(Me[on-2],Me[on]);break;case 80:this.$=Me[on-4],Pe.setLink(Me[on-3],Me[on-1],Me[on]);break;case 81:this.$=Me[on-4],Pe.setLink(Me[on-3],Me[on-1]),Pe.setTooltip(Me[on-3],Me[on]);break;case 82:this.$=Me[on-5],Pe.setLink(Me[on-4],Me[on-2],Me[on]),Pe.setTooltip(Me[on-4],Me[on-1]);break;case 83:Pe.setCssClass(Me[on-1],Me[on]);break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:35,17:19,18:36,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:a,32:f,34:p,35:20,39:w,40:21,43:m,44:b,46:E,47:_,49:A,51:I,52:B,53:N,54:R,55:z,65:W,66:et,68:st,72:at,84:bt,86:mt,87:yt,88:ft,89:ut},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},i(vt,[2,5],{8:[1,44]}),{8:[1,45]},i(X,[2,16],{21:[1,46]}),i(X,[2,18]),i(X,[2,19]),i(X,[2,20]),i(X,[2,21]),i(X,[2,22]),i(X,[2,23]),i(X,[2,24]),i(X,[2,25]),{31:[1,47]},{33:[1,48]},i(X,[2,28]),i(X,[2,44],{48:49,56:52,57:53,13:[1,50],21:[1,51],58:pt,59:U,60:Tt,61:nt,62:It,63:Ot,64:Bt}),{36:[1,61]},i(Et,[2,35],{36:[1,63],41:[1,62]}),i(X,[2,46]),i(X,[2,47]),{16:64,84:bt,86:mt,87:yt,88:ft},{16:35,17:65,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},{16:35,17:66,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},{16:35,17:67,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},{13:[1,68]},{16:35,17:69,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},{13:Z,50:70},i(X,[2,54]),i(X,[2,55]),i(X,[2,56]),i(X,[2,57]),i(Ct,[2,11],{16:35,18:36,17:72,19:[1,73],84:bt,86:mt,87:yt,88:ft,89:ut}),i(Ct,[2,12],{19:[1,74]}),{15:75,16:76,84:bt,86:mt,87:yt,88:ft},{16:35,17:77,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},i(xt,[2,97]),i(xt,[2,98]),i(xt,[2,99]),i(xt,[2,100]),i([1,8,9,12,13,19,21,36,38,41,58,59,60,61,62,63,64,69,71],[2,101]),i(vt,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,17:19,35:20,40:21,16:35,18:36,5:78,30:a,32:f,34:p,39:w,43:m,44:b,46:E,47:_,49:A,51:I,52:B,53:N,54:R,55:z,65:W,66:et,68:st,72:at,84:bt,86:mt,87:yt,88:ft,89:ut}),{5:79,10:5,16:35,17:19,18:36,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:a,32:f,34:p,35:20,39:w,40:21,43:m,44:b,46:E,47:_,49:A,51:I,52:B,53:N,54:R,55:z,65:W,66:et,68:st,72:at,84:bt,86:mt,87:yt,88:ft,89:ut},i(X,[2,17]),i(X,[2,26]),i(X,[2,27]),{13:[1,81],16:35,17:80,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},{48:82,56:52,57:53,58:pt,59:U,60:Tt,61:nt,62:It,63:Ot,64:Bt},i(X,[2,45]),{57:83,63:Ot,64:Bt},i(Ht,[2,61],{56:84,58:pt,59:U,60:Tt,61:nt,62:It}),i(Le,[2,62]),i(Le,[2,63]),i(Le,[2,64]),i(Le,[2,65]),i(Le,[2,66]),i(Ft,[2,67]),i(Ft,[2,68]),{8:[1,86],23:87,37:85,40:21,43:m},{16:88,84:bt,86:mt,87:yt,88:ft},{42:89,46:gn},{45:[1,91]},{13:[1,92]},{13:[1,93]},{69:[1,94],71:[1,95]},{16:96,84:bt,86:mt,87:yt,88:ft},{13:Z,50:97},i(X,[2,53]),i(X,[2,102]),i(Ct,[2,13]),i(Ct,[2,14]),i(Ct,[2,15]),{36:[2,31]},{15:98,16:76,36:[2,9],84:bt,86:mt,87:yt,88:ft},i(Se,[2,39],{11:99,12:[1,100]}),i(vt,[2,7]),{9:[1,101]},i(me,[2,48]),{16:35,17:102,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},{13:[1,104],16:35,17:103,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},i(Ht,[2,60],{56:105,58:pt,59:U,60:Tt,61:nt,62:It}),i(Ht,[2,59]),{38:[1,106]},{23:87,37:107,40:21,43:m},{8:[1,108],38:[2,32]},i(Et,[2,36],{36:[1,109]}),{38:[1,110]},{38:[2,42],42:111,46:gn},{16:35,17:112,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},i(X,[2,69],{13:[1,113]}),i(X,[2,71],{13:[1,115],67:[1,114]}),i(X,[2,75],{13:[1,116],70:[1,117]}),{13:[1,118]},i(X,[2,83]),i(X,[2,52]),{36:[2,10]},i(Se,[2,40]),{13:[1,119]},{1:[2,4]},i(me,[2,50]),i(me,[2,49]),{16:35,17:120,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},i(Ht,[2,58]),i(X,[2,29]),{38:[1,121]},{23:87,37:122,38:[2,33],40:21,43:m},{42:123,46:gn},i(Et,[2,37]),{38:[2,43]},i(X,[2,41]),i(X,[2,70]),i(X,[2,72]),i(X,[2,73],{67:[1,124]}),i(X,[2,76]),i(X,[2,77],{13:[1,125]}),i(X,[2,79],{13:[1,127],67:[1,126]}),{14:[1,128]},i(me,[2,51]),i(X,[2,30]),{38:[2,34]},{38:[1,129]},i(X,[2,74]),i(X,[2,78]),i(X,[2,80]),i(X,[2,81],{67:[1,130]}),i(Se,[2,8]),i(Et,[2,38]),i(X,[2,82])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],75:[2,31],98:[2,10],101:[2,4],111:[2,43],122:[2,34]},parseError:function(zt,re){if(re.recoverable)this.trace(zt);else{var se=new Error(zt);throw se.hash=re,se}},parse:function(zt){var re=this,se=[0],Pe=[],te=[null],Me=[],de=this.table,on="",ni=0,Ks=0,ws=2,fo=1,Xi=Me.slice.call(arguments,1),Er=Object.create(this.lexer),Xn={yy:{}};for(var di in this.yy)Object.prototype.hasOwnProperty.call(this.yy,di)&&(Xn.yy[di]=this.yy[di]);Er.setInput(zt,Xn.yy),Xn.yy.lexer=Er,Xn.yy.parser=this,typeof Er.yylloc>"u"&&(Er.yylloc={});var Ee=Er.yylloc;Me.push(Ee);var Kn=Er.options&&Er.options.ranges;typeof Xn.yy.parseError=="function"?this.parseError=Xn.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function He(){var Du;return Du=Pe.pop()||Er.lex()||fo,typeof Du!="number"&&(Du instanceof Array&&(Pe=Du,Du=Pe.pop()),Du=re.symbols_[Du]||Du),Du}for(var Ti,pn,Es,qa,Ma={},Gs,Po,vs,ru;;){if(pn=se[se.length-1],this.defaultActions[pn]?Es=this.defaultActions[pn]:((Ti===null||typeof Ti>"u")&&(Ti=He()),Es=de[pn]&&de[pn][Ti]),typeof Es>"u"||!Es.length||!Es[0]){var zs="";ru=[];for(Gs in de[pn])this.terminals_[Gs]&&Gs>ws&&ru.push("'"+this.terminals_[Gs]+"'");Er.showPosition?zs="Parse error on line "+(ni+1)+`: +`+Er.showPosition()+` +Expecting `+ru.join(", ")+", got '"+(this.terminals_[Ti]||Ti)+"'":zs="Parse error on line "+(ni+1)+": Unexpected "+(Ti==fo?"end of input":"'"+(this.terminals_[Ti]||Ti)+"'"),this.parseError(zs,{text:Er.match,token:this.terminals_[Ti]||Ti,line:Er.yylineno,loc:Ee,expected:ru})}if(Es[0]instanceof Array&&Es.length>1)throw new Error("Parse Error: multiple actions possible at state: "+pn+", token: "+Ti);switch(Es[0]){case 1:se.push(Ti),te.push(Er.yytext),Me.push(Er.yylloc),se.push(Es[1]),Ti=null,Ks=Er.yyleng,on=Er.yytext,ni=Er.yylineno,Ee=Er.yylloc;break;case 2:if(Po=this.productions_[Es[1]][1],Ma.$=te[te.length-Po],Ma._$={first_line:Me[Me.length-(Po||1)].first_line,last_line:Me[Me.length-1].last_line,first_column:Me[Me.length-(Po||1)].first_column,last_column:Me[Me.length-1].last_column},Kn&&(Ma._$.range=[Me[Me.length-(Po||1)].range[0],Me[Me.length-1].range[1]]),qa=this.performAction.apply(Ma,[on,Ks,ni,Xn.yy,Es[1],te,Me].concat(Xi)),typeof qa<"u")return qa;Po&&(se=se.slice(0,-1*Po*2),te=te.slice(0,-1*Po),Me=Me.slice(0,-1*Po)),se.push(this.productions_[Es[1]][0]),te.push(Ma.$),Me.push(Ma._$),vs=de[se[se.length-2]][se[se.length-1]],se.push(vs);break;case 3:return!0}}return!0}},Ye=function(){var ke={EOF:1,parseError:function(re,se){if(this.yy.parser)this.yy.parser.parseError(re,se);else throw new Error(re)},setInput:function(zt,re){return this.yy=re||this.yy||{},this._input=zt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var zt=this._input[0];this.yytext+=zt,this.yyleng++,this.offset++,this.match+=zt,this.matched+=zt;var re=zt.match(/(?:\r\n?|\n).*/g);return re?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),zt},unput:function(zt){var re=zt.length,se=zt.split(/(?:\r\n?|\n)/g);this._input=zt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-re),this.offset-=re;var Pe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),se.length-1&&(this.yylineno-=se.length-1);var te=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:se?(se.length===Pe.length?this.yylloc.first_column:0)+Pe[Pe.length-se.length].length-se[0].length:this.yylloc.first_column-re},this.options.ranges&&(this.yylloc.range=[te[0],te[0]+this.yyleng-re]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(zt){this.unput(this.match.slice(zt))},pastInput:function(){var zt=this.matched.substr(0,this.matched.length-this.match.length);return(zt.length>20?"...":"")+zt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var zt=this.match;return zt.length<20&&(zt+=this._input.substr(0,20-zt.length)),(zt.substr(0,20)+(zt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var zt=this.pastInput(),re=new Array(zt.length+1).join("-");return zt+this.upcomingInput()+` +`+re+"^"},test_match:function(zt,re){var se,Pe,te;if(this.options.backtrack_lexer&&(te={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(te.yylloc.range=this.yylloc.range.slice(0))),Pe=zt[0].match(/(?:\r\n?|\n).*/g),Pe&&(this.yylineno+=Pe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Pe?Pe[Pe.length-1].length-Pe[Pe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+zt[0].length},this.yytext+=zt[0],this.match+=zt[0],this.matches=zt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(zt[0].length),this.matched+=zt[0],se=this.performAction.call(this,this.yy,this,re,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),se)return se;if(this._backtrack){for(var Me in te)this[Me]=te[Me];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var zt,re,se,Pe;this._more||(this.yytext="",this.match="");for(var te=this._currentRules(),Me=0;Mere[0].length)){if(re=se,Pe=Me,this.options.backtrack_lexer){if(zt=this.test_match(se,te[Me]),zt!==!1)return zt;if(this._backtrack){re=!1;continue}else return!1}else if(!this.options.flex)break}return re?(zt=this.test_match(re,te[Pe]),zt!==!1?zt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var re=this.next();return re||this.lex()},begin:function(re){this.conditionStack.push(re)},popState:function(){var re=this.conditionStack.length-1;return re>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(re){return re=this.conditionStack.length-1-Math.abs(re||0),re>=0?this.conditionStack[re]:"INITIAL"},pushState:function(re){this.begin(re)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(re,se,Pe,te){switch(Pe){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:break;case 5:break;case 6:return this.begin("acc_title"),30;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),32;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 69;case 22:this.popState();break;case 23:return 70;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return this.begin("namespace"),39;case 28:return this.popState(),8;case 29:break;case 30:return this.begin("namespace-body"),36;case 31:return this.popState(),38;case 32:return"EOF_IN_STRUCT";case 33:return 8;case 34:break;case 35:return"EDGE_STATE";case 36:return this.begin("class"),43;case 37:return this.popState(),8;case 38:break;case 39:return this.popState(),this.popState(),38;case 40:return this.begin("class-body"),36;case 41:return this.popState(),38;case 42:return"EOF_IN_STRUCT";case 43:return"EDGE_STATE";case 44:return"OPEN_IN_STRUCT";case 45:break;case 46:return"MEMBER";case 47:return 72;case 48:return 65;case 49:return 66;case 50:return 68;case 51:return 49;case 52:return 51;case 53:return 44;case 54:return 45;case 55:return 71;case 56:this.popState();break;case 57:return"GENERICTYPE";case 58:this.begin("generic");break;case 59:this.popState();break;case 60:return"BQUOTE_STR";case 61:this.begin("bqstring");break;case 62:return 67;case 63:return 67;case 64:return 67;case 65:return 67;case 66:return 59;case 67:return 59;case 68:return 61;case 69:return 61;case 70:return 60;case 71:return 58;case 72:return 62;case 73:return 63;case 74:return 64;case 75:return 21;case 76:return 41;case 77:return 84;case 78:return"DOT";case 79:return"PLUS";case 80:return 81;case 81:return"EQUALS";case 82:return"EQUALS";case 83:return 88;case 84:return 12;case 85:return 14;case 86:return"PUNCTUATION";case 87:return 87;case 88:return 86;case 89:return 83;case 90:return 9}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,31,32,33,34,35,36,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},namespace:{rules:[26,27,28,29,30,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},"class-body":{rules:[26,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},class:{rules:[26,37,38,39,40,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},acc_descr:{rules:[9,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},acc_title:{rules:[7,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},callback_args:{rules:[22,23,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},callback_name:{rules:[19,20,21,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},href:{rules:[26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},struct:{rules:[26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},generic:{rules:[26,47,48,49,50,51,52,53,54,55,56,57,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},bqstring:{rules:[26,47,48,49,50,51,52,53,54,55,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},string:{rules:[24,25,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,36,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!0}}};return ke}();Ve.lexer=Ye;function ce(){this.yy={}}return ce.prototype=Ve,Ve.Parser=ce,new ce}();Tgt.parser=Tgt;const zRt=Tgt,qRt=["#","+","~","-",""];class HRt{constructor(a,f){this.memberType=f,this.visibility="",this.classifier="";const p=Q1(a,Oe());this.parseMember(p)}getDisplayDetails(){let a=this.visibility+YP(this.id);this.memberType==="method"&&(a+=`(${YP(this.parameters.trim())})`,this.returnType&&(a+=" : "+YP(this.returnType))),a=a.trim();const f=this.parseClassifier();return{displayText:a,cssStyle:f}}parseMember(a){let f="";if(this.memberType==="method"){const p=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/,w=a.match(p);if(w){const m=w[1]?w[1].trim():"";if(qRt.includes(m)&&(this.visibility=m),this.id=w[2].trim(),this.parameters=w[3]?w[3].trim():"",f=w[4]?w[4].trim():"",this.returnType=w[5]?w[5].trim():"",f===""){const b=this.returnType.substring(this.returnType.length-1);b.match(/[$*]/)&&(f=b,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const p=a.length,w=a.substring(0,1),m=a.substring(p-1);qRt.includes(w)&&(this.visibility=w),m.match(/[*?]/)&&(f=m),this.id=a.substring(this.visibility===""?0:1,f===""?p:p-1)}this.classifier=f}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}const $Y="classId-";let Cgt=[],Jl={},zY=[],VRt=0,xk={},_gt=0,WF=[];const AT=i=>Kr.sanitizeText(i,Oe()),wL=function(i){const a=Kr.sanitizeText(i,Oe());let f="",p=a;if(a.indexOf("~")>0){const w=a.split("~");p=AT(w[0]),f=AT(w[1])}return{className:p,type:f}},sGe=function(i,a){const f=Kr.sanitizeText(i,Oe());a&&(a=AT(a));const{className:p}=wL(f);Jl[p].label=a},qY=function(i){const a=Kr.sanitizeText(i,Oe()),{className:f,type:p}=wL(a);if(Object.hasOwn(Jl,f))return;const w=Kr.sanitizeText(f,Oe());Jl[w]={id:w,type:p,label:w,cssClasses:[],methods:[],members:[],annotations:[],domId:$Y+w+"-"+VRt},VRt++},GRt=function(i){const a=Kr.sanitizeText(i,Oe());if(a in Jl)return Jl[a].domId;throw new Error("Class not found: "+a)},aGe=function(){Cgt=[],Jl={},zY=[],WF=[],WF.push(WRt),xk={},_gt=0,hg()},oGe=function(i){return Jl[i]},cGe=function(){return Jl},uGe=function(){return Cgt},lGe=function(){return zY},hGe=function(i){Ut.debug("Adding relation: "+JSON.stringify(i)),qY(i.id1),qY(i.id2),i.id1=wL(i.id1).className,i.id2=wL(i.id2).className,i.relationTitle1=Kr.sanitizeText(i.relationTitle1.trim(),Oe()),i.relationTitle2=Kr.sanitizeText(i.relationTitle2.trim(),Oe()),Cgt.push(i)},fGe=function(i,a){const f=wL(i).className;Jl[f].annotations.push(a)},URt=function(i,a){qY(i);const f=wL(i).className,p=Jl[f];if(typeof a=="string"){const w=a.trim();w.startsWith("<<")&&w.endsWith(">>")?p.annotations.push(AT(w.substring(2,w.length-2))):w.indexOf(")")>0?p.methods.push(new HRt(w,"method")):w&&p.members.push(new HRt(w,"attribute"))}},dGe=function(i,a){Array.isArray(a)&&(a.reverse(),a.forEach(f=>URt(i,f)))},gGe=function(i,a){const f={id:`note${zY.length}`,class:a,text:i};zY.push(f)},pGe=function(i){return i.startsWith(":")&&(i=i.substring(1)),AT(i.trim())},Sgt=function(i,a){i.split(",").forEach(function(f){let p=f;f[0].match(/\d/)&&(p=$Y+p),Jl[p]!==void 0&&Jl[p].cssClasses.push(a)})},bGe=function(i,a){i.split(",").forEach(function(f){a!==void 0&&(Jl[f].tooltip=AT(a))})},wGe=function(i,a){return a?xk[a].classes[i].tooltip:Jl[i].tooltip},vGe=function(i,a,f){const p=Oe();i.split(",").forEach(function(w){let m=w;w[0].match(/\d/)&&(m=$Y+m),Jl[m]!==void 0&&(Jl[m].link=$a.formatUrl(a,p),p.securityLevel==="sandbox"?Jl[m].linkTarget="_top":typeof f=="string"?Jl[m].linkTarget=AT(f):Jl[m].linkTarget="_blank")}),Sgt(i,"clickable")},mGe=function(i,a,f){i.split(",").forEach(function(p){yGe(p,a,f),Jl[p].haveCallback=!0}),Sgt(i,"clickable")},yGe=function(i,a,f){const p=Kr.sanitizeText(i,Oe());if(Oe().securityLevel!=="loose"||a===void 0)return;const m=p;if(Jl[m]!==void 0){const b=GRt(m);let E=[];if(typeof f=="string"){E=f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let _=0;_")),w.classed("hover",!0)}).on("mouseout",function(){a.transition().duration(500).style("opacity",0),yr(this).classed("hover",!1)})};WF.push(WRt);let YRt="TB";const HY={setAccTitle:E0,getAccTitle:fg,getAccDescription:gg,setAccDescription:dg,getConfig:()=>Oe().class,addClass:qY,bindFunctions:xGe,clear:aGe,getClass:oGe,getClasses:cGe,getNotes:lGe,addAnnotation:fGe,addNote:gGe,getRelations:uGe,addRelation:hGe,getDirection:()=>YRt,setDirection:i=>{YRt=i},addMember:URt,addMembers:dGe,cleanupLabel:pGe,lineType:kGe,relationType:EGe,setClickEvent:mGe,setCssClass:Sgt,setLink:vGe,getTooltip:wGe,setTooltip:bGe,lookUpDomId:GRt,setDiagramTitle:Nb,getDiagramTitle:pg,setClassLabel:sGe,addNamespace:function(i){xk[i]===void 0&&(xk[i]={id:i,classes:{},children:{},domId:$Y+i+"-"+_gt},_gt++)},addClassesToNamespace:function(i,a){xk[i]!==void 0&&a.map(f=>{Jl[f].parent=i,xk[i].classes[f]=Jl[f]})},getNamespace:function(i){return xk[i]},getNamespaces:function(){return xk}},KRt=i=>`g.classGroup text { + fill: ${i.nodeBorder||i.classText}; + stroke: none; + font-family: ${i.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + +.nodeLabel, .edgeLabel { + color: ${i.classText}; +} +.edgeLabel .label rect { + fill: ${i.mainBkg}; +} +.label text { + fill: ${i.classText}; +} +.edgeLabel .label span { + background: ${i.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + +.divider { + stroke: ${i.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; +} + +g.classGroup line { + stroke: ${i.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${i.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${i.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${i.lineColor}; + stroke-width: 1; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +#compositionStart, .composition { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#compositionEnd, .composition { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#extensionStart, .extension { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#extensionEnd, .extension { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#aggregationStart, .aggregation { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#aggregationEnd, .aggregation { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#lollipopStart, .lollipop { + fill: ${i.mainBkg} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#lollipopEnd, .lollipop { + fill: ${i.mainBkg} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; +} +`;let XRt=0;const TGe=function(i,a,f,p,w){const m=function(at){switch(at){case w.db.relationType.AGGREGATION:return"aggregation";case w.db.relationType.EXTENSION:return"extension";case w.db.relationType.COMPOSITION:return"composition";case w.db.relationType.DEPENDENCY:return"dependency";case w.db.relationType.LOLLIPOP:return"lollipop"}};a.points=a.points.filter(at=>!Number.isNaN(at.y));const b=a.points,E=E5().x(function(at){return at.x}).y(function(at){return at.y}).curve(HP),_=i.append("path").attr("d",E(b)).attr("id","edge"+XRt).attr("class","relation");let A="";p.arrowMarkerAbsolute&&(A=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,A=A.replace(/\(/g,"\\("),A=A.replace(/\)/g,"\\)")),f.relation.lineType==1&&_.attr("class","relation dashed-line"),f.relation.lineType==10&&_.attr("class","relation dotted-line"),f.relation.type1!=="none"&&_.attr("marker-start","url("+A+"#"+m(f.relation.type1)+"Start)"),f.relation.type2!=="none"&&_.attr("marker-end","url("+A+"#"+m(f.relation.type2)+"End)");let I,B;const N=a.points.length;let R=$a.calcLabelPosition(a.points);I=R.x,B=R.y;let z,W,et,st;if(N%2!==0&&N>1){let at=$a.calcCardinalityPosition(f.relation.type1!=="none",a.points,a.points[0]),bt=$a.calcCardinalityPosition(f.relation.type2!=="none",a.points,a.points[N-1]);Ut.debug("cardinality_1_point "+JSON.stringify(at)),Ut.debug("cardinality_2_point "+JSON.stringify(bt)),z=at.x,W=at.y,et=bt.x,st=bt.y}if(f.title!==void 0){const at=i.append("g").attr("class","classLabel"),bt=at.append("text").attr("class","label").attr("x",I).attr("y",B).attr("fill","red").attr("text-anchor","middle").text(f.title);window.label=bt;const mt=bt.node().getBBox();at.insert("rect",":first-child").attr("class","box").attr("x",mt.x-p.padding/2).attr("y",mt.y-p.padding/2).attr("width",mt.width+p.padding).attr("height",mt.height+p.padding)}Ut.info("Rendering relation "+JSON.stringify(f)),f.relationTitle1!==void 0&&f.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",z).attr("y",W).attr("fill","black").attr("font-size","6").text(f.relationTitle1),f.relationTitle2!==void 0&&f.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",et).attr("y",st).attr("fill","black").attr("font-size","6").text(f.relationTitle2),XRt++},CGe=function(i,a,f,p){Ut.debug("Rendering class ",a,f);const w=a.id,m={id:w,label:a.id,width:0,height:0},b=i.append("g").attr("id",p.db.lookUpDomId(w)).attr("class","classGroup");let E;a.link?E=b.append("svg:a").attr("xlink:href",a.link).attr("target",a.linkTarget).append("text").attr("y",f.textHeight+f.padding).attr("x",0):E=b.append("text").attr("y",f.textHeight+f.padding).attr("x",0);let _=!0;a.annotations.forEach(function(bt){const mt=E.append("tspan").text("«"+bt+"»");_||mt.attr("dy",f.textHeight),_=!1});let A=QRt(a);const I=E.append("tspan").text(A).attr("class","title");_||I.attr("dy",f.textHeight);const B=E.node().getBBox().height;let N,R,z;if(a.members.length>0){N=b.append("line").attr("x1",0).attr("y1",f.padding+B+f.dividerMargin/2).attr("y2",f.padding+B+f.dividerMargin/2);const bt=b.append("text").attr("x",f.padding).attr("y",B+f.dividerMargin+f.textHeight).attr("fill","white").attr("class","classText");_=!0,a.members.forEach(function(mt){ZRt(bt,mt,_,f),_=!1}),R=bt.node().getBBox()}if(a.methods.length>0){z=b.append("line").attr("x1",0).attr("y1",f.padding+B+f.dividerMargin+R.height).attr("y2",f.padding+B+f.dividerMargin+R.height);const bt=b.append("text").attr("x",f.padding).attr("y",B+2*f.dividerMargin+R.height+f.textHeight).attr("fill","white").attr("class","classText");_=!0,a.methods.forEach(function(mt){ZRt(bt,mt,_,f),_=!1})}const W=b.node().getBBox();var et=" ";a.cssClasses.length>0&&(et=et+a.cssClasses.join(" "));const at=b.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",W.width+2*f.padding).attr("height",W.height+f.padding+.5*f.dividerMargin).attr("class",et).node().getBBox().width;return E.node().childNodes.forEach(function(bt){bt.setAttribute("x",(at-bt.getBBox().width)/2)}),a.tooltip&&E.insert("title").text(a.tooltip),N&&N.attr("x2",at),z&&z.attr("x2",at),m.width=at,m.height=W.height+f.padding+.5*f.dividerMargin,m},QRt=function(i){let a=i.id;return i.type&&(a+="<"+YP(i.type)+">"),a},_Ge=function(i,a,f,p){Ut.debug("Rendering note ",a,f);const w=a.id,m={id:w,text:a.text,width:0,height:0},b=i.append("g").attr("id",w).attr("class","classGroup");let E=b.append("text").attr("y",f.textHeight+f.padding).attr("x",0);const _=JSON.parse(`"${a.text}"`).split(` +`);_.forEach(function(N){Ut.debug(`Adding line: ${N}`),E.append("tspan").text(N).attr("class","title").attr("dy",f.textHeight)});const A=b.node().getBBox(),B=b.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",A.width+2*f.padding).attr("height",A.height+_.length*f.textHeight+f.padding+.5*f.dividerMargin).node().getBBox().width;return E.node().childNodes.forEach(function(N){N.setAttribute("x",(B-N.getBBox().width)/2)}),m.width=B,m.height=A.height+_.length*f.textHeight+f.padding+.5*f.dividerMargin,m},ZRt=function(i,a,f,p){const{displayText:w,cssStyle:m}=a.getDisplayDetails(),b=i.append("tspan").attr("x",p.padding).text(w);m!==""&&b.attr("style",a.cssStyle),f||b.attr("dy",p.textHeight)},Agt={getClassTitleString:QRt,drawClass:CGe,drawEdge:TGe,drawNote:_Ge};let VY={};const GY=20,YF=function(i){const a=Object.entries(VY).find(f=>f[1].label===i);if(a)return a[0]},SGe=function(i){i.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),i.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},AGe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:zRt,db:HY,renderer:{draw:function(i,a,f,p){const w=Oe().class;VY={},Ut.info("Rendering diagram "+i);const m=Oe().securityLevel;let b;m==="sandbox"&&(b=yr("#i"+a));const E=yr(m==="sandbox"?b.nodes()[0].contentDocument.body:"body"),_=E.select(`[id='${a}']`);SGe(_);const A=new c1({multigraph:!0});A.setGraph({isMultiGraph:!0}),A.setDefaultEdgeLabel(function(){return{}});const I=p.db.getClasses(),B=Object.keys(I);for(const at of B){const bt=I[at],mt=Agt.drawClass(_,bt,w,p);VY[mt.id]=mt,A.setNode(mt.id,mt),Ut.info("Org height: "+mt.height)}p.db.getRelations().forEach(function(at){Ut.info("tjoho"+YF(at.id1)+YF(at.id2)+JSON.stringify(at)),A.setEdge(YF(at.id1),YF(at.id2),{relation:at},at.title||"DEFAULT")}),p.db.getNotes().forEach(function(at){Ut.debug(`Adding note: ${JSON.stringify(at)}`);const bt=Agt.drawNote(_,at,w,p);VY[bt.id]=bt,A.setNode(bt.id,bt),at.class&&at.class in I&&A.setEdge(at.id,YF(at.class),{relation:{id1:at.id,id2:at.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),aL(A),A.nodes().forEach(function(at){at!==void 0&&A.node(at)!==void 0&&(Ut.debug("Node "+at+": "+JSON.stringify(A.node(at))),E.select("#"+(p.db.lookUpDomId(at)||at)).attr("transform","translate("+(A.node(at).x-A.node(at).width/2)+","+(A.node(at).y-A.node(at).height/2)+" )"))}),A.edges().forEach(function(at){at!==void 0&&A.edge(at)!==void 0&&(Ut.debug("Edge "+at.v+" -> "+at.w+": "+JSON.stringify(A.edge(at))),Agt.drawEdge(_,A.edge(at),A.edge(at).relation,w,p))});const z=_.node().getBBox(),W=z.width+GY*2,et=z.height+GY*2;k0(_,et,W,w.useMaxWidth);const st=`${z.x-GY} ${z.y-GY} ${W} ${et}`;Ut.debug(`viewBox ${st}`),_.attr("viewBox",st)}},styles:KRt,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,HY.clear()}}},Symbol.toStringTag,{value:"Module"})),Lgt=i=>Kr.sanitizeText(i,Oe());let Mgt={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const LGe=function(i,a,f,p){const w=Object.keys(i);Ut.info("keys:",w),Ut.info(i),w.forEach(function(m){var A,I;const b=i[m],_={shape:"rect",id:b.id,domId:b.domId,labelText:Lgt(b.id),labelStyle:"",style:"fill: none; stroke: black",padding:((A=Oe().flowchart)==null?void 0:A.padding)??((I=Oe().class)==null?void 0:I.padding)};a.setNode(b.id,_),JRt(b.classes,a,f,p,b.id),Ut.info("setNode",_)})},JRt=function(i,a,f,p,w){const m=Object.keys(i);Ut.info("keys:",m),Ut.info(i),m.filter(b=>i[b].parent==w).forEach(function(b){var z,W;const E=i[b],_=E.cssClasses.join(" "),A={labelStyle:"",style:""},I=E.label??E.id,B=0,N="class_box",R={labelStyle:A.labelStyle,shape:N,labelText:Lgt(I),classData:E,rx:B,ry:B,class:_,style:A.style,id:E.id,domId:E.domId,tooltip:p.db.getTooltip(E.id,w)||"",haveCallback:E.haveCallback,link:E.link,width:E.type==="group"?500:void 0,type:E.type,padding:((z=Oe().flowchart)==null?void 0:z.padding)??((W=Oe().class)==null?void 0:W.padding)};a.setNode(E.id,R),w&&a.setParent(E.id,w),Ut.info("setNode",R)})},MGe=function(i,a,f,p){Ut.info(i),i.forEach(function(w,m){var W,et;const b=w,E="",_={labelStyle:"",style:""},A=b.text,I=0,B="note",N={labelStyle:_.labelStyle,shape:B,labelText:Lgt(A),noteData:b,rx:I,ry:I,class:E,style:_.style,id:b.id,domId:b.id,tooltip:"",type:"note",padding:((W=Oe().flowchart)==null?void 0:W.padding)??((et=Oe().class)==null?void 0:et.padding)};if(a.setNode(b.id,N),Ut.info("setNode",N),!b.class||!(b.class in p))return;const R=f+m,z={id:`edgeNote${R}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:ew(Mgt.curve,cg)};a.setEdge(b.id,b.class,z,R)})},DGe=function(i,a){const f=Oe().flowchart;let p=0;i.forEach(function(w){var b;p++;const m={classes:"relation",pattern:w.relation.lineType==1?"dashed":"solid",id:"id"+p,arrowhead:w.type==="arrow_open"?"none":"normal",startLabelRight:w.relationTitle1==="none"?"":w.relationTitle1,endLabelLeft:w.relationTitle2==="none"?"":w.relationTitle2,arrowTypeStart:tjt(w.relation.type1),arrowTypeEnd:tjt(w.relation.type2),style:"fill:none",labelStyle:"",curve:ew(f==null?void 0:f.curve,cg)};if(Ut.info(m,w),w.style!==void 0){const E=im(w.style);m.style=E.style,m.labelStyle=E.labelStyle}w.text=w.title,w.text===void 0?w.style!==void 0&&(m.arrowheadStyle="fill: #333"):(m.arrowheadStyle="fill: #333",m.labelpos="c",((b=Oe().flowchart)==null?void 0:b.htmlLabels)??Oe().htmlLabels?(m.labelType="html",m.label=''+w.text+""):(m.labelType="text",m.label=w.text.replace(Kr.lineBreakRegex,` +`),w.style===void 0&&(m.style=m.style||"stroke: #333; stroke-width: 1.5px;fill:none"),m.labelStyle=m.labelStyle.replace("color:","fill:"))),a.setEdge(w.id1,w.id2,m,p)})},IGe=function(i){Mgt={...Mgt,...i}},OGe=async function(i,a,f,p){Ut.info("Drawing class - ",a);const w=Oe().flowchart??Oe().class,m=Oe().securityLevel;Ut.info("config:",w);const b=(w==null?void 0:w.nodeSpacing)??50,E=(w==null?void 0:w.rankSpacing)??50,_=new c1({multigraph:!0,compound:!0}).setGraph({rankdir:p.db.getDirection(),nodesep:b,ranksep:E,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),A=p.db.getNamespaces(),I=p.db.getClasses(),B=p.db.getRelations(),N=p.db.getNotes();Ut.info(B),LGe(A,_,a,p),JRt(I,_,a,p),DGe(B,_),MGe(N,_,B.length+1,I);let R;m==="sandbox"&&(R=yr("#i"+a));const z=yr(m==="sandbox"?R.nodes()[0].contentDocument.body:"body"),W=z.select(`[id="${a}"]`),et=z.select("#"+a+" g");if(await N0t(et,_,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",a),$a.insertTitle(W,"classTitleText",(w==null?void 0:w.titleTopMargin)??5,p.db.getDiagramTitle()),fT(_,W,w==null?void 0:w.diagramPadding,w==null?void 0:w.useMaxWidth),!(w!=null&&w.htmlLabels)){const st=m==="sandbox"?R.nodes()[0].contentDocument:document,at=st.querySelectorAll('[id="'+a+'"] .edgeLabel .label');for(const bt of at){const mt=bt.getBBox(),yt=st.createElementNS("http://www.w3.org/2000/svg","rect");yt.setAttribute("rx",0),yt.setAttribute("ry",0),yt.setAttribute("width",mt.width),yt.setAttribute("height",mt.height),bt.insertBefore(yt,bt.firstChild)}}};function tjt(i){let a;switch(i){case 0:a="aggregation";break;case 1:a="extension";break;case 2:a="composition";break;case 3:a="dependency";break;case 4:a="lollipop";break;default:a="none"}return a}const PGe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:zRt,db:HY,renderer:{setConf:IGe,draw:OGe},styles:KRt,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,HY.clear()}}},Symbol.toStringTag,{value:"Module"}));var Dgt=function(){var i=function(Et,Z,Ct,xt){for(Ct=Ct||{},xt=Et.length;xt--;Ct[Et[xt]]=Z);return Ct},a=[1,2],f=[1,3],p=[1,4],w=[2,4],m=[1,9],b=[1,11],E=[1,15],_=[1,16],A=[1,17],I=[1,18],B=[1,30],N=[1,19],R=[1,20],z=[1,21],W=[1,22],et=[1,23],st=[1,25],at=[1,26],bt=[1,27],mt=[1,28],yt=[1,29],ft=[1,32],ut=[1,33],vt=[1,34],X=[1,35],pt=[1,31],U=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],Tt=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],nt=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],It={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",13:"DESCR",14:"-->",15:"HIDE_EMPTY",16:"scale",17:"WIDTH",18:"COMPOSIT_STATE",19:"STRUCT_START",20:"STRUCT_STOP",21:"STATE_DESCR",22:"AS",23:"ID",24:"FORK",25:"JOIN",26:"CHOICE",27:"CONCURRENT",28:"note",30:"NOTE_TEXT",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"classDef",38:"CLASSDEF_ID",39:"CLASSDEF_STYLEOPTS",40:"DEFAULT",41:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(Z,Ct,xt,Ht,Le,Ft,gn){var Se=Ft.length-1;switch(Le){case 3:return Ht.setRootDoc(Ft[Se]),Ft[Se];case 4:this.$=[];break;case 5:Ft[Se]!="nl"&&(Ft[Se-1].push(Ft[Se]),this.$=Ft[Se-1]);break;case 6:case 7:this.$=Ft[Se];break;case 8:this.$="nl";break;case 11:this.$=Ft[Se];break;case 12:const ce=Ft[Se-1];ce.description=Ht.trimColon(Ft[Se]),this.$=ce;break;case 13:this.$={stmt:"relation",state1:Ft[Se-2],state2:Ft[Se]};break;case 14:const ke=Ht.trimColon(Ft[Se]);this.$={stmt:"relation",state1:Ft[Se-3],state2:Ft[Se-1],description:ke};break;case 18:this.$={stmt:"state",id:Ft[Se-3],type:"default",description:"",doc:Ft[Se-1]};break;case 19:var me=Ft[Se],Ve=Ft[Se-2].trim();if(Ft[Se].match(":")){var Ye=Ft[Se].split(":");me=Ye[0],Ve=[Ve,Ye[1]]}this.$={stmt:"state",id:me,type:"default",description:Ve};break;case 20:this.$={stmt:"state",id:Ft[Se-3],type:"default",description:Ft[Se-5],doc:Ft[Se-1]};break;case 21:this.$={stmt:"state",id:Ft[Se],type:"fork"};break;case 22:this.$={stmt:"state",id:Ft[Se],type:"join"};break;case 23:this.$={stmt:"state",id:Ft[Se],type:"choice"};break;case 24:this.$={stmt:"state",id:Ht.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:Ft[Se-1].trim(),note:{position:Ft[Se-2].trim(),text:Ft[Se].trim()}};break;case 28:this.$=Ft[Se].trim(),Ht.setAccTitle(this.$);break;case 29:case 30:this.$=Ft[Se].trim(),Ht.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:Ft[Se-1].trim(),classes:Ft[Se].trim()};break;case 33:this.$={stmt:"applyClass",id:Ft[Se-1].trim(),styleClass:Ft[Se].trim()};break;case 34:Ht.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:Ht.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:Ht.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:Ht.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:Ft[Se].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:Ft[Se-2].trim(),classes:[Ft[Se].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:Ft[Se-2].trim(),classes:[Ft[Se].trim()],type:"default",description:""};break}},table:[{3:1,4:a,5:f,6:p},{1:[3]},{3:5,4:a,5:f,6:p},{3:6,4:a,5:f,6:p},i([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],w,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:m,5:b,8:8,9:10,10:12,11:13,12:14,15:E,16:_,18:A,21:I,23:B,24:N,25:R,26:z,27:W,28:et,31:24,32:st,34:at,36:bt,37:mt,41:yt,44:ft,45:ut,46:vt,47:X,50:pt},i(U,[2,5]),{9:36,10:12,11:13,12:14,15:E,16:_,18:A,21:I,23:B,24:N,25:R,26:z,27:W,28:et,31:24,32:st,34:at,36:bt,37:mt,41:yt,44:ft,45:ut,46:vt,47:X,50:pt},i(U,[2,7]),i(U,[2,8]),i(U,[2,9]),i(U,[2,10]),i(U,[2,11],{13:[1,37],14:[1,38]}),i(U,[2,15]),{17:[1,39]},i(U,[2,17],{19:[1,40]}),{22:[1,41]},i(U,[2,21]),i(U,[2,22]),i(U,[2,23]),i(U,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},i(U,[2,27]),{33:[1,46]},{35:[1,47]},i(U,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},i(Tt,[2,40],{51:[1,51]}),i(Tt,[2,41],{51:[1,52]}),i(U,[2,34]),i(U,[2,35]),i(U,[2,36]),i(U,[2,37]),i(U,[2,6]),i(U,[2,12]),{12:53,23:B,50:pt},i(U,[2,16]),i(nt,w,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},i(U,[2,28]),i(U,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},i(U,[2,13],{13:[1,63]}),{4:m,5:b,8:8,9:10,10:12,11:13,12:14,15:E,16:_,18:A,20:[1,64],21:I,23:B,24:N,25:R,26:z,27:W,28:et,31:24,32:st,34:at,36:bt,37:mt,41:yt,44:ft,45:ut,46:vt,47:X,50:pt},i(U,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},i(U,[2,31]),i(U,[2,32]),i(U,[2,33]),i(Tt,[2,42]),i(Tt,[2,43]),i(U,[2,14]),i(U,[2,18]),i(nt,w,{7:68}),i(U,[2,25]),i(U,[2,26]),{4:m,5:b,8:8,9:10,10:12,11:13,12:14,15:E,16:_,18:A,20:[1,69],21:I,23:B,24:N,25:R,26:z,27:W,28:et,31:24,32:st,34:at,36:bt,37:mt,41:yt,44:ft,45:ut,46:vt,47:X,50:pt},i(U,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(Z,Ct){if(Ct.recoverable)this.trace(Z);else{var xt=new Error(Z);throw xt.hash=Ct,xt}},parse:function(Z){var Ct=this,xt=[0],Ht=[],Le=[null],Ft=[],gn=this.table,Se="",me=0,Ve=0,Ye=2,ce=1,ke=Ft.slice.call(arguments,1),zt=Object.create(this.lexer),re={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(re.yy[se]=this.yy[se]);zt.setInput(Z,re.yy),re.yy.lexer=zt,re.yy.parser=this,typeof zt.yylloc>"u"&&(zt.yylloc={});var Pe=zt.yylloc;Ft.push(Pe);var te=zt.options&&zt.options.ranges;typeof re.yy.parseError=="function"?this.parseError=re.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Me(){var Ee;return Ee=Ht.pop()||zt.lex()||ce,typeof Ee!="number"&&(Ee instanceof Array&&(Ht=Ee,Ee=Ht.pop()),Ee=Ct.symbols_[Ee]||Ee),Ee}for(var de,on,ni,Ks,ws={},fo,Xi,Er,Xn;;){if(on=xt[xt.length-1],this.defaultActions[on]?ni=this.defaultActions[on]:((de===null||typeof de>"u")&&(de=Me()),ni=gn[on]&&gn[on][de]),typeof ni>"u"||!ni.length||!ni[0]){var di="";Xn=[];for(fo in gn[on])this.terminals_[fo]&&fo>Ye&&Xn.push("'"+this.terminals_[fo]+"'");zt.showPosition?di="Parse error on line "+(me+1)+`: +`+zt.showPosition()+` +Expecting `+Xn.join(", ")+", got '"+(this.terminals_[de]||de)+"'":di="Parse error on line "+(me+1)+": Unexpected "+(de==ce?"end of input":"'"+(this.terminals_[de]||de)+"'"),this.parseError(di,{text:zt.match,token:this.terminals_[de]||de,line:zt.yylineno,loc:Pe,expected:Xn})}if(ni[0]instanceof Array&&ni.length>1)throw new Error("Parse Error: multiple actions possible at state: "+on+", token: "+de);switch(ni[0]){case 1:xt.push(de),Le.push(zt.yytext),Ft.push(zt.yylloc),xt.push(ni[1]),de=null,Ve=zt.yyleng,Se=zt.yytext,me=zt.yylineno,Pe=zt.yylloc;break;case 2:if(Xi=this.productions_[ni[1]][1],ws.$=Le[Le.length-Xi],ws._$={first_line:Ft[Ft.length-(Xi||1)].first_line,last_line:Ft[Ft.length-1].last_line,first_column:Ft[Ft.length-(Xi||1)].first_column,last_column:Ft[Ft.length-1].last_column},te&&(ws._$.range=[Ft[Ft.length-(Xi||1)].range[0],Ft[Ft.length-1].range[1]]),Ks=this.performAction.apply(ws,[Se,Ve,me,re.yy,ni[1],Le,Ft].concat(ke)),typeof Ks<"u")return Ks;Xi&&(xt=xt.slice(0,-1*Xi*2),Le=Le.slice(0,-1*Xi),Ft=Ft.slice(0,-1*Xi)),xt.push(this.productions_[ni[1]][0]),Le.push(ws.$),Ft.push(ws._$),Er=gn[xt[xt.length-2]][xt[xt.length-1]],xt.push(Er);break;case 3:return!0}}return!0}},Ot=function(){var Et={EOF:1,parseError:function(Ct,xt){if(this.yy.parser)this.yy.parser.parseError(Ct,xt);else throw new Error(Ct)},setInput:function(Z,Ct){return this.yy=Ct||this.yy||{},this._input=Z,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Z=this._input[0];this.yytext+=Z,this.yyleng++,this.offset++,this.match+=Z,this.matched+=Z;var Ct=Z.match(/(?:\r\n?|\n).*/g);return Ct?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Z},unput:function(Z){var Ct=Z.length,xt=Z.split(/(?:\r\n?|\n)/g);this._input=Z+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ct),this.offset-=Ct;var Ht=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),xt.length-1&&(this.yylineno-=xt.length-1);var Le=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:xt?(xt.length===Ht.length?this.yylloc.first_column:0)+Ht[Ht.length-xt.length].length-xt[0].length:this.yylloc.first_column-Ct},this.options.ranges&&(this.yylloc.range=[Le[0],Le[0]+this.yyleng-Ct]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Z){this.unput(this.match.slice(Z))},pastInput:function(){var Z=this.matched.substr(0,this.matched.length-this.match.length);return(Z.length>20?"...":"")+Z.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Z=this.match;return Z.length<20&&(Z+=this._input.substr(0,20-Z.length)),(Z.substr(0,20)+(Z.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Z=this.pastInput(),Ct=new Array(Z.length+1).join("-");return Z+this.upcomingInput()+` +`+Ct+"^"},test_match:function(Z,Ct){var xt,Ht,Le;if(this.options.backtrack_lexer&&(Le={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Le.yylloc.range=this.yylloc.range.slice(0))),Ht=Z[0].match(/(?:\r\n?|\n).*/g),Ht&&(this.yylineno+=Ht.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ht?Ht[Ht.length-1].length-Ht[Ht.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Z[0].length},this.yytext+=Z[0],this.match+=Z[0],this.matches=Z,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Z[0].length),this.matched+=Z[0],xt=this.performAction.call(this,this.yy,this,Ct,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),xt)return xt;if(this._backtrack){for(var Ft in Le)this[Ft]=Le[Ft];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Z,Ct,xt,Ht;this._more||(this.yytext="",this.match="");for(var Le=this._currentRules(),Ft=0;FtCt[0].length)){if(Ct=xt,Ht=Ft,this.options.backtrack_lexer){if(Z=this.test_match(xt,Le[Ft]),Z!==!1)return Z;if(this._backtrack){Ct=!1;continue}else return!1}else if(!this.options.flex)break}return Ct?(Z=this.test_match(Ct,Le[Ht]),Z!==!1?Z:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ct=this.next();return Ct||this.lex()},begin:function(Ct){this.conditionStack.push(Ct)},popState:function(){var Ct=this.conditionStack.length-1;return Ct>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ct){return Ct=this.conditionStack.length-1-Math.abs(Ct||0),Ct>=0?this.conditionStack[Ct]:"INITIAL"},pushState:function(Ct){this.begin(Ct)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ct,xt,Ht,Le){switch(Ht){case 0:return 40;case 1:return 44;case 2:return 45;case 3:return 46;case 4:return 47;case 5:break;case 6:break;case 7:return 5;case 8:break;case 9:break;case 10:break;case 11:break;case 12:return this.pushState("SCALE"),16;case 13:return 17;case 14:this.popState();break;case 15:return this.begin("acc_title"),32;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),34;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 20:this.popState();break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),37;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),38;case 25:return this.popState(),39;case 26:return this.pushState("CLASS"),41;case 27:return this.popState(),this.pushState("CLASS_STYLE"),42;case 28:return this.popState(),43;case 29:return this.pushState("SCALE"),16;case 30:return 17;case 31:this.popState();break;case 32:this.pushState("STATE");break;case 33:return this.popState(),xt.yytext=xt.yytext.slice(0,-8).trim(),24;case 34:return this.popState(),xt.yytext=xt.yytext.slice(0,-8).trim(),25;case 35:return this.popState(),xt.yytext=xt.yytext.slice(0,-10).trim(),26;case 36:return this.popState(),xt.yytext=xt.yytext.slice(0,-8).trim(),24;case 37:return this.popState(),xt.yytext=xt.yytext.slice(0,-8).trim(),25;case 38:return this.popState(),xt.yytext=xt.yytext.slice(0,-10).trim(),26;case 39:return 44;case 40:return 45;case 41:return 46;case 42:return 47;case 43:this.pushState("STATE_STRING");break;case 44:return this.pushState("STATE_ID"),"AS";case 45:return this.popState(),"ID";case 46:this.popState();break;case 47:return"STATE_DESCR";case 48:return 18;case 49:this.popState();break;case 50:return this.popState(),this.pushState("struct"),19;case 51:break;case 52:return this.popState(),20;case 53:break;case 54:return this.begin("NOTE"),28;case 55:return this.popState(),this.pushState("NOTE_ID"),52;case 56:return this.popState(),this.pushState("NOTE_ID"),53;case 57:this.popState(),this.pushState("FLOATING_NOTE");break;case 58:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 59:break;case 60:return"NOTE_TEXT";case 61:return this.popState(),"ID";case 62:return this.popState(),this.pushState("NOTE_TEXT"),23;case 63:return this.popState(),xt.yytext=xt.yytext.substr(2).trim(),30;case 64:return this.popState(),xt.yytext=xt.yytext.slice(0,-8).trim(),30;case 65:return 6;case 66:return 6;case 67:return 15;case 68:return 50;case 69:return 23;case 70:return xt.yytext=xt.yytext.trim(),13;case 71:return 14;case 72:return 27;case 73:return 51;case 74:return 5;case 75:return"INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,32,39,40,41,42,51,52,53,54,68,69,70,71,72],inclusive:!1},FLOATING_NOTE_ID:{rules:[61],inclusive:!1},FLOATING_NOTE:{rules:[58,59,60],inclusive:!1},NOTE_TEXT:{rules:[63,64],inclusive:!1},NOTE_ID:{rules:[62],inclusive:!1},NOTE:{rules:[55,56,57],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,30,31],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[45],inclusive:!1},STATE_STRING:{rules:[46,47],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,33,34,35,36,37,38,43,44,48,49,50],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,50,54,65,66,67,68,69,70,71,73,74,75],inclusive:!0}}};return Et}();It.lexer=Ot;function Bt(){this.yy={}}return Bt.prototype=It,It.Parser=Bt,new Bt}();Dgt.parser=Dgt;const ejt=Dgt,FGe="LR",NGe="TB",UY="state",Igt="relation",BGe="classDef",RGe="applyClass",KF="default",njt="divider",Ogt="[*]",rjt="start",ijt=Ogt,sjt="end",ajt="color",ojt="fill",jGe="bgFill",$Ge=",";function cjt(){return{}}let ujt=FGe,WY=[],XF=cjt();const ljt=()=>({relations:[],states:{},documents:{}});let YY={root:ljt()},S0=YY.root,QF=0,hjt=0;const zGe={LINE:0,DOTTED_LINE:1},qGe={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},KY=i=>JSON.parse(JSON.stringify(i)),HGe=i=>{Ut.info("Setting root doc",i),WY=i},VGe=()=>WY,XY=(i,a,f)=>{if(a.stmt===Igt)XY(i,a.state1,!0),XY(i,a.state2,!1);else if(a.stmt===UY&&(a.id==="[*]"?(a.id=f?i.id+"_start":i.id+"_end",a.start=f):a.id=a.id.trim()),a.doc){const p=[];let w=[],m;for(m=0;m0&&w.length>0){const b={stmt:UY,id:VIt(),type:"divider",doc:KY(w)};p.push(KY(b)),a.doc=p}a.doc.forEach(b=>XY(a,b,!0))}},GGe=()=>(XY({id:"root"},{id:"root",doc:WY},!0),{id:"root",doc:WY}),UGe=i=>{let a;i.doc?a=i.doc:a=i,Ut.info(a),fjt(!0),Ut.info("Extract",a),a.forEach(f=>{switch(f.stmt){case UY:LT(f.id.trim(),f.type,f.doc,f.description,f.note,f.classes,f.styles,f.textStyles);break;case Igt:djt(f.state1,f.state2,f.description);break;case BGe:gjt(f.id.trim(),f.classes);break;case RGe:Bgt(f.id.trim(),f.styleClass);break}})},LT=function(i,a=KF,f=null,p=null,w=null,m=null,b=null,E=null){const _=i==null?void 0:i.trim();S0.states[_]===void 0?(Ut.info("Adding state ",_,p),S0.states[_]={id:_,descriptions:[],type:a,doc:f,note:w,classes:[],styles:[],textStyles:[]}):(S0.states[_].doc||(S0.states[_].doc=f),S0.states[_].type||(S0.states[_].type=a)),p&&(Ut.info("Setting state description",_,p),typeof p=="string"&&Ngt(_,p.trim()),typeof p=="object"&&p.forEach(A=>Ngt(_,A.trim()))),w&&(S0.states[_].note=w,S0.states[_].note.text=Kr.sanitizeText(S0.states[_].note.text,Oe())),m&&(Ut.info("Setting state classes",_,m),(typeof m=="string"?[m]:m).forEach(I=>Bgt(_,I.trim()))),b&&(Ut.info("Setting state styles",_,b),(typeof b=="string"?[b]:b).forEach(I=>nUe(_,I.trim()))),E&&(Ut.info("Setting state styles",_,b),(typeof E=="string"?[E]:E).forEach(I=>rUe(_,I.trim())))},fjt=function(i){YY={root:ljt()},S0=YY.root,QF=0,XF=cjt(),i||hg()},ZF=function(i){return S0.states[i]},WGe=function(){return S0.states},YGe=function(){Ut.info("Documents = ",YY)},KGe=function(){return S0.relations};function Pgt(i=""){let a=i;return i===Ogt&&(QF++,a=`${rjt}${QF}`),a}function Fgt(i="",a=KF){return i===Ogt?rjt:a}function XGe(i=""){let a=i;return i===ijt&&(QF++,a=`${sjt}${QF}`),a}function QGe(i="",a=KF){return i===ijt?sjt:a}function ZGe(i,a,f){let p=Pgt(i.id.trim()),w=Fgt(i.id.trim(),i.type),m=Pgt(a.id.trim()),b=Fgt(a.id.trim(),a.type);LT(p,w,i.doc,i.description,i.note,i.classes,i.styles,i.textStyles),LT(m,b,a.doc,a.description,a.note,a.classes,a.styles,a.textStyles),S0.relations.push({id1:p,id2:m,relationTitle:Kr.sanitizeText(f,Oe())})}const djt=function(i,a,f){if(typeof i=="object")ZGe(i,a,f);else{const p=Pgt(i.trim()),w=Fgt(i),m=XGe(a.trim()),b=QGe(a);LT(p,w),LT(m,b),S0.relations.push({id1:p,id2:m,title:Kr.sanitizeText(f,Oe())})}},Ngt=function(i,a){const f=S0.states[i],p=a.startsWith(":")?a.replace(":","").trim():a;f.descriptions.push(Kr.sanitizeText(p,Oe()))},JGe=function(i){return i.substring(0,1)===":"?i.substr(2).trim():i.trim()},tUe=()=>(hjt++,"divider-id-"+hjt),gjt=function(i,a=""){XF[i]===void 0&&(XF[i]={id:i,styles:[],textStyles:[]});const f=XF[i];a!=null&&a.split($Ge).forEach(p=>{const w=p.replace(/([^;]*);/,"$1").trim();if(p.match(ajt)){const b=w.replace(ojt,jGe).replace(ajt,ojt);f.textStyles.push(b)}f.styles.push(w)})},eUe=function(){return XF},Bgt=function(i,a){i.split(",").forEach(function(f){let p=ZF(f);if(p===void 0){const w=f.trim();LT(w),p=ZF(w)}p.classes.push(a)})},nUe=function(i,a){const f=ZF(i);f!==void 0&&f.textStyles.push(a)},rUe=function(i,a){const f=ZF(i);f!==void 0&&f.textStyles.push(a)},$5={getConfig:()=>Oe().state,addState:LT,clear:fjt,getState:ZF,getStates:WGe,getRelations:KGe,getClasses:eUe,getDirection:()=>ujt,addRelation:djt,getDividerId:tUe,setDirection:i=>{ujt=i},cleanupLabel:JGe,lineType:zGe,relationType:qGe,logDocuments:YGe,getRootDoc:VGe,setRootDoc:HGe,getRootDocV2:GGe,extract:UGe,trimColon:i=>i&&i[0]===":"?i.substr(1).trim():i.trim(),getAccTitle:fg,setAccTitle:E0,getAccDescription:gg,setAccDescription:dg,addStyleClass:gjt,setCssClass:Bgt,addDescription:Ngt,setDiagramTitle:Nb,getDiagramTitle:pg},pjt=i=>` +defs #statediagram-barbEnd { + fill: ${i.transitionColor}; + stroke: ${i.transitionColor}; + } +g.stateGroup text { + fill: ${i.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${i.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${i.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; +} + +g.stateGroup line { + stroke: ${i.lineColor}; + stroke-width: 1; +} + +.transition { + stroke: ${i.transitionColor}; + stroke-width: 1; + fill: none; +} + +.stateGroup .composit { + fill: ${i.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${i.noteBorderColor}; + fill: ${i.noteBkgColor}; + + text { + fill: ${i.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${i.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${i.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel .label text { + fill: ${i.transitionLabelColor||i.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${i.transitionLabelColor||i.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${i.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${i.specialStateColor}; + stroke: ${i.specialStateColor}; +} + +.node .fork-join { + fill: ${i.specialStateColor}; + stroke: ${i.specialStateColor}; +} + +.node circle.state-end { + fill: ${i.innerEndBackground}; + stroke: ${i.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${i.compositeBackground||i.background}; + // stroke: ${i.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${i.stateBkg||i.mainBkg}; + stroke: ${i.stateBorder||i.nodeBorder}; + stroke-width: 1px; +} +.node polygon { + fill: ${i.mainBkg}; + stroke: ${i.stateBorder||i.nodeBorder};; + stroke-width: 1px; +} +#statediagram-barbEnd { + fill: ${i.lineColor}; +} + +.statediagram-cluster rect { + fill: ${i.compositeTitleBackground}; + stroke: ${i.stateBorder||i.nodeBorder}; + stroke-width: 1px; +} + +.cluster-label, .nodeLabel { + color: ${i.stateLabelColor}; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${i.stateBorder||i.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${i.compositeBackground||i.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${i.altBackground?i.altBackground:"#efefef"}; +} + +.statediagram-cluster .inner { + rx:0; + ry:0; +} + +.statediagram-state rect.basic { + rx: 5px; + ry: 5px; +} +.statediagram-state rect.divider { + stroke-dasharray: 10,10; + fill: ${i.altBackground?i.altBackground:"#efefef"}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${i.noteBkgColor}; + stroke: ${i.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${i.noteBkgColor}; + stroke: ${i.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${i.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${i.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${i.noteTextColor}; +} + +#dependencyStart, #dependencyEnd { + fill: ${i.lineColor}; + stroke: ${i.lineColor}; + stroke-width: 1; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; +} +`,Rgt={},iUe=(i,a)=>{Rgt[i]=a},sUe=i=>Rgt[i],bjt=()=>Object.keys(Rgt),aUe={get:sUe,set:iUe,keys:bjt,size:()=>bjt().length},oUe=i=>i.append("circle").attr("class","start-state").attr("r",Oe().state.sizeUnit).attr("cx",Oe().state.padding+Oe().state.sizeUnit).attr("cy",Oe().state.padding+Oe().state.sizeUnit),cUe=i=>i.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",Oe().state.textHeight).attr("class","divider").attr("x2",Oe().state.textHeight*2).attr("y1",0).attr("y2",0),uUe=(i,a)=>{const f=i.append("text").attr("x",2*Oe().state.padding).attr("y",Oe().state.textHeight+2*Oe().state.padding).attr("font-size",Oe().state.fontSize).attr("class","state-title").text(a.id),p=f.node().getBBox();return i.insert("rect",":first-child").attr("x",Oe().state.padding).attr("y",Oe().state.padding).attr("width",p.width+2*Oe().state.padding).attr("height",p.height+2*Oe().state.padding).attr("rx",Oe().state.radius),f},lUe=(i,a)=>{const f=function(N,R,z){const W=N.append("tspan").attr("x",2*Oe().state.padding).text(R);z||W.attr("dy",Oe().state.textHeight)},w=i.append("text").attr("x",2*Oe().state.padding).attr("y",Oe().state.textHeight+1.3*Oe().state.padding).attr("font-size",Oe().state.fontSize).attr("class","state-title").text(a.descriptions[0]).node().getBBox(),m=w.height,b=i.append("text").attr("x",Oe().state.padding).attr("y",m+Oe().state.padding*.4+Oe().state.dividerMargin+Oe().state.textHeight).attr("class","state-description");let E=!0,_=!0;a.descriptions.forEach(function(N){E||(f(b,N,_),_=!1),E=!1});const A=i.append("line").attr("x1",Oe().state.padding).attr("y1",Oe().state.padding+m+Oe().state.dividerMargin/2).attr("y2",Oe().state.padding+m+Oe().state.dividerMargin/2).attr("class","descr-divider"),I=b.node().getBBox(),B=Math.max(I.width,w.width);return A.attr("x2",B+3*Oe().state.padding),i.insert("rect",":first-child").attr("x",Oe().state.padding).attr("y",Oe().state.padding).attr("width",B+2*Oe().state.padding).attr("height",I.height+m+2*Oe().state.padding).attr("rx",Oe().state.radius),i},hUe=(i,a,f)=>{const p=Oe().state.padding,w=2*Oe().state.padding,m=i.node().getBBox(),b=m.width,E=m.x,_=i.append("text").attr("x",0).attr("y",Oe().state.titleShift).attr("font-size",Oe().state.fontSize).attr("class","state-title").text(a.id),I=_.node().getBBox().width+w;let B=Math.max(I,b);B===b&&(B=B+w);let N;const R=i.node().getBBox();a.doc,N=E-p,I>b&&(N=(b-B)/2+p),Math.abs(E-R.x)b&&(N=E-(I-b)/2);const z=1-Oe().state.textHeight;return i.insert("rect",":first-child").attr("x",N).attr("y",z).attr("class",f?"alt-composit":"composit").attr("width",B).attr("height",R.height+Oe().state.textHeight+Oe().state.titleShift+1).attr("rx","0"),_.attr("x",N+p),I<=b&&_.attr("x",E+(B-w)/2-I/2+p),i.insert("rect",":first-child").attr("x",N).attr("y",Oe().state.titleShift-Oe().state.textHeight-Oe().state.padding).attr("width",B).attr("height",Oe().state.textHeight*3).attr("rx",Oe().state.radius),i.insert("rect",":first-child").attr("x",N).attr("y",Oe().state.titleShift-Oe().state.textHeight-Oe().state.padding).attr("width",B).attr("height",R.height+3+2*Oe().state.textHeight).attr("rx",Oe().state.radius),i},fUe=i=>(i.append("circle").attr("class","end-state-outer").attr("r",Oe().state.sizeUnit+Oe().state.miniPadding).attr("cx",Oe().state.padding+Oe().state.sizeUnit+Oe().state.miniPadding).attr("cy",Oe().state.padding+Oe().state.sizeUnit+Oe().state.miniPadding),i.append("circle").attr("class","end-state-inner").attr("r",Oe().state.sizeUnit).attr("cx",Oe().state.padding+Oe().state.sizeUnit+2).attr("cy",Oe().state.padding+Oe().state.sizeUnit+2)),dUe=(i,a)=>{let f=Oe().state.forkWidth,p=Oe().state.forkHeight;if(a.parentId){let w=f;f=p,p=w}return i.append("rect").style("stroke","black").style("fill","black").attr("width",f).attr("height",p).attr("x",Oe().state.padding).attr("y",Oe().state.padding)},gUe=(i,a,f,p)=>{let w=0;const m=p.append("text");m.style("text-anchor","start"),m.attr("class","noteText");let b=i.replace(/\r\n/g,"
");b=b.replace(/\n/g,"
");const E=b.split(Kr.lineBreakRegex);let _=1.25*Oe().state.noteMargin;for(const A of E){const I=A.trim();if(I.length>0){const B=m.append("tspan");if(B.text(I),_===0){const N=B.node().getBBox();_+=N.height}w+=_,B.attr("x",a+Oe().state.noteMargin),B.attr("y",f+w+1.25*Oe().state.noteMargin)}}return{textWidth:m.node().getBBox().width,textHeight:w}},pUe=(i,a)=>{a.attr("class","state-note");const f=a.append("rect").attr("x",0).attr("y",Oe().state.padding),p=a.append("g"),{textWidth:w,textHeight:m}=gUe(i,0,0,p);return f.attr("height",m+2*Oe().state.noteMargin),f.attr("width",w+Oe().state.noteMargin*2),f},wjt=function(i,a){const f=a.id,p={id:f,label:a.id,width:0,height:0},w=i.append("g").attr("id",f).attr("class","stateGroup");a.type==="start"&&oUe(w),a.type==="end"&&fUe(w),(a.type==="fork"||a.type==="join")&&dUe(w,a),a.type==="note"&&pUe(a.note.text,w),a.type==="divider"&&cUe(w),a.type==="default"&&a.descriptions.length===0&&uUe(w,a),a.type==="default"&&a.descriptions.length>0&&lUe(w,a);const m=w.node().getBBox();return p.width=m.width+2*Oe().state.padding,p.height=m.height+2*Oe().state.padding,aUe.set(f,p),p};let vjt=0;const bUe=function(i,a,f){const p=function(_){switch(_){case $5.relationType.AGGREGATION:return"aggregation";case $5.relationType.EXTENSION:return"extension";case $5.relationType.COMPOSITION:return"composition";case $5.relationType.DEPENDENCY:return"dependency"}};a.points=a.points.filter(_=>!Number.isNaN(_.y));const w=a.points,m=E5().x(function(_){return _.x}).y(function(_){return _.y}).curve(HP),b=i.append("path").attr("d",m(w)).attr("id","edge"+vjt).attr("class","transition");let E="";if(Oe().state.arrowMarkerAbsolute&&(E=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,E=E.replace(/\(/g,"\\("),E=E.replace(/\)/g,"\\)")),b.attr("marker-end","url("+E+"#"+p($5.relationType.DEPENDENCY)+"End)"),f.title!==void 0){const _=i.append("g").attr("class","stateLabel"),{x:A,y:I}=$a.calcLabelPosition(a.points),B=Kr.getRows(f.title);let N=0;const R=[];let z=0,W=0;for(let at=0;at<=B.length;at++){const bt=_.append("text").attr("text-anchor","middle").text(B[at]).attr("x",A).attr("y",I+N),mt=bt.node().getBBox();z=Math.max(z,mt.width),W=Math.min(W,mt.x),Ut.info(mt.x,A,I+N),N===0&&(N=bt.node().getBBox().height,Ut.info("Title height",N,I)),R.push(bt)}let et=N*B.length;if(B.length>1){const at=(B.length-1)*N*.5;R.forEach((bt,mt)=>bt.attr("y",I+mt*N-at)),et=N*B.length}const st=_.node().getBBox();_.insert("rect",":first-child").attr("class","box").attr("x",A-z/2-Oe().state.padding/2).attr("y",I-et/2-Oe().state.padding/2-3.5).attr("width",z+Oe().state.padding).attr("height",et+Oe().state.padding),Ut.info(st)}vjt++};let qb;const jgt={},wUe=function(){},vUe=function(i){i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},mUe=function(i,a,f,p){qb=Oe().state;const w=Oe().securityLevel;let m;w==="sandbox"&&(m=yr("#i"+a));const b=yr(w==="sandbox"?m.nodes()[0].contentDocument.body:"body"),E=w==="sandbox"?m.nodes()[0].contentDocument:document;Ut.debug("Rendering diagram "+i);const _=b.select(`[id='${a}']`);vUe(_);const A=p.db.getRootDoc();mjt(A,_,void 0,!1,b,E,p);const I=qb.padding,B=_.node().getBBox(),N=B.width+I*2,R=B.height+I*2,z=N*1.75;k0(_,R,z,qb.useMaxWidth),_.attr("viewBox",`${B.x-qb.padding} ${B.y-qb.padding} `+N+" "+R)},yUe=i=>i?i.length*qb.fontSizeFactor:1,mjt=(i,a,f,p,w,m,b)=>{const E=new c1({compound:!0,multigraph:!0});let _,A=!0;for(_=0;_{const mt=bt.parentElement;let yt=0,ft=0;mt&&(mt.parentElement&&(yt=mt.parentElement.getBBox().width),ft=parseInt(mt.getAttribute("data-x-shift"),10),Number.isNaN(ft)&&(ft=0)),bt.setAttribute("x1",0-ft+8),bt.setAttribute("x2",yt-ft-8)})):Ut.debug("No Node "+st+": "+JSON.stringify(E.node(st)))});let W=z.getBBox();E.edges().forEach(function(st){st!==void 0&&E.edge(st)!==void 0&&(Ut.debug("Edge "+st.v+" -> "+st.w+": "+JSON.stringify(E.edge(st))),bUe(a,E.edge(st),E.edge(st).relation))}),W=z.getBBox();const et={id:f||"root",label:f||"root",width:0,height:0};return et.width=W.width+2*qb.padding,et.height=W.height+2*qb.padding,Ut.debug("Doc rendered",et,E),et},xUe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:ejt,db:$5,renderer:{setConf:wUe,draw:mUe},styles:pjt,init:i=>{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,$5.clear()}}},Symbol.toStringTag,{value:"Module"})),QY="rect",$gt="rectWithTitle",kUe="start",EUe="end",TUe="divider",CUe="roundedWithTitle",_Ue="note",SUe="noteGroup",vL="statediagram",AUe=`${vL}-state`,yjt="transition",LUe="note",MUe=`${yjt} note-edge`,DUe=`${vL}-${LUe}`,IUe=`${vL}-cluster`,OUe=`${vL}-cluster-alt`,xjt="parent",kjt="note",PUe="state",zgt="----",FUe=`${zgt}${kjt}`,Ejt=`${zgt}${xjt}`,Tjt="fill:none",Cjt="fill: #333",_jt="c",Sjt="text",Ajt="normal";let ZY={},kk=0;const NUe=function(i){const a=Object.keys(i);for(const f of a)i[f]},BUe=function(i,a){return a.db.extract(a.db.getRootDocV2()),a.db.getClasses()};function RUe(i){return i==null?"":i.classes?i.classes.join(" "):""}function qgt(i="",a=0,f="",p=zgt){const w=f!==null&&f.length>0?`${p}${f}`:"";return`${PUe}-${i}${w}-${a}`}const JF=(i,a,f,p,w,m)=>{const b=f.id,E=RUe(p[b]);if(b!=="root"){let _=QY;f.start===!0&&(_=kUe),f.start===!1&&(_=EUe),f.type!==KF&&(_=f.type),ZY[b]||(ZY[b]={id:b,shape:_,description:Kr.sanitizeText(b,Oe()),classes:`${E} ${AUe}`});const A=ZY[b];f.description&&(Array.isArray(A.description)?(A.shape=$gt,A.description.push(f.description)):A.description.length>0?(A.shape=$gt,A.description===b?A.description=[f.description]:A.description=[A.description,f.description]):(A.shape=QY,A.description=f.description),A.description=Kr.sanitizeTextOrArray(A.description,Oe())),A.description.length===1&&A.shape===$gt&&(A.shape=QY),!A.type&&f.doc&&(Ut.info("Setting cluster for ",b,Hgt(f)),A.type="group",A.dir=Hgt(f),A.shape=f.type===njt?TUe:CUe,A.classes=A.classes+" "+IUe+" "+(m?OUe:""));const I={labelStyle:"",shape:A.shape,labelText:A.description,classes:A.classes,style:"",id:b,dir:A.dir,domId:qgt(b,kk),type:A.type,padding:15};if(I.centerLabel=!0,f.note){const B={labelStyle:"",shape:_Ue,labelText:f.note.text,classes:DUe,style:"",id:b+FUe+"-"+kk,domId:qgt(b,kk,kjt),type:A.type,padding:15},N={labelStyle:"",shape:SUe,labelText:f.note.text,classes:A.classes,style:"",id:b+Ejt,domId:qgt(b,kk,xjt),type:"group",padding:0};kk++;const R=b+Ejt;i.setNode(R,N),i.setNode(B.id,B),i.setNode(b,I),i.setParent(b,R),i.setParent(B.id,R);let z=b,W=B.id;f.note.position==="left of"&&(z=B.id,W=b),i.setEdge(z,W,{arrowhead:"none",arrowType:"",style:Tjt,labelStyle:"",classes:MUe,arrowheadStyle:Cjt,labelpos:_jt,labelType:Sjt,thickness:Ajt})}else i.setNode(b,I)}a&&a.id!=="root"&&(Ut.trace("Setting node ",b," to be child of its parent ",a.id),i.setParent(b,a.id)),f.doc&&(Ut.trace("Adding nodes children "),jUe(i,f,f.doc,p,w,!m))},jUe=(i,a,f,p,w,m)=>{Ut.trace("items",f),f.forEach(b=>{switch(b.stmt){case UY:JF(i,a,b,p,w,m);break;case KF:JF(i,a,b,p,w,m);break;case Igt:{JF(i,a,b.state1,p,w,m),JF(i,a,b.state2,p,w,m);const E={id:"edge"+kk,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:Tjt,labelStyle:"",label:Kr.sanitizeText(b.description,Oe()),arrowheadStyle:Cjt,labelpos:_jt,labelType:Sjt,thickness:Ajt,classes:yjt};i.setEdge(b.state1.id,b.state2.id,E,kk),kk++}break}})},Hgt=(i,a=NGe)=>{let f=a;if(i.doc)for(let p=0;p{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,$5.clear()}}},Symbol.toStringTag,{value:"Module"}));var Vgt=function(){var i=function(B,N,R,z){for(R=R||{},z=B.length;z--;R[B[z]]=N);return R},a=[6,8,10,11,12,14,16,17,18],f=[1,9],p=[1,10],w=[1,11],m=[1,12],b=[1,13],E=[1,14],_={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:function(N,R,z,W,et,st,at){var bt=st.length-1;switch(et){case 1:return st[bt-1];case 2:this.$=[];break;case 3:st[bt-1].push(st[bt]),this.$=st[bt-1];break;case 4:case 5:this.$=st[bt];break;case 6:case 7:this.$=[];break;case 8:W.setDiagramTitle(st[bt].substr(6)),this.$=st[bt].substr(6);break;case 9:this.$=st[bt].trim(),W.setAccTitle(this.$);break;case 10:case 11:this.$=st[bt].trim(),W.setAccDescription(this.$);break;case 12:W.addSection(st[bt].substr(8)),this.$=st[bt].substr(8);break;case 13:W.addTask(st[bt-1],st[bt]),this.$="task";break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:f,12:p,14:w,16:m,17:b,18:E},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:15,11:f,12:p,14:w,16:m,17:b,18:E},i(a,[2,5]),i(a,[2,6]),i(a,[2,8]),{13:[1,16]},{15:[1,17]},i(a,[2,11]),i(a,[2,12]),{19:[1,18]},i(a,[2,4]),i(a,[2,9]),i(a,[2,10]),i(a,[2,13])],defaultActions:{},parseError:function(N,R){if(R.recoverable)this.trace(N);else{var z=new Error(N);throw z.hash=R,z}},parse:function(N){var R=this,z=[0],W=[],et=[null],st=[],at=this.table,bt="",mt=0,yt=0,ft=2,ut=1,vt=st.slice.call(arguments,1),X=Object.create(this.lexer),pt={yy:{}};for(var U in this.yy)Object.prototype.hasOwnProperty.call(this.yy,U)&&(pt.yy[U]=this.yy[U]);X.setInput(N,pt.yy),pt.yy.lexer=X,pt.yy.parser=this,typeof X.yylloc>"u"&&(X.yylloc={});var Tt=X.yylloc;st.push(Tt);var nt=X.options&&X.options.ranges;typeof pt.yy.parseError=="function"?this.parseError=pt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function It(){var Se;return Se=W.pop()||X.lex()||ut,typeof Se!="number"&&(Se instanceof Array&&(W=Se,Se=W.pop()),Se=R.symbols_[Se]||Se),Se}for(var Ot,Bt,Et,Z,Ct={},xt,Ht,Le,Ft;;){if(Bt=z[z.length-1],this.defaultActions[Bt]?Et=this.defaultActions[Bt]:((Ot===null||typeof Ot>"u")&&(Ot=It()),Et=at[Bt]&&at[Bt][Ot]),typeof Et>"u"||!Et.length||!Et[0]){var gn="";Ft=[];for(xt in at[Bt])this.terminals_[xt]&&xt>ft&&Ft.push("'"+this.terminals_[xt]+"'");X.showPosition?gn="Parse error on line "+(mt+1)+`: +`+X.showPosition()+` +Expecting `+Ft.join(", ")+", got '"+(this.terminals_[Ot]||Ot)+"'":gn="Parse error on line "+(mt+1)+": Unexpected "+(Ot==ut?"end of input":"'"+(this.terminals_[Ot]||Ot)+"'"),this.parseError(gn,{text:X.match,token:this.terminals_[Ot]||Ot,line:X.yylineno,loc:Tt,expected:Ft})}if(Et[0]instanceof Array&&Et.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Bt+", token: "+Ot);switch(Et[0]){case 1:z.push(Ot),et.push(X.yytext),st.push(X.yylloc),z.push(Et[1]),Ot=null,yt=X.yyleng,bt=X.yytext,mt=X.yylineno,Tt=X.yylloc;break;case 2:if(Ht=this.productions_[Et[1]][1],Ct.$=et[et.length-Ht],Ct._$={first_line:st[st.length-(Ht||1)].first_line,last_line:st[st.length-1].last_line,first_column:st[st.length-(Ht||1)].first_column,last_column:st[st.length-1].last_column},nt&&(Ct._$.range=[st[st.length-(Ht||1)].range[0],st[st.length-1].range[1]]),Z=this.performAction.apply(Ct,[bt,yt,mt,pt.yy,Et[1],et,st].concat(vt)),typeof Z<"u")return Z;Ht&&(z=z.slice(0,-1*Ht*2),et=et.slice(0,-1*Ht),st=st.slice(0,-1*Ht)),z.push(this.productions_[Et[1]][0]),et.push(Ct.$),st.push(Ct._$),Le=at[z[z.length-2]][z[z.length-1]],z.push(Le);break;case 3:return!0}}return!0}},A=function(){var B={EOF:1,parseError:function(R,z){if(this.yy.parser)this.yy.parser.parseError(R,z);else throw new Error(R)},setInput:function(N,R){return this.yy=R||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var R=N.match(/(?:\r\n?|\n).*/g);return R?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),N},unput:function(N){var R=N.length,z=N.split(/(?:\r\n?|\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-R),this.offset-=R;var W=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),z.length-1&&(this.yylineno-=z.length-1);var et=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:z?(z.length===W.length?this.yylloc.first_column:0)+W[W.length-z.length].length-z[0].length:this.yylloc.first_column-R},this.options.ranges&&(this.yylloc.range=[et[0],et[0]+this.yyleng-R]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(N){this.unput(this.match.slice(N))},pastInput:function(){var N=this.matched.substr(0,this.matched.length-this.match.length);return(N.length>20?"...":"")+N.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var N=this.match;return N.length<20&&(N+=this._input.substr(0,20-N.length)),(N.substr(0,20)+(N.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var N=this.pastInput(),R=new Array(N.length+1).join("-");return N+this.upcomingInput()+` +`+R+"^"},test_match:function(N,R){var z,W,et;if(this.options.backtrack_lexer&&(et={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(et.yylloc.range=this.yylloc.range.slice(0))),W=N[0].match(/(?:\r\n?|\n).*/g),W&&(this.yylineno+=W.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:W?W[W.length-1].length-W[W.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+N[0].length},this.yytext+=N[0],this.match+=N[0],this.matches=N,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(N[0].length),this.matched+=N[0],z=this.performAction.call(this,this.yy,this,R,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),z)return z;if(this._backtrack){for(var st in et)this[st]=et[st];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var N,R,z,W;this._more||(this.yytext="",this.match="");for(var et=this._currentRules(),st=0;stR[0].length)){if(R=z,W=st,this.options.backtrack_lexer){if(N=this.test_match(z,et[st]),N!==!1)return N;if(this._backtrack){R=!1;continue}else return!1}else if(!this.options.flex)break}return R?(N=this.test_match(R,et[W]),N!==!1?N:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var R=this.next();return R||this.lex()},begin:function(R){this.conditionStack.push(R)},popState:function(){var R=this.conditionStack.length-1;return R>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(R){return R=this.conditionStack.length-1-Math.abs(R||0),R>=0?this.conditionStack[R]:"INITIAL"},pushState:function(R){this.begin(R)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(R,z,W,et){switch(W){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return B}();_.lexer=A;function I(){this.yy={}}return I.prototype=_,_.Parser=I,new I}();Vgt.parser=Vgt;const zUe=Vgt;let mL="";const Ggt=[],tN=[],eN=[],qUe=function(){Ggt.length=0,tN.length=0,mL="",eN.length=0,hg()},HUe=function(i){mL=i,Ggt.push(i)},VUe=function(){return Ggt},GUe=function(){let i=Ljt();const a=100;let f=0;for(;!i&&f{f.people&&i.push(...f.people)}),[...new Set(i)].sort()},WUe=function(i,a){const f=a.substr(1).split(":");let p=0,w=[];f.length===1?(p=Number(f[0]),w=[]):(p=Number(f[0]),w=f[1].split(","));const m=w.map(E=>E.trim()),b={section:mL,type:mL,people:m,task:i,score:p};eN.push(b)},YUe=function(i){const a={section:mL,type:mL,description:i,task:i,classes:[]};tN.push(a)},Ljt=function(){const i=function(f){return eN[f].processed};let a=!0;for(const[f,p]of eN.entries())i(f),a=a&&p.processed;return a},Mjt={getConfig:()=>Oe().journey,clear:qUe,setDiagramTitle:Nb,getDiagramTitle:pg,setAccTitle:E0,getAccTitle:fg,setAccDescription:dg,getAccDescription:gg,addSection:HUe,getSections:VUe,getTasks:GUe,addTask:WUe,addTaskOrg:YUe,getActors:function(){return UUe()}},KUe=i=>`.label { + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + color: ${i.textColor}; + } + .mouth { + stroke: #666; + } + + line { + stroke: ${i.textColor} + } + + .legend { + fill: ${i.textColor}; + } + + .label text { + fill: #333; + } + .label { + color: ${i.textColor} + } + + .face { + ${i.faceColor?`fill: ${i.faceColor}`:"fill: #FFF8DC"}; + stroke: #999; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 1.5px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.5; + } + text-align: center; + } + + .cluster rect { + } + + .cluster text { + fill: ${i.titleColor}; + } + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .task-type-0, .section-type-0 { + ${i.fillType0?`fill: ${i.fillType0}`:""}; + } + .task-type-1, .section-type-1 { + ${i.fillType0?`fill: ${i.fillType1}`:""}; + } + .task-type-2, .section-type-2 { + ${i.fillType0?`fill: ${i.fillType2}`:""}; + } + .task-type-3, .section-type-3 { + ${i.fillType0?`fill: ${i.fillType3}`:""}; + } + .task-type-4, .section-type-4 { + ${i.fillType0?`fill: ${i.fillType4}`:""}; + } + .task-type-5, .section-type-5 { + ${i.fillType0?`fill: ${i.fillType5}`:""}; + } + .task-type-6, .section-type-6 { + ${i.fillType0?`fill: ${i.fillType6}`:""}; + } + .task-type-7, .section-type-7 { + ${i.fillType0?`fill: ${i.fillType7}`:""}; + } + + .actor-0 { + ${i.actor0?`fill: ${i.actor0}`:""}; + } + .actor-1 { + ${i.actor1?`fill: ${i.actor1}`:""}; + } + .actor-2 { + ${i.actor2?`fill: ${i.actor2}`:""}; + } + .actor-3 { + ${i.actor3?`fill: ${i.actor3}`:""}; + } + .actor-4 { + ${i.actor4?`fill: ${i.actor4}`:""}; + } + .actor-5 { + ${i.actor5?`fill: ${i.actor5}`:""}; + } +`,Ugt=function(i,a){return JW(i,a)},XUe=function(i,a){const p=i.append("circle").attr("cx",a.cx).attr("cy",a.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),w=i.append("g");w.append("circle").attr("cx",a.cx-15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),w.append("circle").attr("cx",a.cx+15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function m(_){const A=OA().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",A).attr("transform","translate("+a.cx+","+(a.cy+2)+")")}function b(_){const A=OA().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",A).attr("transform","translate("+a.cx+","+(a.cy+7)+")")}function E(_){_.append("line").attr("class","mouth").attr("stroke",2).attr("x1",a.cx-5).attr("y1",a.cy+7).attr("x2",a.cx+5).attr("y2",a.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return a.score>3?m(w):a.score<3?b(w):E(w),p},Djt=function(i,a){const f=i.append("circle");return f.attr("cx",a.cx),f.attr("cy",a.cy),f.attr("class","actor-"+a.pos),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("r",a.r),f.class!==void 0&&f.attr("class",f.class),a.title!==void 0&&f.append("title").text(a.title),f},Ijt=function(i,a){return RDe(i,a)},QUe=function(i,a){function f(w,m,b,E,_){return w+","+m+" "+(w+b)+","+m+" "+(w+b)+","+(m+E-_)+" "+(w+b-_*1.2)+","+(m+E)+" "+w+","+(m+E)}const p=i.append("polygon");p.attr("points",f(a.x,a.y,50,20,7)),p.attr("class","labelBox"),a.y=a.y+a.labelMargin,a.x=a.x+.5*a.labelMargin,Ijt(i,a)},ZUe=function(i,a,f){const p=i.append("g"),w=bT();w.x=a.x,w.y=a.y,w.fill=a.fill,w.width=f.width*a.taskCount+f.diagramMarginX*(a.taskCount-1),w.height=f.height,w.class="journey-section section-type-"+a.num,w.rx=3,w.ry=3,Ugt(p,w),Pjt(f)(a.text,p,w.x,w.y,w.width,w.height,{class:"journey-section section-type-"+a.num},f,a.colour)};let Ojt=-1;const JUe=function(i,a,f){const p=a.x+f.width/2,w=i.append("g");Ojt++;const m=300+5*30;w.append("line").attr("id","task"+Ojt).attr("x1",p).attr("y1",a.y).attr("x2",p).attr("y2",m).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),XUe(w,{cx:p,cy:300+(5-a.score)*30,score:a.score});const b=bT();b.x=a.x,b.y=a.y,b.fill=a.fill,b.width=f.width,b.height=f.height,b.class="task task-type-"+a.num,b.rx=3,b.ry=3,Ugt(w,b);let E=a.x+14;a.people.forEach(_=>{const A=a.actors[_].color,I={cx:E,cy:a.y,r:7,fill:A,stroke:"#000",title:_,pos:a.actors[_].position};Djt(w,I),E+=10}),Pjt(f)(a.task,w,b.x,b.y,b.width,b.height,{class:"task"},f,a.colour)},tWe=function(i,a){mPt(i,a)},Pjt=function(){function i(w,m,b,E,_,A,I,B){const N=m.append("text").attr("x",b+_/2).attr("y",E+A/2+5).style("font-color",B).style("text-anchor","middle").text(w);p(N,I)}function a(w,m,b,E,_,A,I,B,N){const{taskFontSize:R,taskFontFamily:z}=B,W=w.split(//gi);for(let et=0;et{const w=z5[p].color,m={cx:20,cy:f,r:7,fill:w,stroke:"#000",pos:z5[p].position};nN.drawCircle(i,m);const b={x:40,y:f+7,fill:"#666",text:p,textMargin:a.boxTextMargin|5};nN.drawText(i,b),f+=20})}const JY=Oe().journey,MT=JY.leftMargin,rWe=function(i,a,f,p){const w=Oe().journey,m=Oe().securityLevel;let b;m==="sandbox"&&(b=yr("#i"+a));const E=yr(m==="sandbox"?b.nodes()[0].contentDocument.body:"body");aw.init();const _=E.select("#"+a);nN.initGraphics(_);const A=p.db.getTasks(),I=p.db.getDiagramTitle(),B=p.db.getActors();for(const st in z5)delete z5[st];let N=0;B.forEach(st=>{z5[st]={color:w.actorColours[N%w.actorColours.length],position:N},N++}),nWe(_),aw.insert(0,0,MT,Object.keys(z5).length*50),iWe(_,A,0);const R=aw.getBounds();I&&_.append("text").text(I).attr("x",MT).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const z=R.stopy-R.starty+2*w.diagramMarginY,W=MT+R.stopx+2*w.diagramMarginX;k0(_,z,W,w.useMaxWidth),_.append("line").attr("x1",MT).attr("y1",w.height*4).attr("x2",W-MT-4).attr("y2",w.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const et=I?70:0;_.attr("viewBox",`${R.startx} -25 ${W} ${z+et}`),_.attr("preserveAspectRatio","xMinYMin meet"),_.attr("height",z+et+25)},aw={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(i,a,f,p){i[a]===void 0?i[a]=f:i[a]=p(f,i[a])},updateBounds:function(i,a,f,p){const w=Oe().journey,m=this;let b=0;function E(_){return function(I){b++;const B=m.sequenceItems.length-b+1;m.updateVal(I,"starty",a-B*w.boxMargin,Math.min),m.updateVal(I,"stopy",p+B*w.boxMargin,Math.max),m.updateVal(aw.data,"startx",i-B*w.boxMargin,Math.min),m.updateVal(aw.data,"stopx",f+B*w.boxMargin,Math.max),_!=="activation"&&(m.updateVal(I,"startx",i-B*w.boxMargin,Math.min),m.updateVal(I,"stopx",f+B*w.boxMargin,Math.max),m.updateVal(aw.data,"starty",a-B*w.boxMargin,Math.min),m.updateVal(aw.data,"stopy",p+B*w.boxMargin,Math.max))}}this.sequenceItems.forEach(E())},insert:function(i,a,f,p){const w=Math.min(i,f),m=Math.max(i,f),b=Math.min(a,p),E=Math.max(a,p);this.updateVal(aw.data,"startx",w,Math.min),this.updateVal(aw.data,"starty",b,Math.min),this.updateVal(aw.data,"stopx",m,Math.max),this.updateVal(aw.data,"stopy",E,Math.max),this.updateBounds(w,b,m,E)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},Wgt=JY.sectionFills,Fjt=JY.sectionColours,iWe=function(i,a,f){const p=Oe().journey;let w="";const m=p.height*2+p.diagramMarginY,b=f+m;let E=0,_="#CCC",A="black",I=0;for(const[B,N]of a.entries()){if(w!==N.section){_=Wgt[E%Wgt.length],I=E%Wgt.length,A=Fjt[E%Fjt.length];let z=0;const W=N.section;for(let st=B;st(z5[W]&&(z[W]=z5[W]),z),{});N.x=B*p.taskMargin+B*p.width+MT,N.y=b,N.width=p.diagramMarginX,N.height=p.diagramMarginY,N.colour=A,N.fill=_,N.num=I,N.actors=R,nN.drawTask(i,N,p),aw.insert(N.x,N.y,N.x+N.width+p.taskMargin,300+5*30)}},Njt={setConf:eWe,draw:rWe},sWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:zUe,db:Mjt,renderer:Njt,styles:KUe,init:i=>{Njt.setConf(i.journey),Mjt.clear()}}},Symbol.toStringTag,{value:"Module"})),aWe=(i,a,f)=>{const{parentById:p}=f,w=new Set;let m=i;for(;m;){if(w.add(m),m===a)return m;m=p[m]}for(m=a;m;){if(w.has(m))return m;m=p[m]}return"root"};function tK(i){throw new Error('Could not dynamically require "'+i+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Bjt={exports:{}};(function(i,a){(function(f){i.exports=f()})(function(){return function(){function f(p,w,m){function b(A,I){if(!w[A]){if(!p[A]){var B=typeof tK=="function"&&tK;if(!I&&B)return B(A,!0);if(E)return E(A,!0);var N=new Error("Cannot find module '"+A+"'");throw N.code="MODULE_NOT_FOUND",N}var R=w[A]={exports:{}};p[A][0].call(R.exports,function(z){var W=p[A][1][z];return b(W||z)},R,R.exports,f,p,w,m)}return w[A].exports}for(var E=typeof tK=="function"&&tK,_=0;_0&&arguments[0]!==void 0?arguments[0]:{},N=B.defaultLayoutOptions,R=N===void 0?{}:N,z=B.algorithms,W=z===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:z,et=B.workerFactory,st=B.workerUrl;if(b(this,A),this.defaultLayoutOptions=R,this.initialized=!1,typeof st>"u"&&typeof et>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var at=et;typeof st<"u"&&typeof et>"u"&&(at=function(yt){return new Worker(yt)});var bt=at(st);if(typeof bt.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new _(bt),this.worker.postMessage({cmd:"register",algorithms:W}).then(function(mt){return I.initialized=!0}).catch(console.err)}return m(A,[{key:"layout",value:function(B){var N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},R=N.layoutOptions,z=R===void 0?this.defaultLayoutOptions:R,W=N.logging,et=W===void 0?!1:W,st=N.measureExecutionTime,at=st===void 0?!1:st;return B?this.worker.postMessage({cmd:"layout",graph:B,layoutOptions:z,options:{logging:et,measureExecutionTime:at}}):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.terminate()}}]),A}();w.default=E;var _=function(){function A(I){var B=this;if(b(this,A),I===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=I,this.worker.onmessage=function(N){setTimeout(function(){B.receive(B,N)},0)}}return m(A,[{key:"postMessage",value:function(B){var N=this.id||0;this.id=N+1,B.id=N;var R=this;return new Promise(function(z,W){R.resolvers[N]=function(et,st){et?(R.convertGwtStyleError(et),W(et)):z(st)},R.worker.postMessage(B)})}},{key:"receive",value:function(B,N){var R=N.data,z=B.resolvers[R.id];z&&(delete B.resolvers[R.id],R.error?z(R.error):z(null,R.data))}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(B){if(B){var N=B.__java$exception;N&&(N.cause&&N.cause.backingJsObject&&(B.cause=N.cause.backingJsObject,this.convertGwtStyleError(B.cause)),delete B.__java$exception)}}}]),A}()},{}],2:[function(f,p,w){(function(m){(function(){var b;typeof window<"u"?b=window:typeof m<"u"?b=m:typeof self<"u"&&(b=self);var E;function _(){}function A(){}function I(){}function B(){}function N(){}function R(){}function z(){}function W(){}function et(){}function st(){}function at(){}function bt(){}function mt(){}function yt(){}function ft(){}function ut(){}function vt(){}function X(){}function pt(){}function U(){}function Tt(){}function nt(){}function It(){}function Ot(){}function Bt(){}function Et(){}function Z(){}function Ct(){}function xt(){}function Ht(){}function Le(){}function Ft(){}function gn(){}function Se(){}function me(){}function Ve(){}function Ye(){}function ce(){}function ke(){}function zt(){}function re(){}function se(){}function Pe(){}function te(){}function Me(){}function de(){}function on(){}function ni(){}function Ks(){}function ws(){}function fo(){}function Xi(){}function Er(){}function Xn(){}function di(){}function Ee(){}function Kn(){}function He(){}function Ti(){}function pn(){}function Es(){}function qa(){}function Ma(){}function Gs(){}function Po(){}function vs(){}function ru(){}function zs(){}function Du(){}function pm(){}function uw(){}function Wu(){}function th(){}function Fa(){}function Ml(){}function ha(){}function bc(){}function Cc(){}function pa(){}function Da(){}function Ha(){}function Dl(){}function _c(){}function lw(){}function eh(){}function ed(){}function jd(){}function nd(){}function $d(){}function A0(){}function Bi(){}function cn(){}function kr(){}function Ei(){}function Jo(){}function wc(){}function rf(){}function Oc(){}function sf(){}function af(){}function Qi(){}function Ts(){}function ka(){}function xi(){}function Yc(){}function Ce(){}function vp(){}function Be(){}function Bf(){}function yg(){}function bm(){}function Ek(){}function E3(){}function Il(){}function L0(){}function hw(){}function H5(){}function Hb(){}function V5(){}function f1(){}function rd(){}function id(){}function G5(){}function fw(){}function U5(){}function mp(){}function W5(){}function T3(){}function wm(){}function xg(){}function EL(){}function vl(){}function iN(){}function Sc(){}function cK(){}function Vb(){}function uK(){}function PT(){}function lK(){}function sN(){}function Rf(){}function vm(){}function TL(){}function aN(){}function yp(){}function mm(){}function hK(){}function Gb(){}function fK(){}function dK(){}function Y5(){}function FT(){}function oN(){}function Tk(){}function gK(){}function Ck(){}function pK(){}function bK(){}function wK(){}function vK(){}function mK(){}function yK(){}function xK(){}function kK(){}function EK(){}function TK(){}function CK(){}function CL(){}function _K(){}function SK(){}function NT(){}function cN(){}function K5(){}function AK(){}function LK(){}function MK(){}function DK(){}function IK(){}function BT(){}function _L(){}function uN(){}function C3(){}function _3(){}function OK(){}function of(){}function X5(){}function PK(){}function _k(){}function zd(){}function FK(){}function NK(){}function BK(){}function RK(){}function RT(){}function SL(){}function lN(){}function AL(){}function Q5(){}function jK(){}function hN(){}function fN(){}function $K(){}function zK(){}function qK(){}function HK(){}function VK(){}function GK(){}function qd(){}function dw(){}function UK(){}function dN(){}function gN(){}function WK(){}function S3(){}function Sk(){}function LL(){}function ym(){}function Ak(){}function YK(){}function jT(){}function sd(){}function pN(){}function ML(){}function Lk(){}function DL(){}function bN(){}function KK(){}function IL(){}function XK(){}function QK(){}function wN(){}function Z5(){}function vN(){}function J5(){}function ZK(){}function OL(){}function JK(){}function tX(){}function eX(){}function nX(){}function mN(){}function rX(){}function iX(){}function sX(){}function yN(){}function aX(){}function oX(){}function cX(){}function xN(){}function uX(){}function lX(){}function kN(){}function EN(){}function TN(){}function hX(){}function fX(){}function Mk(){}function tx(){}function $T(){}function dX(){}function PL(){}function zT(){}function FL(){}function CN(){}function _N(){}function gX(){}function pX(){}function bX(){}function SN(){}function AN(){}function wX(){}function vX(){}function mX(){}function yX(){}function xX(){}function LN(){}function kX(){}function EX(){}function TX(){}function CX(){}function MN(){}function qT(){}function _X(){}function SX(){}function DN(){}function AX(){}function LX(){}function MX(){}function DX(){}function IX(){}function OX(){}function IN(){}function PX(){}function ON(){}function FX(){}function NX(){}function BX(){}function HT(){}function RX(){}function VT(){}function jX(){}function PN(){}function FN(){}function NN(){}function BN(){}function gw(){}function RN(){}function jN(){}function $N(){}function zN(){}function $X(){}function ex(){}function GT(){}function A3(){}function zX(){}function qX(){}function UT(){}function HX(){}function VX(){}function GX(){}function UX(){}function WX(){}function YX(){}function KX(){}function XX(){}function QX(){}function ZX(){}function JX(){}function NL(){}function qN(){}function tQ(){}function eQ(){}function nQ(){}function HN(){}function rQ(){}function iQ(){}function sQ(){}function aQ(){}function oQ(){}function cQ(){}function VN(){}function GN(){}function uQ(){}function UN(){}function WN(){}function lQ(){}function hQ(){}function fQ(){}function BL(){}function dQ(){}function Dk(){}function gQ(){}function pQ(){}function bQ(){}function YN(){}function wQ(){}function vQ(){}function mQ(){}function yQ(){}function xQ(){}function kQ(){}function EQ(){}function TQ(){}function CQ(){}function _Q(){}function SQ(){}function AQ(){}function nx(){}function KN(){}function LQ(){}function MQ(){}function DQ(){}function XN(){}function IQ(){}function WT(){}function OQ(){}function PQ(){}function FQ(){}function NQ(){}function BQ(){}function RQ(){}function jQ(){}function $Q(){}function zQ(){}function qQ(){}function rx(){}function HQ(){}function VQ(){}function GQ(){}function UQ(){}function WQ(){}function YQ(){}function KQ(){}function XQ(){}function YT(){}function QQ(){}function ZQ(){}function JQ(){}function tZ(){}function eZ(){}function nZ(){}function rZ(){}function iZ(){}function ix(){}function QN(){}function sZ(){}function RL(){}function aZ(){}function oZ(){}function cZ(){}function uZ(){}function lZ(){}function hZ(){}function fZ(){}function ZN(){}function dZ(){}function JN(){}function gZ(){}function tB(){}function eB(){}function nB(){}function pZ(){}function bZ(){}function KT(){}function jL(){}function XT(){}function wZ(){}function vZ(){}function $L(){}function mZ(){}function yZ(){}function rB(){}function xZ(){}function kZ(){}function EZ(){}function TZ(){}function CZ(){}function _Z(){}function SZ(){}function AZ(){}function LZ(){}function MZ(){}function kg(){}function DZ(){}function xm(){}function iB(){}function IZ(){}function OZ(){}function PZ(){}function FZ(){}function NZ(){}function BZ(){}function RZ(){}function jZ(){}function $Z(){}function Ac(){}function zZ(){}function QT(){}function tc(){}function Kc(){}function zi(){}function zL(){}function qZ(){}function HZ(){}function VZ(){}function sx(){}function km(){}function Ue(){}function GZ(){}function UZ(){}function WZ(){}function YZ(){}function KZ(){}function sB(){}function XZ(){}function QZ(){}function qL(){}function ZZ(){}function Yu(){}function Iu(){}function JZ(){}function tJ(){}function eJ(){}function Em(){}function pw(){}function xp(){}function ad(){}function ax(){}function ZT(){}function Ik(){}function aB(){}function nJ(){}function Ok(){}function oB(){}function rJ(){}function JT(){}function ox(){}function cx(){}function kp(){}function cB(){}function Pk(){}function uB(){}function lB(){}function ux(){}function Ub(){}function M0(){}function Ep(){}function L3(){}function Fk(){}function tC(){}function hB(){}function iJ(){}function fB(){}function dB(){}function gB(){}function Nk(){}function pB(){}function bB(){}function sJ(){}function Bk(){}function Rk(){}function Tm(){}function HL(){}function aJ(){}function oJ(){}function cJ(){}function uJ(){}function lJ(){}function hJ(){}function fJ(){}function dJ(){}function wB(){}function gJ(){}function pJ(){}function bJ(){}function vB(){}function jk(){}function eC(){}function mB(){}function wJ(){}function yB(){}function xB(){}function vJ(){}function nC(){}function Cm(){}function kB(){}function EB(){}function mJ(){}function yJ(){}function rC(){}function TB(){}function CB(){}function uc(){}function xJ(){}function _B(){}function iC(){}function kJ(){}function EJ(){}function sC(){}function SB(){}function aC(){}function oC(){}function jf(){}function VL(){}function GL(){}function lx(){}function TJ(){}function CJ(){}function _J(){}function SJ(){}function _m(){}function AB(){}function hx(){}function d1(){}function LB(){}function MB(){}function DB(){}function IB(){}function OB(){}function PB(){}function $f(){}function du(){}function AJ(){}function LJ(){}function MJ(){}function gu(){}function cC(){}function FB(){}function NB(){}function fx(){}function DJ(){}function $k(){}function IJ(){}function BB(){}function OJ(){}function PJ(){}function uC(){}function RB(){}function UL(){}function lC(){}function FJ(){}function NJ(){}function WL(){}function hC(){}function g1(){}function zk(){}function BJ(){}function qk(){}function YL(){}function Wb(){}function fC(){}function KL(){}function zf(){}function dC(){}function p1(){}function b1(){}function RJ(){}function jJ(){}function M3(){}function Hk(){}function Vk(){}function gC(){}function $J(){}function dx(){}function XL(){}function jB(){}function zJ(){}function pC(){PC()}function qJ(){Rit()}function $B(){o_()}function QL(){sq()}function HJ(){q4t()}function bC(){Jf()}function VJ(){J3t()}function GJ(){iI()}function UJ(){EM()}function WJ(){kM()}function YJ(){KM()}function zB(){BVt()}function KJ(){r6()}function XJ(){$R()}function QJ(){YJt()}function qB(){one()}function ZJ(){_te()}function JJ(){HQt()}function wC(){oE()}function ttt(){nb()}function ett(){cne()}function ntt(){NZt()}function rtt(){Fxt()}function itt(){Kse()}function stt(){VQt()}function HB(){Te()}function att(){qQt()}function VB(){une()}function ott(){fre()}function ZL(){UQt()}function ctt(){Dte()}function GB(){RVt()}function utt(){E5t()}function UB(){uy()}function ltt(){Nne()}function WB(){cI()}function YB(){dat()}function KB(){yst()}function JL(){gv()}function D3(){myt()}function vC(){GQt()}function od(){rle()}function XB(){y5t()}function Gk(){sat()}function tM(){V$()}function htt(){fq()}function Tp(){ui()}function QB(){Sz()}function ZB(){S3t()}function JB(){Dq()}function nh(){IYt()}function eM(){kit()}function tR(){oxt()}function Uk(t){On(t)}function mC(t){this.a=t}function Wk(t){this.a=t}function eR(t){this.a=t}function gx(t){this.a=t}function bw(t){this.a=t}function Yk(t){this.a=t}function nR(t){this.a=t}function ftt(t){this.a=t}function nM(t){this.a=t}function I3(t){this.a=t}function rM(t){this.a=t}function yC(t){this.a=t}function dtt(t){this.a=t}function xC(t){this.a=t}function kC(t){this.a=t}function px(t){this.a=t}function iM(t){this.a=t}function sM(t){this.a=t}function gtt(t){this.a=t}function ptt(t){this.a=t}function btt(t){this.a=t}function rR(t){this.b=t}function wtt(t){this.c=t}function vtt(t){this.a=t}function mtt(t){this.a=t}function ytt(t){this.a=t}function xtt(t){this.a=t}function ktt(t){this.a=t}function Ett(t){this.a=t}function Ttt(t){this.a=t}function Ctt(t){this.a=t}function bx(t){this.a=t}function _tt(t){this.a=t}function Kk(t){this.a=t}function Th(t){this.a=t}function Stt(t){this.a=t}function wx(t){this.a=t}function Xk(t){this.a=t}function EC(t){this.a=t}function Qk(t){this.a=t}function Eg(){this.a=[]}function Att(t,e){t.a=e}function cpt(t,e){t.a=e}function upt(t,e){t.b=e}function lpt(t,e){t.b=e}function hpt(t,e){t.b=e}function aM(t,e){t.j=e}function fpt(t,e){t.g=e}function dpt(t,e){t.i=e}function Ltt(t,e){t.c=e}function w1(t,e){t.d=e}function Mtt(t,e){t.d=e}function gpt(t,e){t.c=e}function D0(t,e){t.k=e}function Dtt(t,e){t.c=e}function iR(t,e){t.c=e}function sR(t,e){t.a=e}function Itt(t,e){t.a=e}function ppt(t,e){t.f=e}function bpt(t,e){t.a=e}function ww(t,e){t.b=e}function oM(t,e){t.d=e}function TC(t,e){t.i=e}function aR(t,e){t.o=e}function wpt(t,e){t.r=e}function vpt(t,e){t.a=e}function oR(t,e){t.b=e}function vw(t,e){t.e=e}function Ott(t,e){t.f=e}function CC(t,e){t.g=e}function vx(t,e){t.e=e}function mpt(t,e){t.f=e}function Zk(t,e){t.f=e}function Ptt(t,e){t.n=e}function Tg(t,e){t.a=e}function ypt(t,e){t.a=e}function O3(t,e){t.c=e}function Ftt(t,e){t.c=e}function Ntt(t,e){t.d=e}function cR(t,e){t.e=e}function uR(t,e){t.g=e}function Btt(t,e){t.a=e}function Jk(t,e){t.c=e}function _C(t,e){t.d=e}function xpt(t,e){t.e=e}function Rtt(t,e){t.f=e}function jtt(t,e){t.j=e}function $tt(t,e){t.a=e}function kpt(t,e){t.b=e}function vc(t,e){t.a=e}function lR(t){t.b=t.a}function ztt(t){t.c=t.d.d}function mx(t){this.d=t}function Cg(t){this.a=t}function Sm(t){this.a=t}function cM(t){this.a=t}function v1(t){this.a=t}function yx(t){this.a=t}function qtt(t){this.a=t}function hR(t){this.a=t}function P3(t){this.a=t}function uM(t){this.a=t}function Am(t){this.a=t}function fR(t){this.a=t}function m1(t){this.a=t}function y(t){this.a=t}function g(t){this.a=t}function x(t){this.b=t}function T(t){this.b=t}function L(t){this.b=t}function O(t){this.a=t}function P(t){this.a=t}function $(t){this.a=t}function q(t){this.c=t}function S(t){this.c=t}function V(t){this.c=t}function Y(t){this.a=t}function rt(t){this.a=t}function ot(t){this.a=t}function ht(t){this.a=t}function dt(t){this.a=t}function Lt(t){this.a=t}function kt(t){this.a=t}function Dt(t){this.a=t}function Pt(t){this.a=t}function $t(t){this.a=t}function Zt(t){this.a=t}function Yt(t){this.a=t}function qt(t){this.a=t}function ne(t){this.a=t}function Gt(t){this.a=t}function ge(t){this.a=t}function be(t){this.a=t}function ie(t){this.a=t}function Fe(t){this.a=t}function we(t){this.a=t}function bn(t){this.a=t}function ze(t){this.a=t}function Ge(t){this.a=t}function En(t){this.a=t}function In(t){this.a=t}function Yn(t){this.a=t}function Sn(t){this.a=t}function Wn(t){this.a=t}function rr(t){this.a=t}function wr(t){this.a=t}function ur(t){this.a=t}function er(t){this.a=t}function vn(t){this.a=t}function gr(t){this.a=t}function fr(t){this.a=t}function Jr(t){this.a=t}function vi(t){this.a=t}function Xs(t){this.a=t}function Ea(t){this.a=t}function Ci(t){this.a=t}function hi(t){this.a=t}function gs(t){this.a=t}function qi(t){this.a=t}function Si(t){this.a=t}function Ui(t){this.a=t}function Va(t){this.e=t}function Qs(t){this.a=t}function qs(t){this.a=t}function Tr(t){this.a=t}function Qt(t){this.a=t}function jn(t){this.a=t}function Sr(t){this.a=t}function ir(t){this.a=t}function sr(t){this.a=t}function Ia(t){this.a=t}function $r(t){this.a=t}function Yi(t){this.a=t}function Fo(t){this.a=t}function Pc(t){this.a=t}function Za(t){this.a=t}function mc(t){this.a=t}function Ta(t){this.a=t}function Ja(t){this.a=t}function ml(t){this.a=t}function qf(t){this.a=t}function Cp(t){this.a=t}function _p(t){this.a=t}function Hf(t){this.a=t}function _g(t){this.a=t}function cd(t){this.a=t}function mw(t){this.a=t}function Lm(t){this.a=t}function xx(t){this.a=t}function F3(t){this.a=t}function kx(t){this.a=t}function SC(t){this.a=t}function N3(t){this.a=t}function Hd(t){this.a=t}function y1(t){this.a=t}function Vd(t){this.a=t}function AC(t){this.a=t}function Yb(t){this.a=t}function dR(t){this.a=t}function Htt(t){this.a=t}function Vtt(t){this.a=t}function Gtt(t){this.a=t}function Utt(t){this.a=t}function Wtt(t){this.a=t}function Ytt(t){this.a=t}function Ktt(t){this.a=t}function t8(t){this.a=t}function lM(t){this.a=t}function LC(t){this.a=t}function gR(t){this.a=t}function pR(t){this.a=t}function Xtt(t){this.a=t}function Sp(t){this.a=t}function hM(t){this.a=t}function bR(t){this.a=t}function e8(t){this.c=t}function Ap(t){this.b=t}function Qtt(t){this.a=t}function S$t(t){this.a=t}function A$t(t){this.a=t}function L$t(t){this.a=t}function M$t(t){this.a=t}function D$t(t){this.a=t}function I$t(t){this.a=t}function O$t(t){this.a=t}function P$t(t){this.a=t}function F$t(t){this.a=t}function N$t(t){this.a=t}function B$t(t){this.a=t}function R$t(t){this.a=t}function j$t(t){this.a=t}function $$t(t){this.a=t}function z$t(t){this.a=t}function q$t(t){this.a=t}function H$t(t){this.a=t}function V$t(t){this.a=t}function G$t(t){this.a=t}function U$t(t){this.a=t}function W$t(t){this.a=t}function Y$t(t){this.a=t}function K$t(t){this.a=t}function Lp(t){this.a=t}function Ex(t){this.a=t}function X$t(t){this.a=t}function Q$t(t){this.a=t}function Z$t(t){this.a=t}function J$t(t){this.a=t}function tzt(t){this.a=t}function ezt(t){this.a=t}function nzt(t){this.a=t}function rzt(t){this.a=t}function izt(t){this.a=t}function szt(t){this.a=t}function azt(t){this.a=t}function ozt(t){this.a=t}function czt(t){this.a=t}function uzt(t){this.a=t}function lzt(t){this.a=t}function hzt(t){this.a=t}function wR(t){this.a=t}function fzt(t){this.a=t}function dzt(t){this.a=t}function gzt(t){this.a=t}function pzt(t){this.a=t}function bzt(t){this.a=t}function wzt(t){this.a=t}function vzt(t){this.a=t}function mzt(t){this.a=t}function yzt(t){this.a=t}function xzt(t){this.a=t}function kzt(t){this.a=t}function Ezt(t){this.a=t}function Tzt(t){this.a=t}function Czt(t){this.a=t}function _zt(t){this.a=t}function Szt(t){this.a=t}function Azt(t){this.a=t}function Lzt(t){this.a=t}function Mzt(t){this.a=t}function Dzt(t){this.a=t}function Izt(t){this.a=t}function Ozt(t){this.a=t}function Pzt(t){this.a=t}function Fzt(t){this.a=t}function Nzt(t){this.a=t}function Bzt(t){this.a=t}function Rzt(t){this.a=t}function jzt(t){this.a=t}function Ept(t){this.a=t}function Vi(t){this.b=t}function $zt(t){this.f=t}function Tpt(t){this.a=t}function zzt(t){this.a=t}function qzt(t){this.a=t}function Hzt(t){this.a=t}function Vzt(t){this.a=t}function Gzt(t){this.a=t}function Uzt(t){this.a=t}function Wzt(t){this.a=t}function Yzt(t){this.a=t}function fM(t){this.a=t}function Kzt(t){this.a=t}function Xzt(t){this.b=t}function Cpt(t){this.c=t}function vR(t){this.e=t}function Qzt(t){this.a=t}function mR(t){this.a=t}function yR(t){this.a=t}function Ztt(t){this.a=t}function Zzt(t){this.a=t}function Jzt(t){this.d=t}function _pt(t){this.a=t}function Spt(t){this.a=t}function yw(t){this.e=t}function WYe(){this.a=0}function B3(){IUt(this)}function he(){ant(this)}function _r(){Xu(this)}function Jtt(){NXt(this)}function tqt(){}function xw(){this.c=oLt}function YYe(t,e){e.Wb(t)}function eqt(t,e){t.b+=e}function nqt(t){t.b=new wet}function it(t){return t.e}function KYe(t){return t.a}function XYe(t){return t.a}function QYe(t){return t.a}function ZYe(t){return t.a}function JYe(t){return t.a}function tKe(){return null}function eKe(){return null}function nKe(){dbt(),dxn()}function rKe(t){t.b.tf(t.e)}function MC(t,e){t.b=e-t.b}function DC(t,e){t.a=e-t.a}function rqt(t,e){e.ad(t.a)}function iKe(t,e){Bs(e,t)}function sKe(t,e,n){t.Od(n,e)}function dM(t,e){t.e=e,e.b=t}function Apt(t){gd(),this.a=t}function iqt(t){gd(),this.a=t}function sqt(t){gd(),this.a=t}function Lpt(t){Wm(),this.a=t}function aqt(t){I8(),Out.be(t)}function Kb(){pWt.call(this)}function Mpt(){pWt.call(this)}function Dpt(){Kb.call(this)}function tet(){Kb.call(this)}function oqt(){Kb.call(this)}function gM(){Kb.call(this)}function Ou(){Kb.call(this)}function IC(){Kb.call(this)}function Or(){Kb.call(this)}function rh(){Kb.call(this)}function cqt(){Kb.call(this)}function lc(){Kb.call(this)}function uqt(){Kb.call(this)}function lqt(){this.a=this}function xR(){this.Bb|=256}function hqt(){this.b=new dUt}function Ipt(){Ipt=Z,new _r}function Opt(){Dpt.call(this)}function fqt(t,e){t.length=e}function kR(t,e){le(t.a,e)}function aKe(t,e){V4t(t.c,e)}function oKe(t,e){Fs(t.b,e)}function cKe(t,e){Jz(t.a,e)}function uKe(t,e){Wit(t.a,e)}function n8(t,e){mi(t.e,e)}function Tx(t){pq(t.c,t.b)}function lKe(t,e){t.kc().Nb(e)}function Ppt(t){this.a=chn(t)}function Hs(){this.a=new _r}function dqt(){this.a=new _r}function ER(){this.a=new he}function eet(){this.a=new he}function Fpt(){this.a=new he}function Ch(){this.a=new uw}function Xb(){this.a=new VJt}function Npt(){this.a=new H5}function Bpt(){this.a=new LVt}function gqt(){this.a=new wZt}function Rpt(){this.a=new OQt}function jpt(){this.a=new rYt}function pqt(){this.a=new he}function $pt(){this.a=new he}function bqt(){this.a=new he}function wqt(){this.a=new he}function vqt(){this.d=new he}function mqt(){this.a=new Hs}function yqt(){this.a=new _r}function xqt(){this.b=new _r}function kqt(){this.b=new he}function zpt(){this.e=new he}function Eqt(){this.d=new he}function Tqt(){this.a=new ttt}function Cqt(){he.call(this)}function qpt(){ER.call(this)}function _qt(){Ij.call(this)}function Sqt(){$pt.call(this)}function net(){OC.call(this)}function OC(){tqt.call(this)}function Cx(){tqt.call(this)}function Hpt(){Cx.call(this)}function Aqt(){lQt.call(this)}function Lqt(){lQt.call(this)}function Mqt(){Xpt.call(this)}function Dqt(){Xpt.call(this)}function Iqt(){Xpt.call(this)}function Oqt(){Qpt.call(this)}function Pu(){Zi.call(this)}function Vpt(){Em.call(this)}function Gpt(){Em.call(this)}function Pqt(){Xqt.call(this)}function Fqt(){Xqt.call(this)}function Nqt(){_r.call(this)}function Bqt(){_r.call(this)}function Rqt(){_r.call(this)}function jqt(){Hs.call(this)}function ret(){ine.call(this)}function $qt(){xR.call(this)}function iet(){x2t.call(this)}function set(){x2t.call(this)}function Upt(){_r.call(this)}function aet(){_r.call(this)}function zqt(){_r.call(this)}function Wpt(){Pk.call(this)}function qqt(){Pk.call(this)}function Hqt(){Wpt.call(this)}function Vqt(){XL.call(this)}function Gqt(t){Lee.call(this,t)}function Uqt(t){Lee.call(this,t)}function Ypt(t){nM.call(this,t)}function Kpt(t){mVt.call(this,t)}function hKe(t){Kpt.call(this,t)}function fKe(t){mVt.call(this,t)}function r8(){this.a=new Zi}function Xpt(){this.a=new Hs}function Qpt(){this.a=new _r}function Wqt(){this.a=new he}function Yqt(){this.j=new he}function Zpt(){this.a=new nB}function Kqt(){this.a=new VHt}function Xqt(){this.a=new cB}function oet(){oet=Z,Sut=new gHt}function cet(){cet=Z,_ut=new dHt}function PC(){PC=Z,Cut=new A}function TR(){TR=Z,Mut=new dWt}function dKe(t){Kpt.call(this,t)}function gKe(t){Kpt.call(this,t)}function Qqt(t){$rt.call(this,t)}function Zqt(t){$rt.call(this,t)}function Jqt(t){CYt.call(this,t)}function uet(t){Pgn.call(this,t)}function kw(t){Om.call(this,t)}function FC(t){NR.call(this,t)}function Jpt(t){NR.call(this,t)}function tHt(t){NR.call(this,t)}function Vo(t){jKt.call(this,t)}function eHt(t){Vo.call(this,t)}function _x(){Qk.call(this,{})}function CR(t){w8(),this.a=t}function NC(t){t.b=null,t.c=0}function pKe(t,e){t.e=e,nue(t,e)}function bKe(t,e){t.a=e,ypn(t)}function het(t,e,n){t.a[e.g]=n}function wKe(t,e,n){Ndn(n,t,e)}function vKe(t,e){HZe(e.i,t.n)}function nHt(t,e){Vun(t).td(e)}function mKe(t,e){return t*t/e}function rHt(t,e){return t.g-e.g}function yKe(t){return new EC(t)}function xKe(t){return new Um(t)}function _R(t){Vo.call(this,t)}function yo(t){Vo.call(this,t)}function iHt(t){Vo.call(this,t)}function fet(t){jKt.call(this,t)}function det(t){wyt(),this.a=t}function sHt(t){DYt(),this.a=t}function Mm(t){Vnt(),this.f=t}function get(t){Vnt(),this.f=t}function i8(t){Vo.call(this,t)}function Fn(t){Vo.call(this,t)}function No(t){Vo.call(this,t)}function aHt(t){Vo.call(this,t)}function Sx(t){Vo.call(this,t)}function je(t){return On(t),t}function Xt(t){return On(t),t}function pM(t){return On(t),t}function tbt(t){return On(t),t}function kKe(t){return On(t),t}function BC(t){return t.b==t.c}function Dm(t){return!!t&&t.b}function EKe(t){return!!t&&t.k}function TKe(t){return!!t&&t.j}function yl(t){On(t),this.a=t}function ebt(t){return g2(t),t}function RC(t){dvt(t,t.length)}function Sg(t){Vo.call(this,t)}function ud(t){Vo.call(this,t)}function pet(t){Vo.call(this,t)}function R3(t){Vo.call(this,t)}function jC(t){Vo.call(this,t)}function Nr(t){Vo.call(this,t)}function bet(t){j2t.call(this,t,0)}function wet(){Wvt.call(this,12,3)}function nbt(){nbt=Z,rEt=new pt}function oHt(){oHt=Z,nEt=new _}function SR(){SR=Z,cS=new mt}function cHt(){cHt=Z,Bge=new ft}function uHt(){throw it(new Or)}function rbt(){throw it(new Or)}function lHt(){throw it(new Or)}function CKe(){throw it(new Or)}function _Ke(){throw it(new Or)}function SKe(){throw it(new Or)}function vet(){this.a=Br(Lr(Ya))}function Ax(t){gd(),this.a=Lr(t)}function hHt(t,e){t.Td(e),e.Sd(t)}function AKe(t,e){t.a.ec().Mc(e)}function LKe(t,e,n){t.c.lf(e,n)}function ibt(t){yo.call(this,t)}function ld(t){Fn.call(this,t)}function Ag(){yx.call(this,"")}function $C(){yx.call(this,"")}function Mp(){yx.call(this,"")}function Im(){yx.call(this,"")}function sbt(t){yo.call(this,t)}function s8(t){T.call(this,t)}function met(t){Ej.call(this,t)}function fHt(t){s8.call(this,t)}function dHt(){xC.call(this,null)}function gHt(){xC.call(this,null)}function AR(){AR=Z,I8()}function pHt(){pHt=Z,Wge=u0n()}function bHt(t){return t.a?t.b:0}function MKe(t){return t.a?t.b:0}function DKe(t,e){return t.a-e.a}function IKe(t,e){return t.a-e.a}function OKe(t,e){return t.a-e.a}function LR(t,e){return Bmt(t,e)}function ct(t,e){return NQt(t,e)}function PKe(t,e){return e in t.a}function wHt(t,e){return t.f=e,t}function FKe(t,e){return t.b=e,t}function vHt(t,e){return t.c=e,t}function NKe(t,e){return t.g=e,t}function abt(t,e){return t.a=e,t}function obt(t,e){return t.f=e,t}function BKe(t,e){return t.k=e,t}function cbt(t,e){return t.a=e,t}function RKe(t,e){return t.e=e,t}function ubt(t,e){return t.e=e,t}function jKe(t,e){return t.f=e,t}function $Ke(t,e){t.b=!0,t.d=e}function zKe(t,e){t.b=new xo(e)}function qKe(t,e,n){e.td(t.a[n])}function HKe(t,e,n){e.we(t.a[n])}function VKe(t,e){return t.b-e.b}function GKe(t,e){return t.g-e.g}function UKe(t,e){return t.s-e.s}function WKe(t,e){return t?0:e-1}function mHt(t,e){return t?0:e-1}function YKe(t,e){return t?e-1:0}function KKe(t,e){return e.Yf(t)}function Ew(t,e){return t.b=e,t}function MR(t,e){return t.a=e,t}function Tw(t,e){return t.c=e,t}function Cw(t,e){return t.d=e,t}function _w(t,e){return t.e=e,t}function lbt(t,e){return t.f=e,t}function zC(t,e){return t.a=e,t}function a8(t,e){return t.b=e,t}function o8(t,e){return t.c=e,t}function Ze(t,e){return t.c=e,t}function kn(t,e){return t.b=e,t}function Je(t,e){return t.d=e,t}function tn(t,e){return t.e=e,t}function XKe(t,e){return t.f=e,t}function en(t,e){return t.g=e,t}function nn(t,e){return t.a=e,t}function rn(t,e){return t.i=e,t}function sn(t,e){return t.j=e,t}function yHt(t,e){return t.k=e,t}function QKe(t,e){return t.j=e,t}function ZKe(t,e){nb(),Uo(e,t)}function JKe(t,e,n){Wen(t.a,e,n)}function xHt(t){RXt.call(this,t)}function hbt(t){RXt.call(this,t)}function DR(t){Snt.call(this,t)}function kHt(t){bhn.call(this,t)}function Dp(t){Qw.call(this,t)}function EHt(t){prt.call(this,t)}function THt(t){prt.call(this,t)}function CHt(){b2t.call(this,"")}function Ca(){this.a=0,this.b=0}function _Ht(){this.b=0,this.a=0}function SHt(t,e){t.b=0,ry(t,e)}function tXe(t,e){t.c=e,t.b=!0}function AHt(t,e){return t.c._b(e)}function Vf(t){return t.e&&t.e()}function yet(t){return t?t.d:null}function LHt(t,e){return eie(t.b,e)}function eXe(t){return t?t.g:null}function nXe(t){return t?t.i:null}function Ip(t){return P0(t),t.o}function Sw(){Sw=Z,G4e=ydn()}function MHt(){MHt=Z,na=I0n()}function c8(){c8=Z,aLt=kdn()}function DHt(){DHt=Z,L5e=xdn()}function fbt(){fbt=Z,pc=wpn()}function dbt(){dbt=Z,Ab=K8()}function IHt(){throw it(new Or)}function OHt(){throw it(new Or)}function PHt(){throw it(new Or)}function FHt(){throw it(new Or)}function NHt(){throw it(new Or)}function BHt(){throw it(new Or)}function IR(t){this.a=new Lx(t)}function gbt(t){Ihe(),_xn(this,t)}function Op(t){this.a=new Ynt(t)}function j3(t,e){for(;t.ye(e););}function pbt(t,e){for(;t.sd(e););}function $3(t,e){return t.a+=e,t}function xet(t,e){return t.a+=e,t}function Lg(t,e){return t.a+=e,t}function Aw(t,e){return t.a+=e,t}function qC(t){return Vp(t),t.a}function OR(t){return t.b!=t.d.c}function RHt(t){return t.l|t.m<<22}function bbt(t,e){return t.d[e.p]}function jHt(t,e){return avn(t,e)}function wbt(t,e,n){t.splice(e,n)}function $Ht(t){t.c?Eue(t):Tue(t)}function PR(t){this.a=0,this.b=t}function zHt(){this.a=new vI(m_t)}function qHt(){this.b=new vI(s_t)}function HHt(){this.b=new vI(Zht)}function VHt(){this.b=new vI(Zht)}function GHt(){throw it(new Or)}function UHt(){throw it(new Or)}function WHt(){throw it(new Or)}function YHt(){throw it(new Or)}function KHt(){throw it(new Or)}function XHt(){throw it(new Or)}function QHt(){throw it(new Or)}function ZHt(){throw it(new Or)}function JHt(){throw it(new Or)}function tVt(){throw it(new Or)}function rXe(){throw it(new lc)}function iXe(){throw it(new lc)}function bM(t){this.a=new eVt(t)}function eVt(t){pcn(this,t,p0n())}function wM(t){return!t||kXt(t)}function vM(t){return Y1[t]!=-1}function sXe(){ZH!=0&&(ZH=0),JH=-1}function nVt(){Tut==null&&(Tut=[])}function aXe(t,e){tat(Wt(t.a),e)}function oXe(t,e){tat(Wt(t.a),e)}function mM(t,e){K3.call(this,t,e)}function u8(t,e){mM.call(this,t,e)}function vbt(t,e){this.b=t,this.c=e}function rVt(t,e){this.b=t,this.a=e}function iVt(t,e){this.a=t,this.b=e}function sVt(t,e){this.a=t,this.b=e}function aVt(t,e){this.a=t,this.b=e}function oVt(t,e){this.a=t,this.b=e}function cVt(t,e){this.a=t,this.b=e}function uVt(t,e){this.a=t,this.b=e}function lVt(t,e){this.a=t,this.b=e}function hVt(t,e){this.a=t,this.b=e}function fVt(t,e){this.b=t,this.a=e}function dVt(t,e){this.b=t,this.a=e}function gVt(t,e){this.b=t,this.a=e}function pVt(t,e){this.b=t,this.a=e}function Vr(t,e){this.f=t,this.g=e}function l8(t,e){this.e=t,this.d=e}function Lw(t,e){this.g=t,this.i=e}function ket(t,e){this.a=t,this.b=e}function bVt(t,e){this.a=t,this.f=e}function wVt(t,e){this.b=t,this.c=e}function cXe(t,e){this.a=t,this.b=e}function vVt(t,e){this.a=t,this.b=e}function Eet(t,e){this.a=t,this.b=e}function mVt(t){A2t(t.dc()),this.c=t}function FR(t){this.b=u(Lr(t),83)}function yVt(t){this.a=u(Lr(t),83)}function Om(t){this.a=u(Lr(t),15)}function xVt(t){this.a=u(Lr(t),15)}function NR(t){this.b=u(Lr(t),47)}function BR(){this.q=new b.Date}function Gd(){Gd=Z,vEt=new Ct}function h8(){h8=Z,a7=new Ot}function HC(t){return t.f.c+t.g.c}function yM(t,e){return t.b.Hc(e)}function kVt(t,e){return t.b.Ic(e)}function EVt(t,e){return t.b.Qc(e)}function TVt(t,e){return t.b.Hc(e)}function CVt(t,e){return t.c.uc(e)}function I0(t,e){return t.a._b(e)}function _Vt(t,e){return yi(t.c,e)}function SVt(t,e){return Tl(t.b,e)}function AVt(t,e){return t>e&&e0}function Cet(t,e){return yc(t,e)<0}function KC(t,e){return t.a.get(e)}function xXe(t,e){return e.split(t)}function WVt(t,e){return Tl(t.e,e)}function _bt(t){return On(t),!1}function WR(t){_n.call(this,t,21)}function kXe(t,e){TQt.call(this,t,e)}function YR(t,e){Vr.call(this,t,e)}function _et(t,e){Vr.call(this,t,e)}function Sbt(t){ort(),CYt.call(this,t)}function Abt(t,e){AKt(t,t.length,e)}function CM(t,e){rXt(t,t.length,e)}function EXe(t,e,n){e.ud(t.a.Ge(n))}function TXe(t,e,n){e.we(t.a.Fe(n))}function CXe(t,e,n){e.td(t.a.Kb(n))}function _Xe(t,e,n){t.Mb(n)&&e.td(n)}function XC(t,e,n){t.splice(e,0,n)}function SXe(t,e){return Nu(t.e,e)}function KR(t,e){this.d=t,this.e=e}function YVt(t,e){this.b=t,this.a=e}function KVt(t,e){this.b=t,this.a=e}function Lbt(t,e){this.b=t,this.a=e}function XVt(t,e){this.a=t,this.b=e}function QVt(t,e){this.a=t,this.b=e}function ZVt(t,e){this.a=t,this.b=e}function JVt(t,e){this.a=t,this.b=e}function Dx(t,e){this.a=t,this.b=e}function Mbt(t,e){this.b=t,this.a=e}function Dbt(t,e){this.b=t,this.a=e}function XR(t,e){Vr.call(this,t,e)}function QR(t,e){Vr.call(this,t,e)}function Ibt(t,e){Vr.call(this,t,e)}function Obt(t,e){Vr.call(this,t,e)}function z3(t,e){Vr.call(this,t,e)}function Aet(t,e){Vr.call(this,t,e)}function Let(t,e){Vr.call(this,t,e)}function Met(t,e){Vr.call(this,t,e)}function ZR(t,e){Vr.call(this,t,e)}function Pbt(t,e){Vr.call(this,t,e)}function Det(t,e){Vr.call(this,t,e)}function _M(t,e){Vr.call(this,t,e)}function JR(t,e){Vr.call(this,t,e)}function Iet(t,e){Vr.call(this,t,e)}function QC(t,e){Vr.call(this,t,e)}function Fbt(t,e){Vr.call(this,t,e)}function ms(t,e){Vr.call(this,t,e)}function tj(t,e){Vr.call(this,t,e)}function tGt(t,e){this.a=t,this.b=e}function eGt(t,e){this.a=t,this.b=e}function nGt(t,e){this.a=t,this.b=e}function rGt(t,e){this.a=t,this.b=e}function iGt(t,e){this.a=t,this.b=e}function sGt(t,e){this.a=t,this.b=e}function aGt(t,e){this.a=t,this.b=e}function oGt(t,e){this.a=t,this.b=e}function cGt(t,e){this.a=t,this.b=e}function Nbt(t,e){this.b=t,this.a=e}function uGt(t,e){this.b=t,this.a=e}function lGt(t,e){this.b=t,this.a=e}function hGt(t,e){this.b=t,this.a=e}function g8(t,e){this.c=t,this.d=e}function fGt(t,e){this.e=t,this.d=e}function dGt(t,e){this.a=t,this.b=e}function gGt(t,e){this.b=e,this.c=t}function ej(t,e){Vr.call(this,t,e)}function SM(t,e){Vr.call(this,t,e)}function Oet(t,e){Vr.call(this,t,e)}function ZC(t,e){Vr.call(this,t,e)}function Bbt(t,e){Vr.call(this,t,e)}function Pet(t,e){Vr.call(this,t,e)}function Fet(t,e){Vr.call(this,t,e)}function AM(t,e){Vr.call(this,t,e)}function Rbt(t,e){Vr.call(this,t,e)}function Net(t,e){Vr.call(this,t,e)}function JC(t,e){Vr.call(this,t,e)}function jbt(t,e){Vr.call(this,t,e)}function t9(t,e){Vr.call(this,t,e)}function e9(t,e){Vr.call(this,t,e)}function Fm(t,e){Vr.call(this,t,e)}function Bet(t,e){Vr.call(this,t,e)}function Ret(t,e){Vr.call(this,t,e)}function $bt(t,e){Vr.call(this,t,e)}function n9(t,e){Vr.call(this,t,e)}function jet(t,e){Vr.call(this,t,e)}function nj(t,e){Vr.call(this,t,e)}function LM(t,e){Vr.call(this,t,e)}function MM(t,e){Vr.call(this,t,e)}function Ix(t,e){Vr.call(this,t,e)}function $et(t,e){Vr.call(this,t,e)}function zbt(t,e){Vr.call(this,t,e)}function zet(t,e){Vr.call(this,t,e)}function qet(t,e){Vr.call(this,t,e)}function qbt(t,e){Vr.call(this,t,e)}function Het(t,e){Vr.call(this,t,e)}function Vet(t,e){Vr.call(this,t,e)}function Get(t,e){Vr.call(this,t,e)}function Uet(t,e){Vr.call(this,t,e)}function Hbt(t,e){Vr.call(this,t,e)}function pGt(t,e){this.b=t,this.a=e}function bGt(t,e){this.a=t,this.b=e}function wGt(t,e){this.a=t,this.b=e}function vGt(t,e){this.a=t,this.b=e}function mGt(t,e){this.a=t,this.b=e}function Vbt(t,e){Vr.call(this,t,e)}function Gbt(t,e){Vr.call(this,t,e)}function yGt(t,e){this.b=t,this.d=e}function Ubt(t,e){Vr.call(this,t,e)}function Wbt(t,e){Vr.call(this,t,e)}function xGt(t,e){this.a=t,this.b=e}function kGt(t,e){this.a=t,this.b=e}function rj(t,e){Vr.call(this,t,e)}function r9(t,e){Vr.call(this,t,e)}function Ybt(t,e){Vr.call(this,t,e)}function Kbt(t,e){Vr.call(this,t,e)}function Xbt(t,e){Vr.call(this,t,e)}function Wet(t,e){Vr.call(this,t,e)}function Qbt(t,e){Vr.call(this,t,e)}function Yet(t,e){Vr.call(this,t,e)}function ij(t,e){Vr.call(this,t,e)}function Ket(t,e){Vr.call(this,t,e)}function Xet(t,e){Vr.call(this,t,e)}function DM(t,e){Vr.call(this,t,e)}function Qet(t,e){Vr.call(this,t,e)}function Zbt(t,e){Vr.call(this,t,e)}function IM(t,e){Vr.call(this,t,e)}function Jbt(t,e){Vr.call(this,t,e)}function AXe(t,e){return Nu(t.c,e)}function LXe(t,e){return Nu(e.b,t)}function MXe(t,e){return-t.b.Je(e)}function t2t(t,e){return Nu(t.g,e)}function OM(t,e){Vr.call(this,t,e)}function Ox(t,e){Vr.call(this,t,e)}function EGt(t,e){this.a=t,this.b=e}function TGt(t,e){this.a=t,this.b=e}function $e(t,e){this.a=t,this.b=e}function i9(t,e){Vr.call(this,t,e)}function s9(t,e){Vr.call(this,t,e)}function PM(t,e){Vr.call(this,t,e)}function Zet(t,e){Vr.call(this,t,e)}function sj(t,e){Vr.call(this,t,e)}function a9(t,e){Vr.call(this,t,e)}function Jet(t,e){Vr.call(this,t,e)}function aj(t,e){Vr.call(this,t,e)}function q3(t,e){Vr.call(this,t,e)}function FM(t,e){Vr.call(this,t,e)}function o9(t,e){Vr.call(this,t,e)}function c9(t,e){Vr.call(this,t,e)}function NM(t,e){Vr.call(this,t,e)}function oj(t,e){Vr.call(this,t,e)}function H3(t,e){Vr.call(this,t,e)}function cj(t,e){Vr.call(this,t,e)}function CGt(t,e){this.a=t,this.b=e}function _Gt(t,e){this.a=t,this.b=e}function SGt(t,e){this.a=t,this.b=e}function AGt(t,e){this.a=t,this.b=e}function LGt(t,e){this.a=t,this.b=e}function MGt(t,e){this.a=t,this.b=e}function fa(t,e){this.a=t,this.b=e}function uj(t,e){Vr.call(this,t,e)}function DGt(t,e){this.a=t,this.b=e}function IGt(t,e){this.a=t,this.b=e}function OGt(t,e){this.a=t,this.b=e}function PGt(t,e){this.a=t,this.b=e}function FGt(t,e){this.a=t,this.b=e}function NGt(t,e){this.a=t,this.b=e}function BGt(t,e){this.b=t,this.a=e}function RGt(t,e){this.b=t,this.a=e}function jGt(t,e){this.b=t,this.a=e}function $Gt(t,e){this.b=t,this.a=e}function zGt(t,e){this.a=t,this.b=e}function qGt(t,e){this.a=t,this.b=e}function DXe(t,e){own(t.a,u(e,56))}function HGt(t,e){mon(t.a,u(e,11))}function IXe(t,e){return k8(),e!=t}function VGt(){return pHt(),new Wge}function GGt(){_rt(),this.b=new Hs}function UGt(){kq(),this.a=new Hs}function WGt(){Uvt(),evt.call(this)}function Px(t,e){Vr.call(this,t,e)}function YGt(t,e){this.a=t,this.b=e}function KGt(t,e){this.a=t,this.b=e}function lj(t,e){this.a=t,this.b=e}function XGt(t,e){this.a=t,this.b=e}function QGt(t,e){this.a=t,this.b=e}function ZGt(t,e){this.a=t,this.b=e}function JGt(t,e){this.d=t,this.b=e}function e2t(t,e){this.d=t,this.e=e}function tUt(t,e){this.f=t,this.c=e}function BM(t,e){this.b=t,this.c=e}function n2t(t,e){this.i=t,this.g=e}function eUt(t,e){this.e=t,this.a=e}function nUt(t,e){this.a=t,this.b=e}function r2t(t,e){t.i=null,fz(t,e)}function OXe(t,e){t&&ki(dP,t,e)}function rUt(t,e){return ist(t.a,e)}function hj(t){return XD(t.c,t.b)}function ec(t){return t?t.dd():null}function Vt(t){return t??null}function Nm(t){return typeof t===b6}function Bm(t){return typeof t===Nxt}function ra(t){return typeof t===Vat}function Np(t,e){return t.Hd().Xb(e)}function fj(t,e){return Kcn(t.Kc(),e)}function Dw(t,e){return yc(t,e)==0}function PXe(t,e){return yc(t,e)>=0}function u9(t,e){return yc(t,e)!=0}function FXe(t){return""+(On(t),t)}function RM(t,e){return t.substr(e)}function iUt(t){return cl(t),t.d.gc()}function tnt(t){return Dbn(t,t.c),t}function dj(t){return k9(t==null),t}function l9(t,e){return t.a+=""+e,t}function go(t,e){return t.a+=""+e,t}function h9(t,e){return t.a+=""+e,t}function hc(t,e){return t.a+=""+e,t}function Gr(t,e){return t.a+=""+e,t}function i2t(t,e){return t.a+=""+e,t}function sUt(t,e){fs(t,e,t.a,t.a.a)}function Zb(t,e){fs(t,e,t.c.b,t.c)}function NXe(t,e,n){gae(e,Wst(t,n))}function BXe(t,e,n){gae(e,Wst(t,n))}function RXe(t,e){Mon(new nr(t),e)}function aUt(t,e){t.q.setTime(Yw(e))}function oUt(t,e){lvt.call(this,t,e)}function cUt(t,e){lvt.call(this,t,e)}function ent(t,e){lvt.call(this,t,e)}function uUt(t){Xu(this),Y9(this,t)}function s2t(t){return An(t,0),null}function Gf(t){return t.a=0,t.b=0,t}function lUt(t,e){return t.a=e.g+1,t}function jXe(t,e){return t.j[e.p]==2}function a2t(t){return xnn(u(t,79))}function hUt(){hUt=Z,zpe=Wr(lst())}function fUt(){fUt=Z,i2e=Wr(Yce())}function dUt(){this.b=new Lx(ty(12))}function gUt(){this.b=0,this.a=!1}function pUt(){this.b=0,this.a=!1}function f9(t){this.a=t,pC.call(this)}function bUt(t){this.a=t,pC.call(this)}function mn(t,e){Ps.call(this,t,e)}function nnt(t,e){qm.call(this,t,e)}function V3(t,e){n2t.call(this,t,e)}function rnt(t,e){tE.call(this,t,e)}function wUt(t,e){jM.call(this,t,e)}function ii(t,e){GR(),ki(dU,t,e)}function int(t,e){return Pl(t.a,0,e)}function vUt(t,e){return t.a.a.a.cc(e)}function mUt(t,e){return Vt(t)===Vt(e)}function $Xe(t,e){return Ms(t.a,e.a)}function zXe(t,e){return pu(t.a,e.a)}function qXe(t,e){return tXt(t.a,e.a)}function hd(t,e){return t.indexOf(e)}function Iw(t,e){return t==e?0:t?1:-1}function gj(t){return t<10?"0"+t:""+t}function HXe(t){return Lr(t),new f9(t)}function yUt(t){return iu(t.l,t.m,t.h)}function p8(t){return ps((On(t),t))}function VXe(t){return ps((On(t),t))}function xUt(t,e){return pu(t.g,e.g)}function Bo(t){return typeof t===Nxt}function GXe(t){return t==Lv||t==Fy}function UXe(t){return t==Lv||t==Py}function o2t(t){return Ro(t.b.b,t,0)}function kUt(t){this.a=VGt(),this.b=t}function EUt(t){this.a=VGt(),this.b=t}function WXe(t,e){return le(t.a,e),e}function YXe(t,e){return le(t.c,e),t}function TUt(t,e){return $l(t.a,e),t}function KXe(t,e){return df(),e.a+=t}function XXe(t,e){return df(),e.a+=t}function QXe(t,e){return df(),e.c+=t}function c2t(t,e){$8(t,0,t.length,e)}function O0(){kt.call(this,new a2)}function CUt(){Wj.call(this,0,0,0,0)}function Fx(){ah.call(this,0,0,0,0)}function xo(t){this.a=t.a,this.b=t.b}function Bp(t){return t==zh||t==Cf}function b8(t){return t==rg||t==ng}function _Ut(t){return t==n5||t==e5}function G3(t){return t!=G1&&t!=Tb}function xl(t){return t.Lg()&&t.Mg()}function SUt(t){return u$(u(t,118))}function pj(t){return $l(new Vs,t)}function AUt(t,e){return new tE(e,t)}function ZXe(t,e){return new tE(e,t)}function u2t(t,e,n){iz(t,e),sz(t,n)}function bj(t,e,n){tv(t,e),Jw(t,n)}function x1(t,e,n){ku(t,e),Eu(t,n)}function wj(t,e,n){V8(t,e),U8(t,n)}function vj(t,e,n){G8(t,e),W8(t,n)}function snt(t,e){aE(t,e),Y8(t,t.D)}function l2t(t){tUt.call(this,t,!0)}function LUt(t,e,n){J2t.call(this,t,e,n)}function Rp(t){rb(),Jcn.call(this,t)}function MUt(){YR.call(this,"Head",1)}function DUt(){YR.call(this,"Tail",3)}function ant(t){t.c=Nt(Qn,De,1,0,5,1)}function IUt(t){t.a=Nt(Qn,De,1,8,5,1)}function OUt(t){xu(t.xf(),new ur(t))}function U3(t){return t!=null?Hi(t):0}function JXe(t,e){return ey(e,T1(t))}function tQe(t,e){return ey(e,T1(t))}function eQe(t,e){return t[t.length]=e}function nQe(t,e){return t[t.length]=e}function h2t(t){return een(t.b.Kc(),t.a)}function rQe(t,e){return hz(srt(t.d),e)}function iQe(t,e){return hz(srt(t.g),e)}function sQe(t,e){return hz(srt(t.j),e)}function eo(t,e){Ps.call(this,t.b,e)}function Ow(t){Wj.call(this,t,t,t,t)}function f2t(t){return t.b&&Sat(t),t.a}function d2t(t){return t.b&&Sat(t),t.c}function aQe(t,e){$1||(t.b=e)}function ont(t,e,n){return ts(t,e,n),n}function PUt(t,e,n){ts(t.c[e.g],e.g,n)}function oQe(t,e,n){u(t.c,69).Xh(e,n)}function cQe(t,e,n){x1(n,n.i+t,n.j+e)}function uQe(t,e){Dr(Lc(t.a),YQt(e))}function lQe(t,e){Dr(al(t.a),KQt(e))}function d9(t){gi(),yw.call(this,t)}function hQe(t){return t==null?0:Hi(t)}function FUt(){FUt=Z,Dht=new i_(_ft)}function Pr(){Pr=Z,new NUt,new he}function NUt(){new _r,new _r,new _r}function g2t(){g2t=Z,Ipt(),iEt=new _r}function k1(){k1=Z,b.Math.log(2)}function ih(){ih=Z,p0=(qVt(),Q4e)}function fQe(){throw it(new Sg(kge))}function dQe(){throw it(new Sg(kge))}function gQe(){throw it(new Sg(Ege))}function pQe(){throw it(new Sg(Ege))}function BUt(t){this.a=t,Iwt.call(this,t)}function cnt(t){this.a=t,FR.call(this,t)}function unt(t){this.a=t,FR.call(this,t)}function Zs(t,e){$nt(t.c,t.c.length,e)}function Go(t){return t.ae?1:0}function jUt(t,e){return yc(t,e)>0?t:e}function iu(t,e,n){return{l:t,m:e,h:n}}function bQe(t,e){t.a!=null&&HGt(e,t.a)}function $Ut(t){t.a=new xt,t.c=new xt}function mj(t){this.b=t,this.a=new he}function zUt(t){this.b=new Ce,this.a=t}function b2t(t){cwt.call(this),this.a=t}function qUt(){YR.call(this,"Range",2)}function HUt(){l4t(),this.a=new vI(I7t)}function wQe(t,e){Lr(e),Q3(t).Jc(new st)}function vQe(t,e){return Fl(),e.n.b+=t}function mQe(t,e,n){return ki(t.g,n,e)}function yQe(t,e,n){return ki(t.k,n,e)}function xQe(t,e){return ki(t.a,e.a,e)}function W3(t,e,n){return M3t(e,n,t.c)}function w2t(t){return new $e(t.c,t.d)}function kQe(t){return new $e(t.c,t.d)}function nc(t){return new $e(t.a,t.b)}function VUt(t,e){return G4n(t.a,e,null)}function EQe(t){Oa(t,null),oa(t,null)}function GUt(t){Art(t,null),Lrt(t,null)}function UUt(){jM.call(this,null,null)}function WUt(){Sj.call(this,null,null)}function v2t(t){this.a=t,_r.call(this)}function TQe(t){this.b=(wn(),new q(t))}function yj(t){t.j=Nt(wEt,ee,310,0,0,1)}function CQe(t,e,n){t.c.Vc(e,u(n,133))}function _Qe(t,e,n){t.c.ji(e,u(n,133))}function YUt(t,e){xr(t),t.Gc(u(e,15))}function g9(t,e){return o4n(t.c,t.b,e)}function SQe(t,e){return new bWt(t.Kc(),e)}function lnt(t,e){return _un(t.Kc(),e)!=-1}function m2t(t,e){return t.a.Bc(e)!=null}function xj(t){return t.Ob()?t.Pb():null}function KUt(t){return Mh(t,0,t.length)}function _t(t,e){return t!=null&&gst(t,e)}function AQe(t,e){t.q.setHours(e),E_(t,e)}function XUt(t,e){t.c&&(Hwt(e),kQt(e))}function LQe(t,e,n){u(t.Kb(n),164).Nb(e)}function MQe(t,e,n){return R4n(t,e,n),n}function QUt(t,e,n){t.a=e^1502,t.b=n^Eot}function hnt(t,e,n){return t.a[e.g][n.g]}function E1(t,e){return t.a[e.c.p][e.p]}function DQe(t,e){return t.e[e.c.p][e.p]}function IQe(t,e){return t.c[e.c.p][e.p]}function OQe(t,e){return t.j[e.p]=q2n(e)}function PQe(t,e){return kmt(t.f,e.tg())}function FQe(t,e){return kmt(t.b,e.tg())}function NQe(t,e){return t.a0?e*e/t:e*e*100}function oZe(t,e){return t>0?e/(t*t):e*100}function cZe(t,e,n){return le(e,yie(t,n))}function uZe(t,e,n){V$(),t.Xe(e)&&n.td(t)}function m8(t,e,n){var r;r=t.Zc(e),r.Rb(n)}function jm(t,e,n){return t.a+=e,t.b+=n,t}function lZe(t,e,n){return t.a*=e,t.b*=n,t}function qM(t,e,n){return t.a-=e,t.b-=n,t}function H2t(t,e){return t.a=e.a,t.b=e.b,t}function Mj(t){return t.a=-t.a,t.b=-t.b,t}function AWt(t){this.c=t,this.a=1,this.b=1}function LWt(t){this.c=t,ku(t,0),Eu(t,0)}function MWt(t){Zi.call(this),V9(this,t)}function DWt(t){qat(),nqt(this),this.mf(t)}function IWt(t,e){YC(),jM.call(this,t,e)}function V2t(t,e){Mg(),Sj.call(this,t,e)}function OWt(t,e){Mg(),Sj.call(this,t,e)}function PWt(t,e){Mg(),V2t.call(this,t,e)}function kl(t,e,n){_l.call(this,t,e,n,2)}function vnt(t,e){ih(),Uj.call(this,t,e)}function FWt(t,e){ih(),vnt.call(this,t,e)}function G2t(t,e){ih(),vnt.call(this,t,e)}function NWt(t,e){ih(),G2t.call(this,t,e)}function U2t(t,e){ih(),Uj.call(this,t,e)}function BWt(t,e){ih(),U2t.call(this,t,e)}function RWt(t,e){ih(),Uj.call(this,t,e)}function hZe(t,e){return t.c.Fc(u(e,133))}function W2t(t,e,n){return Pq(TD(t,e),n)}function fZe(t,e,n){return e.Qk(t.e,t.c,n)}function dZe(t,e,n){return e.Rk(t.e,t.c,n)}function mnt(t,e){return Zp(t.e,u(e,49))}function gZe(t,e,n){n_(al(t.a),e,KQt(n))}function pZe(t,e,n){n_(Lc(t.a),e,YQt(n))}function Y2t(t,e){e.$modCount=t.$modCount}function m9(){m9=Z,HS=new Vi("root")}function y8(){y8=Z,pP=new Pqt,new Fqt}function jWt(){this.a=new Uw,this.b=new Uw}function K2t(){ine.call(this),this.Bb|=Ka}function $Wt(){Vr.call(this,"GROW_TREE",0)}function bZe(t){return t==null?null:P5n(t)}function wZe(t){return t==null?null:qgn(t)}function vZe(t){return t==null?null:$o(t)}function mZe(t){return t==null?null:$o(t)}function P0(t){t.o==null&&b2n(t)}function Re(t){return k9(t==null||Nm(t)),t}function ye(t){return k9(t==null||Bm(t)),t}function Br(t){return k9(t==null||ra(t)),t}function X2t(t){this.q=new b.Date(Yw(t))}function HM(t,e){this.c=t,l8.call(this,t,e)}function Dj(t,e){this.a=t,HM.call(this,t,e)}function yZe(t,e){this.d=t,ztt(this),this.b=e}function Q2t(t,e){Xrt.call(this,t),this.a=e}function Z2t(t,e){Xrt.call(this,t),this.a=e}function xZe(t){C3t.call(this,0,0),this.f=t}function J2t(t,e,n){q$.call(this,t,e,n,null)}function zWt(t,e,n){q$.call(this,t,e,n,null)}function kZe(t,e,n){return t.ue(e,n)<=0?n:e}function EZe(t,e,n){return t.ue(e,n)<=0?e:n}function TZe(t,e){return u(Xw(t.b,e),149)}function CZe(t,e){return u(Xw(t.c,e),229)}function ynt(t){return u(Ne(t.a,t.b),287)}function qWt(t){return new $e(t.c,t.d+t.a)}function HWt(t){return Fl(),_Ut(u(t,197))}function $m(){$m=Z,o7t=un((Al(),K2))}function _Ze(t,e){e.a?hvn(t,e):fnt(t.a,e.b)}function VWt(t,e){$1||le(t.a,e)}function SZe(t,e){return kM(),J8(e.d.i,t)}function AZe(t,e){return r6(),new Uue(e,t)}function dd(t,e){return sD(e,n6t),t.f=e,t}function twt(t,e,n){return n=Hl(t,e,3,n),n}function ewt(t,e,n){return n=Hl(t,e,6,n),n}function nwt(t,e,n){return n=Hl(t,e,9,n),n}function VM(t,e,n){++t.j,t.Ki(),Yrt(t,e,n)}function GWt(t,e,n){++t.j,t.Hi(e,t.oi(e,n))}function UWt(t,e,n){var r;r=t.Zc(e),r.Rb(n)}function WWt(t,e,n){return bxt(t.c,t.b,e,n)}function rwt(t,e){return(e&wi)%t.d.length}function Ps(t,e){Vi.call(this,t),this.a=e}function iwt(t,e){Cpt.call(this,t),this.a=e}function xnt(t,e){Cpt.call(this,t),this.a=e}function YWt(t,e){this.c=t,Qw.call(this,e)}function KWt(t,e){this.a=t,Xzt.call(this,e)}function GM(t,e){this.a=t,Xzt.call(this,e)}function XWt(t){this.a=(jl(t,ky),new Xc(t))}function QWt(t){this.a=(jl(t,ky),new Xc(t))}function UM(t){return!t.a&&(t.a=new at),t.a}function ZWt(t){return t>8?0:t+1}function LZe(t,e){return Nn(),t==e?0:t?1:-1}function swt(t,e,n){return zx(t,u(e,22),n)}function MZe(t,e,n){return t.apply(e,n)}function JWt(t,e,n){return t.a+=Mh(e,0,n),t}function awt(t,e){var n;return n=t.e,t.e=e,n}function DZe(t,e){var n;n=t[kot],n.call(t,e)}function IZe(t,e){var n;n=t[kot],n.call(t,e)}function zm(t,e){t.a.Vc(t.b,e),++t.b,t.c=-1}function tYt(t){Xu(t.e),t.d.b=t.d,t.d.a=t.d}function WM(t){t.b?WM(t.b):t.f.c.zc(t.e,t.d)}function OZe(t,e,n){Qb(),Att(t,e.Ce(t.a,n))}function PZe(t,e){return yet(Nie(t.a,e,!0))}function FZe(t,e){return yet(Bie(t.a,e,!0))}function ff(t,e){return LR(new Array(e),t)}function knt(t){return String.fromCharCode(t)}function NZe(t){return t==null?null:t.message}function eYt(){this.a=new he,this.b=new he}function nYt(){this.a=new H5,this.b=new hqt}function rYt(){this.b=new Ca,this.c=new he}function owt(){this.d=new Ca,this.e=new Ca}function cwt(){this.n=new Ca,this.o=new Ca}function Ij(){this.n=new Cx,this.i=new Fx}function iYt(){this.a=new XJ,this.b=new ZX}function sYt(){this.a=new he,this.d=new he}function aYt(){this.b=new Hs,this.a=new Hs}function oYt(){this.b=new _r,this.a=new _r}function cYt(){this.b=new qHt,this.a=new GQ}function uYt(){Ij.call(this),this.a=new Ca}function y9(t){oun.call(this,t,(U$(),jut))}function uwt(t,e,n,r){Wj.call(this,t,e,n,r)}function BZe(t,e,n){n!=null&&uz(e,Cst(t,n))}function RZe(t,e,n){n!=null&&lz(e,Cst(t,n))}function lwt(t,e,n){return n=Hl(t,e,11,n),n}function Li(t,e){return t.a+=e.a,t.b+=e.b,t}function ia(t,e){return t.a-=e.a,t.b-=e.b,t}function jZe(t,e){return t.n.a=(On(e),e+10)}function $Ze(t,e){return t.n.a=(On(e),e+10)}function zZe(t,e){return e==t||yE(mq(e),t)}function lYt(t,e){return ki(t.a,e,"")==null}function qZe(t,e){return kM(),!J8(e.d.i,t)}function HZe(t,e){Bp(t.f)?a2n(t,e):V0n(t,e)}function VZe(t,e){var n;return n=e.Hh(t.a),n}function qm(t,e){yo.call(this,J_+t+D2+e)}function Rx(t,e,n,r){fe.call(this,t,e,n,r)}function hwt(t,e,n,r){fe.call(this,t,e,n,r)}function hYt(t,e,n,r){hwt.call(this,t,e,n,r)}function fYt(t,e,n,r){r$.call(this,t,e,n,r)}function Ent(t,e,n,r){r$.call(this,t,e,n,r)}function fwt(t,e,n,r){r$.call(this,t,e,n,r)}function dYt(t,e,n,r){Ent.call(this,t,e,n,r)}function dwt(t,e,n,r){Ent.call(this,t,e,n,r)}function Cn(t,e,n,r){fwt.call(this,t,e,n,r)}function gYt(t,e,n,r){dwt.call(this,t,e,n,r)}function pYt(t,e,n,r){hvt.call(this,t,e,n,r)}function bYt(t,e,n){this.a=t,j2t.call(this,e,n)}function wYt(t,e,n){this.c=e,this.b=n,this.a=t}function GZe(t,e,n){return t.d=u(e.Kb(n),164)}function gwt(t,e){return t.Aj().Nh().Kh(t,e)}function pwt(t,e){return t.Aj().Nh().Ih(t,e)}function vYt(t,e){return On(t),Vt(t)===Vt(e)}function hn(t,e){return On(t),Vt(t)===Vt(e)}function Tnt(t,e){return yet(Nie(t.a,e,!1))}function Cnt(t,e){return yet(Bie(t.a,e,!1))}function UZe(t,e){return t.b.sd(new QVt(t,e))}function WZe(t,e){return t.b.sd(new ZVt(t,e))}function mYt(t,e){return t.b.sd(new JVt(t,e))}function bwt(t,e,n){return t.lastIndexOf(e,n)}function YZe(t,e,n){return Ms(t[e.b],t[n.b])}function KZe(t,e){return Jt(e,(Te(),DO),t)}function XZe(t,e){return pu(e.a.d.p,t.a.d.p)}function QZe(t,e){return pu(t.a.d.p,e.a.d.p)}function ZZe(t,e){return Ms(t.c-t.s,e.c-e.s)}function yYt(t){return t.c?Ro(t.c.a,t,0):-1}function JZe(t){return t<100?null:new Dp(t)}function jx(t){return t==Y2||t==g0||t==Gc}function xYt(t,e){return _t(e,15)&&Sue(t.c,e)}function tJe(t,e){$1||e&&(t.d=e)}function _nt(t,e){var n;return n=e,!!jyt(t,n)}function wwt(t,e){this.c=t,Jnt.call(this,t,e)}function kYt(t){this.c=t,ent.call(this,qq,0)}function EYt(t,e){sen.call(this,t,t.length,e)}function eJe(t,e,n){return u(t.c,69).lk(e,n)}function Oj(t,e,n){return u(t.c,69).mk(e,n)}function nJe(t,e,n){return fZe(t,u(e,332),n)}function vwt(t,e,n){return dZe(t,u(e,332),n)}function rJe(t,e,n){return xae(t,u(e,332),n)}function TYt(t,e,n){return egn(t,u(e,332),n)}function x9(t,e){return e==null?null:sy(t.b,e)}function mwt(t){return Bm(t)?(On(t),t):t.ke()}function Pj(t){return!isNaN(t)&&!isFinite(t)}function CYt(t){gd(),this.a=(wn(),new s8(t))}function YM(t){k8(),this.d=t,this.a=new B3}function sh(t,e,n){this.a=t,this.b=e,this.c=n}function _Yt(t,e,n){this.a=t,this.b=e,this.c=n}function SYt(t,e,n){this.d=t,this.b=n,this.a=e}function Snt(t){$Ut(this),Ah(this),Ua(this,t)}function Bu(t){ant(this),Pwt(this.c,0,t.Pc())}function AYt(t){Cl(t.a),Cte(t.c,t.b),t.b=null}function LYt(t){this.a=t,Gd(),Tu(Date.now())}function MYt(){MYt=Z,REt=new _,aV=new _}function Ant(){Ant=Z,LEt=new Ht,Yge=new Le}function DYt(){DYt=Z,n5e=Nt(Qn,De,1,0,5,1)}function IYt(){IYt=Z,y5e=Nt(Qn,De,1,0,5,1)}function ywt(){ywt=Z,x5e=Nt(Qn,De,1,0,5,1)}function gd(){gd=Z,new Apt((wn(),wn(),io))}function iJe(t){return U$(),Ur((Nte(),Qge),t)}function sJe(t){return O1(),Ur((ete(),rpe),t)}function aJe(t){return Gz(),Ur((cJt(),upe),t)}function oJe(t){return Q$(),Ur((uJt(),lpe),t)}function cJe(t){return Cq(),Ur((Kne(),hpe),t)}function uJe(t){return Kf(),Ur((ZJt(),gpe),t)}function lJe(t){return Qu(),Ur((JJt(),bpe),t)}function hJe(t){return yu(),Ur((tte(),vpe),t)}function fJe(t){return $q(),Ur((hUt(),zpe),t)}function dJe(t){return rv(),Ur((Rte(),Hpe),t)}function gJe(t){return u6(),Ur((jte(),Gpe),t)}function pJe(t){return c_(),Ur(($te(),Ype),t)}function bJe(t){return jR(),Ur(($Zt(),Kpe),t)}function wJe(t){return Z$(),Ur((lJt(),fbe),t)}function vJe(t){return q9(),Ur((nte(),Obe),t)}function mJe(t){return Wa(),Ur((bee(),Bbe),t)}function yJe(t){return nE(),Ur((Bte(),qbe),t)}function xJe(t){return iv(),Ur((rte(),Ybe),t)}function xwt(t,e){if(!t)throw it(new Fn(e))}function kJe(t){return Vn(),Ur((Bee(),Zbe),t)}function kwt(t){Wj.call(this,t.d,t.c,t.a,t.b)}function Lnt(t){Wj.call(this,t.d,t.c,t.a,t.b)}function Ewt(t,e,n){this.b=t,this.c=e,this.a=n}function Fj(t,e,n){this.b=t,this.a=e,this.c=n}function OYt(t,e,n){this.a=t,this.b=e,this.c=n}function Twt(t,e,n){this.a=t,this.b=e,this.c=n}function PYt(t,e,n){this.a=t,this.b=e,this.c=n}function Cwt(t,e,n){this.a=t,this.b=e,this.c=n}function FYt(t,e,n){this.b=t,this.a=e,this.c=n}function Nj(t,e,n){this.e=e,this.b=t,this.d=n}function EJe(t,e,n){return Qb(),t.a.Od(e,n),e}function Mnt(t){var e;return e=new Wu,e.e=t,e}function _wt(t){var e;return e=new vqt,e.b=t,e}function KM(){KM=Z,mV=new BK,yV=new RK}function df(){df=Z,f2e=new SX,d2e=new DN}function TJe(t){return Tz(),Ur((qte(),o2e),t)}function CJe(t){return I1(),Ur((Vte(),b2e),t)}function _Je(t){return Eq(),Ur((Rne(),T2e),t)}function SJe(t){return h6(),Ur(($ee(),C2e),t)}function AJe(t){return H$(),Ur((bJt(),_2e),t)}function LJe(t){return n6(),Ur((ite(),S2e),t)}function MJe(t){return b4(),Ur((hee(),v2e),t)}function DJe(t){return nv(),Ur((ote(),E2e),t)}function IJe(t){return oz(),Ur((ste(),A2e),t)}function OJe(t){return x2(),Ur((uee(),L2e),t)}function PJe(t){return LD(),Ur((fJt(),M2e),t)}function FJe(t){return d2(),Ur((ate(),I2e),t)}function NJe(t){return dq(),Ur((Vee(),O2e),t)}function BJe(t){return xD(),Ur((dJt(),P2e),t)}function RJe(t){return oI(),Ur((qee(),F2e),t)}function jJe(t){return kE(),Ur((zee(),N2e),t)}function $Je(t){return oo(),Ur((lre(),B2e),t)}function zJe(t){return eE(),Ur((ute(),R2e),t)}function qJe(t){return q0(),Ur((cte(),$2e),t)}function HJe(t){return I$(),Ur((wJt(),z2e),t)}function VJe(t){return dh(),Ur((fee(),q2e),t)}function GJe(t){return uq(),Ur((Hee(),rme),t)}function UJe(t){return Z9(),Ur((lte(),ime),t)}function WJe(t){return cy(),Ur((Gte(),sme),t)}function YJe(t){return so(),Ur((dte(),hme),t)}function KJe(t){return y4(),Ur((Bne(),ome),t)}function XJe(t){return V0(),Ur((fte(),cme),t)}function QJe(t){return CD(),Ur((pJt(),ume),t)}function ZJe(t){return yz(),Ur((hte(),fme),t)}function JJe(t){return u_(),Ur((lee(),ame),t)}function ttn(t){return pD(),Ur((gJt(),dme),t)}function etn(t){return cE(),Ur((pte(),gme),t)}function ntn(t){return vz(),Ur((bte(),pme),t)}function rtn(t){return Cz(),Ur((gte(),bme),t)}function itn(t){return ev(),Ur((wte(),Lme),t)}function stn(t){return $9(),Ur((mJt(),Pme),t)}function atn(t){return bd(),Ur((yJt(),zme),t)}function otn(t){return C1(),Ur((xJt(),Hme),t)}function ctn(t){return Uf(),Ur((vJt(),iye),t)}function utn(t){return Gw(),Ur((kJt(),hye),t)}function ltn(t){return wE(),Ur((zte(),fye),t)}function htn(t){return p_(),Ur((Gee(),gye),t)}function ftn(t){return T$(),Ur((CJt(),Aye),t)}function dtn(t){return pz(),Ur((TJt(),Pye),t)}function gtn(t){return A$(),Ur((EJt(),Lye),t)}function ptn(t){return Nz(),Ur((vte(),Nye),t)}function btn(t){return G$(),Ur((_Jt(),Bye),t)}function wtn(t){return HD(),Ur((mte(),Rye),t)}function vtn(t){return eq(),Ur((Hte(),Jye),t)}function mtn(t){return mz(),Ur((xte(),t3e),t)}function ytn(t){return Fz(),Ur((yte(),e3e),t)}function xtn(t){return AE(),Ur((pee(),x3e),t)}function ktn(t){return KD(),Ur((kte(),k3e),t)}function Etn(t){return zR(),Ur((RZt(),E3e),t)}function Ttn(t){return qR(),Ur((BZt(),C3e),t)}function Ctn(t){return bD(),Ur((AJt(),_3e),t)}function _tn(t){return uI(),Ur((dee(),S3e),t)}function Stn(t){return UC(),Ur((jZt(),H3e),t)}function Atn(t){return jD(),Ur((SJt(),V3e),t)}function Ltn(t){return Qf(),Ur((gee(),X3e),t)}function Mtn(t){return Ug(),Ur((jne(),Z3e),t)}function Dtn(t){return t0(),Ur((jee(),J3e),t)}function Itn(t){return hy(),Ur((Ree(),s4e),t)}function Otn(t){return ro(),Ur((fUt(),i2e),t)}function Ptn(t){return X8(),Ur((hJt(),r2e),t)}function Ftn(t){return ao(),Ur((wee(),y4e),t)}function Ntn(t){return M1(),Ur((Tte(),x4e),t)}function Btn(t){return W0(),Ur((Yte(),k4e),t)}function Rtn(t){return hq(),Ur((Wee(),E4e),t)}function jtn(t){return G0(),Ur((Ete(),C4e),t)}function $tn(t){return zl(),Ur((Wte(),S4e),t)}function ztn(t){return py(),Ur((Yne(),A4e),t)}function qtn(t){return l4(),Ur((vee(),L4e),t)}function Htn(t){return ua(),Ur((Oee(),M4e),t)}function Vtn(t){return Zu(),Ur((Uee(),D4e),t)}function Gtn(t){return Al(),Ur((Xte(),B4e),t)}function Utn(t){return ll(),Ur((hre(),R4e),t)}function Wtn(t){return ve(),Ur((mee(),I4e),t)}function Ytn(t){return jz(),Ur((Kte(),j4e),t)}function Ktn(t){return Sl(),Ur((Ute(),q4e),t)}function Xtn(t){return CE(),Ur(($ne(),e5e),t)}function Qtn(t,e){return On(t),t+(On(e),e)}function Ztn(t,e){return Gd(),Dr(Wt(t.a),e)}function Jtn(t,e){return Gd(),Dr(Wt(t.a),e)}function Dnt(t,e){this.c=t,this.a=e,this.b=e-t}function NYt(t,e,n){this.a=t,this.b=e,this.c=n}function Swt(t,e,n){this.a=t,this.b=e,this.c=n}function Awt(t,e,n){this.a=t,this.b=e,this.c=n}function BYt(t,e,n){this.a=t,this.b=e,this.c=n}function RYt(t,e,n){this.a=t,this.b=e,this.c=n}function Ig(t,e,n){this.e=t,this.a=e,this.c=n}function jYt(t,e,n){ih(),$vt.call(this,t,e,n)}function Int(t,e,n){ih(),Tvt.call(this,t,e,n)}function Lwt(t,e,n){ih(),Tvt.call(this,t,e,n)}function Mwt(t,e,n){ih(),Tvt.call(this,t,e,n)}function $Yt(t,e,n){ih(),Int.call(this,t,e,n)}function Dwt(t,e,n){ih(),Int.call(this,t,e,n)}function zYt(t,e,n){ih(),Dwt.call(this,t,e,n)}function qYt(t,e,n){ih(),Lwt.call(this,t,e,n)}function HYt(t,e,n){ih(),Mwt.call(this,t,e,n)}function XM(t,e){return Lr(t),Lr(e),new lVt(t,e)}function $x(t,e){return Lr(t),Lr(e),new nKt(t,e)}function ten(t,e){return Lr(t),Lr(e),new rKt(t,e)}function een(t,e){return Lr(t),Lr(e),new fVt(t,e)}function u(t,e){return k9(t==null||gst(t,e)),t}function x8(t){var e;return e=new he,oit(e,t),e}function nen(t){var e;return e=new Hs,oit(e,t),e}function VYt(t){var e;return e=new Bpt,xit(e,t),e}function QM(t){var e;return e=new Zi,xit(e,t),e}function ren(t){return!t.e&&(t.e=new he),t.e}function ien(t){return!t.c&&(t.c=new Tm),t.c}function le(t,e){return t.c[t.c.length]=e,!0}function GYt(t,e){this.c=t,this.b=e,this.a=!1}function Iwt(t){this.d=t,ztt(this),this.b=Xen(t.d)}function UYt(){this.a=";,;",this.b="",this.c=""}function sen(t,e,n){WKt.call(this,e,n),this.a=t}function WYt(t,e,n){this.b=t,oUt.call(this,e,n)}function Owt(t,e,n){this.c=t,KR.call(this,e,n)}function Pwt(t,e,n){n5t(n,0,t,e,n.length,!1)}function Wd(t,e,n,r,s){t.b=e,t.c=n,t.d=r,t.a=s}function aen(t,e){e&&(t.b=e,t.a=(Vp(e),e.a))}function Fwt(t,e,n,r,s){t.d=e,t.c=n,t.a=r,t.b=s}function Nwt(t){var e,n;e=t.b,n=t.c,t.b=n,t.c=e}function Bwt(t){var e,n;n=t.d,e=t.a,t.d=e,t.a=n}function Rwt(t){return Kp(fnn(Bo(t)?Lh(t):t))}function oen(t,e){return pu(uKt(t.d),uKt(e.d))}function cen(t,e){return e==(ve(),Bn)?t.c:t.d}function k8(){k8=Z,r_t=(ve(),Bn),CG=Hn}function YYt(){this.b=Xt(ye(Ie((Jf(),nlt))))}function KYt(t){return Qb(),Nt(Qn,De,1,t,5,1)}function uen(t){return new $e(t.c+t.b,t.d+t.a)}function len(t,e){return $R(),pu(t.d.p,e.d.p)}function Ont(t){return Zn(t.b!=0),lh(t,t.a.a)}function hen(t){return Zn(t.b!=0),lh(t,t.c.b)}function jwt(t,e){if(!t)throw it(new iHt(e))}function Bj(t,e){if(!t)throw it(new Fn(e))}function $wt(t,e,n){g8.call(this,t,e),this.b=n}function ZM(t,e,n){e2t.call(this,t,e),this.c=n}function XYt(t,e,n){See.call(this,e,n),this.d=t}function zwt(t){ywt(),Pk.call(this),this.th(t)}function QYt(t,e,n){this.a=t,V3.call(this,e,n)}function ZYt(t,e,n){this.a=t,V3.call(this,e,n)}function Rj(t,e,n){e2t.call(this,t,e),this.c=n}function JYt(){B8(),Mnn.call(this,(Pp(),Yh))}function tKt(t){return t!=null&&!tst(t,oA,cA)}function fen(t,e){return(uie(t)<<4|uie(e))&ys}function den(t,e){return c$(),kst(t,e),new SXt(t,e)}function Jb(t,e){var n;t.n&&(n=e,le(t.f,n))}function E8(t,e,n){var r;r=new Um(n),Yf(t,e,r)}function gen(t,e){var n;return n=t.c,syt(t,e),n}function qwt(t,e){return e<0?t.g=-1:t.g=e,t}function jj(t,e){return Zon(t),t.a*=e,t.b*=e,t}function eKt(t,e,n,r,s){t.c=e,t.d=n,t.b=r,t.a=s}function ri(t,e){return fs(t,e,t.c.b,t.c),!0}function Hwt(t){t.a.b=t.b,t.b.a=t.a,t.a=t.b=null}function Pnt(t){this.b=t,this.a=Rw(this.b.a).Ed()}function nKt(t,e){this.b=t,this.a=e,pC.call(this)}function rKt(t,e){this.a=t,this.b=e,pC.call(this)}function iKt(t,e){WKt.call(this,e,1040),this.a=t}function JM(t){return t==0||isNaN(t)?t:t<0?-1:1}function pen(t){return Ux(),e0(t)==es(tb(t))}function ben(t){return Ux(),tb(t)==es(e0(t))}function Bw(t,e){return d_(t,new g8(e.a,e.b))}function wen(t){return!Ga(t)&&t.c.i.c==t.d.i.c}function $j(t){var e;return e=t.n,t.a.b+e.d+e.a}function sKt(t){var e;return e=t.n,t.e.b+e.d+e.a}function Vwt(t){var e;return e=t.n,t.e.a+e.b+e.c}function aKt(t){return gi(),new Yd(0,t)}function ven(t){return t.a?t.a:grt(t)}function k9(t){if(!t)throw it(new i8(null))}function oKt(){oKt=Z,$ft=(wn(),new O(put))}function zj(){zj=Z,new z3t((oet(),Sut),(cet(),_ut))}function cKt(){cKt=Z,fEt=Nt(ja,ee,19,256,0,1)}function Fnt(t,e,n,r){b3t.call(this,t,e,n,r,0,0)}function men(t,e,n){return ki(t.b,u(n.b,17),e)}function yen(t,e,n){return ki(t.b,u(n.b,17),e)}function xen(t,e){return le(t,new $e(e.a,e.b))}function ken(t,e){return t.c=e)throw it(new Opt)}function inn(t,e,n){return ts(e,0,Ywt(e[0],n[0])),e}function snn(t,e,n){e.Ye(n,Xt(ye(tr(t.b,n)))*t.a)}function UKt(t,e,n){return k4(),Q8(t,e)&&Q8(t,n)}function S9(t){return Zu(),!t.Hc(sg)&&!t.Hc(Cb)}function e$(t){return new $e(t.c+t.b/2,t.d+t.a/2)}function Wnt(t,e){return e.kh()?Zp(t.b,u(e,49)):e}function lvt(t,e){this.e=t,this.d=e&64?e|md:e}function WKt(t,e){this.c=0,this.d=t,this.b=e|64|md}function n$(t){this.b=new Xc(11),this.a=(Z3(),t)}function Ynt(t){this.b=null,this.a=(Z3(),t||_Et)}function YKt(t){this.a=wse(t.a),this.b=new Bu(t.b)}function KKt(t){this.b=t,Nx.call(this,t),ZUt(this)}function XKt(t){this.b=t,$M.call(this,t),JUt(this)}function Gm(t,e,n){this.a=t,Rx.call(this,e,n,5,6)}function hvt(t,e,n,r){this.b=t,As.call(this,e,n,r)}function Js(t,e,n,r,s){Jrt.call(this,t,e,n,r,s,-1)}function A9(t,e,n,r,s){mD.call(this,t,e,n,r,s,-1)}function fe(t,e,n,r){As.call(this,t,e,n),this.b=r}function r$(t,e,n,r){ZM.call(this,t,e,n),this.b=r}function QKt(t){tUt.call(this,t,!1),this.a=!1}function ZKt(t,e){this.b=t,wtt.call(this,t.b),this.a=e}function JKt(t,e){Wm(),cXe.call(this,t,Dz(new yl(e)))}function i$(t,e){return gi(),new Cvt(t,e,0)}function Knt(t,e){return gi(),new Cvt(6,t,e)}function ann(t,e){return hn(t.substr(0,e.length),e)}function Tl(t,e){return ra(e)?wrt(t,e):!!Lo(t.f,e)}function ba(t,e){for(On(e);t.Ob();)e.td(t.Pb())}function X3(t,e,n){rb(),this.e=t,this.d=e,this.a=n}function Og(t,e,n,r){var s;s=t.i,s.i=e,s.a=n,s.b=r}function fvt(t){var e;for(e=t;e.f;)e=e.f;return e}function Hx(t){var e;return e=Q9(t),Zn(e!=null),e}function onn(t){var e;return e=Uln(t),Zn(e!=null),e}function C8(t,e){var n;return n=t.a.gc(),Emt(e,n),n-e}function dvt(t,e){var n;for(n=0;n0?b.Math.log(t/e):-100}function tXt(t,e){return yc(t,e)<0?-1:yc(t,e)>0?1:0}function vvt(t,e,n){return Gle(t,u(e,46),u(n,167))}function eXt(t,e){return u(cvt(Rw(t.a)).Xb(e),42).cd()}function bnn(t,e){return jon(e,t.length),new iKt(t,e)}function Jnt(t,e){this.d=t,nr.call(this,t),this.e=e}function jw(t){this.d=(On(t),t),this.a=0,this.c=qq}function mvt(t,e){yw.call(this,1),this.a=t,this.b=e}function nXt(t,e){return t.c?nXt(t.c,e):le(t.b,e),t}function wnn(t,e,n){var r;return r=Jm(t,e),Brt(t,e,n),r}function yvt(t,e){var n;return n=t.slice(0,e),Bmt(n,t)}function rXt(t,e,n){var r;for(r=0;r=t.g}function crt(t,e,n){var r;return r=mit(t,e,n),Y5t(t,r)}function Vx(t,e){var n;n=t.a.length,Jm(t,n),Brt(t,n,e)}function vXt(t,e){var n;n=console[t],n.call(console,e)}function mXt(t,e){var n;++t.j,n=t.Vi(),t.Ii(t.oi(n,e))}function Lnn(t,e,n){u(e.b,65),xu(e.a,new Swt(t,n,e))}function Tvt(t,e,n){vR.call(this,e),this.a=t,this.b=n}function Cvt(t,e,n){yw.call(this,t),this.a=e,this.b=n}function _vt(t,e,n){this.a=t,Cpt.call(this,e),this.b=n}function yXt(t,e,n){this.a=t,nmt.call(this,8,e,null,n)}function Mnn(t){this.a=(On(Yr),Yr),this.b=t,new Upt}function xXt(t){this.c=t,this.b=this.c.a,this.a=this.c.e}function Svt(t){this.c=t,this.b=t.a.d.a,Y2t(t.a.e,this)}function Cl(t){Rm(t.c!=-1),t.d.$c(t.c),t.b=t.c,t.c=-1}function D9(t){return b.Math.sqrt(t.a*t.a+t.b*t.b)}function zw(t,e){return T8(e,t.a.c.length),Ne(t.a,e)}function pd(t,e){return Vt(t)===Vt(e)||t!=null&&yi(t,e)}function Dnn(t){return 0>=t?new mbt:wcn(t-1)}function Inn(t){return s3?wrt(s3,t):!1}function kXt(t){return t?t.dc():!t.Kc().Ob()}function Na(t){return!t.a&&t.c?t.c.b:t.a}function Onn(t){return!t.a&&(t.a=new As(_b,t,4)),t.a}function qw(t){return!t.d&&(t.d=new As(ho,t,1)),t.d}function On(t){if(t==null)throw it(new IC);return t}function I9(t){t.c?t.c.He():(t.d=!0,Rwn(t))}function Vp(t){t.c?Vp(t.c):(w2(t),t.d=!0)}function EXt(t){Dvt(t.a),t.b=Nt(Qn,De,1,t.b.length,5,1)}function Pnn(t,e){return pu(e.j.c.length,t.j.c.length)}function Fnn(t,e){t.c<0||t.b.b=0?t.Bh(n):i5t(t,e)}function TXt(t){var e,n;return e=t.c.i.c,n=t.d.i.c,e==n}function Bnn(t){if(t.p!=4)throw it(new Ou);return t.e}function Rnn(t){if(t.p!=3)throw it(new Ou);return t.e}function jnn(t){if(t.p!=6)throw it(new Ou);return t.f}function $nn(t){if(t.p!=6)throw it(new Ou);return t.k}function znn(t){if(t.p!=3)throw it(new Ou);return t.j}function qnn(t){if(t.p!=4)throw it(new Ou);return t.j}function Avt(t){return!t.b&&(t.b=new mR(new aet)),t.b}function Hw(t){return t.c==-2&&Jk(t,agn(t.g,t.b)),t.c}function A8(t,e){var n;return n=rrt("",t),n.n=e,n.i=1,n}function Hnn(t,e){qnt(u(e.b,65),t),xu(e.a,new Jr(t))}function Vnn(t,e){Dr((!t.a&&(t.a=new GM(t,t)),t.a),e)}function CXt(t,e){this.b=t,Jnt.call(this,t,e),ZUt(this)}function _Xt(t,e){this.b=t,wwt.call(this,t,e),JUt(this)}function Lvt(t,e,n,r){Lw.call(this,t,e),this.d=n,this.a=r}function o$(t,e,n,r){Lw.call(this,t,n),this.a=e,this.f=r}function SXt(t,e){TQe.call(this,vcn(Lr(t),Lr(e))),this.a=e}function AXt(){N4t.call(this,O2,(DHt(),L5e)),f4n(this)}function LXt(){N4t.call(this,Bh,(c8(),aLt)),x3n(this)}function MXt(){Vr.call(this,"DELAUNAY_TRIANGULATION",0)}function Gnn(t){return String.fromCharCode.apply(null,t)}function ki(t,e,n){return ra(e)?ko(t,e,n):au(t.f,e,n)}function Mvt(t){return wn(),t?t.ve():(Z3(),Z3(),AEt)}function Unn(t,e,n){return i6(),n.pg(t,u(e.cd(),146))}function DXt(t,e){return zj(),new z3t(new fWt(t),new hWt(e))}function Wnn(t){return jl(t,Yat),J$(Pa(Pa(5,t),t/10|0))}function c$(){c$=Z,Age=new uet(lt(ct(P2,1),Hq,42,0,[]))}function IXt(t){return!t.d&&(t.d=new T(t.c.Cc())),t.d}function L8(t){return!t.a&&(t.a=new fHt(t.c.vc())),t.a}function OXt(t){return!t.b&&(t.b=new s8(t.c.ec())),t.b}function Xd(t,e){for(;e-- >0;)t=t<<1|(t<0?1:0);return t}function Fc(t,e){return Vt(t)===Vt(e)||t!=null&&yi(t,e)}function Ynn(t,e){return Nn(),u(e.b,19).ar&&++r,r}function N0(t){var e,n;return n=(e=new xw,e),H8(n,t),n}function drt(t){var e,n;return n=(e=new xw,e),j4t(n,t),n}function urn(t,e){var n;return n=tr(t.f,e),byt(e,n),null}function grt(t){var e;return e=ycn(t),e||null}function HXt(t){return!t.b&&(t.b=new fe(Ys,t,12,3)),t.b}function lrn(t){return t!=null&&yM(gU,t.toLowerCase())}function hrn(t,e){return Ms(Ru(t)*El(t),Ru(e)*El(e))}function frn(t,e){return Ms(Ru(t)*El(t),Ru(e)*El(e))}function drn(t,e){return Ms(t.d.c+t.d.b/2,e.d.c+e.d.b/2)}function grn(t,e){return Ms(t.g.c+t.g.b/2,e.g.c+e.g.b/2)}function VXt(t,e,n){n.a?Eu(t,e.b-t.f/2):ku(t,e.a-t.g/2)}function GXt(t,e,n,r){this.a=t,this.b=e,this.c=n,this.d=r}function UXt(t,e,n,r){this.a=t,this.b=e,this.c=n,this.d=r}function n2(t,e,n,r){this.e=t,this.a=e,this.c=n,this.d=r}function WXt(t,e,n,r){this.a=t,this.c=e,this.d=n,this.b=r}function YXt(t,e,n,r){ih(),$Jt.call(this,e,n,r),this.a=t}function KXt(t,e,n,r){ih(),$Jt.call(this,e,n,r),this.a=t}function XXt(t,e){this.a=t,yZe.call(this,t,u(t.d,15).Zc(e))}function prt(t){this.f=t,this.c=this.f.e,t.f>0&&cae(this)}function QXt(t,e,n,r){this.b=t,this.c=r,ent.call(this,e,n)}function ZXt(t){return Zn(t.b=0&&hn(t.substr(n,e.length),e)}function Gp(t,e,n,r,s,o,h){return new jrt(t.e,e,n,r,s,o,h)}function pQt(t,e,n,r,s,o){this.a=t,fit.call(this,e,n,r,s,o)}function bQt(t,e,n,r,s,o){this.a=t,fit.call(this,e,n,r,s,o)}function wQt(t,e){this.g=t,this.d=lt(ct(l0,1),Yg,10,0,[e])}function Pg(t,e){this.e=t,this.a=Qn,this.b=$ue(e),this.c=e}function vQt(t,e){Ij.call(this),Gmt(this),this.a=t,this.c=e}function aD(t,e,n,r){ts(t.c[e.g],n.g,r),ts(t.c[n.g],e.g,r)}function yrt(t,e,n,r){ts(t.c[e.g],e.g,n),ts(t.b[e.g],e.g,r)}function Nrn(){return pD(),lt(ct(Y9t,1),oe,376,0,[Sht,BO])}function Brn(){return xD(),lt(ct($Tt,1),oe,479,0,[jTt,WV])}function Rrn(){return LD(),lt(ct(BTt,1),oe,419,0,[GV,NTt])}function jrn(){return H$(),lt(ct(LTt,1),oe,422,0,[ATt,Alt])}function $rn(){return I$(),lt(ct(JTt,1),oe,420,0,[Hlt,ZTt])}function zrn(){return CD(),lt(ct(V9t,1),oe,421,0,[Tht,Cht])}function qrn(){return $9(),lt(ct(Ome,1),oe,523,0,[BS,NS])}function Hrn(){return Uf(),lt(ct(rye,1),oe,520,0,[Ky,mb])}function Vrn(){return bd(),lt(ct($me,1),oe,516,0,[zv,ep])}function Grn(){return C1(),lt(ct(qme,1),oe,515,0,[H2,H1])}function Urn(){return Gw(),lt(ct(lye,1),oe,455,0,[yb,r5])}function Wrn(){return A$(),lt(ct(v_t,1),oe,425,0,[qht,w_t])}function Yrn(){return T$(),lt(ct(b_t,1),oe,480,0,[zht,p_t])}function Krn(){return pz(),lt(ct(m_t,1),oe,495,0,[FG,D7])}function Xrn(){return G$(),lt(ct(x_t,1),oe,426,0,[y_t,Uht])}function Qrn(){return jD(),lt(ct(TSt,1),oe,429,0,[VG,ESt])}function Zrn(){return bD(),lt(ct(nSt,1),oe,430,0,[eft,qG])}function Jrn(){return Gz(),lt(ct(zEt,1),oe,428,0,[qut,$Et])}function tin(){return Q$(),lt(ct(HEt,1),oe,427,0,[qEt,Hut])}function ein(){return Z$(),lt(ct(w7t,1),oe,424,0,[tlt,gV])}function nin(){return X8(),lt(ct(n2e,1),oe,511,0,[yO,dlt])}function m$(t,e,n,r){return n>=0?t.jh(e,n,r):t.Sg(null,n,r)}function xrt(t){return t.b.b==0?t.a.$e():Ont(t.b)}function rin(t){if(t.p!=5)throw it(new Ou);return Ar(t.f)}function iin(t){if(t.p!=5)throw it(new Ou);return Ar(t.k)}function jvt(t){return Vt(t.a)===Vt((kit(),Bft))&&s4n(t),t.a}function mQt(t){this.a=u(Lr(t),271),this.b=(wn(),new I2t(t))}function yQt(t,e){vpt(this,new $e(t.a,t.b)),oR(this,QM(e))}function Gw(){Gw=Z,yb=new Wbt(y6,0),r5=new Wbt(x6,1)}function bd(){bd=Z,zv=new Gbt(x6,0),ep=new Gbt(y6,1)}function Uw(){gKe.call(this,new Lx(ty(12))),A2t(!0),this.a=2}function krt(t,e,n){gi(),yw.call(this,t),this.b=e,this.a=n}function $vt(t,e,n){ih(),vR.call(this,e),this.a=t,this.b=n}function xQt(t){Ij.call(this),Gmt(this),this.a=t,this.c=!0}function kQt(t){var e;e=t.c.d.b,t.b=e,t.a=t.c.d,e.a=t.c.d.b=t}function y$(t){var e;hcn(t.a),OUt(t.a),e=new er(t.a),p3t(e)}function sin(t,e){Due(t,!0),xu(t.e.wf(),new Ewt(t,!0,e))}function x$(t,e){return eJt(e),ccn(t,Nt(Cr,Xr,25,e,15,1),e)}function ain(t,e){return Ux(),t==es(e0(e))||t==es(tb(e))}function Nc(t,e){return e==null?ec(Lo(t.f,null)):KC(t.g,e)}function oin(t){return t.b==0?null:(Zn(t.b!=0),lh(t,t.a.a))}function ps(t){return Math.max(Math.min(t,wi),-2147483648)|0}function cin(t,e){var n=Iut[t.charCodeAt(0)];return n??t}function k$(t,e){return g$(t,"set1"),g$(e,"set2"),new vVt(t,e)}function uin(t,e){var n;return n=rcn(t.f,e),Li(Mj(n),t.f.d)}function P9(t,e){var n,r;return n=e,r=new zt,mhe(t,n,r),r.d}function Ert(t,e,n,r){var s;s=new uYt,e.a[n.g]=s,zx(t.b,r,s)}function zvt(t,e,n){var r;r=t.Yg(e),r>=0?t.sh(r,n):M5t(t,e,n)}function J3(t,e,n){C$(),t&&ki(Pft,t,e),t&&ki(dP,t,n)}function EQt(t,e,n){this.i=new he,this.b=t,this.g=e,this.a=n}function E$(t,e,n){this.c=new he,this.e=t,this.f=e,this.b=n}function qvt(t,e,n){this.a=new he,this.e=t,this.f=e,this.c=n}function TQt(t,e){yj(this),this.f=e,this.g=t,d$(this),this._d()}function oD(t,e){var n;n=t.q.getHours(),t.q.setDate(e),E_(t,n)}function CQt(t,e){var n;for(Lr(e),n=t.a;n;n=n.c)e.Od(n.g,n.i)}function _Qt(t){var e;return e=new IR(ty(t.length)),Oyt(e,t),e}function lin(t){function e(){}return e.prototype=t||{},new e}function hin(t,e){return ere(t,e)?(Jee(t),!0):!1}function B0(t,e){if(e==null)throw it(new IC);return cfn(t,e)}function fin(t){if(t.qe())return null;var e=t.n;return QH[e]}function cD(t){return t.Db>>16!=3?null:u(t.Cb,33)}function T1(t){return t.Db>>16!=9?null:u(t.Cb,33)}function SQt(t){return t.Db>>16!=6?null:u(t.Cb,79)}function AQt(t){return t.Db>>16!=7?null:u(t.Cb,235)}function LQt(t){return t.Db>>16!=7?null:u(t.Cb,160)}function es(t){return t.Db>>16!=11?null:u(t.Cb,33)}function MQt(t,e){var n;return n=t.Yg(e),n>=0?t.lh(n):Zst(t,e)}function DQt(t,e){var n;return n=new Wwt(e),Iae(n,t),new Bu(n)}function Hvt(t){var e;return e=t.d,e=t.si(t.f),Dr(t,e),e.Ob()}function IQt(t,e){return t.b+=e.b,t.c+=e.c,t.d+=e.d,t.a+=e.a,t}function Trt(t,e){return b.Math.abs(t)0}function OQt(){this.a=new O0,this.e=new Hs,this.g=0,this.i=0}function PQt(t){this.a=t,this.b=Nt(Mme,ee,1944,t.e.length,0,2)}function Crt(t,e,n){var r;r=xre(t,e,n),t.b=new gz(r.c.length)}function C1(){C1=Z,H2=new Vbt(Dot,0),H1=new Vbt("UP",1)}function T$(){T$=Z,zht=new Ybt(Y1e,0),p_t=new Ybt("FAN",1)}function C$(){C$=Z,Pft=new _r,dP=new _r,OXe(Uge,new JT)}function gin(t){if(t.p!=0)throw it(new Ou);return u9(t.f,0)}function pin(t){if(t.p!=0)throw it(new Ou);return u9(t.k,0)}function FQt(t){return t.Db>>16!=3?null:u(t.Cb,147)}function O8(t){return t.Db>>16!=6?null:u(t.Cb,235)}function Ym(t){return t.Db>>16!=17?null:u(t.Cb,26)}function NQt(t,e){var n=t.a=t.a||[];return n[e]||(n[e]=t.le(e))}function bin(t,e){var n;return n=t.a.get(e),n??new Array}function win(t,e){var n;n=t.q.getHours(),t.q.setMonth(e),E_(t,n)}function ko(t,e,n){return e==null?au(t.f,null,n):sv(t.g,e,n)}function F9(t,e,n,r,s,o){return new z0(t.e,e,t.aj(),n,r,s,o)}function uD(t,e,n){return t.a=Pl(t.a,0,e)+(""+n)+RM(t.a,e),t}function vin(t,e,n){return le(t.a,(c$(),kst(e,n),new Lw(e,n))),t}function Vvt(t){return M2t(t.c),t.e=t.a=t.c,t.c=t.c.c,++t.d,t.a.f}function BQt(t){return M2t(t.e),t.c=t.a=t.e,t.e=t.e.e,--t.d,t.a.f}function oa(t,e){t.d&&mu(t.d.e,t),t.d=e,t.d&&le(t.d.e,t)}function Oa(t,e){t.c&&mu(t.c.g,t),t.c=e,t.c&&le(t.c.g,t)}function Eo(t,e){t.c&&mu(t.c.a,t),t.c=e,t.c&&le(t.c.a,t)}function Uo(t,e){t.i&&mu(t.i.j,t),t.i=e,t.i&&le(t.i.j,t)}function RQt(t,e,n){this.a=e,this.c=t,this.b=(Lr(n),new Bu(n))}function jQt(t,e,n){this.a=e,this.c=t,this.b=(Lr(n),new Bu(n))}function $Qt(t,e){this.a=t,this.c=nc(this.a),this.b=new v$(e)}function min(t){var e;return w2(t),e=new Hs,Ri(t,new Ge(e))}function Km(t,e){if(t<0||t>e)throw it(new yo(Kxt+t+Xxt+e))}function Gvt(t,e){return MKt(t.a,e)?pvt(t,u(e,22).g,null):null}function yin(t){return qit(),Nn(),u(t.a,81).d.e!=0}function zQt(){zQt=Z,Dge=Wr((TR(),lt(ct(Mge,1),oe,538,0,[Mut])))}function qQt(){qQt=Z,wme=Ku(new Vs,(Wa(),Io),(ro(),xO))}function Uvt(){Uvt=Z,vme=Ku(new Vs,(Wa(),Io),(ro(),xO))}function HQt(){HQt=Z,yme=Ku(new Vs,(Wa(),Io),(ro(),xO))}function VQt(){VQt=Z,Fme=bi(new Vs,(Wa(),Io),(ro(),pS))}function Fl(){Fl=Z,Rme=bi(new Vs,(Wa(),Io),(ro(),pS))}function GQt(){GQt=Z,jme=bi(new Vs,(Wa(),Io),(ro(),pS))}function _rt(){_rt=Z,Vme=bi(new Vs,(Wa(),Io),(ro(),pS))}function UQt(){UQt=Z,Mye=Ku(new Vs,(wE(),jS),(p_(),Iht))}function i2(t,e,n,r){this.c=t,this.d=r,Art(this,e),Lrt(this,n)}function Yx(t){this.c=new Zi,this.b=t.b,this.d=t.c,this.a=t.a}function Srt(t){this.a=b.Math.cos(t),this.b=b.Math.sin(t)}function Art(t,e){t.a&&mu(t.a.k,t),t.a=e,t.a&&le(t.a.k,t)}function Lrt(t,e){t.b&&mu(t.b.f,t),t.b=e,t.b&&le(t.b.f,t)}function WQt(t,e){Lnn(t,t.b,t.c),u(t.b.b,65),e&&u(e.b,65).b}function xin(t,e){c3t(t,e),_t(t.Cb,88)&&gy(sl(u(t.Cb,88)),2)}function Mrt(t,e){_t(t.Cb,88)&&gy(sl(u(t.Cb,88)),4),Qc(t,e)}function _$(t,e){_t(t.Cb,179)&&(u(t.Cb,179).tb=null),Qc(t,e)}function Bc(t,e){return to(),ait(e)?new qj(e,t):new BM(e,t)}function kin(t,e){var n,r;n=e.c,r=n!=null,r&&Vx(t,new Um(e.c))}function YQt(t){var e,n;return n=(c8(),e=new xw,e),H8(n,t),n}function KQt(t){var e,n;return n=(c8(),e=new xw,e),H8(n,t),n}function XQt(t,e){var n;return n=new Sh(t),e.c[e.c.length]=n,n}function QQt(t,e){var n;return n=u(sy(Wx(t.a),e),14),n?n.gc():0}function ZQt(t){var e;return w2(t),e=(Z3(),Z3(),SEt),ez(t,e)}function JQt(t){for(var e;;)if(e=t.Pb(),!t.Ob())return e}function Wvt(t,e){fKe.call(this,new Lx(ty(t))),jl(e,ffe),this.a=e}function Qd(t,e,n){aie(e,n,t.gc()),this.c=t,this.a=e,this.b=n-e}function tZt(t,e,n){var r;aie(e,n,t.c.length),r=n-e,wbt(t.c,e,r)}function Ein(t,e){QUt(t,Ar(Ns($p(e,24),Uq)),Ar(Ns(e,Uq)))}function An(t,e){if(t<0||t>=e)throw it(new yo(Kxt+t+Xxt+e))}function Rr(t,e){if(t<0||t>=e)throw it(new sbt(Kxt+t+Xxt+e))}function _n(t,e){this.b=(On(t),t),this.a=e&Ey?e:e|64|md}function eZt(t){IUt(this),fqt(this.a,Dyt(b.Math.max(8,t))<<1)}function _1(t){return Yo(lt(ct(Ws,1),ee,8,0,[t.i.n,t.n,t.a]))}function Tin(){return O1(),lt(ct(fl,1),oe,132,0,[BEt,Ul,Iy])}function Cin(){return Kf(),lt(ct(Oy,1),oe,232,0,[sc,eu,ac])}function _in(){return Qu(),lt(ct(ppe,1),oe,461,0,[Md,fb,kf])}function Sin(){return yu(),lt(ct(wpe,1),oe,462,0,[n1,db,Ef])}function Ain(){return iv(),lt(ct(F7t,1),oe,423,0,[q4,P7t,llt])}function Lin(){return q9(),lt(ct(D7t,1),oe,379,0,[ilt,rlt,slt])}function Min(){return Z9(),lt(ct(P9t,1),oe,378,0,[vht,O9t,yG])}function Din(){return n6(),lt(ct(DTt,1),oe,314,0,[P6,EO,MTt])}function Iin(){return oz(),lt(ct(OTt,1),oe,337,0,[ITt,VV,Llt])}function Oin(){return d2(),lt(ct(D2e,1),oe,450,0,[Ilt,w7,U4])}function Pin(){return nv(),lt(ct(mlt,1),oe,361,0,[Dv,pb,Mv])}function Fin(){return q0(),lt(ct(j2e,1),oe,303,0,[CO,Y4,F6])}function Nin(){return eE(),lt(ct(qlt,1),oe,292,0,[$lt,zlt,TO])}function Bin(){return so(),lt(ct(lme,1),oe,452,0,[OS,tl,nu])}function Rin(){return V0(),lt(ct(H9t,1),oe,339,0,[vb,q9t,Eht])}function jin(){return yz(),lt(ct(W9t,1),oe,375,0,[G9t,_ht,U9t])}function $in(){return Cz(),lt(ct(t_t,1),oe,377,0,[Mht,L7,Yy])}function zin(){return cE(),lt(ct(X9t,1),oe,336,0,[Aht,K9t,PS])}function qin(){return vz(),lt(ct(J9t,1),oe,338,0,[Z9t,Lht,Q9t])}function Hin(){return ev(),lt(ct(Ame,1),oe,454,0,[RO,FS,TG])}function Vin(){return Nz(),lt(ct(Fye,1),oe,442,0,[Ght,Hht,Vht])}function Gin(){return HD(),lt(ct(T_t,1),oe,380,0,[NG,k_t,E_t])}function Uin(){return Fz(),lt(ct(q_t,1),oe,381,0,[z_t,Qht,$_t])}function Win(){return mz(),lt(ct(R_t,1),oe,293,0,[Xht,B_t,N_t])}function Yin(){return KD(),lt(ct(Zht,1),oe,437,0,[jG,$G,zG])}function Kin(){return G0(),lt(ct(DAt,1),oe,334,0,[tU,sp,ZS])}function Xin(){return M1(),lt(ct(mAt,1),oe,272,0,[P7,Zy,F7])}function Qin(t,e){return v2n(t,e,_t(e,99)&&(u(e,18).Bb&Ka)!=0)}function Zin(t,e,n){var r;return r=__(t,e,!1),r.b<=e&&r.a<=n}function nZt(t,e,n){var r;r=new NQ,r.b=e,r.a=n,++e.b,le(t.d,r)}function Jin(t,e){var n;return n=(On(t),t).g,q2t(!!n),On(e),n(e)}function Yvt(t,e){var n,r;return r=C8(t,e),n=t.a.Zc(r),new wVt(t,n)}function tsn(t){return t.Db>>16!=6?null:u(eat(t),235)}function esn(t){if(t.p!=2)throw it(new Ou);return Ar(t.f)&ys}function nsn(t){if(t.p!=2)throw it(new Ou);return Ar(t.k)&ys}function rsn(t){return t.a==(B8(),vU)&&Btt(t,P2n(t.g,t.b)),t.a}function Kx(t){return t.d==(B8(),vU)&&_C(t,Smn(t.g,t.b)),t.d}function J(t){return Zn(t.ar?1:0}function rZt(t,e){var n,r;return n=eit(e),r=n,u(tr(t.c,r),19).a}function iZt(t,e){var n;for(n=t+"";n.length0&&t.a[--t.d]==0;);t.a[t.d++]==0&&(t.e=0)}function EZt(t){return t.a?t.e.length==0?t.a.a:t.a.a+(""+t.e):t.c}function gsn(t){return!!t.a&&al(t.a.a).i!=0&&!(t.b&&mst(t.b))}function psn(t){return!!t.u&&Lc(t.u.a).i!=0&&!(t.n&&vst(t.n))}function TZt(t){return Bnt(t.e.Hd().gc()*t.c.Hd().gc(),16,new gx(t))}function bsn(t,e){return tXt(Tu(t.q.getTime()),Tu(e.q.getTime()))}function wd(t){return u(P1(t,Nt(hlt,Wot,17,t.c.length,0,1)),474)}function lD(t){return u(P1(t,Nt(l0,Yg,10,t.c.length,0,1)),193)}function wsn(t){return Fl(),!Ga(t)&&!(!Ga(t)&&t.c.i.c==t.d.i.c)}function CZt(t,e,n){var r;r=(Lr(t),new Bu(t)),W1n(new RQt(r,e,n))}function hD(t,e,n){var r;r=(Lr(t),new Bu(t)),Y1n(new jQt(r,e,n))}function _Zt(t,e){var n;return n=1-e,t.a[n]=dz(t.a[n],n),dz(t,e)}function SZt(t,e){var n;t.e=new Zpt,n=wy(e),Zs(n,t.c),yue(t,n,0)}function ca(t,e,n,r){var s;s=new iB,s.a=e,s.b=n,s.c=r,ri(t.a,s)}function xe(t,e,n,r){var s;s=new iB,s.a=e,s.b=n,s.c=r,ri(t.b,s)}function pf(t){var e,n,r;return e=new oXt,n=yat(e,t),n5n(e),r=n,r}function tmt(){var t,e,n;return e=(n=(t=new xw,t),n),le(bLt,e),e}function L$(t){return t.j.c=Nt(Qn,De,1,0,5,1),Dvt(t.c),Qnn(t.a),t}function t4(t){return GC(),_t(t.g,10)?u(t.g,10):null}function vsn(t){return Q3(t).dc()?!1:(wQe(t,new ut),!0)}function msn(t){if(!("stack"in t))try{throw t}catch{}return t}function fD(t,e){if(t<0||t>=e)throw it(new yo(Ipn(t,e)));return t}function AZt(t,e,n){if(t<0||en)throw it(new yo(rpn(t,e,n)))}function Prt(t,e){if(Fs(t.a,e),e.d)throw it(new Vo(Pfe));e.d=t}function Frt(t,e){if(e.$modCount!=t.$modCount)throw it(new rh)}function LZt(t,e){return _t(e,42)?Tst(t.a,u(e,42)):!1}function MZt(t,e){return _t(e,42)?Tst(t.a,u(e,42)):!1}function DZt(t,e){return _t(e,42)?Tst(t.a,u(e,42)):!1}function ysn(t,e){return t.a<=t.b?(e.ud(t.a++),!0):!1}function Yw(t){var e;return Bo(t)?(e=t,e==-0?0:e):Lon(t)}function M$(t){var e;return Vp(t),e=new Ye,j3(t.a,new bn(e)),e}function IZt(t){var e;return Vp(t),e=new Ve,j3(t.a,new we(e)),e}function da(t,e){this.a=t,mx.call(this,t),Km(e,t.gc()),this.b=e}function emt(t){this.e=t,this.b=this.e.a.entries(),this.a=new Array}function xsn(t){return Bnt(t.e.Hd().gc()*t.c.Hd().gc(),273,new eR(t))}function D$(t){return new Xc((jl(t,Yat),J$(Pa(Pa(5,t),t/10|0))))}function OZt(t){return u(P1(t,Nt(Jbe,h1e,11,t.c.length,0,1)),1943)}function ksn(t,e,n){return n.f.c.length>0?vvt(t.a,e,n):vvt(t.b,e,n)}function Esn(t,e,n){t.d&&mu(t.d.e,t),t.d=e,t.d&&Hm(t.d.e,n,t)}function Nrt(t,e){bxn(e,t),Bwt(t.d),Bwt(u(Q(t,(Te(),dG)),207))}function B9(t,e){pxn(e,t),Nwt(t.d),Nwt(u(Q(t,(Te(),dG)),207))}function Kw(t,e){var n,r;return n=B0(t,e),r=null,n&&(r=n.fe()),r}function P8(t,e){var n,r;return n=Jm(t,e),r=null,n&&(r=n.ie()),r}function R9(t,e){var n,r;return n=B0(t,e),r=null,n&&(r=n.ie()),r}function R0(t,e){var n,r;return n=B0(t,e),r=null,n&&(r=U4t(n)),r}function Tsn(t,e,n){var r;return r=pE(n),Aq(t.g,r,e),Aq(t.i,e,n),e}function Csn(t,e,n){var r;r=Jhn();try{return MZe(t,e,n)}finally{Nsn(r)}}function PZt(t){var e;e=t.Wg(),this.a=_t(e,69)?u(e,69).Zh():e.Kc()}function Vs(){Yqt.call(this),this.j.c=Nt(Qn,De,1,0,5,1),this.a=-1}function nmt(t,e,n,r){this.d=t,this.n=e,this.g=n,this.o=r,this.p=-1}function FZt(t,e,n,r){this.e=r,this.d=null,this.c=t,this.a=e,this.b=n}function rmt(t,e,n){this.d=new bR(this),this.e=t,this.i=e,this.f=n}function I$(){I$=Z,Hlt=new $bt(qE,0),ZTt=new $bt("TOP_LEFT",1)}function NZt(){NZt=Z,n_t=DXt(pe(1),pe(4)),e_t=DXt(pe(1),pe(2))}function BZt(){BZt=Z,C3e=Wr((qR(),lt(ct(T3e,1),oe,551,0,[tft])))}function RZt(){RZt=Z,E3e=Wr((zR(),lt(ct(eSt,1),oe,482,0,[Jht])))}function jZt(){jZt=Z,H3e=Wr((UC(),lt(ct(kSt,1),oe,530,0,[VO])))}function $Zt(){$Zt=Z,Kpe=Wr((jR(),lt(ct(l7t,1),oe,481,0,[Kut])))}function _sn(){return rv(),lt(ct(qpe,1),oe,406,0,[hO,lO,Wut,Yut])}function Ssn(){return U$(),lt(ct(sV,1),oe,297,0,[jut,OEt,PEt,FEt])}function Asn(){return c_(),lt(ct(Wpe,1),oe,394,0,[bO,lV,hV,wO])}function Lsn(){return u6(),lt(ct(Vpe,1),oe,323,0,[dO,fO,gO,pO])}function Msn(){return nE(),lt(ct(zbe,1),oe,405,0,[Lv,Fy,Py,z4])}function Dsn(){return Tz(),lt(ct(a2e,1),oe,360,0,[wlt,BV,RV,kO])}function zZt(t,e,n,r){return _t(n,54)?new SWt(t,e,n,r):new ovt(t,e,n,r)}function Isn(){return I1(),lt(ct(p2e,1),oe,411,0,[O6,f7,d7,vlt])}function Osn(t){var e;return t.j==(ve(),mr)&&(e=uce(t),Nu(e,Hn))}function Psn(t,e){var n;n=e.a,Oa(n,e.c.d),oa(n,e.d.d),ny(n.a,t.n)}function qZt(t,e){return u(Nw(Jj(u(Ai(t.k,e),15).Oc(),H4)),113)}function HZt(t,e){return u(Nw(t$(u(Ai(t.k,e),15).Oc(),H4)),113)}function Fsn(t){return new _n(Icn(u(t.a.dd(),14).gc(),t.a.cd()),16)}function F8(t){return _t(t,14)?u(t,14).dc():!t.Kc().Ob()}function Xx(t){return GC(),_t(t.g,145)?u(t.g,145):null}function VZt(t){if(t.e.g!=t.b)throw it(new rh);return!!t.c&&t.d>0}function ti(t){return Zn(t.b!=t.d.c),t.c=t.b,t.b=t.b.a,++t.a,t.c.c}function imt(t,e){On(e),ts(t.a,t.c,e),t.c=t.c+1&t.a.length-1,Gse(t)}function Up(t,e){On(e),t.b=t.b-1&t.a.length-1,ts(t.a,t.b,e),Gse(t)}function GZt(t,e){var n;for(n=t.j.c.length;n0&&Dc(t.g,0,e,0,t.i),e}function KZt(t,e){GR();var n;return n=u(tr(dU,t),55),!n||n.wj(e)}function Ysn(t){if(t.p!=1)throw it(new Ou);return Ar(t.f)<<24>>24}function Ksn(t){if(t.p!=1)throw it(new Ou);return Ar(t.k)<<24>>24}function Xsn(t){if(t.p!=7)throw it(new Ou);return Ar(t.k)<<16>>16}function Qsn(t){if(t.p!=7)throw it(new Ou);return Ar(t.f)<<16>>16}function j0(t){var e;for(e=0;t.Ob();)t.Pb(),e=Pa(e,1);return J$(e)}function XZt(t,e){var n;return n=new Im,t.xd(n),n.a+="..",e.yd(n),n.a}function Zsn(t,e,n){var r;r=u(tr(t.g,n),57),le(t.a.c,new fa(e,r))}function Jsn(t,e,n){return Unt(ye(ec(Lo(t.f,e))),ye(ec(Lo(t.f,n))))}function O$(t,e,n){return Mq(t,e,n,_t(e,99)&&(u(e,18).Bb&Ka)!=0)}function tan(t,e,n){return DE(t,e,n,_t(e,99)&&(u(e,18).Bb&Ka)!=0)}function ean(t,e,n){return T2n(t,e,n,_t(e,99)&&(u(e,18).Bb&Ka)!=0)}function omt(t,e){return t==(Vn(),Os)&&e==Os?4:t==Os||e==Os?8:32}function QZt(t,e){return Vt(e)===Vt(t)?"(this Map)":e==null?_u:$o(e)}function nan(t,e){return u(e==null?ec(Lo(t.f,null)):KC(t.g,e),281)}function ZZt(t,e,n){var r;return r=pE(n),ki(t.b,r,e),ki(t.c,e,n),e}function JZt(t,e){var n;for(n=e;n;)jm(t,n.i,n.j),n=es(n);return t}function cmt(t,e){var n;return n=iD(x8(new nit(t,e))),Vj(new nit(t,e)),n}function Zd(t,e){to();var n;return n=u(t,66).Mj(),Ngn(n,e),n.Ok(e)}function ran(t,e,n,r,s){var o;o=L2n(s,n,r),le(e,Spn(s,o)),vgn(t,s,e)}function tJt(t,e,n){t.i=0,t.e=0,e!=n&&(Cre(t,e,n),Tre(t,e,n))}function umt(t,e){var n;n=t.q.getHours(),t.q.setFullYear(e+ab),E_(t,n)}function ian(t,e,n){if(n){var r=n.ee();t.a[e]=r(n)}else delete t.a[e]}function Brt(t,e,n){if(n){var r=n.ee();n=r(n)}else n=void 0;t.a[e]=n}function eJt(t){if(t<0)throw it(new aHt("Negative array size: "+t))}function Lc(t){return t.n||(sl(t),t.n=new PKt(t,ho,t),Ao(t)),t.n}function j9(t){return Zn(t.a=0&&t.a[n]===e[n];n--);return n<0}function aJt(t,e){oE();var n;return n=t.j.g-e.j.g,n!=0?n:0}function oJt(t,e){return On(e),t.a!=null?Hen(e.Kb(t.a)):iV}function P$(t){var e;return t?new Wwt(t):(e=new O0,xit(e,t),e)}function Bl(t,e){var n;return e.b.Kb(Jte(t,e.c.Ee(),(n=new In(e),n)))}function F$(t){M4t(),QUt(this,Ar(Ns($p(t,24),Uq)),Ar(Ns(t,Uq)))}function cJt(){cJt=Z,upe=Wr((Gz(),lt(ct(zEt,1),oe,428,0,[qut,$Et])))}function uJt(){uJt=Z,lpe=Wr((Q$(),lt(ct(HEt,1),oe,427,0,[qEt,Hut])))}function lJt(){lJt=Z,fbe=Wr((Z$(),lt(ct(w7t,1),oe,424,0,[tlt,gV])))}function hJt(){hJt=Z,r2e=Wr((X8(),lt(ct(n2e,1),oe,511,0,[yO,dlt])))}function fJt(){fJt=Z,M2e=Wr((LD(),lt(ct(BTt,1),oe,419,0,[GV,NTt])))}function dJt(){dJt=Z,P2e=Wr((xD(),lt(ct($Tt,1),oe,479,0,[jTt,WV])))}function gJt(){gJt=Z,dme=Wr((pD(),lt(ct(Y9t,1),oe,376,0,[Sht,BO])))}function pJt(){pJt=Z,ume=Wr((CD(),lt(ct(V9t,1),oe,421,0,[Tht,Cht])))}function bJt(){bJt=Z,_2e=Wr((H$(),lt(ct(LTt,1),oe,422,0,[ATt,Alt])))}function wJt(){wJt=Z,z2e=Wr((I$(),lt(ct(JTt,1),oe,420,0,[Hlt,ZTt])))}function vJt(){vJt=Z,iye=Wr((Uf(),lt(ct(rye,1),oe,520,0,[Ky,mb])))}function mJt(){mJt=Z,Pme=Wr(($9(),lt(ct(Ome,1),oe,523,0,[BS,NS])))}function yJt(){yJt=Z,zme=Wr((bd(),lt(ct($me,1),oe,516,0,[zv,ep])))}function xJt(){xJt=Z,Hme=Wr((C1(),lt(ct(qme,1),oe,515,0,[H2,H1])))}function kJt(){kJt=Z,hye=Wr((Gw(),lt(ct(lye,1),oe,455,0,[yb,r5])))}function EJt(){EJt=Z,Lye=Wr((A$(),lt(ct(v_t,1),oe,425,0,[qht,w_t])))}function TJt(){TJt=Z,Pye=Wr((pz(),lt(ct(m_t,1),oe,495,0,[FG,D7])))}function CJt(){CJt=Z,Aye=Wr((T$(),lt(ct(b_t,1),oe,480,0,[zht,p_t])))}function _Jt(){_Jt=Z,Bye=Wr((G$(),lt(ct(x_t,1),oe,426,0,[y_t,Uht])))}function SJt(){SJt=Z,V3e=Wr((jD(),lt(ct(TSt,1),oe,429,0,[VG,ESt])))}function AJt(){AJt=Z,_3e=Wr((bD(),lt(ct(nSt,1),oe,430,0,[eft,qG])))}function $9(){$9=Z,BS=new Hbt("UPPER",0),NS=new Hbt("LOWER",1)}function can(t,e){var n;n=new _x,r2(n,"x",e.a),r2(n,"y",e.b),Vx(t,n)}function uan(t,e){var n;n=new _x,r2(n,"x",e.a),r2(n,"y",e.b),Vx(t,n)}function lan(t,e){var n,r;r=!1;do n=bre(t,e),r=r|n;while(n);return r}function fmt(t,e){var n,r;for(n=e,r=0;n>0;)r+=t.a[n],n-=n&-n;return r}function LJt(t,e){var n;for(n=e;n;)jm(t,-n.i,-n.j),n=es(n);return t}function va(t,e){var n,r;for(On(e),r=t.Kc();r.Ob();)n=r.Pb(),e.td(n)}function MJt(t,e){var n;return n=e.cd(),new Lw(n,t.e.pc(n,u(e.dd(),14)))}function fs(t,e,n,r){var s;s=new xt,s.c=e,s.b=n,s.a=r,r.b=n.a=s,++t.b}function ch(t,e,n){var r;return r=(An(e,t.c.length),t.c[e]),t.c[e]=n,r}function han(t,e,n){return u(e==null?au(t.f,null,n):sv(t.g,e,n),281)}function zrt(t){return t.c&&t.d?Kvt(t.c)+"->"+Kvt(t.d):"e_"+Pw(t)}function N8(t,e){return(w2(t),qC(new Tn(t,new Nmt(e,t.a)))).sd(o7)}function fan(){return Wa(),lt(ct(I7t,1),oe,356,0,[Dd,gb,cu,qc,Io])}function dan(){return ve(),lt(ct(Xa,1),xc,61,0,[Zo,Pn,Hn,mr,Bn])}function gan(t){return AR(),function(){return Csn(t,this,arguments)}}function pan(){return Date.now?Date.now():new Date().getTime()}function Ga(t){return!t.c||!t.d?!1:!!t.c.i&&t.c.i==t.d.i}function DJt(t){if(!t.c.Sb())throw it(new lc);return t.a=!0,t.c.Ub()}function dD(t){t.i=0,CM(t.b,null),CM(t.c,null),t.a=null,t.e=null,++t.g}function dmt(t){kXe.call(this,t==null?_u:$o(t),_t(t,78)?u(t,78):null)}function IJt(t){rfe(),nqt(this),this.a=new Zi,$yt(this,t),ri(this.a,t)}function OJt(){ant(this),this.b=new $e(as,as),this.a=new $e(Cs,Cs)}function PJt(t,e){this.c=0,this.b=e,cUt.call(this,t,17493),this.a=this.c}function qrt(t){N$(),!$1&&(this.c=t,this.e=!0,this.a=new he)}function N$(){N$=Z,$1=!0,Jge=!1,tpe=!1,npe=!1,epe=!1}function gmt(t,e){return _t(e,149)?hn(t.c,u(e,149).c):!1}function pmt(t,e){var n;return n=0,t&&(n+=t.f.a/2),e&&(n+=e.f.a/2),n}function Hrt(t,e){var n;return n=u(Xw(t.d,e),23),n||u(Xw(t.e,e),23)}function FJt(t){this.b=t,nr.call(this,t),this.a=u(Dn(this.b.a,4),126)}function NJt(t){this.b=t,Bx.call(this,t),this.a=u(Dn(this.b.a,4),126)}function sl(t){return t.t||(t.t=new Uzt(t),n_(new sHt(t),0,t.t)),t.t}function ban(){return ao(),lt(ct(XS,1),oe,103,0,[h0,Cf,zh,ng,rg])}function wan(){return l4(),lt(ct(tA,1),oe,249,0,[Eb,iP,IAt,JS,OAt])}function van(){return Qf(),lt(ct(ip,1),oe,175,0,[qn,ea,Pd,V2,rp])}function man(){return uI(),lt(ct(aSt,1),oe,316,0,[rSt,nft,sSt,rft,iSt])}function yan(){return u_(),lt(ct(N9t,1),oe,315,0,[F9t,xht,kht,DS,IS])}function xan(){return x2(),lt(ct(FTt,1),oe,335,0,[Mlt,PTt,Dlt,vS,wS])}function kan(){return AE(),lt(ct(y3e,1),oe,355,0,[i5,G6,GS,VS,US])}function Ean(){return b4(),lt(ct(w2e,1),oe,363,0,[$V,qV,HV,zV,jV])}function Tan(){return dh(),lt(ct(fCt,1),oe,163,0,[MO,ES,bb,TS,jy])}function B8(){B8=Z;var t,e;wU=(c8(),e=new xR,e),vU=(t=new ret,t)}function BJt(t){var e;return t.c||(e=t.r,_t(e,88)&&(t.c=u(e,26))),t.c}function Can(t){return t.e=3,t.d=t.Yb(),t.e!=2?(t.e=0,!0):!1}function Vrt(t){var e,n,r;return e=t&hl,n=t>>22&hl,r=t<0?Z0:0,iu(e,n,r)}function _an(t){var e,n,r,s;for(n=t,r=0,s=n.length;r0?Fie(t,e):rue(t,-e)}function bmt(t,e){return e==0||t.e==0?t:e>0?rue(t,e):Fie(t,-e)}function Mr(t){if(zr(t))return t.c=t.a,t.a.Pb();throw it(new lc)}function jJt(t){var e,n;return e=t.c.i,n=t.d.i,e.k==(Vn(),ks)&&n.k==ks}function Grt(t){var e;return e=new Vw,Mo(e,t),Jt(e,(Te(),So),null),e}function Urt(t,e,n){var r;return r=t.Yg(e),r>=0?t._g(r,n,!0):dv(t,e,n)}function wmt(t,e,n,r){var s;for(s=0;se)throw it(new yo(J4t(t,e,"index")));return t}function Wrt(t,e,n,r){var s;return s=Nt(Cr,Xr,25,e,15,1),j0n(s,t,e,n,r),s}function Aan(t,e){var n;n=t.q.getHours()+(e/60|0),t.q.setMinutes(e),E_(t,n)}function Lan(t,e){return b.Math.min(Wp(e.a,t.d.d.c),Wp(e.b,t.d.d.c))}function Jx(t,e){return ra(e)?e==null?b5t(t.f,null):Zne(t.g,e):b5t(t.f,e)}function L1(t){this.c=t,this.a=new S(this.c.a),this.b=new S(this.c.b)}function B$(){this.e=new he,this.c=new he,this.d=new he,this.b=new he}function VJt(){this.g=new Fpt,this.b=new Fpt,this.a=new he,this.k=new he}function GJt(t,e,n){this.a=t,this.c=e,this.d=n,le(e.e,this),le(n.b,this)}function UJt(t,e){oUt.call(this,e.rd(),e.qd()&-6),On(t),this.a=t,this.b=e}function WJt(t,e){cUt.call(this,e.rd(),e.qd()&-6),On(t),this.a=t,this.b=e}function Tmt(t,e){ent.call(this,e.rd(),e.qd()&-6),On(t),this.a=t,this.b=e}function R$(t,e,n){this.a=t,this.b=e,this.c=n,le(t.t,this),le(e.i,this)}function j$(){this.b=new Zi,this.a=new Zi,this.b=new Zi,this.a=new Zi}function $$(){$$=Z,WS=new Vi("org.eclipse.elk.labels.labelManager")}function YJt(){YJt=Z,ETt=new Ps("separateLayerConnections",(Tz(),wlt))}function Uf(){Uf=Z,Ky=new Ubt("REGULAR",0),mb=new Ubt("CRITICAL",1)}function pD(){pD=Z,Sht=new qbt("STACKED",0),BO=new qbt("SEQUENCED",1)}function bD(){bD=Z,eft=new Zbt("FIXED",0),qG=new Zbt("CENTER_NODE",1)}function Man(t,e){var n;return n=P4n(t,e),t.b=new gz(n.c.length),U3n(t,n)}function Dan(t,e,n){var r;return++t.e,--t.f,r=u(t.d[e].$c(n),133),r.dd()}function KJt(t){var e;return t.a||(e=t.r,_t(e,148)&&(t.a=u(e,148))),t.a}function Cmt(t){if(t.a){if(t.e)return Cmt(t.e)}else return t;return null}function Ian(t,e){return t.pe.p?-1:0}function z$(t,e){return On(e),t.c=0,"Initial capacity must not be negative")}function ZJt(){ZJt=Z,gpe=Wr((Kf(),lt(ct(Oy,1),oe,232,0,[sc,eu,ac])))}function JJt(){JJt=Z,bpe=Wr((Qu(),lt(ct(ppe,1),oe,461,0,[Md,fb,kf])))}function tte(){tte=Z,vpe=Wr((yu(),lt(ct(wpe,1),oe,462,0,[n1,db,Ef])))}function ete(){ete=Z,rpe=Wr((O1(),lt(ct(fl,1),oe,132,0,[BEt,Ul,Iy])))}function nte(){nte=Z,Obe=Wr((q9(),lt(ct(D7t,1),oe,379,0,[ilt,rlt,slt])))}function rte(){rte=Z,Ybe=Wr((iv(),lt(ct(F7t,1),oe,423,0,[q4,P7t,llt])))}function ite(){ite=Z,S2e=Wr((n6(),lt(ct(DTt,1),oe,314,0,[P6,EO,MTt])))}function ste(){ste=Z,A2e=Wr((oz(),lt(ct(OTt,1),oe,337,0,[ITt,VV,Llt])))}function ate(){ate=Z,I2e=Wr((d2(),lt(ct(D2e,1),oe,450,0,[Ilt,w7,U4])))}function ote(){ote=Z,E2e=Wr((nv(),lt(ct(mlt,1),oe,361,0,[Dv,pb,Mv])))}function cte(){cte=Z,$2e=Wr((q0(),lt(ct(j2e,1),oe,303,0,[CO,Y4,F6])))}function ute(){ute=Z,R2e=Wr((eE(),lt(ct(qlt,1),oe,292,0,[$lt,zlt,TO])))}function lte(){lte=Z,ime=Wr((Z9(),lt(ct(P9t,1),oe,378,0,[vht,O9t,yG])))}function hte(){hte=Z,fme=Wr((yz(),lt(ct(W9t,1),oe,375,0,[G9t,_ht,U9t])))}function fte(){fte=Z,cme=Wr((V0(),lt(ct(H9t,1),oe,339,0,[vb,q9t,Eht])))}function dte(){dte=Z,hme=Wr((so(),lt(ct(lme,1),oe,452,0,[OS,tl,nu])))}function gte(){gte=Z,bme=Wr((Cz(),lt(ct(t_t,1),oe,377,0,[Mht,L7,Yy])))}function pte(){pte=Z,gme=Wr((cE(),lt(ct(X9t,1),oe,336,0,[Aht,K9t,PS])))}function bte(){bte=Z,pme=Wr((vz(),lt(ct(J9t,1),oe,338,0,[Z9t,Lht,Q9t])))}function wte(){wte=Z,Lme=Wr((ev(),lt(ct(Ame,1),oe,454,0,[RO,FS,TG])))}function vte(){vte=Z,Nye=Wr((Nz(),lt(ct(Fye,1),oe,442,0,[Ght,Hht,Vht])))}function mte(){mte=Z,Rye=Wr((HD(),lt(ct(T_t,1),oe,380,0,[NG,k_t,E_t])))}function yte(){yte=Z,e3e=Wr((Fz(),lt(ct(q_t,1),oe,381,0,[z_t,Qht,$_t])))}function xte(){xte=Z,t3e=Wr((mz(),lt(ct(R_t,1),oe,293,0,[Xht,B_t,N_t])))}function kte(){kte=Z,k3e=Wr((KD(),lt(ct(Zht,1),oe,437,0,[jG,$G,zG])))}function Ete(){Ete=Z,C4e=Wr((G0(),lt(ct(DAt,1),oe,334,0,[tU,sp,ZS])))}function Tte(){Tte=Z,x4e=Wr((M1(),lt(ct(mAt,1),oe,272,0,[P7,Zy,F7])))}function jan(){return ua(),lt(ct(PAt,1),oe,98,0,[Tb,G1,B7,Y2,g0,Gc])}function o2(t,e){return!t.o&&(t.o=new _l((Jc(),Sb),Hv,t,0)),ist(t.o,e)}function $an(t){return!t.g&&(t.g=new Ik),!t.g.d&&(t.g.d=new Hzt(t)),t.g.d}function zan(t){return!t.g&&(t.g=new Ik),!t.g.a&&(t.g.a=new Vzt(t)),t.g.a}function qan(t){return!t.g&&(t.g=new Ik),!t.g.b&&(t.g.b=new qzt(t)),t.g.b}function wD(t){return!t.g&&(t.g=new Ik),!t.g.c&&(t.g.c=new Gzt(t)),t.g.c}function Han(t,e,n){var r,s;for(s=new tE(e,t),r=0;rn||e=0?t._g(n,!0,!0):dv(t,e,!0)}function aon(t,e){return Ms(Xt(ye(Q(t,(ae(),Fv)))),Xt(ye(Q(e,Fv))))}function Dte(){Dte=Z,Dye=uv(uv(VR(new Vs,(wE(),RS)),(p_(),LG)),Oht)}function oon(t,e,n){var r;return r=xre(t,e,n),t.b=new gz(r.c.length),z5t(t,r)}function con(t){if(t.b<=0)throw it(new lc);return--t.b,t.a-=t.c.c,pe(t.a)}function uon(t){var e;if(!t.a)throw it(new FXt);return e=t.a,t.a=es(t.a),e}function lon(t){for(;!t.a;)if(!mYt(t.c,new ze(t)))return!1;return!0}function e6(t){var e;return Lr(t),_t(t,198)?(e=u(t,198),e):new btt(t)}function hon(t){V$(),u(t.We((ui(),Qy)),174).Fc((Zu(),sP)),t.Ye(kft,null)}function V$(){V$=Z,W3e=new LZ,K3e=new MZ,Y3e=Kun((ui(),kft),W3e,xb,K3e)}function G$(){G$=Z,y_t=new Qbt("LEAF_NUMBER",0),Uht=new Qbt("NODE_SIZE",1)}function fon(t,e,n){t.a=e,t.c=n,t.b.a.$b(),Ah(t.d),t.e.a.c=Nt(Qn,De,1,0,5,1)}function tit(t){t.a=Nt(Cr,Xr,25,t.b+1,15,1),t.c=Nt(Cr,Xr,25,t.b,15,1),t.d=0}function don(t,e){t.a.ue(e.d,t.b)>0&&(le(t.c,new $wt(e.c,e.d,t.d)),t.b=e.d)}function Fmt(t,e){if(t.g==null||e>=t.i)throw it(new nnt(e,t.i));return t.g[e]}function Ite(t,e,n){if(sE(t,n),n!=null&&!t.wj(n))throw it(new tet);return n}function Ote(t){var e;if(t.Ek())for(e=t.i-1;e>=0;--e)At(t,e);return amt(t)}function gon(t){var e,n;if(!t.b)return null;for(n=t.b;e=n.a[0];)n=e;return n}function pon(t,e){var n,r;return eJt(e),n=(r=t.slice(0,e),Bmt(r,t)),n.length=e,n}function $8(t,e,n,r){var s;r=(Z3(),r||_Et),s=t.slice(e,n),t5t(s,t,e,n,-e,r)}function uh(t,e,n,r,s){return e<0?dv(t,n,r):u(n,66).Nj().Pj(t,t.yh(),e,r,s)}function bon(t){return _t(t,172)?""+u(t,172).a:t==null?null:$o(t)}function won(t){return _t(t,172)?""+u(t,172).a:t==null?null:$o(t)}function Pte(t,e){if(e.a)throw it(new Vo(Pfe));Fs(t.a,e),e.a=t,!t.j&&(t.j=e)}function Nmt(t,e){ent.call(this,e.rd(),e.qd()&-16449),On(t),this.a=t,this.c=e}function Fte(t,e){var n,r;return r=e/t.c.Hd().gc()|0,n=e%t.c.Hd().gc(),t6(t,r,n)}function Qu(){Qu=Z,Md=new Let(y6,0),fb=new Let(qE,1),kf=new Let(x6,2)}function U$(){U$=Z,jut=new YR("All",0),OEt=new MUt,PEt=new qUt,FEt=new DUt}function Nte(){Nte=Z,Qge=Wr((U$(),lt(ct(sV,1),oe,297,0,[jut,OEt,PEt,FEt])))}function Bte(){Bte=Z,qbe=Wr((nE(),lt(ct(zbe,1),oe,405,0,[Lv,Fy,Py,z4])))}function Rte(){Rte=Z,Hpe=Wr((rv(),lt(ct(qpe,1),oe,406,0,[hO,lO,Wut,Yut])))}function jte(){jte=Z,Gpe=Wr((u6(),lt(ct(Vpe,1),oe,323,0,[dO,fO,gO,pO])))}function $te(){$te=Z,Ype=Wr((c_(),lt(ct(Wpe,1),oe,394,0,[bO,lV,hV,wO])))}function zte(){zte=Z,fye=Wr((wE(),lt(ct(s_t,1),oe,393,0,[AG,RS,$O,jS])))}function qte(){qte=Z,o2e=Wr((Tz(),lt(ct(a2e,1),oe,360,0,[wlt,BV,RV,kO])))}function Hte(){Hte=Z,Jye=Wr((eq(),lt(ct(F_t,1),oe,340,0,[Kht,O_t,P_t,I_t])))}function Vte(){Vte=Z,b2e=Wr((I1(),lt(ct(p2e,1),oe,411,0,[O6,f7,d7,vlt])))}function Gte(){Gte=Z,sme=Wr((cy(),lt(ct(yht,1),oe,197,0,[xG,mht,n5,e5])))}function Ute(){Ute=Z,q4e=Wr((Sl(),lt(ct(z4e,1),oe,396,0,[Ql,qAt,zAt,HAt])))}function Wte(){Wte=Z,S4e=Wr((zl(),lt(ct(_4e,1),oe,285,0,[rP,f0,kb,nP])))}function Yte(){Yte=Z,k4e=Wr((W0(),lt(ct(_ft,1),oe,218,0,[Cft,eP,N7,X6])))}function Kte(){Kte=Z,j4e=Wr((jz(),lt(ct($At,1),oe,311,0,[Lft,BAt,jAt,RAt])))}function Xte(){Xte=Z,B4e=Wr((Al(),lt(ct(rA,1),oe,374,0,[oP,K2,aP,Jy])))}function Qte(){Qte=Z,Dq(),TLt=as,V5e=Cs,CLt=new P3(as),G5e=new P3(Cs)}function xD(){xD=Z,jTt=new jbt(J0,0),WV=new jbt("IMPROVE_STRAIGHTNESS",1)}function von(t,e){return k8(),le(t,new fa(e,pe(e.e.c.length+e.g.c.length)))}function mon(t,e){return k8(),le(t,new fa(e,pe(e.e.c.length+e.g.c.length)))}function Bmt(t,e){return _D(e)!=10&<(ol(e),e.hm,e.__elementTypeId$,_D(e),t),t}function mu(t,e){var n;return n=Ro(t,e,0),n==-1?!1:(Fg(t,n),!0)}function Zte(t,e){var n;return n=u(Jx(t.e,e),387),n?(Hwt(n),n.e):null}function z8(t){var e;return Bo(t)&&(e=0-t,!isNaN(e))?e:Kp(rE(t))}function Ro(t,e,n){for(;n=0?Xz(t,n,!0,!0):dv(t,e,!0)}function qmt(t,e){GC();var n,r;return n=Xx(t),r=Xx(e),!!n&&!!r&&!gse(n.k,r.k)}function kon(t,e){ku(t,e==null||Pj((On(e),e))||isNaN((On(e),e))?0:(On(e),e))}function Eon(t,e){Eu(t,e==null||Pj((On(e),e))||isNaN((On(e),e))?0:(On(e),e))}function Ton(t,e){tv(t,e==null||Pj((On(e),e))||isNaN((On(e),e))?0:(On(e),e))}function Con(t,e){Jw(t,e==null||Pj((On(e),e))||isNaN((On(e),e))?0:(On(e),e))}function ree(t){(this.q?this.q:(wn(),wn(),u0)).Ac(t.q?t.q:(wn(),wn(),u0))}function _on(t,e){return _t(e,99)&&u(e,18).Bb&Ka?new rnt(e,t):new tE(e,t)}function Son(t,e){return _t(e,99)&&u(e,18).Bb&Ka?new rnt(e,t):new tE(e,t)}function iee(t,e){c7t=new vp,Upe=e,hS=t,u(hS.b,65),Amt(hS,c7t,null),Qle(hS)}function sit(t,e,n){var r;return r=t.g[e],p9(t,e,t.oi(e,n)),t.gi(e,n,r),t.ci(),r}function X$(t,e){var n;return n=t.Xc(e),n>=0?(t.$c(n),!0):!1}function ait(t){var e;return t.d!=t.r&&(e=Dh(t),t.e=!!e&&e.Cj()==j0e,t.d=e),t.e}function oit(t,e){var n;for(Lr(t),Lr(e),n=!1;e.Ob();)n=n|t.Fc(e.Pb());return n}function Xw(t,e){var n;return n=u(tr(t.e,e),387),n?(XUt(t,n),n.e):null}function see(t){var e,n;return e=t/60|0,n=t%60,n==0?""+e:""+e+":"+(""+n)}function Wo(t,e){var n,r;return w2(t),r=new Tmt(e,t.a),n=new kYt(r),new Tn(t,n)}function Jm(t,e){var n=t.a[e],r=(_it(),Put)[typeof n];return r?r(n):Uyt(typeof n)}function Aon(t){switch(t.g){case 0:return wi;case 1:return-1;default:return 0}}function Lon(t){return u4t(t,(q8(),oEt))<0?-GQe(rE(t)):t.l+t.m*m6+t.h*C2}function _D(t){return t.__elementTypeCategory$==null?10:t.__elementTypeCategory$}function cit(t){var e;return e=t.b.c.length==0?null:Ne(t.b,0),e!=null&&vit(t,0),e}function aee(t,e){for(;e[0]=0;)++e[0]}function SD(t,e){this.e=e,this.a=Jne(t),this.a<54?this.f=Yw(t):this.c=JD(t)}function oee(t,e,n,r){gi(),yw.call(this,26),this.c=t,this.a=e,this.d=n,this.b=r}function Jd(t,e,n){var r,s;for(r=10,s=0;st.a[r]&&(r=n);return r}function Fon(t,e){var n;return n=av(t.e.c,e.e.c),n==0?Ms(t.e.d,e.e.d):n}function e4(t,e){return e.e==0||t.e==0?s7:(TE(),uat(t,e))}function Non(t,e){if(!t)throw it(new Fn(jwn("Enum constant undefined: %s",e)))}function H9(){H9=Z,Gbe=new xg,Ube=new T3,Hbe=new cK,Vbe=new Vb,Wbe=new uK}function Q$(){Q$=Z,qEt=new Obt("BY_SIZE",0),Hut=new Obt("BY_SIZE_AND_SHAPE",1)}function Z$(){Z$=Z,tlt=new Pbt("EADES",0),gV=new Pbt("FRUCHTERMAN_REINGOLD",1)}function LD(){LD=Z,GV=new Rbt("READING_DIRECTION",0),NTt=new Rbt("ROTATION",1)}function uee(){uee=Z,L2e=Wr((x2(),lt(ct(FTt,1),oe,335,0,[Mlt,PTt,Dlt,vS,wS])))}function lee(){lee=Z,ame=Wr((u_(),lt(ct(N9t,1),oe,315,0,[F9t,xht,kht,DS,IS])))}function hee(){hee=Z,v2e=Wr((b4(),lt(ct(w2e,1),oe,363,0,[$V,qV,HV,zV,jV])))}function fee(){fee=Z,q2e=Wr((dh(),lt(ct(fCt,1),oe,163,0,[MO,ES,bb,TS,jy])))}function dee(){dee=Z,S3e=Wr((uI(),lt(ct(aSt,1),oe,316,0,[rSt,nft,sSt,rft,iSt])))}function gee(){gee=Z,X3e=Wr((Qf(),lt(ct(ip,1),oe,175,0,[qn,ea,Pd,V2,rp])))}function pee(){pee=Z,x3e=Wr((AE(),lt(ct(y3e,1),oe,355,0,[i5,G6,GS,VS,US])))}function bee(){bee=Z,Bbe=Wr((Wa(),lt(ct(I7t,1),oe,356,0,[Dd,gb,cu,qc,Io])))}function wee(){wee=Z,y4e=Wr((ao(),lt(ct(XS,1),oe,103,0,[h0,Cf,zh,ng,rg])))}function vee(){vee=Z,L4e=Wr((l4(),lt(ct(tA,1),oe,249,0,[Eb,iP,IAt,JS,OAt])))}function mee(){mee=Z,I4e=Wr((ve(),lt(ct(Xa,1),xc,61,0,[Zo,Pn,Hn,mr,Bn])))}function uit(t,e){var n;return n=u(tr(t.a,e),134),n||(n=new ka,ki(t.a,e,n)),n}function yee(t){var e;return e=u(Q(t,(ae(),Iv)),305),e?e.a==t:!1}function xee(t){var e;return e=u(Q(t,(ae(),Iv)),305),e?e.i==t:!1}function kee(t,e){return On(e),uvt(t),t.d.Ob()?(e.td(t.d.Pb()),!0):!1}function J$(t){return yc(t,wi)>0?wi:yc(t,Sa)<0?Sa:Ar(t)}function ty(t){return t<3?(jl(t,bfe),t+1):t=0&&e=-.01&&t.a<=B1&&(t.a=0),t.b>=-.01&&t.b<=B1&&(t.b=0),t}function Tee(t,e){return e==(Ant(),Ant(),Yge)?t.toLocaleLowerCase():t.toLowerCase()}function Vmt(t){return(t.i&2?"interface ":t.i&1?"":"class ")+(P0(t),t.o)}function Co(t){var e,n;n=(e=new iet,e),Dr((!t.q&&(t.q=new fe(Wh,t,11,10)),t.q),n)}function Bon(t,e){var n;return n=e>0?e-1:e,yHt(QKe(Kee(qwt(new r8,n),t.n),t.j),t.k)}function Ron(t,e,n,r){var s;t.j=-1,d5t(t,W4t(t,e,n),(to(),s=u(e,66).Mj(),s.Ok(r)))}function Cee(t){this.g=t,this.f=new he,this.a=b.Math.min(this.g.c.c,this.g.d.c)}function _ee(t){this.b=new he,this.a=new he,this.c=new he,this.d=new he,this.e=t}function See(t,e){this.a=new _r,this.e=new _r,this.b=(Z9(),yG),this.c=t,this.b=e}function Aee(t,e,n){Ij.call(this),Gmt(this),this.a=t,this.c=n,this.b=e.d,this.f=e.e}function Lee(t){this.d=t,this.c=t.c.vc().Kc(),this.b=null,this.a=null,this.e=(TR(),Mut)}function Qw(t){if(t<0)throw it(new Fn("Illegal Capacity: "+t));this.g=this.ri(t)}function jon(t,e){if(0>t||t>e)throw it(new ibt("fromIndex: 0, toIndex: "+t+Uxt+e))}function $on(t){var e;if(t.a==t.b.a)throw it(new lc);return e=t.a,t.c=e,t.a=t.a.e,e}function tz(t){var e;Rm(!!t.c),e=t.c.a,lh(t.d,t.c),t.b==t.c?t.b=e:--t.a,t.c=null}function ez(t,e){var n;return w2(t),n=new QXt(t,t.a.rd(),t.a.qd()|4,e),new Tn(t,n)}function zon(t,e){var n,r;return n=u(sy(t.d,e),14),n?(r=e,t.e.pc(r,n)):null}function nz(t,e){var n,r;for(r=t.Kc();r.Ob();)n=u(r.Pb(),70),Jt(n,(ae(),j6),e)}function qon(t){var e;return e=Xt(ye(Q(t,(Te(),Jg)))),e<0&&(e=0,Jt(t,Jg,e)),e}function Hon(t,e,n){var r;r=b.Math.max(0,t.b/2-.5),h_(n,r,1),le(e,new eGt(n,r))}function Von(t,e,n){var r;return r=t.a.e[u(e.a,10).p]-t.a.e[u(n.a,10).p],ps(JM(r))}function Mee(t,e,n,r,s,o){var h;h=Grt(r),Oa(h,s),oa(h,o),ln(t.a,r,new Fj(h,e,n.f))}function Dee(t,e){var n;if(n=mI(t.Tg(),e),!n)throw it(new Fn(lb+e+Wct));return n}function ey(t,e){var n;for(n=t;es(n);)if(n=es(n),n==e)return!0;return!1}function Gon(t,e){var n,r,s;for(r=e.a.cd(),n=u(e.a.dd(),14).gc(),s=0;s0&&(t.a/=e,t.b/=e),t}function Rl(t){var e;return t.w?t.w:(e=tsn(t),e&&!e.kh()&&(t.w=e),e)}function Jon(t){var e;return t==null?null:(e=u(t,190),tgn(e,e.length))}function At(t,e){if(t.g==null||e>=t.i)throw it(new nnt(e,t.i));return t.li(e,t.g[e])}function tcn(t){var e,n;for(e=t.a.d.j,n=t.c.d.j;e!=n;)vf(t.b,e),e=Oz(e);vf(t.b,e)}function ecn(t){var e;for(e=0;e=14&&e<=16))),t}function Fee(t,e,n){var r=function(){return t.apply(r,arguments)};return e.apply(r,n),r}function Nee(t,e,n){var r,s;r=e;do s=Xt(t.p[r.p])+n,t.p[r.p]=s,r=t.a[r.p];while(r!=e)}function H8(t,e){var n,r;r=t.a,n=Fln(t,e,null),r!=e&&!t.e&&(n=PE(t,e,n)),n&&n.Fi()}function Umt(t,e){return k1(),wf(sb),b.Math.abs(t-e)<=sb||t==e||isNaN(t)&&isNaN(e)}function Wmt(t,e){return k1(),wf(sb),b.Math.abs(t-e)<=sb||t==e||isNaN(t)&&isNaN(e)}function icn(t,e){return nb(),pu(t.b.c.length-t.e.c.length,e.b.c.length-e.e.c.length)}function n4(t,e){return nXe(U9(t,e,Ar(_a(i0,Xd(Ar(_a(e==null?0:Hi(e),s0)),15)))))}function Bee(){Bee=Z,Zbe=Wr((Vn(),lt(ct(flt,1),oe,267,0,[Os,ta,ks,Hc,Ll,z1])))}function Ree(){Ree=Z,s4e=Wr((hy(),lt(ct(dft,1),oe,291,0,[fft,XO,KO,hft,WO,YO])))}function jee(){jee=Z,J3e=Wr((t0(),lt(ct(LSt,1),oe,248,0,[uft,GO,UO,WG,GG,UG])))}function $ee(){$ee=Z,C2e=Wr((h6(),lt(ct(b7,1),oe,227,0,[p7,bS,g7,Ny,G4,V4])))}function zee(){zee=Z,N2e=Wr((kE(),lt(ct(QTt,1),oe,275,0,[mS,WTt,XTt,KTt,YTt,UTt])))}function qee(){qee=Z,F2e=Wr((oI(),lt(ct(GTt,1),oe,274,0,[YV,qTt,VTt,zTt,HTt,Rlt])))}function Hee(){Hee=Z,rme=Wr((uq(),lt(ct(I9t,1),oe,313,0,[wht,M9t,bht,L9t,D9t,mG])))}function Vee(){Vee=Z,O2e=Wr((dq(),lt(ct(RTt,1),oe,276,0,[Plt,Olt,Nlt,Flt,Blt,UV])))}function Gee(){Gee=Z,gye=Wr((p_(),lt(ct(dye,1),oe,327,0,[LG,Oht,Fht,Pht,Nht,Iht])))}function Uee(){Uee=Z,D4e=Wr((Zu(),lt(ct(eU,1),oe,273,0,[Cb,sg,sP,nA,eA,Q6])))}function Wee(){Wee=Z,E4e=Wr((hq(),lt(ct(CAt,1),oe,312,0,[Sft,kAt,TAt,yAt,EAt,xAt])))}function scn(){return py(),lt(ct(lo,1),oe,93,0,[_f,ig,Sf,Lf,d0,Hh,Yl,Af,qh])}function iz(t,e){var n;n=t.a,t.a=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,0,n,t.a))}function sz(t,e){var n;n=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,1,n,t.b))}function V8(t,e){var n;n=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,3,n,t.b))}function Jw(t,e){var n;n=t.f,t.f=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,3,n,t.f))}function tv(t,e){var n;n=t.g,t.g=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,4,n,t.g))}function ku(t,e){var n;n=t.i,t.i=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,5,n,t.i))}function Eu(t,e){var n;n=t.j,t.j=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,6,n,t.j))}function G8(t,e){var n;n=t.j,t.j=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,1,n,t.j))}function U8(t,e){var n;n=t.c,t.c=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,4,n,t.c))}function W8(t,e){var n;n=t.k,t.k=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,2,n,t.k))}function hit(t,e){var n;n=t.d,t.d=e,t.Db&4&&!(t.Db&1)&&mi(t,new Rrt(t,2,n,t.d))}function Rg(t,e){var n;n=t.s,t.s=e,t.Db&4&&!(t.Db&1)&&mi(t,new Rrt(t,4,n,t.s))}function ry(t,e){var n;n=t.t,t.t=e,t.Db&4&&!(t.Db&1)&&mi(t,new Rrt(t,5,n,t.t))}function Y8(t,e){var n;n=t.F,t.F=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,5,n,e))}function MD(t,e){var n;return n=u(tr((GR(),dU),t),55),n?n.xj(e):Nt(Qn,De,1,e,5,1)}function H0(t,e){var n,r;return n=e in t.a,n&&(r=B0(t,e).he(),r)?r.a:null}function acn(t,e){var n,r,s;return n=(r=(Sw(),s=new ZT,s),e&&F5t(r,e),r),nyt(n,t),n}function Yee(t,e,n){if(sE(t,n),!t.Bk()&&n!=null&&!t.wj(n))throw it(new tet);return n}function Kee(t,e){return t.n=e,t.n?(t.f=new he,t.e=new he):(t.f=null,t.e=null),t}function jr(t,e,n,r,s,o){var h;return h=rrt(t,e),Qee(n,h),h.i=s?8:0,h.f=r,h.e=s,h.g=o,h}function Ymt(t,e,n,r,s){this.d=e,this.k=r,this.f=s,this.o=-1,this.p=1,this.c=t,this.a=n}function Kmt(t,e,n,r,s){this.d=e,this.k=r,this.f=s,this.o=-1,this.p=2,this.c=t,this.a=n}function Xmt(t,e,n,r,s){this.d=e,this.k=r,this.f=s,this.o=-1,this.p=6,this.c=t,this.a=n}function Qmt(t,e,n,r,s){this.d=e,this.k=r,this.f=s,this.o=-1,this.p=7,this.c=t,this.a=n}function Zmt(t,e,n,r,s){this.d=e,this.j=r,this.e=s,this.o=-1,this.p=4,this.c=t,this.a=n}function Xee(t,e){var n,r,s,o;for(r=e,s=0,o=r.length;s=0),afn(t.d,t.c)<0&&(t.a=t.a-1&t.d.a.length-1,t.b=t.d.c),t.c=-1}function Jmt(t){return t.a<54?t.f<0?-1:t.f>0?1:0:(!t.c&&(t.c=VD(t.f)),t.c).e}function wf(t){if(!(t>=0))throw it(new Fn("tolerance ("+t+") must be >= 0"));return t}function K8(){return oft||(oft=new jue,o4(oft,lt(ct($4,1),De,130,0,[new Tp]))),oft}function so(){so=Z,OS=new zet(N_,0),tl=new zet("INPUT",1),nu=new zet("OUTPUT",2)}function oz(){oz=Z,ITt=new Fet("ARD",0),VV=new Fet("MSD",1),Llt=new Fet("MANUAL",2)}function ev(){ev=Z,RO=new Uet("BARYCENTER",0),FS=new Uet(E1e,1),TG=new Uet(T1e,2)}function DD(t,e){var n;if(n=t.gc(),e<0||e>n)throw it(new qm(e,n));return new wwt(t,e)}function tne(t,e){var n;return _t(e,42)?t.c.Mc(e):(n=ist(t,e),qz(t,e),n)}function bo(t,e,n){return b2(t,e),Qc(t,n),Rg(t,0),ry(t,1),qg(t,!0),zg(t,!0),t}function jl(t,e){if(t<0)throw it(new Fn(e+" cannot be negative but was: "+t));return t}function ene(t,e){var n,r;for(n=0,r=t.gc();n0?u(Ne(n.a,r-1),10):null}function G9(t,e){var n;n=t.k,t.k=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,2,n,t.k))}function uz(t,e){var n;n=t.f,t.f=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,8,n,t.f))}function lz(t,e){var n;n=t.i,t.i=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,7,n,t.i))}function nyt(t,e){var n;n=t.a,t.a=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,8,n,t.a))}function ryt(t,e){var n;n=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,0,n,t.b))}function iyt(t,e){var n;n=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,0,n,t.b))}function syt(t,e){var n;n=t.c,t.c=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,1,n,t.c))}function ayt(t,e){var n;n=t.c,t.c=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,1,n,t.c))}function dit(t,e){var n;n=t.c,t.c=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,4,n,t.c))}function oyt(t,e){var n;n=t.d,t.d=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,1,n,t.d))}function git(t,e){var n;n=t.D,t.D=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,2,n,t.D))}function pit(t,e){t.r>0&&t.c0&&t.g!=0&&pit(t.i,e/t.r*t.i.d))}function pcn(t,e,n){var r;t.b=e,t.a=n,r=(t.a&512)==512?new Vqt:new XL,t.c=Dvn(r,t.b,t.a)}function lne(t,e){return X0(t.e,e)?(to(),ait(e)?new qj(e,t):new BM(e,t)):new nUt(e,t)}function hz(t,e){return eXe(W9(t.a,e,Ar(_a(i0,Xd(Ar(_a(e==null?0:Hi(e),s0)),15)))))}function bcn(t,e,n){return Zm(t,new ge(e),new Kn,new be(n),lt(ct(fl,1),oe,132,0,[]))}function wcn(t){var e,n;return 0>t?new mbt:(e=t+1,n=new PJt(e,t),new Z2t(null,n))}function vcn(t,e){wn();var n;return n=new Lx(1),ra(t)?ko(n,t,e):au(n.f,t,e),new q(n)}function mcn(t,e){var n,r;return n=t.o+t.p,r=e.o+e.p,ne?(e<<=1,e>0?e:D_):e}function bit(t){switch(L2t(t.e!=3),t.e){case 2:return!1;case 0:return!0}return Can(t)}function fne(t,e){var n;return _t(e,8)?(n=u(e,8),t.a==n.a&&t.b==n.b):!1}function wit(t,e,n){var r,s,o;return o=e>>5,s=e&31,r=Ns(Vm(t.n[n][o],Ar(F0(s,1))),3),r}function xcn(t,e){var n,r;for(r=e.vc().Kc();r.Ob();)n=u(r.Pb(),42),aq(t,n.cd(),n.dd())}function kcn(t,e){var n;n=new vp,u(e.b,65),u(e.b,65),u(e.b,65),xu(e.a,new Awt(t,n,e))}function cyt(t,e){var n;n=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,21,n,t.b))}function uyt(t,e){var n;n=t.d,t.d=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,11,n,t.d))}function fz(t,e){var n;n=t.j,t.j=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,13,n,t.j))}function dne(t,e,n){var r,s,o;for(o=t.a.length-1,s=t.b,r=0;r>>31;r!=0&&(t[n]=r)}function Icn(t,e){wn();var n,r;for(r=new he,n=0;n0&&(this.g=this.ri(this.i+(this.i/8|0)+1),t.Qc(this.g))}function ss(t,e){Rj.call(this,E5e,t,e),this.b=this,this.a=ou(t.Tg(),yn(this.e.Tg(),this.c))}function Y9(t,e){var n,r;for(On(e),r=e.vc().Kc();r.Ob();)n=u(r.Pb(),42),t.zc(n.cd(),n.dd())}function qcn(t,e,n){var r;for(r=n.Kc();r.Ob();)if(!O$(t,e,r.Pb()))return!1;return!0}function Hcn(t,e,n,r,s){var o;return n&&(o=Gi(e.Tg(),t.c),s=n.gh(e,-1-(o==-1?r:o),null,s)),s}function Vcn(t,e,n,r,s){var o;return n&&(o=Gi(e.Tg(),t.c),s=n.ih(e,-1-(o==-1?r:o),null,s)),s}function Ine(t){var e;if(t.b==-2){if(t.e==0)e=-1;else for(e=0;t.a[e]==0;e++);t.b=e}return t.b}function One(t){switch(t.g){case 2:return ve(),Bn;case 4:return ve(),Hn;default:return t}}function Pne(t){switch(t.g){case 1:return ve(),mr;case 3:return ve(),Pn;default:return t}}function Gcn(t){var e,n,r;return t.j==(ve(),Pn)&&(e=uce(t),n=Nu(e,Hn),r=Nu(e,Bn),r||r&&n)}function Ucn(t){var e,n;return e=u(t.e&&t.e(),9),n=u(yvt(e,e.length),9),new sh(e,n,e.length)}function Wcn(t,e){vr(e,k1e,1),p3t(dXe(new er((VC(),new hrt(t,!1,!1,new aN))))),or(e)}function ID(t,e){return Nn(),ra(t)?kmt(t,Br(e)):Bm(t)?Unt(t,ye(e)):Nm(t)?Qen(t,Re(e)):t.wd(e)}function pyt(t,e){e.q=t,t.d=b.Math.max(t.d,e.r),t.b+=e.d+(t.a.c.length==0?0:t.c),le(t.a,e)}function Q8(t,e){var n,r,s,o;return s=t.c,n=t.c+t.b,o=t.d,r=t.d+t.a,e.a>s&&e.ao&&e.b1||t.Ob())return++t.a,t.g=0,e=t.i,t.Ob(),e;throw it(new lc)}function sun(t){FUt();var e;return GVt(Dht,t)||(e=new RQ,e.a=t,swt(Dht,t,e)),u(po(Dht,t),635)}function Lh(t){var e,n,r,s;return s=t,r=0,s<0&&(s+=C2,r=Z0),n=ps(s/m6),e=ps(s-n*m6),iu(e,n,r)}function OD(t){var e,n,r;for(r=0,n=new Mx(t.a);n.a>22),s=t.h+e.h+(r>>22),iu(n&hl,r&hl,s&Z0)}function tre(t,e){var n,r,s;return n=t.l-e.l,r=t.m-e.m+(n>>22),s=t.h-e.h+(r>>22),iu(n&hl,r&hl,s&Z0)}function BD(t){var e;return t<128?(e=(pKt(),hEt)[t],!e&&(e=hEt[t]=new hR(t)),e):new hR(t)}function Wi(t){var e;return _t(t,78)?t:(e=t&&t.__java$exception,e||(e=new Hre(t),aqt(e)),e)}function RD(t){if(_t(t,186))return u(t,118);if(t)return null;throw it(new Sx(Kde))}function ere(t,e){if(e==null)return!1;for(;t.a!=t.b;)if(yi(e,Mz(t)))return!0;return!1}function xyt(t){return t.a.Ob()?!0:t.a!=t.d?!1:(t.a=new emt(t.e.f),t.a.Ob())}function Ls(t,e){var n,r;return n=e.Pc(),r=n.length,r==0?!1:(Pwt(t.c,t.c.length,n),!0)}function yun(t,e,n){var r,s;for(s=e.vc().Kc();s.Ob();)r=u(s.Pb(),42),t.yc(r.cd(),r.dd(),n);return t}function nre(t,e){var n,r;for(r=new S(t.b);r.a=0,"Negative initial capacity"),Bj(e>=0,"Non-positive load factor"),Xu(this)}function Sit(t,e,n){return t>=128?!1:t<64?u9(Ns(F0(1,t),n),0):u9(Ns(F0(1,t-64),e),0)}function Lun(t,e){return!t||!e||t==e?!1:av(t.b.c,e.b.c+e.b.b)<0&&av(e.b.c,t.b.c+t.b.b)<0}function gre(t){var e,n,r;return n=t.n,r=t.o,e=t.d,new ah(n.a-e.b,n.b-e.d,r.a+(e.b+e.c),r.b+(e.d+e.a))}function Mun(t){var e,n,r,s;for(n=t.a,r=0,s=n.length;rr)throw it(new qm(e,r));return t.hi()&&(n=DQt(t,n)),t.Vh(e,n)}function zD(t,e,n){return n==null?(!t.q&&(t.q=new _r),Jx(t.q,e)):(!t.q&&(t.q=new _r),ki(t.q,e,n)),t}function Jt(t,e,n){return n==null?(!t.q&&(t.q=new _r),Jx(t.q,e)):(!t.q&&(t.q=new _r),ki(t.q,e,n)),t}function pre(t){var e,n;return n=new B$,Mo(n,t),Jt(n,(Yp(),I6),t),e=new _r,Pyn(t,n,e),a5n(t,n,e),n}function Oun(t){k4();var e,n,r;for(n=Nt(Ws,ee,8,2,0,1),r=0,e=0;e<2;e++)r+=.5,n[e]=g1n(r,t);return n}function bre(t,e){var n,r,s,o;for(n=!1,r=t.a[e].length,o=0;o>=1);return e}function vre(t){var e,n;return n=pI(t.h),n==32?(e=pI(t.m),e==32?pI(t.l)+32:e+20-10):n-12}function Q9(t){var e;return e=t.a[t.b],e==null?null:(ts(t.a,t.b,null),t.b=t.b+1&t.a.length-1,e)}function mre(t){var e,n;return e=t.t-t.k[t.o.p]*t.d+t.j[t.o.p]>t.f,n=t.u+t.e[t.o.p]*t.d>t.f*t.s*t.d,e||n}function _z(t,e,n){var r,s;return r=new Qrt(e,n),s=new zt,t.b=lue(t,t.b,r,s),s.b||++t.c,t.b.b=!1,s.d}function yre(t,e,n){var r,s,o,h;for(h=t_(e,n),o=0,s=h.Kc();s.Ob();)r=u(s.Pb(),11),ki(t.c,r,pe(o++))}function Xp(t){var e,n;for(n=new S(t.a.b);n.an&&(n=t[e]);return n}function xre(t,e,n){var r;return r=new he,R5t(t,e,r,(ve(),Hn),!0,!1),R5t(t,n,r,Bn,!1,!1),r}function Lit(t,e,n){var r,s,o,h;return o=null,h=e,s=Kw(h,"labels"),r=new zGt(t,n),o=(Zbn(r.a,r.b,s),s),o}function Fun(t,e,n,r){var s;return s=C5t(t,e,n,r),!s&&(s=Nln(t,n,r),s&&!C4(t,e,s))?null:s}function Nun(t,e,n,r){var s;return s=_5t(t,e,n,r),!s&&(s=Uit(t,n,r),s&&!C4(t,e,s))?null:s}function kre(t,e){var n;for(n=0;n1||e>=0&&t.b<3)}function qD(t){var e,n,r;for(e=new Pu,r=ei(t,0);r.b!=r.d.c;)n=u(ti(r),8),m8(e,0,new xo(n));return e}function g2(t){var e,n;for(n=new S(t.a.b);n.ar?1:0}function $yt(t,e){return Uce(t,e)?(ln(t.b,u(Q(e,(ae(),By)),21),e),ri(t.a,e),!0):!1}function Yun(t){var e,n;e=u(Q(t,(ae(),Ju)),10),e&&(n=e.c,mu(n.a,e),n.a.c.length==0&&mu(Na(e).b,n))}function Are(t){return $1?Nt(Zge,Mfe,572,0,0,1):u(P1(t.a,Nt(Zge,Mfe,572,t.a.c.length,0,1)),842)}function Kun(t,e,n,r){return c$(),new uet(lt(ct(P2,1),Hq,42,0,[(kst(t,e),new Lw(t,e)),(kst(n,r),new Lw(n,r))]))}function a4(t,e,n){var r,s;return s=(r=new iet,r),bo(s,e,n),Dr((!t.q&&(t.q=new fe(Wh,t,11,10)),t.q),s),s}function Oit(t){var e,n,r,s;for(s=xXe(Z4e,t),n=s.length,r=Nt(Ae,ee,2,n,6,1),e=0;e=t.b.c.length||(zyt(t,2*e+1),n=2*e+2,n=0&&t[r]===e[r];r--);return r<0?0:Cet(Ns(t[r],co),Ns(e[r],co))?-1:1}function Xun(t,e){var n,r;for(r=ei(t,0);r.b!=r.d.c;)n=u(ti(r),214),n.e.length>0&&(e.td(n),n.i&&Vln(n))}function Fit(t,e){var n,r;return r=u(Dn(t.a,4),126),n=Nt(Fft,lut,415,e,0,1),r!=null&&Dc(r,0,n,0,r.length),n}function Mre(t,e){var n;return n=new fat((t.f&256)!=0,t.i,t.a,t.d,(t.f&16)!=0,t.j,t.g,e),t.e!=null||(n.c=t),n}function Qun(t,e){var n,r;for(r=t.Zb().Cc().Kc();r.Ob();)if(n=u(r.Pb(),14),n.Hc(e))return!0;return!1}function Nit(t,e,n,r,s){var o,h;for(h=n;h<=s;h++)for(o=e;o<=r;o++)if(f4(t,o,h))return!0;return!1}function Dre(t,e,n){var r,s,o,h;for(On(n),h=!1,o=t.Zc(e),s=n.Kc();s.Ob();)r=s.Pb(),o.Rb(r),h=!0;return h}function Zun(t,e){var n;return t===e?!0:_t(e,83)?(n=u(e,83),H4t(Rw(t),n.vc())):!1}function Ire(t,e,n){var r,s;for(s=n.Kc();s.Ob();)if(r=u(s.Pb(),42),t.re(e,r.dd()))return!0;return!1}function Ore(t,e,n){return t.d[e.p][n.p]||(Yfn(t,e,n),t.d[e.p][n.p]=!0,t.d[n.p][e.p]=!0),t.a[e.p][n.p]}function sE(t,e){if(!t.ai()&&e==null)throw it(new Fn("The 'no null' constraint is violated"));return e}function aE(t,e){t.D==null&&t.B!=null&&(t.D=t.B,t.B=null),git(t,e==null?null:(On(e),e)),t.C&&t.yk(null)}function Jun(t,e){var n;return!t||t==e||!Us(e,(ae(),Pv))?!1:(n=u(Q(e,(ae(),Pv)),10),n!=t)}function Bit(t){switch(t.i){case 2:return!0;case 1:return!1;case-1:++t.c;default:return t.pl()}}function Pre(t){switch(t.i){case-2:return!0;case-1:return!1;case 1:--t.c;default:return t.ql()}}function Fre(t){TQt.call(this,"The given string does not match the expected format for individual spacings.",t)}function Sl(){Sl=Z,Ql=new uj("ELK",0),qAt=new uj("JSON",1),zAt=new uj("DOT",2),HAt=new uj("SVG",3)}function HD(){HD=Z,NG=new Yet(J0,0),k_t=new Yet("RADIAL_COMPACTION",1),E_t=new Yet("WEDGE_COMPACTION",2)}function O1(){O1=Z,BEt=new _et("CONCURRENT",0),Ul=new _et("IDENTITY_FINISH",1),Iy=new _et("UNORDERED",2)}function Rit(){Rit=Z,f7t=(jR(),Kut),h7t=new mn(o6t,f7t),Xpe=new Vi(c6t),Qpe=new Vi(u6t),Zpe=new Vi(l6t)}function oE(){oE=Z,CTt=new J5,_Tt=new ZK,l2e=new OL,u2e=new JK,c2e=new tX,TTt=(On(c2e),new gn)}function cE(){cE=Z,Aht=new Het("CONSERVATIVE",0),K9t=new Het("CONSERVATIVE_SOFT",1),PS=new Het("SLOPPY",2)}function Sz(){Sz=Z,MAt=new Ow(15),T4e=new eo((ui(),U2),MAt),QS=Y6,_At=o4e,SAt=G2,LAt=c5,AAt=XG}function jit(t,e,n){var r,s,o;for(r=new Zi,o=ei(n,0);o.b!=o.d.c;)s=u(ti(o),8),ri(r,new xo(s));Dre(t,e,r)}function tln(t){var e,n,r;for(e=0,r=Nt(Ws,ee,8,t.b,0,1),n=ei(t,0);n.b!=n.d.c;)r[e++]=u(ti(n),8);return r}function Hyt(t){var e;return e=(!t.a&&(t.a=new fe(ag,t,9,5)),t.a),e.i!=0?vXe(u(At(e,0),678)):null}function eln(t,e){var n;return n=Pa(t,e),Cet(Drt(t,e),0)|PXe(Drt(t,n),0)?n:Pa(qq,Drt(Vm(n,63),1))}function nln(t,e){var n;n=Ie((nst(),vG))!=null&&e.wg()!=null?Xt(ye(e.wg()))/Xt(ye(Ie(vG))):1,ki(t.b,e,n)}function rln(t,e){var n,r;return n=u(t.d.Bc(e),14),n?(r=t.e.hc(),r.Gc(n),t.e.d-=n.gc(),n.$b(),r):null}function Vyt(t,e){var n,r;if(r=t.c[e],r!=0)for(t.c[e]=0,t.d-=r,n=e+1;n0)return T8(e-1,t.a.c.length),Fg(t.a,e-1);throw it(new cqt)}function iln(t,e,n){if(e<0)throw it(new yo(sde+e));ee)throw it(new Fn(Wq+t+Dfe+e));if(t<0||e>n)throw it(new ibt(Wq+t+Yxt+e+Uxt+n))}function Rre(t){if(!t.a||!(t.a.i&8))throw it(new No("Enumeration class expected for layout option "+t.f))}function iy(t){var e;++t.j,t.i==0?t.g=null:t.ikH?t-n>kH:n-t>kH}function zit(t,e){return!t||e&&!t.j||_t(t,124)&&u(t,124).a.b==0?0:t.Re()}function Lz(t,e){return!t||e&&!t.k||_t(t,124)&&u(t,124).a.a==0?0:t.Se()}function VD(t){return rb(),t<0?t!=-1?new j3t(-1,-t):But:t<=10?CEt[ps(t)]:new j3t(1,t)}function Uyt(t){throw _it(),it(new eHt("Unexpected typeof result '"+t+"'; please report this bug to the GWT team"))}function Hre(t){oHt(),yj(this),d$(this),this.e=t,nue(this,t),this.g=t==null?_u:$o(t),this.a="",this.b=t,this.a=""}function Wyt(){this.a=new vZ,this.f=new X$t(this),this.b=new Q$t(this),this.i=new Z$t(this),this.e=new J$t(this)}function Vre(){dKe.call(this,new Mmt(ty(16))),jl(2,ffe),this.b=2,this.a=new Lvt(null,null,0,null),dM(this.a,this.a)}function Z9(){Z9=Z,vht=new jet("DUMMY_NODE_OVER",0),O9t=new jet("DUMMY_NODE_UNDER",1),yG=new jet("EQUAL",2)}function qit(){qit=Z,olt=_Qt(lt(ct(XS,1),oe,103,0,[(ao(),zh),Cf])),clt=_Qt(lt(ct(XS,1),oe,103,0,[rg,ng]))}function Hit(t){return(ve(),Au).Hc(t.j)?Xt(ye(Q(t,(ae(),k7)))):Yo(lt(ct(Ws,1),ee,8,0,[t.i.n,t.n,t.a])).b}function uln(t){var e,n,r,s;for(r=t.b.a,n=r.a.ec().Kc();n.Ob();)e=u(n.Pb(),561),s=new Nce(e,t.e,t.f),le(t.g,s)}function b2(t,e){var n,r,s;r=t.nk(e,null),s=null,e&&(s=(c8(),n=new xw,n),H8(s,t.r)),r=F1(t,s,r),r&&r.Fi()}function lln(t,e){var n,r;for(r=ul(t.d,1)!=0,n=!0;n;)n=!1,n=e.c.Tf(e.e,r),n=n|yI(t,e,r,!1),r=!r;hyt(t)}function Yyt(t,e){var n,r,s;return r=!1,n=e.q.d,e.ds&&(bae(e.q,s),r=n!=e.q.d)),r}function Gre(t,e){var n,r,s,o,h,d,v,k;return v=e.i,k=e.j,r=t.f,s=r.i,o=r.j,h=v-s,d=k-o,n=b.Math.sqrt(h*h+d*d),n}function Kyt(t,e){var n,r;return r=Hz(t),r||(n=(Fat(),woe(e)),r=new Jzt(n),Dr(r.Vk(),t)),r}function GD(t,e){var n,r;return n=u(t.c.Bc(e),14),n?(r=t.hc(),r.Gc(n),t.d-=n.gc(),n.$b(),t.mc(r)):t.jc()}function Ure(t,e){var n;for(n=0;n=t.c.b:t.a<=t.c.b))throw it(new lc);return e=t.a,t.a+=t.c.c,++t.b,pe(e)}function dln(t){var e;return e=new Cee(t),hD(t.a,Wbe,new yl(lt(ct(mO,1),De,369,0,[e]))),e.d&&le(e.f,e.d),e.f}function Vit(t){var e;return e=new b2t(t.a),Mo(e,t),Jt(e,(ae(),_i),t),e.o.a=t.g,e.o.b=t.f,e.n.a=t.i,e.n.b=t.j,e}function gln(t,e,n,r){var s,o;for(o=t.Kc();o.Ob();)s=u(o.Pb(),70),s.n.a=e.a+(r.a-s.o.a)/2,s.n.b=e.b,e.b+=s.o.b+n}function pln(t,e,n){var r,s;for(s=e.a.a.ec().Kc();s.Ob();)if(r=u(s.Pb(),57),sQt(t,r,n))return!0;return!1}function bln(t){var e,n;for(n=new S(t.r);n.a=0?e:-e;r>0;)r%2==0?(n*=n,r=r/2|0):(s*=n,r-=1);return e<0?1/s:s}function yln(t,e){var n,r,s;for(s=1,n=t,r=e>=0?e:-e;r>0;)r%2==0?(n*=n,r=r/2|0):(s*=n,r-=1);return e<0?1/s:s}function Jre(t){var e,n;if(t!=null)for(n=0;n0&&(n=u(Ne(t.a,t.a.c.length-1),570),$yt(n,e))||le(t.a,new IJt(e))}function Cln(t){df();var e,n;e=t.d.c-t.e.c,n=u(t.g,145),xu(n.b,new AC(e)),xu(n.c,new Yb(e)),va(n.i,new dR(e))}function rie(t){var e;return e=new Mp,e.a+="VerticalSegment ",hc(e,t.e),e.a+=" ",Gr(e,_2t(new vet,new S(t.k))),e.a}function _ln(t){var e;return e=u(Xw(t.c.c,""),229),e||(e=new Yx(o8(a8(new xm,""),"Other")),m2(t.c.c,"",e)),e}function J9(t){var e;return t.Db&64?mf(t):(e=new _h(mf(t)),e.a+=" (name: ",go(e,t.zb),e.a+=")",e.a)}function t3t(t,e,n){var r,s;return s=t.sb,t.sb=e,t.Db&4&&!(t.Db&1)&&(r=new Js(t,1,4,s,e),n?n.Ei(r):n=r),n}function Git(t,e){var n,r,s;for(n=0,s=Ko(t,e).Kc();s.Ob();)r=u(s.Pb(),11),n+=Q(r,(ae(),Ju))!=null?1:0;return n}function c4(t,e,n){var r,s,o;for(r=0,o=ei(t,0);o.b!=o.d.c&&(s=Xt(ye(ti(o))),!(s>n));)s>=e&&++r;return r}function Sln(t,e,n){var r,s;return r=new z0(t.e,3,13,null,(s=e.c,s||(dn(),W1)),Hg(t,e),!1),n?n.Ei(r):n=r,n}function Aln(t,e,n){var r,s;return r=new z0(t.e,4,13,(s=e.c,s||(dn(),W1)),null,Hg(t,e),!1),n?n.Ei(r):n=r,n}function e3t(t,e,n){var r,s;return s=t.r,t.r=e,t.Db&4&&!(t.Db&1)&&(r=new Js(t,1,8,s,t.r),n?n.Ei(r):n=r),n}function $g(t,e){var n,r;return n=u(e,676),r=n.vk(),!r&&n.wk(r=_t(e,88)?new JGt(t,u(e,26)):new yZt(t,u(e,148))),r}function UD(t,e,n){var r;t.qi(t.i+1),r=t.oi(e,n),e!=t.i&&Dc(t.g,e,t.g,e+1,t.i-e),ts(t.g,e,r),++t.i,t.bi(e,n),t.ci()}function Lln(t,e){var n;return e.a&&(n=e.a.a.length,t.a?Gr(t.a,t.b):t.a=new Ol(t.d),kZt(t.a,e.a,e.d.length,n)),t}function Mln(t,e){var n,r,s,o;if(e.vi(t.a),o=u(Dn(t.a,8),1936),o!=null)for(n=o,r=0,s=n.length;rn)throw it(new yo(Wq+t+Yxt+e+", size: "+n));if(t>e)throw it(new Fn(Wq+t+Dfe+e))}function fh(t,e,n){if(e<0)i5t(t,n);else{if(!n.Ij())throw it(new Fn(lb+n.ne()+X_));u(n,66).Nj().Vj(t,t.yh(),e)}}function Oln(t,e,n,r,s,o,h,d){var v;for(v=n;o=r||e=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t>=48&&t<=57?t-48:0}function lie(t){var e;return t.Db&64?mf(t):(e=new _h(mf(t)),e.a+=" (source: ",go(e,t.d),e.a+=")",e.a)}function Fln(t,e,n){var r,s;return s=t.a,t.a=e,t.Db&4&&!(t.Db&1)&&(r=new Js(t,1,5,s,t.a),n?T4t(n,r):n=r),n}function zg(t,e){var n;n=(t.Bb&256)!=0,e?t.Bb|=256:t.Bb&=-257,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,2,n,e))}function r3t(t,e){var n;n=(t.Bb&256)!=0,e?t.Bb|=256:t.Bb&=-257,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,8,n,e))}function Iz(t,e){var n;n=(t.Bb&256)!=0,e?t.Bb|=256:t.Bb&=-257,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,8,n,e))}function qg(t,e){var n;n=(t.Bb&512)!=0,e?t.Bb|=512:t.Bb&=-513,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,3,n,e))}function i3t(t,e){var n;n=(t.Bb&512)!=0,e?t.Bb|=512:t.Bb&=-513,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,9,n,e))}function e_(t,e){var n;return t.b==-1&&t.a&&(n=t.a.Gj(),t.b=n?t.c.Xg(t.a.aj(),n):Gi(t.c.Tg(),t.a)),t.c.Og(t.b,e)}function pe(t){var e,n;return t>-129&&t<128?(e=t+128,n=(cKt(),fEt)[e],!n&&(n=fEt[e]=new uM(t)),n):new uM(t)}function uE(t){var e,n;return t>-129&&t<128?(e=t+128,n=(gKt(),bEt)[e],!n&&(n=bEt[e]=new fR(t)),n):new fR(t)}function s3t(t){var e,n;return e=t.k,e==(Vn(),ks)?(n=u(Q(t,(ae(),oc)),61),n==(ve(),Pn)||n==mr):!1}function Nln(t,e,n){var r,s,o;return o=(s=_E(t.b,e),s),o&&(r=u(Pq(TD(t,o),""),26),r)?C5t(t,r,e,n):null}function Uit(t,e,n){var r,s,o;return o=(s=_E(t.b,e),s),o&&(r=u(Pq(TD(t,o),""),26),r)?_5t(t,r,e,n):null}function hie(t,e){var n,r;for(r=new nr(t);r.e!=r.i.gc();)if(n=u(dr(r),138),Vt(e)===Vt(n))return!0;return!1}function n_(t,e,n){var r;if(r=t.gc(),e>r)throw it(new qm(e,r));if(t.hi()&&t.Hc(n))throw it(new Fn(eO));t.Xh(e,n)}function Bln(t,e){var n;if(n=n4(t.i,e),n==null)throw it(new ud("Node did not exist in input."));return byt(e,n),null}function Rln(t,e){var n;if(n=mI(t,e),_t(n,322))return u(n,34);throw it(new Fn(lb+e+"' is not a valid attribute"))}function jln(t,e,n){var r,s;for(s=_t(e,99)&&u(e,18).Bb&Ka?new rnt(e,t):new tE(e,t),r=0;re?1:t==e?t==0?Ms(1/t,1/e):0:isNaN(t)?isNaN(e)?0:1:-1}function Yln(t,e){vr(e,"Sort end labels",1),ls(Ri(Wo(new Tn(null,new _n(t.b,16)),new cN),new K5),new AK),or(e)}function r_(t,e,n){var r,s;return t.ej()?(s=t.fj(),r=Jst(t,e,n),t.$i(t.Zi(7,pe(n),r,e,s)),r):Jst(t,e,n)}function Wit(t,e){var n,r,s;t.d==null?(++t.e,--t.f):(s=e.cd(),n=e.Sh(),r=(n&wi)%t.d.length,Dan(t,r,Lce(t,r,n,s)))}function lE(t,e){var n;n=(t.Bb&xf)!=0,e?t.Bb|=xf:t.Bb&=-1025,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,10,n,e))}function hE(t,e){var n;n=(t.Bb&Ey)!=0,e?t.Bb|=Ey:t.Bb&=-4097,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,12,n,e))}function fE(t,e){var n;n=(t.Bb&Hu)!=0,e?t.Bb|=Hu:t.Bb&=-8193,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,15,n,e))}function dE(t,e){var n;n=(t.Bb&Dy)!=0,e?t.Bb|=Dy:t.Bb&=-2049,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,11,n,e))}function Kln(t,e){var n;return n=Ms(t.b.c,e.b.c),n!=0||(n=Ms(t.a.a,e.a.a),n!=0)?n:Ms(t.a.b,e.a.b)}function Xln(t,e){var n;if(n=tr(t.k,e),n==null)throw it(new ud("Port did not exist in input."));return byt(e,n),null}function Qln(t){var e,n;for(n=Pce(Rl(t)).Kc();n.Ob();)if(e=Br(n.Pb()),k_(t,e))return san((HVt(),l5e),e);return null}function Zln(t,e){var n,r,s,o,h;for(h=ou(t.e.Tg(),e),o=0,n=u(t.g,119),s=0;s>10)+RI&ys,e[1]=(t&1023)+56320&ys,Mh(e,0,e.length)}function Pz(t){var e,n;return n=u(Q(t,(Te(),Wl)),103),n==(ao(),h0)?(e=Xt(ye(Q(t,rG))),e>=1?Cf:ng):n}function ehn(t){switch(u(Q(t,(Te(),eg)),218).g){case 1:return new YX;case 3:return new JX;default:return new WX}}function w2(t){if(t.c)w2(t.c);else if(t.d)throw it(new No("Stream already terminated, can't be modified or used"))}function Xit(t){var e;return t.Db&64?mf(t):(e=new _h(mf(t)),e.a+=" (identifier: ",go(e,t.k),e.a+=")",e.a)}function pie(t,e,n){var r,s;return r=(Sw(),s=new xp,s),iz(r,e),sz(r,n),t&&Dr((!t.a&&(t.a=new As(Gh,t,5)),t.a),r),r}function Qit(t,e,n,r){var s,o;return On(r),On(n),s=t.xc(e),o=s==null?n:MVt(u(s,15),u(n,14)),o==null?t.Bc(e):t.zc(e,o),o}function un(t){var e,n,r,s;return n=(e=u(Vf((r=t.gm,s=r.f,s==Hr?r:s)),9),new sh(e,u(ff(e,e.length),9),0)),vf(n,t),n}function nhn(t,e,n){var r,s;for(s=t.a.ec().Kc();s.Ob();)if(r=u(s.Pb(),10),ND(n,u(Ne(e,r.p),14)))return r;return null}function rhn(t,e,n){var r;try{Bun(t,e,n)}catch(s){throw s=Wi(s),_t(s,597)?(r=s,it(new dmt(r))):it(s)}return e}function Jp(t,e){var n;return Bo(t)&&Bo(e)&&(n=t-e,BI>1,t.k=n-1>>1}function Zit(){M4t();var t,e,n;n=Jxn+++Date.now(),t=ps(b.Math.floor(n*$I))&Uq,e=ps(n-t*Gxt),this.a=t^1502,this.b=e^Eot}function U0(t){var e,n,r;for(e=new he,r=new S(t.j);r.a34028234663852886e22?as:e<-34028234663852886e22?Cs:e}function bie(t){return t-=t>>1&1431655765,t=(t>>2&858993459)+(t&858993459),t=(t>>4)+t&252645135,t+=t>>8,t+=t>>16,t&63}function wie(t){var e,n,r,s;for(e=new QWt(t.Hd().gc()),s=0,r=e6(t.Hd().Kc());r.Ob();)n=r.Pb(),vin(e,n,pe(s++));return Hgn(e.a)}function uhn(t,e){var n,r,s;for(s=new _r,r=e.vc().Kc();r.Ob();)n=u(r.Pb(),42),ki(s,n.cd(),tun(t,u(n.dd(),15)));return s}function h3t(t,e){t.n.c.length==0&&le(t.n,new E$(t.s,t.t,t.i)),le(t.b,e),W3t(u(Ne(t.n,t.n.c.length-1),211),e),Sle(t,e)}function u4(t){return(t.c!=t.b.b||t.i!=t.g.b)&&(t.a.c=Nt(Qn,De,1,0,5,1),Ls(t.a,t.b),Ls(t.a,t.g),t.c=t.b.b,t.i=t.g.b),t.a}function Jit(t,e){var n,r,s;for(s=0,r=u(e.Kb(t),20).Kc();r.Ob();)n=u(r.Pb(),17),je(Re(Q(n,(ae(),q1))))||++s;return s}function lhn(t,e){var n,r,s;r=t4(e),s=Xt(ye(oy(r,(Te(),Tf)))),n=b.Math.max(0,s/2-.5),h_(e,n,1),le(t,new uGt(e,n))}function dh(){dh=Z,MO=new MM(J0,0),ES=new MM("FIRST",1),bb=new MM(C1e,2),TS=new MM("LAST",3),jy=new MM(_1e,4)}function W0(){W0=Z,Cft=new sj(N_,0),eP=new sj("POLYLINE",1),N7=new sj("ORTHOGONAL",2),X6=new sj("SPLINES",3)}function Fz(){Fz=Z,z_t=new Xet("ASPECT_RATIO_DRIVEN",0),Qht=new Xet("MAX_SCALE_DRIVEN",1),$_t=new Xet("AREA_DRIVEN",2)}function KD(){KD=Z,jG=new Qet("P1_STRUCTURE",0),$G=new Qet("P2_PROCESSING_ORDER",1),zG=new Qet("P3_EXECUTION",2)}function Nz(){Nz=Z,Ght=new Wet("OVERLAP_REMOVAL",0),Hht=new Wet("COMPACTION",1),Vht=new Wet("GRAPH_SIZE_CALCULATION",2)}function av(t,e){return k1(),wf(sb),b.Math.abs(t-e)<=sb||t==e||isNaN(t)&&isNaN(e)?0:te?1:Iw(isNaN(t),isNaN(e))}function vie(t,e){var n,r;for(n=ei(t,0);n.b!=n.d.c;){if(r=pM(ye(ti(n))),r==e)return;if(r>e){Ort(n);break}}eD(n,e)}function an(t,e){var n,r,s,o,h;if(n=e.f,m2(t.c.d,n,e),e.g!=null)for(s=e.g,o=0,h=s.length;oe&&r.ue(t[o-1],t[o])>0;--o)h=t[o],ts(t,o,t[o-1]),ts(t,o-1,h)}function gh(t,e,n,r){if(e<0)M5t(t,n,r);else{if(!n.Ij())throw it(new Fn(lb+n.ne()+X_));u(n,66).Nj().Tj(t,t.yh(),e,r)}}function Bz(t,e){if(e==t.d)return t.e;if(e==t.e)return t.d;throw it(new Fn("Node "+e+" not part of edge "+t))}function fhn(t,e){switch(e.g){case 2:return t.b;case 1:return t.c;case 4:return t.d;case 3:return t.a;default:return!1}}function mie(t,e){switch(e.g){case 2:return t.b;case 1:return t.c;case 4:return t.d;case 3:return t.a;default:return!1}}function f3t(t,e,n,r){switch(e){case 3:return t.f;case 4:return t.g;case 5:return t.i;case 6:return t.j}return n3t(t,e,n,r)}function dhn(t){return t.k!=(Vn(),Os)?!1:N8(new Tn(null,new jw(new ar(lr(Ds(t).a.Kc(),new z)))),new $N)}function ghn(t){return t.e==null?t:(!t.c&&(t.c=new fat((t.f&256)!=0,t.i,t.a,t.d,(t.f&16)!=0,t.j,t.g,null)),t.c)}function phn(t,e){return t.h==NI&&t.m==0&&t.l==0?(e&&(hb=iu(0,0,0)),yUt((q8(),aEt))):(e&&(hb=iu(t.l,t.m,t.h)),iu(0,0,0))}function $o(t){var e;return Array.isArray(t)&&t.im===Et?Ip(ol(t))+"@"+(e=Hi(t)>>>0,e.toString(16)):t.toString()}function i_(t){var e;this.a=(e=u(t.e&&t.e(),9),new sh(e,u(ff(e,e.length),9),0)),this.b=Nt(Qn,De,1,this.a.a.length,5,1)}function bhn(t){var e,n,r;for(this.a=new O0,r=new S(t);r.a0&&(Rr(e-1,t.length),t.charCodeAt(e-1)==58)&&!tst(t,oA,cA))}function tst(t,e,n){var r,s;for(r=0,s=t.length;r=s)return e.c+n;return e.c+e.b.gc()}function xhn(t,e){y8();var n,r,s,o;for(r=Ote(t),s=e,$8(r,0,r.length,s),n=0;n0&&(r+=s,++n);return n>1&&(r+=t.d*(n-1)),r}function g3t(t){var e,n,r;for(r=new Ag,r.a+="[",e=0,n=t.gc();e0&&this.b>0&&Kwt(this.c,this.b,this.a)}function w3t(t){nst(),this.c=A1(lt(ct(w6n,1),De,831,0,[eme])),this.b=new _r,this.a=t,ki(this.b,vG,1),xu(nme,new czt(this))}function yie(t,e){var n;return t.d?Tl(t.b,e)?u(tr(t.b,e),51):(n=e.Kf(),ki(t.b,e,n),n):e.Kf()}function v3t(t,e){var n;return Vt(t)===Vt(e)?!0:_t(e,91)?(n=u(e,91),t.e==n.e&&t.d==n.d&&oan(t,n.a)):!1}function a6(t){switch(ve(),t.g){case 4:return Pn;case 1:return Hn;case 3:return mr;case 2:return Bn;default:return Zo}}function m3t(t,e){switch(e){case 3:return t.f!=0;case 4:return t.g!=0;case 5:return t.i!=0;case 6:return t.j!=0}return vyt(t,e)}function Shn(t){switch(t.g){case 0:return new gZ;case 1:return new tB;default:throw it(new Fn(Ict+(t.f!=null?t.f:""+t.g)))}}function xie(t){switch(t.g){case 0:return new JN;case 1:return new eB;default:throw it(new Fn(Yot+(t.f!=null?t.f:""+t.g)))}}function kie(t){switch(t.g){case 0:return new Qpt;case 1:return new Oqt;default:throw it(new Fn(_H+(t.f!=null?t.f:""+t.g)))}}function Ahn(t){switch(t.g){case 1:return new uZ;case 2:return new jWt;default:throw it(new Fn(Ict+(t.f!=null?t.f:""+t.g)))}}function Lhn(t){var e,n;if(t.b)return t.b;for(n=$1?null:t.d;n;){if(e=$1?null:n.b,e)return e;n=$1?null:n.d}return d8(),NEt}function Mhn(t){var e,n,r;return t.e==0?0:(e=t.d<<5,n=t.a[t.d-1],t.e<0&&(r=Ine(t),r==t.d-1&&(--n,n=n|0)),e-=pI(n),e)}function Dhn(t){var e,n,r;return t>5,e=t&31,r=Nt(Cr,Xr,25,n+1,15,1),r[n]=1<3;)s*=10,--o;t=(t+(s>>1))/s|0}return r.i=t,!0}function Ohn(t){return qit(),Nn(),!!(mie(u(t.a,81).j,u(t.b,103))||u(t.a,81).d.e!=0&&mie(u(t.a,81).j,u(t.b,103)))}function Phn(t){V$(),u(t.We((ui(),xb)),174).Hc((ll(),iU))&&(u(t.We(Qy),174).Fc((Zu(),Q6)),u(t.We(xb),174).Mc(iU))}function Tie(t,e){var n,r;if(e){for(n=0;n=0;--r)for(e=n[r],s=0;s>1,this.k=e-1>>1}function $hn(t,e){vr(e,"End label post-processing",1),ls(Ri(Wo(new Tn(null,new _n(t.b,16)),new kK),new EK),new TK),or(e)}function zhn(t,e,n){var r,s;return r=Xt(t.p[e.i.p])+Xt(t.d[e.i.p])+e.n.b+e.a.b,s=Xt(t.p[n.i.p])+Xt(t.d[n.i.p])+n.n.b+n.a.b,s-r}function qhn(t,e,n){var r,s;for(r=Ns(n,co),s=0;yc(r,0)!=0&&s0&&(Rr(0,e.length),e.charCodeAt(0)==43)?e.substr(1):e))}function Vhn(t){var e;return t==null?null:new Rp((e=$c(t,!0),e.length>0&&(Rr(0,e.length),e.charCodeAt(0)==43)?e.substr(1):e))}function _3t(t,e){var n;return t.i>0&&(e.lengtht.i&&ts(e,t.i,null),e}function Zc(t,e,n){var r,s,o;return t.ej()?(r=t.i,o=t.fj(),UD(t,r,e),s=t.Zi(3,null,e,r,o),n?n.Ei(s):n=s):UD(t,t.i,e),n}function Ghn(t,e,n){var r,s;return r=new z0(t.e,4,10,(s=e.c,_t(s,88)?u(s,26):(dn(),Kh)),null,Hg(t,e),!1),n?n.Ei(r):n=r,n}function Uhn(t,e,n){var r,s;return r=new z0(t.e,3,10,null,(s=e.c,_t(s,88)?u(s,26):(dn(),Kh)),Hg(t,e),!1),n?n.Ei(r):n=r,n}function Sie(t){$m();var e;return e=new xo(u(t.e.We((ui(),c5)),8)),t.B.Hc((ll(),R7))&&(e.a<=0&&(e.a=20),e.b<=0&&(e.b=20)),e}function Aie(t){cy();var e;return(t.q?t.q:(wn(),wn(),u0))._b((Te(),Bv))?e=u(Q(t,Bv),197):e=u(Q(Na(t),AS),197),e}function oy(t,e){var n,r;return r=null,Us(t,(Te(),bG))&&(n=u(Q(t,bG),94),n.Xe(e)&&(r=n.We(e))),r==null&&(r=Q(Na(t),e)),r}function Lie(t,e){var n,r,s;return _t(e,42)?(n=u(e,42),r=n.cd(),s=sy(t.Rc(),r),pd(s,n.dd())&&(s!=null||t.Rc()._b(r))):!1}function ist(t,e){var n,r,s;return t.f>0?(t.qj(),r=e==null?0:Hi(e),s=(r&wi)%t.d.length,n=Lce(t,s,r,e),n!=-1):!1}function Xf(t,e){var n,r,s;return t.f>0&&(t.qj(),r=e==null?0:Hi(e),s=(r&wi)%t.d.length,n=l5t(t,s,r,e),n)?n.dd():null}function XD(t,e){var n,r,s,o;for(o=ou(t.e.Tg(),e),n=u(t.g,119),s=0;s1?S1(F0(e.a[1],32),Ns(e.a[0],co)):Ns(e.a[0],co),Yw(_a(e.e,n))))}function QD(t,e){var n;return Bo(t)&&Bo(e)&&(n=t%e,BI>5,e&=31,s=t.d+n+(e==0?0:1),r=Nt(Cr,Xr,25,s,15,1),W0n(r,t.a,n,e),o=new X3(t.e,s,r),N9(o),o}function A3t(t,e,n){var r,s;r=u(Nc(z7,e),117),s=u(Nc(gA,e),117),n?(ko(z7,t,r),ko(gA,t,s)):(ko(gA,t,r),ko(z7,t,s))}function Nie(t,e,n){var r,s,o;for(s=null,o=t.b;o;){if(r=t.a.ue(e,o.d),n&&r==0)return o;r>=0?o=o.a[1]:(s=o,o=o.a[0])}return s}function Bie(t,e,n){var r,s,o;for(s=null,o=t.b;o;){if(r=t.a.ue(e,o.d),n&&r==0)return o;r<=0?o=o.a[0]:(s=o,o=o.a[1])}return s}function Qhn(t,e,n,r){var s,o,h;return s=!1,I4n(t.f,n,r)&&(kfn(t.f,t.a[e][n],t.a[e][r]),o=t.a[e],h=o[r],o[r]=o[n],o[n]=h,s=!0),s}function L3t(t,e,n,r,s){var o,h,d;for(h=s;e.b!=e.c;)o=u(Hx(e),10),d=u(Ko(o,r).Xb(0),11),t.d[d.p]=h++,n.c[n.c.length]=d;return h}function M3t(t,e,n){var r,s,o,h,d;return h=t.k,d=e.k,r=n[h.g][d.g],s=ye(oy(t,r)),o=ye(oy(e,r)),b.Math.max((On(s),s),(On(o),o))}function Zhn(t,e,n){var r,s,o,h;for(r=n/t.c.length,s=0,h=new S(t);h.a2e3&&(Pge=t,JH=b.setTimeout(sXe,10))),ZH++==0?(Oon((nbt(),rEt)),!0):!1}function tfn(t,e){var n,r,s;for(r=new ar(lr(Ds(t).a.Kc(),new z));zr(r);)if(n=u(Mr(r),17),s=n.d.i,s.c==e)return!1;return!0}function D3t(t,e){var n,r;if(_t(e,245)){r=u(e,245);try{return n=t.vd(r),n==0}catch(s){if(s=Wi(s),!_t(s,205))throw it(s)}}return!1}function efn(){return Error.stackTraceLimit>0?(b.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error}function nfn(t,e){return k1(),k1(),wf(sb),(b.Math.abs(t-e)<=sb||t==e||isNaN(t)&&isNaN(e)?0:te?1:Iw(isNaN(t),isNaN(e)))>0}function I3t(t,e){return k1(),k1(),wf(sb),(b.Math.abs(t-e)<=sb||t==e||isNaN(t)&&isNaN(e)?0:te?1:Iw(isNaN(t),isNaN(e)))<0}function $ie(t,e){return k1(),k1(),wf(sb),(b.Math.abs(t-e)<=sb||t==e||isNaN(t)&&isNaN(e)?0:te?1:Iw(isNaN(t),isNaN(e)))<=0}function ast(t,e){for(var n=0;!e[n]||e[n]=="";)n++;for(var r=e[n++];nvot)return n.fh();if(r=n.Zg(),r||n==t)break}return r}function O3t(t){return C$(),_t(t,156)?u(tr(dP,Uge),288).vg(t):Tl(dP,ol(t))?u(tr(dP,ol(t)),288).vg(t):null}function ifn(t){if(Vz(XE,t))return Nn(),r7;if(Vz(Vct,t))return Nn(),F2;throw it(new Fn("Expecting true or false"))}function sfn(t,e){if(e.c==t)return e.d;if(e.d==t)return e.c;throw it(new Fn("Input edge is not connected to the input port."))}function Uie(t,e){return t.e>e.e?1:t.ee.d?t.e:t.d=48&&t<48+b.Math.min(10,10)?t-48:t>=97&&t<97?t-97+10:t>=65&&t<65?t-65+10:-1}function Yie(t,e){var n;return Vt(e)===Vt(t)?!0:!_t(e,21)||(n=u(e,21),n.gc()!=t.gc())?!1:t.Ic(n)}function afn(t,e){var n,r,s,o;return r=t.a.length-1,n=e-t.b&r,o=t.c-e&r,s=t.c-t.b&r,TWt(n=o?(sln(t,e),-1):(aln(t,e),1)}function ofn(t,e){var n,r;for(n=(Rr(e,t.length),t.charCodeAt(e)),r=e+1;re.e?1:t.fe.f?1:Hi(t)-Hi(e)}function Vz(t,e){return On(t),e==null?!1:hn(t,e)?!0:t.length==e.length&&hn(t.toLowerCase(),e.toLowerCase())}function bfn(t,e){var n,r,s,o;for(r=0,s=e.gc();r0&&yc(t,128)<0?(e=Ar(t)+128,n=(dKt(),dEt)[e],!n&&(n=dEt[e]=new Am(t)),n):new Am(t)}function Xie(t,e){var n,r;return n=e.Hh(t.a),n&&(r=Br(Xf((!n.b&&(n.b=new kl((dn(),Qa),cc,n)),n.b),ci)),r!=null)?r:e.ne()}function wfn(t,e){var n,r;return n=e.Hh(t.a),n&&(r=Br(Xf((!n.b&&(n.b=new kl((dn(),Qa),cc,n)),n.b),ci)),r!=null)?r:e.ne()}function vfn(t,e){_rt();var n,r;for(r=new ar(lr(U0(t).a.Kc(),new z));zr(r);)if(n=u(Mr(r),17),n.d.i==e||n.c.i==e)return n;return null}function N3t(t,e,n){this.c=t,this.f=new he,this.e=new Ca,this.j=new Gwt,this.n=new Gwt,this.b=e,this.g=new ah(e.c,e.d,e.b,e.a),this.a=n}function ost(t){var e,n,r,s;for(this.a=new O0,this.d=new Hs,this.e=0,n=t,r=0,s=n.length;r0):!1}function Jie(t){var e;Vt(qe(t,(ui(),s5)))===Vt((G0(),tU))&&(es(t)?(e=u(qe(es(t),s5),334),wo(t,s5,e)):wo(t,s5,ZS))}function kfn(t,e,n){var r,s;qst(t.e,e,n,(ve(),Bn)),qst(t.i,e,n,Hn),t.a&&(s=u(Q(e,(ae(),_i)),11),r=u(Q(n,_i),11),Irt(t.g,s,r))}function tse(t,e,n){var r,s,o;r=e.c.p,o=e.p,t.b[r][o]=new wQt(t,e),n&&(t.a[r][o]=new e8(e),s=u(Q(e,(ae(),Pv)),10),s&&ln(t.d,s,e))}function ese(t,e){var n,r,s;if(le(dV,t),e.Fc(t),n=u(tr(Jut,t),21),n)for(s=n.Kc();s.Ob();)r=u(s.Pb(),33),Ro(dV,r,0)!=-1||ese(r,e)}function Efn(t,e,n){var r;(Jge?(Lhn(t),!0):tpe||npe?(d8(),!0):epe&&(d8(),!1))&&(r=new LYt(e),r.b=n,_gn(t,r))}function cst(t,e){var n;n=!t.A.Hc((Al(),K2))||t.q==(ua(),Gc),t.u.Hc((Zu(),sg))?n?G5n(t,e):Dhe(t,e):t.u.Hc(Cb)&&(n?l5n(t,e):Ghe(t,e))}function bE(t,e){var n,r;if(++t.j,e!=null&&(n=(r=t.a.Cb,_t(r,97)?u(r,97).Jg():null),vbn(e,n))){o6(t.a,4,n);return}o6(t.a,4,u(e,126))}function nse(t,e,n){return new ah(b.Math.min(t.a,e.a)-n/2,b.Math.min(t.b,e.b)-n/2,b.Math.abs(t.a-e.a)+n,b.Math.abs(t.b-e.b)+n)}function Tfn(t,e){var n,r;return n=pu(t.a.c.p,e.a.c.p),n!=0?n:(r=pu(t.a.d.i.p,e.a.d.i.p),r!=0?r:pu(e.a.d.p,t.a.d.p))}function Cfn(t,e,n){var r,s,o,h;return o=e.j,h=n.j,o!=h?o.g-h.g:(r=t.f[e.p],s=t.f[n.p],r==0&&s==0?0:r==0?-1:s==0?1:Ms(r,s))}function rse(t,e,n){var r,s,o;if(!n[e.d])for(n[e.d]=!0,s=new S(u4(e));s.a=s)return s;for(e=e>0?e:0;er&&ts(e,r,null),e}function sse(t,e){var n,r;for(r=t.a.length,e.lengthr&&ts(e,r,null),e}function m2(t,e,n){var r,s,o;return s=u(tr(t.e,e),387),s?(o=awt(s,n),XUt(t,s),o):(r=new Owt(t,e,n),ki(t.e,e,r),kQt(r),null)}function Afn(t){var e;if(t==null)return null;if(e=k2n($c(t,!0)),e==null)throw it(new pet("Invalid hexBinary value: '"+t+"'"));return e}function JD(t){return rb(),yc(t,0)<0?yc(t,-1)!=0?new x4t(-1,z8(t)):But:yc(t,10)<=0?CEt[Ar(t)]:new x4t(1,t)}function lst(){return $q(),lt(ct($pe,1),oe,159,0,[Rpe,Bpe,jpe,Lpe,Ape,Mpe,Ope,Ipe,Dpe,Npe,Fpe,Ppe,_pe,Cpe,Spe,Epe,kpe,Tpe,ype,mpe,xpe,Uut])}function ase(t){var e;this.d=new he,this.j=new Ca,this.g=new Ca,e=t.g.b,this.f=u(Q(Na(e),(Te(),Wl)),103),this.e=Xt(ye(Wz(e,Wy)))}function ose(t){this.b=new he,this.e=new he,this.d=t,this.a=!qC(Ri(new Tn(null,new jw(new L1(t.b))),new Zt(new zN))).sd((Qb(),o7))}function Qf(){Qf=Z,qn=new OM("PARENTS",0),ea=new OM("NODES",1),Pd=new OM("EDGES",2),V2=new OM("PORTS",3),rp=new OM("LABELS",4)}function l4(){l4=Z,Eb=new FM("DISTRIBUTED",0),iP=new FM("JUSTIFIED",1),IAt=new FM("BEGIN",2),JS=new FM(qE,3),OAt=new FM("END",4)}function Lfn(t){var e;switch(e=t.yi(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 hst(t){switch(t.g){case 1:return ao(),rg;case 4:return ao(),zh;case 2:return ao(),Cf;case 3:return ao(),ng}return ao(),h0}function Mfn(t,e,n){var r;switch(r=n.q.getFullYear()-ab+ab,r<0&&(r=-r),e){case 1:t.a+=r;break;case 2:Jd(t,r%100,2);break;default:Jd(t,r,e)}}function ei(t,e){var n,r;if(Km(e,t.b),e>=t.b>>1)for(r=t.c,n=t.b;n>e;--n)r=r.b;else for(r=t.a.a,n=0;n=64&&e<128&&(s=S1(s,F0(1,e-64)));return s}function Wz(t,e){var n,r;return r=null,Us(t,(ui(),K6))&&(n=u(Q(t,K6),94),n.Xe(e)&&(r=n.We(e))),r==null&&Na(t)&&(r=Q(Na(t),e)),r}function lse(t,e){var n,r,s;s=e.d.i,r=s.k,!(r==(Vn(),Os)||r==z1)&&(n=new ar(lr(Ds(s).a.Kc(),new z)),zr(n)&&ki(t.k,e,u(Mr(n),17)))}function fst(t,e){var n,r,s;return r=yn(t.Tg(),e),n=e-t.Ah(),n<0?(s=t.Yg(r),s>=0?t.lh(s):Zst(t,r)):n<0?Zst(t,r):u(r,66).Nj().Sj(t,t.yh(),n)}function Ie(t){var e;if(_t(t.a,4)){if(e=O3t(t.a),e==null)throw it(new No(ode+t.b+"'. "+ade+(P0(gP),gP.k)+d8t));return e}else return t.a}function Ofn(t){var e;if(t==null)return null;if(e=J5n($c(t,!0)),e==null)throw it(new pet("Invalid base64Binary value: '"+t+"'"));return e}function dr(t){var e;try{return e=t.i.Xb(t.e),t.mj(),t.g=t.e++,e}catch(n){throw n=Wi(n),_t(n,73)?(t.mj(),it(new lc)):it(n)}}function dst(t){var e;try{return e=t.c.ki(t.e),t.mj(),t.g=t.e++,e}catch(n){throw n=Wi(n),_t(n,73)?(t.mj(),it(new lc)):it(n)}}function o_(){o_=Z,p7t=(ui(),hAt),Qut=HSt,Jpe=W6,g7t=U2,rbe=(sq(),WEt),nbe=GEt,ibe=KEt,ebe=VEt,tbe=(Rit(),h7t),Xut=Xpe,d7t=Qpe,fV=Zpe}function Yz(t){switch(kbt(),this.c=new he,this.d=t,t.g){case 0:case 2:this.a=Mvt(O7t),this.b=as;break;case 3:case 1:this.a=O7t,this.b=Cs}}function hse(t,e,n){var r,s;if(t.c)ku(t.c,t.c.i+e),Eu(t.c,t.c.j+n);else for(s=new S(t.b);s.a0&&(le(t.b,new GYt(e.a,n)),r=e.a.length,0r&&(e.a+=KUt(Nt(xh,yd,25,-r,15,1))))}function fse(t,e){var n,r,s;for(n=t.o,s=u(u(Ai(t.r,e),21),84).Kc();s.Ob();)r=u(s.Pb(),111),r.e.a=N1n(r,n.a),r.e.b=n.b*Xt(ye(r.b.We(uV)))}function Ffn(t,e){var n,r,s,o;return s=t.k,n=Xt(ye(Q(t,(ae(),Fv)))),o=e.k,r=Xt(ye(Q(e,Fv))),o!=(Vn(),ks)?-1:s!=ks?1:n==r?0:n=0?t.hh(e,n,r):(t.eh()&&(r=(s=t.Vg(),s>=0?t.Qg(r):t.eh().ih(t,-1-s,null,r))),t.Sg(e,n,r))}function R3t(t,e){switch(e){case 7:!t.e&&(t.e=new Cn(Ys,t,7,4)),xr(t.e);return;case 8:!t.d&&(t.d=new Cn(Ys,t,8,5)),xr(t.d);return}T3t(t,e)}function Zf(t,e){var n;n=t.Zc(e);try{return n.Pb()}catch(r){throw r=Wi(r),_t(r,109)?it(new yo("Can't get element "+e)):it(r)}}function j3t(t,e){this.e=t,e=0&&(n.d=t.t);break;case 3:t.t>=0&&(n.a=t.t)}t.C&&(n.b=t.C.b,n.c=t.C.c)}function u6(){u6=Z,dO=new QR(Kq,0),fO=new QR(Iot,1),gO=new QR(Oot,2),pO=new QR(Pot,3),dO.a=!1,fO.a=!0,gO.a=!1,pO.a=!0}function c_(){c_=Z,bO=new XR(Kq,0),lV=new XR(Iot,1),hV=new XR(Oot,2),wO=new XR(Pot,3),bO.a=!1,lV.a=!0,hV.a=!1,wO.a=!0}function $fn(t){var e;e=t.a;do e=u(Mr(new ar(lr(jo(e).a.Kc(),new z))),17).c.i,e.k==(Vn(),ta)&&t.b.Fc(e);while(e.k==(Vn(),ta));t.b=l2(t.b)}function zfn(t){var e,n,r;for(r=t.c.a,t.p=(Lr(r),new Bu(r)),n=new S(r);n.an.b)return!0}return!1}function gst(t,e){return ra(t)?!!Sge[e]:t.hm?!!t.hm[e]:Bm(t)?!!_ge[e]:Nm(t)?!!Cge[e]:!1}function wo(t,e,n){return n==null?(!t.o&&(t.o=new _l((Jc(),Sb),Hv,t,0)),qz(t.o,e)):(!t.o&&(t.o=new _l((Jc(),Sb),Hv,t,0)),aq(t.o,e,n)),t}function Gfn(t,e,n,r){var s,o;o=e.Xe((ui(),o5))?u(e.We(o5),21):t.j,s=Pln(o),s!=($q(),Uut)&&(n&&!P3t(s)||V4t(E2n(t,s,r),e))}function Xz(t,e,n,r){var s,o,h;return o=yn(t.Tg(),e),s=e-t.Ah(),s<0?(h=t.Yg(o),h>=0?t._g(h,n,!0):dv(t,o,n)):u(o,66).Nj().Pj(t,t.yh(),s,n,r)}function Ufn(t,e,n,r){var s,o,h;n.mh(e)&&(to(),ait(e)?(s=u(n.ah(e),153),bfn(t,s)):(o=(h=e,h?u(r,49).xh(h):null),o&&YYe(n.ah(e),o)))}function Wfn(t){switch(t.g){case 1:return rv(),hO;case 3:return rv(),lO;case 2:return rv(),Yut;case 4:return rv(),Wut;default:return null}}function $3t(t){switch(typeof t){case Vat:return Vg(t);case Nxt:return ps(t);case b6:return Nn(),t?1231:1237;default:return t==null?0:Pw(t)}}function Yfn(t,e,n){if(t.e)switch(t.b){case 1:Ern(t.c,e,n);break;case 0:Trn(t.c,e,n)}else tJt(t.c,e,n);t.a[e.p][n.p]=t.c.i,t.a[n.p][e.p]=t.c.e}function wse(t){var e,n;if(t==null)return null;for(n=Nt(l0,ee,193,t.length,0,2),e=0;e=0)return s;if(t.Fk()){for(r=0;r=s)throw it(new qm(e,s));if(t.hi()&&(r=t.Xc(n),r>=0&&r!=e))throw it(new Fn(eO));return t.mi(e,n)}function z3t(t,e){if(this.a=u(Lr(t),245),this.b=u(Lr(e),245),t.vd(e)>0||t==(cet(),_ut)||e==(oet(),Sut))throw it(new Fn("Invalid range: "+XZt(t,e)))}function vse(t){var e,n;for(this.b=new he,this.c=t,this.a=!1,n=new S(t.a);n.a0),(e&-e)==e)return ps(e*ul(t,31)*4656612873077393e-25);do n=ul(t,31),r=n%e;while(n-r+(e-1)<0);return ps(r)}function Vg(t){MYt();var e,n,r;return n=":"+t,r=aV[n],r!=null?ps((On(r),r)):(r=REt[n],e=r==null?$wn(t):ps((On(r),r)),prn(),aV[n]=e,e)}function yse(t,e,n){vr(n,"Compound graph preprocessor",1),t.a=new Uw,_he(t,e,null),S3n(t,e),uwn(t),Jt(e,(ae(),rCt),t.a),t.a=null,Xu(t.b),or(n)}function Qfn(t,e,n){switch(n.g){case 1:t.a=e.a/2,t.b=0;break;case 2:t.a=e.a,t.b=e.b/2;break;case 3:t.a=e.a/2,t.b=e.b;break;case 4:t.a=0,t.b=e.b/2}}function Zfn(t){var e,n,r;for(r=u(Ai(t.a,(b4(),qV)),15).Kc();r.Ob();)n=u(r.Pb(),101),e=t4t(n),_8(t,n,e[0],(nv(),Mv),0),_8(t,n,e[1],Dv,1)}function Jfn(t){var e,n,r;for(r=u(Ai(t.a,(b4(),HV)),15).Kc();r.Ob();)n=u(r.Pb(),101),e=t4t(n),_8(t,n,e[0],(nv(),Mv),0),_8(t,n,e[1],Dv,1)}function pst(t){switch(t.g){case 0:return null;case 1:return new yne;case 2:return new Zpt;default:throw it(new Fn(Ict+(t.f!=null?t.f:""+t.g)))}}function tI(t,e,n){var r,s;for(xun(t,e-t.s,n-t.t),s=new S(t.n);s.a1&&(o=Xfn(t,e)),o}function bst(t){var e;return t.f&&t.f.kh()&&(e=u(t.f,49),t.f=u(Zp(t,e),82),t.f!=e&&t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,9,8,e,t.f))),t.f}function wst(t){var e;return t.i&&t.i.kh()&&(e=u(t.i,49),t.i=u(Zp(t,e),82),t.i!=e&&t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,9,7,e,t.i))),t.i}function no(t){var e;return t.b&&t.b.Db&64&&(e=t.b,t.b=u(Zp(t,e),18),t.b!=e&&t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,9,21,e,t.b))),t.b}function Jz(t,e){var n,r,s;t.d==null?(++t.e,++t.f):(r=e.Sh(),bwn(t,t.f+1),s=(r&wi)%t.d.length,n=t.d[s],!n&&(n=t.d[s]=t.uj()),n.Fc(e),++t.f)}function V3t(t,e,n){var r;return e.Kj()?!1:e.Zj()!=-2?(r=e.zj(),r==null?n==null:yi(r,n)):e.Hj()==t.e.Tg()&&n==null}function tq(){var t;jl(16,bfe),t=hne(16),this.b=Nt(Lut,PI,317,t,0,1),this.c=Nt(Lut,PI,317,t,0,1),this.a=null,this.e=null,this.i=0,this.f=t-1,this.g=0}function Y0(t){cwt.call(this),this.k=(Vn(),Os),this.j=(jl(6,ky),new Xc(6)),this.b=(jl(2,ky),new Xc(2)),this.d=new net,this.f=new Hpt,this.a=t}function e1n(t){var e,n;t.c.length<=1||(e=vue(t,(ve(),mr)),aoe(t,u(e.a,19).a,u(e.b,19).a),n=vue(t,Bn),aoe(t,u(n.a,19).a,u(n.b,19).a))}function u_(){u_=Z,F9t=new LM("SIMPLE",0),xht=new LM(Xot,1),kht=new LM("LINEAR_SEGMENTS",2),DS=new LM("BRANDES_KOEPF",3),IS=new LM(q1e,4)}function G3t(t,e,n){jx(u(Q(e,(Te(),cs)),98))||(jmt(t,e,Gg(e,n)),jmt(t,e,Gg(e,(ve(),mr))),jmt(t,e,Gg(e,Pn)),wn(),Zs(e.j,new hM(t)))}function xse(t,e,n,r){var s,o,h;for(s=u(Ai(r?t.a:t.b,e),21),h=s.Kc();h.Ob();)if(o=u(h.Pb(),33),Tq(t,n,o))return!0;return!1}function vst(t){var e,n;for(n=new nr(t);n.e!=n.i.gc();)if(e=u(dr(n),87),e.e||(!e.d&&(e.d=new As(ho,e,1)),e.d).i!=0)return!0;return!1}function mst(t){var e,n;for(n=new nr(t);n.e!=n.i.gc();)if(e=u(dr(n),87),e.e||(!e.d&&(e.d=new As(ho,e,1)),e.d).i!=0)return!0;return!1}function n1n(t){var e,n,r;for(e=0,r=new S(t.c.a);r.a102?-1:t<=57?t-48:t<65?-1:t<=70?t-65+10:t<97?-1:t-97+10}function kst(t,e){if(t==null)throw it(new Sx("null key in entry: null="+e));if(e==null)throw it(new Sx("null value in entry: "+t+"=null"))}function r1n(t,e){for(var n,r;t.Ob();)if(!e.Ob()||(n=t.Pb(),r=e.Pb(),!(Vt(n)===Vt(r)||n!=null&&yi(n,r))))return!1;return!e.Ob()}function Ese(t,e){var n;return n=lt(ct(aa,1),vo,25,15,[zit(t.a[0],e),zit(t.a[1],e),zit(t.a[2],e)]),t.d&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function Tse(t,e){var n;return n=lt(ct(aa,1),vo,25,15,[Lz(t.a[0],e),Lz(t.a[1],e),Lz(t.a[2],e)]),t.d&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function x2(){x2=Z,Mlt=new AM("GREEDY",0),PTt=new AM(A1e,1),Dlt=new AM(Xot,2),vS=new AM("MODEL_ORDER",3),wS=new AM("GREEDY_MODEL_ORDER",4)}function Cse(t,e){var n,r,s;for(t.b[e.g]=1,r=ei(e.d,0);r.b!=r.d.c;)n=u(ti(r),188),s=n.c,t.b[s.g]==1?ri(t.a,n):t.b[s.g]==2?t.b[s.g]=1:Cse(t,s)}function i1n(t,e){var n,r,s;for(s=new Xc(e.gc()),r=e.Kc();r.Ob();)n=u(r.Pb(),286),n.c==n.f?EE(t,n,n.c):npn(t,n)||(s.c[s.c.length]=n);return s}function s1n(t,e,n){var r,s,o,h,d;for(d=t.r+e,t.r+=e,t.d+=n,r=n/t.n.c.length,s=0,h=new S(t.n);h.ao&&ts(e,o,null),e}function m1n(t,e){var n,r;if(r=t.gc(),e==null){for(n=0;n0&&(v+=s),k[C]=h,h+=d*(v+r)}function Ose(t){var e,n,r;for(r=t.f,t.n=Nt(aa,vo,25,r,15,1),t.d=Nt(aa,vo,25,r,15,1),e=0;e0?t.c:0),++s;t.b=r,t.d=o}function _1n(t,e){var n,r,s,o,h;for(r=0,s=0,n=0,h=new S(e);h.a0?t.g:0),++n;t.c=s,t.d=r}function Rse(t,e){var n;return n=lt(ct(aa,1),vo,25,15,[H3t(t,(Kf(),sc),e),H3t(t,eu,e),H3t(t,ac,e)]),t.f&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function S1n(t,e,n){var r;try{Sq(t,e+t.j,n+t.k,!1,!0)}catch(s){throw s=Wi(s),_t(s,73)?(r=s,it(new yo(r.g+Qq+e+Ya+n+")."))):it(s)}}function A1n(t,e,n){var r;try{Sq(t,e+t.j,n+t.k,!0,!1)}catch(s){throw s=Wi(s),_t(s,73)?(r=s,it(new yo(r.g+Qq+e+Ya+n+")."))):it(s)}}function jse(t){var e;Us(t,(Te(),Nv))&&(e=u(Q(t,Nv),21),e.Hc((py(),_f))?(e.Mc(_f),e.Fc(Sf)):e.Hc(Sf)&&(e.Mc(Sf),e.Fc(_f)))}function $se(t){var e;Us(t,(Te(),Nv))&&(e=u(Q(t,Nv),21),e.Hc((py(),Lf))?(e.Mc(Lf),e.Fc(Hh)):e.Hc(Hh)&&(e.Mc(Hh),e.Fc(Lf)))}function L1n(t,e,n){vr(n,"Self-Loop ordering",1),ls(wu(Ri(Ri(Wo(new Tn(null,new _n(e.b,16)),new mN),new rX),new iX),new sX),new Lm(t)),or(n)}function nI(t,e,n,r){var s,o;for(s=e;s0&&(s.b+=e),s}function rq(t,e){var n,r,s;for(s=new Ca,r=t.Kc();r.Ob();)n=u(r.Pb(),37),x_(n,0,s.b),s.b+=n.f.b+e,s.a=b.Math.max(s.a,n.f.a);return s.a>0&&(s.a+=e),s}function qse(t){var e,n,r;for(r=wi,n=new S(t.a);n.a>16==6?t.Cb.ih(t,5,i1,e):(r=no(u(yn((n=u(Dn(t,16),26),n||t.zh()),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function P1n(t){I8();var e=t.e;if(e&&e.stack){var n=e.stack,r=e+` +`;return n.substring(0,r.length)==r&&(n=n.substring(r.length)),n.split(` +`)}return[]}function F1n(t){var e;return e=(sne(),jge),e[t>>>28]|e[t>>24&15]<<4|e[t>>20&15]<<8|e[t>>16&15]<<12|e[t>>12&15]<<16|e[t>>8&15]<<20|e[t>>4&15]<<24|e[t&15]<<28}function Gse(t){var e,n,r;t.b==t.c&&(r=t.a.length,n=Dyt(b.Math.max(8,r))<<1,t.b!=0?(e=ff(t.a,n),dne(t,e,r),t.a=e,t.b=0):fqt(t.a,n),t.c=r)}function N1n(t,e){var n;return n=t.b,n.Xe((ui(),dl))?n.Hf()==(ve(),Bn)?-n.rf().a-Xt(ye(n.We(dl))):e+Xt(ye(n.We(dl))):n.Hf()==(ve(),Bn)?-n.rf().a:e}function rI(t){var e;return t.b.c.length!=0&&u(Ne(t.b,0),70).a?u(Ne(t.b,0),70).a:(e=grt(t),e??""+(t.c?Ro(t.c.a,t,0):-1))}function iq(t){var e;return t.f.c.length!=0&&u(Ne(t.f,0),70).a?u(Ne(t.f,0),70).a:(e=grt(t),e??""+(t.i?Ro(t.i.j,t,0):-1))}function B1n(t,e){var n,r;if(e<0||e>=t.gc())return null;for(n=e;n0?t.c:0),s=b.Math.max(s,e.d),++r;t.e=o,t.b=s}function j1n(t){var e,n;if(!t.b)for(t.b=D$(u(t.f,118).Ag().i),n=new nr(u(t.f,118).Ag());n.e!=n.i.gc();)e=u(dr(n),137),le(t.b,new get(e));return t.b}function $1n(t,e){var n,r,s;if(e.dc())return y8(),y8(),pP;for(n=new YWt(t,e.gc()),s=new nr(t);s.e!=s.i.gc();)r=dr(s),e.Hc(r)&&Dr(n,r);return n}function Z3t(t,e,n,r){return e==0?r?(!t.o&&(t.o=new _l((Jc(),Sb),Hv,t,0)),t.o):(!t.o&&(t.o=new _l((Jc(),Sb),Hv,t,0)),wD(t.o)):Xz(t,e,n,r)}function Mst(t){var e,n;if(t.rb)for(e=0,n=t.rb.i;e>22),s+=r>>22,s<0)?!1:(t.l=n&hl,t.m=r&hl,t.h=s&Z0,!0)}function V1n(t,e,n,r,s,o,h){var d,v;return!(e.Ae()&&(v=t.a.ue(n,r),v<0||!s&&v==0)||e.Be()&&(d=t.a.ue(n,o),d>0||!h&&d==0))}function G1n(t,e){oE();var n;if(n=t.j.g-e.j.g,n!=0)return 0;switch(t.j.g){case 2:return Jit(e,_Tt)-Jit(t,_Tt);case 4:return Jit(t,CTt)-Jit(e,CTt)}return 0}function U1n(t){switch(t.g){case 0:return Olt;case 1:return Plt;case 2:return Flt;case 3:return Nlt;case 4:return UV;case 5:return Blt;default:return null}}function _o(t,e,n){var r,s;return r=(s=new set,b2(s,e),Qc(s,n),Dr((!t.c&&(t.c=new fe(Vv,t,12,10)),t.c),s),s),Rg(r,0),ry(r,1),qg(r,!0),zg(r,!0),r}function l6(t,e){var n,r;if(e>=t.i)throw it(new nnt(e,t.i));return++t.j,n=t.g[e],r=t.i-e-1,r>0&&Dc(t.g,e+1,t.g,e,r),ts(t.g,--t.i,null),t.fi(e,n),t.ci(),n}function Use(t,e){var n,r;return t.Db>>16==17?t.Cb.ih(t,21,Uh,e):(r=no(u(yn((n=u(Dn(t,16),26),n||t.zh()),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function W1n(t){var e,n,r,s;for(wn(),Zs(t.c,t.a),s=new S(t.c);s.an.a.c.length))throw it(new Fn("index must be >= 0 and <= layer node count"));t.c&&mu(t.c.a,t),t.c=n,n&&Hm(n.a,e,t)}function Qse(t,e){var n,r,s;for(r=new ar(lr(U0(t).a.Kc(),new z));zr(r);)return n=u(Mr(r),17),s=u(e.Kb(n),10),new Wk(Lr(s.n.b+s.o.b/2));return PC(),PC(),Cut}function Zse(t,e){this.c=new _r,this.a=t,this.b=e,this.d=u(Q(t,(ae(),Q4)),304),Vt(Q(t,(Te(),h9t)))===Vt((xD(),WV))?this.e=new Lqt:this.e=new Aqt}function J1n(t,e){var n,r,s,o;for(o=0,r=new S(t);r.a>16==6?t.Cb.ih(t,6,Ys,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(Jc(),aU)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function i4t(t,e){var n,r;return t.Db>>16==7?t.Cb.ih(t,1,lP,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(Jc(),GAt)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function s4t(t,e){var n,r;return t.Db>>16==9?t.Cb.ih(t,9,rs,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(Jc(),WAt)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function tae(t,e){var n,r;return t.Db>>16==5?t.Cb.ih(t,9,pU,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(dn(),op)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function a4t(t,e){var n,r;return t.Db>>16==3?t.Cb.ih(t,0,fP,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(dn(),ap)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function eae(t,e){var n,r;return t.Db>>16==7?t.Cb.ih(t,6,i1,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(dn(),up)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function nae(){this.a=new oB,this.g=new tq,this.j=new tq,this.b=new _r,this.d=new tq,this.i=new tq,this.k=new _r,this.c=new _r,this.e=new _r,this.f=new _r}function rdn(t,e,n){var r,s,o;for(n<0&&(n=0),o=t.i,s=n;svot)return vE(t,r);if(r==t)return!0}}return!1}function sdn(t){switch(Cj(),t.q.g){case 5:$oe(t,(ve(),Pn)),$oe(t,mr);break;case 4:Fce(t,(ve(),Pn)),Fce(t,mr);break;default:Fhe(t,(ve(),Pn)),Fhe(t,mr)}}function adn(t){switch(Cj(),t.q.g){case 5:ece(t,(ve(),Hn)),ece(t,Bn);break;case 4:fse(t,(ve(),Hn)),fse(t,Bn);break;default:Nhe(t,(ve(),Hn)),Nhe(t,Bn)}}function odn(t){var e,n;e=u(Q(t,(Jf(),ybe)),19),e?(n=e.a,n==0?Jt(t,(Yp(),wV),new Zit):Jt(t,(Yp(),wV),new F$(n))):Jt(t,(Yp(),wV),new F$(1))}function cdn(t,e){var n;switch(n=t.i,e.g){case 1:return-(t.n.b+t.o.b);case 2:return t.n.a-n.o.a;case 3:return t.n.b-n.o.b;case 4:return-(t.n.a+t.o.a)}return 0}function udn(t,e){switch(t.g){case 0:return e==(dh(),bb)?BV:RV;case 1:return e==(dh(),bb)?BV:kO;case 2:return e==(dh(),bb)?kO:RV;default:return kO}}function sI(t,e){var n,r,s;for(mu(t.a,e),t.e-=e.r+(t.a.c.length==0?0:t.c),s=Ukt,r=new S(t.a);r.a>16==3?t.Cb.ih(t,12,rs,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(Jc(),VAt)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function c4t(t,e){var n,r;return t.Db>>16==11?t.Cb.ih(t,10,rs,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(Jc(),UAt)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function rae(t,e){var n,r;return t.Db>>16==10?t.Cb.ih(t,11,Uh,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(dn(),cp)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function iae(t,e){var n,r;return t.Db>>16==10?t.Cb.ih(t,12,Wh,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(dn(),i3)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function Dh(t){var e;return!(t.Bb&1)&&t.r&&t.r.kh()&&(e=u(t.r,49),t.r=u(Zp(t,e),138),t.r!=e&&t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,9,8,e,t.r))),t.r}function Ist(t,e,n){var r;return r=lt(ct(aa,1),vo,25,15,[O4t(t,(Kf(),sc),e,n),O4t(t,eu,e,n),O4t(t,ac,e,n)]),t.f&&(r[0]=b.Math.max(r[0],r[2]),r[2]=r[0]),r}function ldn(t,e){var n,r,s;if(s=i1n(t,e),s.c.length!=0)for(Zs(s,new WK),n=s.c.length,r=0;r>19,k=e.h>>19,v!=k?k-v:(s=t.h,d=e.h,s!=d?s-d:(r=t.m,h=e.m,r!=h?r-h:(n=t.l,o=e.l,n-o)))}function sq(){sq=Z,XEt=(Cq(),Vut),KEt=new mn(Qxt,XEt),YEt=(Q$(),Hut),WEt=new mn(Zxt,YEt),UEt=(Gz(),qut),GEt=new mn(Jxt,UEt),VEt=new mn(t6t,(Nn(),!0))}function h_(t,e,n){var r,s;r=e*n,_t(t.g,145)?(s=Xx(t),s.f.d?s.f.a||(t.d.a+=r+B1):(t.d.d-=r+B1,t.d.a+=r+B1)):_t(t.g,10)&&(t.d.d-=r,t.d.a+=2*r)}function sae(t,e,n){var r,s,o,h,d;for(s=t[n.g],d=new S(e.d);d.a0?t.g:0),++n;e.b=r,e.e=s}function aae(t){var e,n,r;if(r=t.b,AVt(t.i,r.length)){for(n=r.length*2,t.b=Nt(Lut,PI,317,n,0,1),t.c=Nt(Lut,PI,317,n,0,1),t.f=n-1,t.i=0,e=t.a;e;e=e.c)fI(t,e,e);++t.g}}function vdn(t,e,n,r){var s,o,h,d;for(s=0;sh&&(d=h/r),s>o&&(v=o/s),fd(t,b.Math.min(d,v)),t}function ydn(){Dq();var t,e;try{if(e=u(m4t((Pp(),Yh),ZE),2014),e)return e}catch(n){if(n=Wi(n),_t(n,102))t=n,avt((Pr(),t));else throw it(n)}return new ax}function xdn(){Qte();var t,e;try{if(e=u(m4t((Pp(),Yh),O2),2024),e)return e}catch(n){if(n=Wi(n),_t(n,102))t=n,avt((Pr(),t));else throw it(n)}return new _m}function kdn(){Dq();var t,e;try{if(e=u(m4t((Pp(),Yh),Bh),1941),e)return e}catch(n){if(n=Wi(n),_t(n,102))t=n,avt((Pr(),t));else throw it(n)}return new aJ}function Edn(t,e,n){var r,s;return s=t.e,t.e=e,t.Db&4&&!(t.Db&1)&&(r=new Js(t,1,4,s,e),n?n.Ei(r):n=r),s!=e&&(e?n=PE(t,vq(t,e),n):n=PE(t,t.a,n)),n}function oae(){BR.call(this),this.e=-1,this.a=!1,this.p=Sa,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=Sa}function Tdn(t,e){var n,r,s;if(r=t.b.d.d,t.a||(r+=t.b.d.a),s=e.b.d.d,e.a||(s+=e.b.d.a),n=Ms(r,s),n==0){if(!t.a&&e.a)return-1;if(!e.a&&t.a)return 1}return n}function Cdn(t,e){var n,r,s;if(r=t.b.b.d,t.a||(r+=t.b.b.a),s=e.b.b.d,e.a||(s+=e.b.b.a),n=Ms(r,s),n==0){if(!t.a&&e.a)return-1;if(!e.a&&t.a)return 1}return n}function _dn(t,e){var n,r,s;if(r=t.b.g.d,t.a||(r+=t.b.g.a),s=e.b.g.d,e.a||(s+=e.b.g.a),n=Ms(r,s),n==0){if(!t.a&&e.a)return-1;if(!e.a&&t.a)return 1}return n}function l4t(){l4t=Z,Pbe=Ku(bi(bi(bi(new Vs,(Wa(),qc),(ro(),hTt)),qc,fTt),Io,dTt),Io,tTt),Nbe=bi(bi(new Vs,qc,W7t),qc,eTt),Fbe=Ku(new Vs,Io,rTt)}function Sdn(t){var e,n,r,s,o;for(e=u(Q(t,(ae(),kS)),83),o=t.n,r=e.Cc().Kc();r.Ob();)n=u(r.Pb(),306),s=n.i,s.c+=o.a,s.d+=o.b,n.c?Eue(n):Tue(n);Jt(t,kS,null)}function Adn(t,e,n){var r,s;switch(s=t.b,r=s.d,e.g){case 1:return-r.d-n;case 2:return s.o.a+r.c+n;case 3:return s.o.b+r.a+n;case 4:return-r.b-n;default:return-1}}function Ldn(t){var e,n,r,s,o;if(r=0,s=VE,t.b)for(e=0;e<360;e++)n=e*.017453292519943295,txt(t,t.d,0,0,O4,n),o=t.b.ig(t.d),o0&&(h=(o&wi)%t.d.length,s=l5t(t,h,o,e),s)?(d=s.ed(n),d):(r=t.tj(o,e,n),t.c.Fc(r),null)}function d4t(t,e){var n,r,s,o;switch($g(t,e)._k()){case 3:case 2:{for(n=T4(e),s=0,o=n.i;s=0;r--)if(hn(t[r].d,e)||hn(t[r].d,n)){t.length>=r+1&&t.splice(0,r+1);break}return t}function aI(t,e){var n;return Bo(t)&&Bo(e)&&(n=t/e,BI0&&(t.b+=2,t.a+=r):(t.b+=1,t.a+=b.Math.min(r,s))}function gae(t,e){var n,r;if(r=!1,ra(e)&&(r=!0,Vx(t,new Um(Br(e)))),r||_t(e,236)&&(r=!0,Vx(t,(n=mwt(u(e,236)),new EC(n)))),!r)throw it(new fet(A8t))}function Wdn(t,e,n,r){var s,o,h;return s=new z0(t.e,1,10,(h=e.c,_t(h,88)?u(h,26):(dn(),Kh)),(o=n.c,_t(o,88)?u(o,26):(dn(),Kh)),Hg(t,e),!1),r?r.Ei(s):r=s,r}function b4t(t){var e,n;switch(u(Q(Na(t),(Te(),r9t)),420).g){case 0:return e=t.n,n=t.o,new $e(e.a+n.a/2,e.b+n.b/2);case 1:return new xo(t.n);default:return null}}function oI(){oI=Z,YV=new t9(J0,0),qTt=new t9("LEFTUP",1),VTt=new t9("RIGHTUP",2),zTt=new t9("LEFTDOWN",3),HTt=new t9("RIGHTDOWN",4),Rlt=new t9("BALANCED",5)}function Ydn(t,e,n){var r,s,o;if(r=Ms(t.a[e.p],t.a[n.p]),r==0){if(s=u(Q(e,(ae(),R6)),15),o=u(Q(n,R6),15),s.Hc(n))return-1;if(o.Hc(e))return 1}return r}function Kdn(t){switch(t.g){case 1:return new hZ;case 2:return new fZ;case 3:return new lZ;case 0:return null;default:throw it(new Fn(Ict+(t.f!=null?t.f:""+t.g)))}}function w4t(t,e,n){switch(e){case 1:!t.n&&(t.n=new fe(qo,t,1,7)),xr(t.n),!t.n&&(t.n=new fe(qo,t,1,7)),is(t.n,u(n,14));return;case 2:G9(t,Br(n));return}Byt(t,e,n)}function v4t(t,e,n){switch(e){case 3:Jw(t,Xt(ye(n)));return;case 4:tv(t,Xt(ye(n)));return;case 5:ku(t,Xt(ye(n)));return;case 6:Eu(t,Xt(ye(n)));return}w4t(t,e,n)}function oq(t,e,n){var r,s,o;o=(r=new set,r),s=F1(o,e,null),s&&s.Fi(),Qc(o,n),Dr((!t.c&&(t.c=new fe(Vv,t,12,10)),t.c),o),Rg(o,0),ry(o,1),qg(o,!0),zg(o,!0)}function m4t(t,e){var n,r,s;return n=KC(t.g,e),_t(n,235)?(s=u(n,235),s.Qh()==null,s.Nh()):_t(n,498)?(r=u(n,1938),s=r.b,s):null}function Xdn(t,e,n,r){var s,o;return Lr(e),Lr(n),o=u(x9(t.d,e),19),nee(!!o,"Row %s not in %s",e,t.e),s=u(x9(t.b,n),19),nee(!!s,"Column %s not in %s",n,t.c),ore(t,o.a,s.a,r)}function pae(t,e,n,r,s,o,h){var d,v,k,C,M;if(C=s[o],k=o==h-1,d=k?r:0,M=Nse(d,C),r!=10&<(ct(t,h-o),e[o],n[o],d,M),!k)for(++o,v=0;v1||d==-1?(o=u(v,15),s.Wb(rfn(t,o))):s.Wb(yat(t,u(v,56)))))}function r0n(t,e,n,r){nVt();var s=Tut;function o(){for(var h=0;hLct)return n;s>-1e-6&&++n}return n}function k4t(t,e){var n;e!=t.b?(n=null,t.b&&(n=m$(t.b,t,-4,n)),e&&(n=c6(e,t,-4,n)),n=Qre(t,e,n),n&&n.Fi()):t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,3,e,e))}function vae(t,e){var n;e!=t.f?(n=null,t.f&&(n=m$(t.f,t,-1,n)),e&&(n=c6(e,t,-1,n)),n=Zre(t,e,n),n&&n.Fi()):t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,0,e,e))}function mae(t){var e,n,r;if(t==null)return null;if(n=u(t,15),n.dc())return"";for(r=new Ag,e=n.Kc();e.Ob();)go(r,(Ii(),Br(e.Pb()))),r.a+=" ";return int(r,r.a.length-1)}function yae(t){var e,n,r;if(t==null)return null;if(n=u(t,15),n.dc())return"";for(r=new Ag,e=n.Kc();e.Ob();)go(r,(Ii(),Br(e.Pb()))),r.a+=" ";return int(r,r.a.length-1)}function h0n(t,e,n){var r,s;return r=t.c[e.c.p][e.p],s=t.c[n.c.p][n.p],r.a!=null&&s.a!=null?Unt(r.a,s.a):r.a!=null?-1:s.a!=null?1:0}function f0n(t,e){var n,r,s,o,h,d;if(e)for(o=e.a.length,n=new e2(o),d=(n.b-n.a)*n.c<0?(Fp(),Ib):new jp(n);d.Ob();)h=u(d.Pb(),19),s=P8(e,h.a),r=new xzt(t),ern(r.a,s)}function d0n(t,e){var n,r,s,o,h,d;if(e)for(o=e.a.length,n=new e2(o),d=(n.b-n.a)*n.c<0?(Fp(),Ib):new jp(n);d.Ob();)h=u(d.Pb(),19),s=P8(e,h.a),r=new fzt(t),trn(r.a,s)}function g0n(t){var e;if(t!=null&&t.length>0&&wa(t,t.length-1)==33)try{return e=woe(Pl(t,0,t.length-1)),e.e==null}catch(n){if(n=Wi(n),!_t(n,32))throw it(n)}return!1}function xae(t,e,n){var r,s,o;return r=e.ak(),o=e.dd(),s=r.$j()?Gp(t,3,r,null,o,DE(t,r,o,_t(r,99)&&(u(r,18).Bb&Ka)!=0),!0):Gp(t,1,r,r.zj(),o,-1,!0),n?n.Ei(s):n=s,n}function p0n(){var t,e,n;for(e=0,t=0;t<1;t++){if(n=g5t((Rr(t,1),"X".charCodeAt(t))),n==0)throw it(new Nr("Unknown Option: "+"X".substr(t)));e|=n}return e}function b0n(t,e,n){var r,s,o;switch(r=Na(e),s=Pz(r),o=new Mc,Uo(o,e),n.g){case 1:Bs(o,YD(a6(s)));break;case 2:Bs(o,a6(s))}return Jt(o,(Te(),Vy),ye(Q(t,Vy))),o}function E4t(t){var e,n;return e=u(Mr(new ar(lr(jo(t.a).a.Kc(),new z))),17),n=u(Mr(new ar(lr(Ds(t.a).a.Kc(),new z))),17),je(Re(Q(e,(ae(),q1))))||je(Re(Q(n,q1)))}function b4(){b4=Z,$V=new SM("ONE_SIDE",0),qV=new SM("TWO_SIDES_CORNER",1),HV=new SM("TWO_SIDES_OPPOSING",2),zV=new SM("THREE_SIDES",3),jV=new SM("FOUR_SIDES",4)}function Nst(t,e,n,r,s){var o,h;o=u(Bl(Ri(e.Oc(),new VX),c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[(O1(),Ul)]))),15),h=u(h2(t.b,n,r),15),s==0?h.Wc(0,o):h.Gc(o)}function w0n(t,e){var n,r,s,o,h;for(o=new S(e.a);o.a0&&Wse(this,this.c-1,(ve(),Hn)),this.c0&&t[0].length>0&&(this.c=je(Re(Q(Na(t[0][0]),(ae(),sCt))))),this.a=Nt(Tme,ee,2018,t.length,0,2),this.b=Nt(Cme,ee,2019,t.length,0,2),this.d=new Vre}function k0n(t){return t.c.length==0?!1:(An(0,t.c.length),u(t.c[0],17)).c.i.k==(Vn(),ta)?!0:N8(wu(new Tn(null,new _n(t,16)),new mQ),new yQ)}function E0n(t,e,n){return vr(n,"Tree layout",1),L$(t.b),Kd(t.b,(wE(),AG),AG),Kd(t.b,RS,RS),Kd(t.b,$O,$O),Kd(t.b,jS,jS),t.a=Fq(t.b,e),Zwn(t,e,Rc(n,1)),or(n),e}function Eae(t,e){var n,r,s,o,h,d,v;for(d=wy(e),o=e.f,v=e.g,h=b.Math.sqrt(o*o+v*v),s=0,r=new S(d);r.a=0?(n=aI(t,Gq),r=QD(t,Gq)):(e=Vm(t,1),n=aI(e,5e8),r=QD(e,5e8),r=Pa(F0(r,1),Ns(t,1))),S1(F0(r,32),Ns(n,co))}function _ae(t,e,n){var r,s;switch(r=(Zn(e.b!=0),u(lh(e,e.a.a),8)),n.g){case 0:r.b=0;break;case 2:r.b=t.f;break;case 3:r.a=0;break;default:r.a=t.g}return s=ei(e,0),eD(s,r),e}function Sae(t,e,n,r){var s,o,h,d,v;switch(v=t.b,o=e.d,h=o.j,d=B3t(h,v.d[h.g],n),s=Li(nc(o.n),o.a),o.j.g){case 1:case 3:d.a+=s.a;break;case 2:case 4:d.b+=s.b}fs(r,d,r.c.b,r.c)}function F0n(t,e,n){var r,s,o,h;for(h=Ro(t.e,e,0),o=new zpt,o.b=n,r=new da(t.e,h);r.b1;e>>=1)e&1&&(r=e4(r,n)),n.d==1?n=e4(n,n):n=new Qie(ale(n.a,n.d,Nt(Cr,Xr,25,n.d<<1,15,1)));return r=e4(r,n),r}function M4t(){M4t=Z;var t,e,n,r;for(DEt=Nt(aa,vo,25,25,15,1),IEt=Nt(aa,vo,25,33,15,1),r=152587890625e-16,e=32;e>=0;e--)IEt[e]=r,r*=.5;for(n=1,t=24;t>=0;t--)DEt[t]=n,n*=.5}function z0n(t){var e,n;if(je(Re(qe(t,(Te(),Hy))))){for(n=new ar(lr(K0(t).a.Kc(),new z));zr(n);)if(e=u(Mr(n),79),fv(e)&&je(Re(qe(e,j2))))return!0}return!1}function Aae(t,e){var n,r,s;Fs(t.f,e)&&(e.b=t,r=e.c,Ro(t.j,r,0)!=-1||le(t.j,r),s=e.d,Ro(t.j,s,0)!=-1||le(t.j,s),n=e.a.b,n.c.length!=0&&(!t.i&&(t.i=new ase(t)),run(t.i,n)))}function q0n(t){var e,n,r,s,o;return n=t.c.d,r=n.j,s=t.d.d,o=s.j,r==o?n.p=0&&hn(t.substr(e,3),"GMT")||e>=0&&hn(t.substr(e,3),"UTC"))&&(n[0]=e+3),rxt(t,n,r)}function V0n(t,e){var n,r,s,o,h;for(o=t.g.a,h=t.g.b,r=new S(t.d);r.an;o--)t[o]|=e[o-n-1]>>>h,t[o-1]=e[o-n-1]<=t.f)break;o.c[o.c.length]=n}return o}function I4t(t){var e,n,r,s;for(e=null,s=new S(t.wf());s.a0&&Dc(t.g,e,t.g,e+r,d),h=n.Kc(),t.i+=r,s=0;so&&ann(k,Tee(n[d],LEt))&&(s=d,o=v);return s>=0&&(r[0]=e+o),s}function Q0n(t,e){var n;if(n=xUt(t.b.Hf(),e.b.Hf()),n!=0)return n;switch(t.b.Hf().g){case 1:case 2:return pu(t.b.sf(),e.b.sf());case 3:case 4:return pu(e.b.sf(),t.b.sf())}return 0}function Z0n(t){var e,n,r;for(r=t.e.c.length,t.a=t2(Cr,[ee,Xr],[48,25],15,[r,r],2),n=new S(t.c);n.a>4&15,o=t[r]&15,h[s++]=YAt[n],h[s++]=YAt[o];return Mh(h,0,h.length)}function egn(t,e,n){var r,s,o;return r=e.ak(),o=e.dd(),s=r.$j()?Gp(t,4,r,o,null,DE(t,r,o,_t(r,99)&&(u(r,18).Bb&Ka)!=0),!0):Gp(t,r.Kj()?2:1,r,o,r.zj(),-1,!0),n?n.Ei(s):n=s,n}function Cu(t){var e,n;return t>=Ka?(e=RI+(t-Ka>>10&1023)&ys,n=56320+(t-Ka&1023)&ys,String.fromCharCode(e)+(""+String.fromCharCode(n))):String.fromCharCode(t&ys)}function ngn(t,e){$m();var n,r,s,o;return s=u(u(Ai(t.r,e),21),84),s.gc()>=2?(r=u(s.Kc().Pb(),111),n=t.u.Hc((Zu(),nA)),o=t.u.Hc(Q6),!r.a&&!n&&(s.gc()==2||o)):!1}function Dae(t,e,n,r,s){var o,h,d;for(o=gue(t,e,n,r,s),d=!1;!o;)bq(t,s,!0),d=!0,o=gue(t,e,n,r,s);d&&bq(t,s,!1),h=Cit(s),h.c.length!=0&&(t.d&&t.d.lg(h),Dae(t,s,n,r,h))}function hq(){hq=Z,Sft=new a9(J0,0),kAt=new a9("DIRECTED",1),TAt=new a9("UNDIRECTED",2),yAt=new a9("ASSOCIATION",3),EAt=new a9("GENERALIZATION",4),xAt=new a9("DEPENDENCY",5)}function rgn(t,e){var n;if(!T1(t))throw it(new No(_de));switch(n=T1(t),e.g){case 1:return-(t.j+t.f);case 2:return t.i-n.g;case 3:return t.j-n.f;case 4:return-(t.i+t.g)}return 0}function xE(t,e){var n,r;for(On(e),r=t.b.c.length,le(t.b,e);r>0;){if(n=r,r=(r-1)/2|0,t.a.ue(Ne(t.b,r),e)<=0)return ch(t.b,n,e),!0;ch(t.b,n,Ne(t.b,r))}return ch(t.b,r,e),!0}function O4t(t,e,n,r){var s,o;if(s=0,n)s=Lz(t.a[n.g][e.g],r);else for(o=0;o=d)}function P4t(t,e,n,r){var s;if(s=!1,ra(r)&&(s=!0,E8(e,n,Br(r))),s||Nm(r)&&(s=!0,P4t(t,e,n,r)),s||_t(r,236)&&(s=!0,r2(e,n,u(r,236))),!s)throw it(new fet(A8t))}function sgn(t,e){var n,r,s;if(n=e.Hh(t.a),n&&(s=Xf((!n.b&&(n.b=new kl((dn(),Qa),cc,n)),n.b),Nh),s!=null)){for(r=1;r<($u(),vLt).length;++r)if(hn(vLt[r],s))return r}return 0}function agn(t,e){var n,r,s;if(n=e.Hh(t.a),n&&(s=Xf((!n.b&&(n.b=new kl((dn(),Qa),cc,n)),n.b),Nh),s!=null)){for(r=1;r<($u(),mLt).length;++r)if(hn(mLt[r],s))return r}return 0}function Iae(t,e){var n,r,s,o;if(On(e),o=t.a.gc(),o0?1:0;o.a[s]!=n;)o=o.a[s],s=t.a.ue(n.d,o.d)>0?1:0;o.a[s]=r,r.b=n.b,r.a[0]=n.a[0],r.a[1]=n.a[1],n.a[0]=null,n.a[1]=null}function ugn(t){Zu();var e,n;return e=ji(sg,lt(ct(eU,1),oe,273,0,[Cb])),!(OD(k$(e,t))>1||(n=ji(nA,lt(ct(eU,1),oe,273,0,[eA,Q6])),OD(k$(n,t))>1))}function N4t(t,e){var n;n=Nc((Pp(),Yh),t),_t(n,498)?ko(Yh,t,new QGt(this,e)):ko(Yh,t,this),Hst(this,e),e==(c8(),aLt)?(this.wb=u(this,1939),u(e,1941)):this.wb=(Hp(),Ln)}function lgn(t){var e,n,r;if(t==null)return null;for(e=null,n=0;n=Wg?"error":r>=900?"warn":r>=800?"info":"log"),vXt(n,t.a),t.b&&N5t(e,n,t.b,"Exception: ",!0))}function Q(t,e){var n,r;return r=(!t.q&&(t.q=new _r),tr(t.q,e)),r??(n=e.wg(),_t(n,4)&&(n==null?(!t.q&&(t.q=new _r),Jx(t.q,e)):(!t.q&&(t.q=new _r),ki(t.q,e,n))),n)}function Wa(){Wa=Z,Dd=new _M("P1_CYCLE_BREAKING",0),gb=new _M("P2_LAYERING",1),cu=new _M("P3_NODE_ORDERING",2),qc=new _M("P4_NODE_PLACEMENT",3),Io=new _M("P5_EDGE_ROUTING",4)}function Nae(t,e){var n,r,s,o,h;for(s=e==1?clt:olt,r=s.a.ec().Kc();r.Ob();)for(n=u(r.Pb(),103),h=u(Ai(t.f.c,n),21).Kc();h.Ob();)o=u(h.Pb(),46),mu(t.b.b,o.b),mu(t.b.a,u(o.b,81).d)}function hgn(t,e){H9();var n;if(t.c==e.c){if(t.b==e.b||Ncn(t.b,e.b)){if(n=GXe(t.b)?1:-1,t.a&&!e.a)return n;if(!t.a&&e.a)return-n}return pu(t.b.g,e.b.g)}else return Ms(t.c,e.c)}function fgn(t,e){var n;vr(e,"Hierarchical port position processing",1),n=t.b,n.c.length>0&&ele((An(0,n.c.length),u(n.c[0],29)),t),n.c.length>1&&ele(u(Ne(n,n.c.length-1),29),t),or(e)}function Bae(t,e){var n,r,s;if(R4t(t,e))return!0;for(r=new S(e);r.a=s||e<0)throw it(new yo(iut+e+D2+s));if(n>=s||n<0)throw it(new yo(sut+n+D2+s));return e!=n?r=(o=t.Ti(n),t.Hi(e,o),o):r=t.Oi(n),r}function $ae(t){var e,n,r;if(r=t,t)for(e=0,n=t.Ug();n;n=n.Ug()){if(++e>vot)return $ae(n);if(r=n,n==t)throw it(new No("There is a cycle in the containment hierarchy of "+t))}return r}function eb(t){var e,n,r;for(r=new f2(Ya,"[","]"),n=t.Kc();n.Ob();)e=n.Pb(),$0(r,Vt(e)===Vt(t)?"(this Collection)":e==null?_u:$o(e));return r.a?r.e.length==0?r.a.a:r.a.a+(""+r.e):r.c}function R4t(t,e){var n,r;if(r=!1,e.gc()<2)return!1;for(n=0;nr&&(Rr(e-1,t.length),t.charCodeAt(e-1)<=32);)--e;return r>0||e1&&(t.j.b+=t.e)):(t.j.a+=n.a,t.j.b=b.Math.max(t.j.b,n.b),t.d.c.length>1&&(t.j.a+=t.e))}function nb(){nb=Z,y2e=lt(ct(Xa,1),xc,61,0,[(ve(),Pn),Hn,mr]),m2e=lt(ct(Xa,1),xc,61,0,[Hn,mr,Bn]),x2e=lt(ct(Xa,1),xc,61,0,[mr,Bn,Pn]),k2e=lt(ct(Xa,1),xc,61,0,[Bn,Pn,Hn])}function ggn(t,e,n,r){var s,o,h,d,v,k,C;if(h=t.c.d,d=t.d.d,h.j!=d.j)for(C=t.b,s=h.j,v=null;s!=d.j;)v=e==0?Oz(s):o3t(s),o=B3t(s,C.d[s.g],n),k=B3t(v,C.d[v.g],n),ri(r,Li(o,k)),s=v}function pgn(t,e,n,r){var s,o,h,d,v;return h=Yse(t.a,e,n),d=u(h.a,19).a,o=u(h.b,19).a,r&&(v=u(Q(e,(ae(),Ju)),10),s=u(Q(n,Ju),10),v&&s&&(tJt(t.b,v,s),d+=t.b.i,o+=t.b.e)),d>o}function qae(t){var e,n,r,s,o,h,d,v,k;for(this.a=wse(t),this.b=new he,n=t,r=0,s=n.length;rynt(t.d).c?(t.i+=t.g.c,sst(t.d)):ynt(t.d).c>ynt(t.g).c?(t.e+=t.d.c,sst(t.g)):(t.i+=mKt(t.g),t.e+=mKt(t.d),sst(t.g),sst(t.d))}function vgn(t,e,n){var r,s,o,h;for(o=e.q,h=e.r,new i2((Uf(),mb),e,o,1),new i2(mb,o,h,1),s=new S(n);s.ad&&(v=d/r),s>o&&(k=o/s),h=b.Math.min(v,k),t.a+=h*(e.a-t.a),t.b+=h*(e.b-t.b)}function kgn(t,e,n,r,s){var o,h;for(h=!1,o=u(Ne(n.b,0),33);Byn(t,e,o,r,s)&&(h=!0,e0n(n,o),n.b.c.length!=0);)o=u(Ne(n.b,0),33);return n.b.c.length==0&&sI(n.j,n),h&&nq(e.q),h}function Egn(t,e){k4();var n,r,s,o;if(e.b<2)return!1;for(o=ei(e,0),n=u(ti(o),8),r=n;o.b!=o.d.c;){if(s=u(ti(o),8),cat(t,r,s))return!0;r=s}return!!cat(t,r,n)}function $4t(t,e,n,r){var s,o;return n==0?(!t.o&&(t.o=new _l((Jc(),Sb),Hv,t,0)),Oj(t.o,e,r)):(o=u(yn((s=u(Dn(t,16),26),s||t.zh()),n),66),o.Nj().Rj(t,su(t),n-Jn(t.zh()),e,r))}function Hst(t,e){var n;e!=t.sb?(n=null,t.sb&&(n=u(t.sb,49).ih(t,1,sA,n)),e&&(n=u(e,49).gh(t,1,sA,n)),n=t3t(t,e,n),n&&n.Fi()):t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,4,e,e))}function Tgn(t,e){var n,r,s,o;if(e)s=H0(e,"x"),n=new vzt(t),V8(n.a,(On(s),s)),o=H0(e,"y"),r=new mzt(t),U8(r.a,(On(o),o));else throw it(new ud("All edge sections need an end point."))}function Cgn(t,e){var n,r,s,o;if(e)s=H0(e,"x"),n=new pzt(t),G8(n.a,(On(s),s)),o=H0(e,"y"),r=new bzt(t),W8(r.a,(On(o),o));else throw it(new ud("All edge sections need a start point."))}function _gn(t,e){var n,r,s,o,h,d,v;for(r=Are(t),o=0,d=r.length;o>22-e,s=t.h<>22-e):e<44?(n=0,r=t.l<>44-e):(n=0,r=0,s=t.l<t)throw it(new Fn("k must be smaller than n"));return e==0||e==t?1:t==0?0:g4t(t)/(g4t(e)*g4t(t-e))}function z4t(t,e){var n,r,s,o;for(n=new l2t(t);n.g==null&&!n.c?Hvt(n):n.g==null||n.i!=0&&u(n.g[n.i-1],47).Ob();)if(o=u(wq(n),56),_t(o,160))for(r=u(o,160),s=0;s>4],e[n*2+1]=yU[o&15];return Mh(e,0,e.length)}function Hgn(t){c$();var e,n,r;switch(r=t.c.length,r){case 0:return Age;case 1:return e=u(Ioe(new S(t)),42),den(e.cd(),e.dd());default:return n=u(P1(t,Nt(P2,Hq,42,t.c.length,0,1)),165),new uet(n)}}function Vgn(t){var e,n,r,s,o,h;for(e=new B3,n=new B3,Up(e,t),Up(n,t);n.b!=n.c;)for(s=u(Hx(n),37),h=new S(s.a);h.a0&&kI(t,n,e),s):_bn(t,e,n)}function Xae(t,e,n){var r,s,o,h;if(e.b!=0){for(r=new Zi,h=ei(e,0);h.b!=h.d.c;)o=u(ti(h),86),Ua(r,Eyt(o)),s=o.e,s.a=u(Q(o,(fc(),$ht)),19).a,s.b=u(Q(o,o_t),19).a;Xae(t,r,Rc(n,r.b/t.a|0))}}function Qae(t,e){var n,r,s,o,h;if(t.e<=e||Zin(t,t.g,e))return t.g;for(o=t.r,r=t.g,h=t.r,s=(o-r)/2+r;r+11&&(t.e.b+=t.a)):(t.e.a+=n.a,t.e.b=b.Math.max(t.e.b,n.b),t.d.c.length>1&&(t.e.a+=t.a))}function Kgn(t){var e,n,r,s;switch(s=t.i,e=s.b,r=s.j,n=s.g,s.a.g){case 0:n.a=(t.g.b.o.a-r.a)/2;break;case 1:n.a=e.d.n.a+e.d.a.a;break;case 2:n.a=e.d.n.a+e.d.a.a-r.a;break;case 3:n.b=e.d.n.b+e.d.a.b}}function Zae(t,e,n,r,s){if(rr&&(t.a=r),t.bs&&(t.b=s),t}function Xgn(t){if(_t(t,149))return Cwn(u(t,149));if(_t(t,229))return khn(u(t,229));if(_t(t,23))return Lgn(u(t,23));throw it(new Fn(L8t+eb(new yl(lt(ct(Qn,1),De,1,5,[t])))))}function Qgn(t,e,n,r,s){var o,h,d;for(o=!0,h=0;h>>s|n[h+r+1]<>>s,++h}return o}function G4t(t,e,n,r){var s,o,h;if(e.k==(Vn(),ta)){for(o=new ar(lr(jo(e).a.Kc(),new z));zr(o);)if(s=u(Mr(o),17),h=s.c.i.k,h==ta&&t.c.a[s.c.i.c.p]==r&&t.c.a[e.c.p]==n)return!0}return!1}function Zgn(t,e){var n,r,s,o;return e&=63,n=t.h&Z0,e<22?(o=n>>>e,s=t.m>>e|n<<22-e,r=t.l>>e|t.m<<22-e):e<44?(o=0,s=n>>>e-22,r=t.m>>e-22|t.h<<44-e):(o=0,s=0,r=n>>>e-44),iu(r&hl,s&hl,o&Z0)}function Jae(t,e,n,r){var s;this.b=r,this.e=t==(ev(),FS),s=e[n],this.d=t2(pl,[ee,o0],[177,25],16,[s.length,s.length],2),this.a=t2(Cr,[ee,Xr],[48,25],15,[s.length,s.length],2),this.c=new S4t(e,n)}function Jgn(t){var e,n,r;for(t.k=new Wvt((ve(),lt(ct(Xa,1),xc,61,0,[Zo,Pn,Hn,mr,Bn])).length,t.j.c.length),r=new S(t.j);r.a=n)return EE(t,e,r.p),!0;return!1}function eoe(t){var e;return t.Db&64?Vst(t):(e=new Ol(v8t),!t.a||Gr(Gr((e.a+=' "',e),t.a),'"'),Gr(Aw(Gr(Aw(Gr(Aw(Gr(Aw((e.a+=" (",e),t.i),","),t.j)," | "),t.g),","),t.f),")"),e.a)}function noe(t,e,n){var r,s,o,h,d;for(d=ou(t.e.Tg(),e),s=u(t.g,119),r=0,h=0;hn?J4t(t,n,"start index"):e<0||e>n?J4t(e,n,"end index"):y_("end index (%s) must not be less than start index (%s)",lt(ct(Qn,1),De,1,5,[pe(e),pe(t)]))}function ioe(t,e){var n,r,s,o;for(r=0,s=t.length;r0&&soe(t,o,n));e.p=0}function Xe(t){var e;this.c=new Zi,this.f=t.e,this.e=t.d,this.i=t.g,this.d=t.c,this.b=t.b,this.k=t.j,this.a=t.a,t.i?this.j=t.i:this.j=(e=u(Vf(ip),9),new sh(e,u(ff(e,e.length),9),0)),this.g=t.f}function spn(t){var e,n,r,s;for(e=qp(Gr(new Ol("Predicates."),"and"),40),n=!0,s=new mx(t);s.b0?d[h-1]:Nt(l0,Yg,10,0,0,1),s=d[h],k=h=0?t.Bh(s):i5t(t,r);else throw it(new Fn(lb+r.ne()+X_));else throw it(new Fn(Bde+e+Rde));else fh(t,n,r)}function U4t(t){var e,n;if(n=null,e=!1,_t(t,204)&&(e=!0,n=u(t,204).a),e||_t(t,258)&&(e=!0,n=""+u(t,258).a),e||_t(t,483)&&(e=!0,n=""+u(t,483).a),!e)throw it(new fet(A8t));return n}function uoe(t,e){var n,r;if(t.f){for(;e.Ob();)if(n=u(e.Pb(),72),r=n.ak(),_t(r,99)&&u(r,18).Bb&dc&&(!t.e||r.Gj()!=j7||r.aj()!=0)&&n.dd()!=null)return e.Ub(),!0;return!1}else return e.Ob()}function loe(t,e){var n,r;if(t.f){for(;e.Sb();)if(n=u(e.Ub(),72),r=n.ak(),_t(r,99)&&u(r,18).Bb&dc&&(!t.e||r.Gj()!=j7||r.aj()!=0)&&n.dd()!=null)return e.Pb(),!0;return!1}else return e.Sb()}function W4t(t,e,n){var r,s,o,h,d,v;for(v=ou(t.e.Tg(),e),r=0,d=t.i,s=u(t.g,119),h=0;h1&&(e.c[e.c.length]=o))}function upn(t){var e,n,r,s;for(n=new Zi,Ua(n,t.o),r=new qpt;n.b!=0;)e=u(n.b==0?null:(Zn(n.b!=0),lh(n,n.a.a)),508),s=Hhe(t,e,!0),s&&le(r.a,e);for(;r.a.c.length!=0;)e=u(Nre(r),508),Hhe(t,e,!1)}function Ug(){Ug=Z,_St=new Ox(N_,0),La=new Ox("BOOLEAN",1),gc=new Ox("INT",2),I7=new Ox("STRING",3),Oo=new Ox("DOUBLE",4),us=new Ox("ENUM",5),U6=new Ox("ENUMSET",6),V1=new Ox("OBJECT",7)}function g_(t,e){var n,r,s,o,h;r=b.Math.min(t.c,e.c),o=b.Math.min(t.d,e.d),s=b.Math.max(t.c+t.b,e.c+e.b),h=b.Math.max(t.d+t.a,e.d+e.a),s=(s/2|0))for(this.e=r?r.c:null,this.d=s;n++0;)Vvt(this);this.b=e,this.a=null}function fpn(t,e){var n,r;e.a?Fwn(t,e):(n=u(Cnt(t.b,e.b),57),n&&n==t.a[e.b.f]&&n.a&&n.a!=e.b.a&&n.c.Fc(e.b),r=u(Tnt(t.b,e.b),57),r&&t.a[r.f]==e.b&&r.a&&r.a!=e.b.a&&e.b.c.Fc(r),fnt(t.b,e.b))}function foe(t,e){var n,r;if(n=u(po(t.b,e),124),u(u(Ai(t.r,e),21),84).dc()){n.n.b=0,n.n.c=0;return}n.n.b=t.C.b,n.n.c=t.C.c,t.A.Hc((Al(),K2))&&Nue(t,e),r=qfn(t,e),lat(t,e)==(l4(),Eb)&&(r+=2*t.w),n.a.a=r}function doe(t,e){var n,r;if(n=u(po(t.b,e),124),u(u(Ai(t.r,e),21),84).dc()){n.n.d=0,n.n.a=0;return}n.n.d=t.C.d,n.n.a=t.C.a,t.A.Hc((Al(),K2))&&Bue(t,e),r=Hfn(t,e),lat(t,e)==(l4(),Eb)&&(r+=2*t.w),n.a.b=r}function dpn(t,e){var n,r,s,o;for(o=new he,r=new S(e);r.an.a&&(r.Hc((hy(),WO))?s=(e.a-n.a)/2:r.Hc(YO)&&(s=e.a-n.a)),e.b>n.b&&(r.Hc((hy(),XO))?o=(e.b-n.b)/2:r.Hc(KO)&&(o=e.b-n.b)),F4t(t,s,o)}function xoe(t,e,n,r,s,o,h,d,v,k,C,M,j){_t(t.Cb,88)&&gy(sl(u(t.Cb,88)),4),Qc(t,n),t.f=h,hE(t,d),dE(t,v),lE(t,k),fE(t,C),qg(t,M),gE(t,j),zg(t,!0),Rg(t,s),t.ok(o),b2(t,e),r!=null&&(t.i=null,fz(t,r))}function koe(t){var e,n;if(t.f){for(;t.n>0;){if(e=u(t.k.Xb(t.n-1),72),n=e.ak(),_t(n,99)&&u(n,18).Bb&dc&&(!t.e||n.Gj()!=j7||n.aj()!=0)&&e.dd()!=null)return!0;--t.n}return!1}else return t.n>0}function J4t(t,e,n){if(t<0)return y_(afe,lt(ct(Qn,1),De,1,5,[n,pe(t)]));if(e<0)throw it(new Fn(ofe+e));return y_("%s (%s) must not be greater than size (%s)",lt(ct(Qn,1),De,1,5,[n,pe(t),pe(e)]))}function t5t(t,e,n,r,s,o){var h,d,v,k;if(h=r-n,h<7){hhn(e,n,r,o);return}if(v=n+s,d=r+s,k=v+(d-v>>1),t5t(e,t,v,k,-s,o),t5t(e,t,k,d,-s,o),o.ue(t[k-1],t[k])<=0){for(;n=0?t.sh(o,n):M5t(t,s,n);else throw it(new Fn(lb+s.ne()+X_));else throw it(new Fn(Bde+e+Rde));else gh(t,r,s,n)}function Eoe(t){var e,n,r,s;if(n=u(t,49).qh(),n)try{if(r=null,e=_E((Pp(),Yh),sle(ghn(n))),e&&(s=e.rh(),s&&(r=s.Wk(kKe(n.e)))),r&&r!=t)return Eoe(r)}catch(o){if(o=Wi(o),!_t(o,60))throw it(o)}return t}function au(t,e,n){var r,s,o,h;if(h=e==null?0:t.b.se(e),s=(r=t.a.get(h),r??new Array),s.length==0)t.a.set(h,s);else if(o=jre(t,e,s),o)return o.ed(n);return ts(s,s.length,new KR(e,n)),++t.c,w$(t.b),null}function Toe(t,e){var n,r;return L$(t.a),Kd(t.a,(pz(),FG),FG),Kd(t.a,D7,D7),r=new Vs,bi(r,D7,(Nz(),Ght)),Vt(qe(e,(uy(),Yht)))!==Vt((HD(),NG))&&bi(r,D7,Hht),bi(r,D7,Vht),TUt(t.a,r),n=Fq(t.a,e),n}function Coe(t){if(!t)return cHt(),Bge;var e=t.valueOf?t.valueOf():t;if(e!==t){var n=Put[typeof e];return n?n(e):Uyt(typeof e)}else return t instanceof Array||t instanceof b.Array?new wx(t):new Qk(t)}function _oe(t,e,n){var r,s,o;switch(o=t.o,r=u(po(t.p,n),244),s=r.i,s.b=gI(r),s.a=dI(r),s.b=b.Math.max(s.b,o.a),s.b>o.a&&!e&&(s.b=o.a),s.c=-(s.b-o.a)/2,n.g){case 1:s.d=-s.a;break;case 3:s.d=o.b}Eat(r),Tat(r)}function Soe(t,e,n){var r,s,o;switch(o=t.o,r=u(po(t.p,n),244),s=r.i,s.b=gI(r),s.a=dI(r),s.a=b.Math.max(s.a,o.b),s.a>o.b&&!e&&(s.a=o.b),s.d=-(s.a-o.b)/2,n.g){case 4:s.c=-s.b;break;case 2:s.c=o.a}Eat(r),Tat(r)}function Apn(t,e){var n,r,s,o,h;if(!e.dc()){if(s=u(e.Xb(0),128),e.gc()==1){tue(t,s,s,1,0,e);return}for(n=1;n0)try{s=ql(e,Sa,wi)}catch(o){throw o=Wi(o),_t(o,127)?(r=o,it(new W$(r))):it(o)}return n=(!t.a&&(t.a=new Ztt(t)),t.a),s=0?u(At(n,s),56):null}function Ipn(t,e){if(t<0)return y_(afe,lt(ct(Qn,1),De,1,5,["index",pe(t)]));if(e<0)throw it(new Fn(ofe+e));return y_("%s (%s) must be less than size (%s)",lt(ct(Qn,1),De,1,5,["index",pe(t),pe(e)]))}function Opn(t){var e,n,r,s,o;if(t==null)return _u;for(o=new f2(Ya,"[","]"),n=t,r=0,s=n.length;r0)for(h=t.c.d,d=t.d.d,s=fd(ia(new $e(d.a,d.b),h),1/(r+1)),o=new $e(h.a,h.b),n=new S(t.a);n.a=0?t._g(n,!0,!0):dv(t,s,!0),153)),u(r,215).ol(e);else throw it(new Fn(lb+e.ne()+X_))}function s5t(t){var e,n;return t>-0x800000000000&&t<0x800000000000?t==0?0:(e=t<0,e&&(t=-t),n=ps(b.Math.floor(b.Math.log(t)/.6931471805599453)),(!e||t!=b.Math.pow(2,n))&&++n,n):Jne(Tu(t))}function Upn(t){var e,n,r,s,o,h,d;for(o=new O0,n=new S(t);n.a2&&d.e.b+d.j.b<=2&&(s=d,r=h),o.a.zc(s,o),s.q=r);return o}function Foe(t,e){var n,r,s;return r=new Y0(t),Mo(r,e),Jt(r,(ae(),eG),e),Jt(r,(Te(),cs),(ua(),Gc)),Jt(r,Id,(t0(),UG)),D0(r,(Vn(),ks)),n=new Mc,Uo(n,r),Bs(n,(ve(),Bn)),s=new Mc,Uo(s,r),Bs(s,Hn),r}function Noe(t){switch(t.g){case 0:return new det((ev(),RO));case 1:return new VB;case 2:return new ltt;default:throw it(new Fn("No implementation is available for the crossing minimizer "+(t.f!=null?t.f:""+t.g)))}}function Boe(t,e){var n,r,s,o,h;for(t.c[e.p]=!0,le(t.a,e),h=new S(e.j);h.a=o)h.$b();else for(s=h.Kc(),r=0;r0?rbt():h<0&&zoe(t,e,-h),!0):!1}function dI(t){var e,n,r,s,o,h,d;if(d=0,t.b==0){for(h=Ese(t,!0),e=0,r=h,s=0,o=r.length;s0&&(d+=n,++e);e>1&&(d+=t.c*(e-1))}else d=bHt(Sne(l$(Ri(Qnt(t.a),new Ml),new ha)));return d>0?d+t.n.d+t.n.a:0}function gI(t){var e,n,r,s,o,h,d;if(d=0,t.b==0)d=bHt(Sne(l$(Ri(Qnt(t.a),new th),new Fa)));else{for(h=Tse(t,!0),e=0,r=h,s=0,o=r.length;s0&&(d+=n,++e);e>1&&(d+=t.c*(e-1))}return d>0?d+t.n.b+t.n.c:0}function tbn(t,e){var n,r,s,o;for(o=u(po(t.b,e),124),n=o.a,s=u(u(Ai(t.r,e),21),84).Kc();s.Ob();)r=u(s.Pb(),111),r.c&&(n.a=b.Math.max(n.a,Vwt(r.c)));if(n.a>0)switch(e.g){case 2:o.n.c=t.s;break;case 4:o.n.b=t.s}}function ebn(t,e){var n,r,s;return n=u(Q(e,(Jf(),c7)),19).a-u(Q(t,c7),19).a,n==0?(r=ia(nc(u(Q(t,(Yp(),vO)),8)),u(Q(t,dS),8)),s=ia(nc(u(Q(e,vO),8)),u(Q(e,dS),8)),Ms(r.a*r.b,s.a*s.b)):n}function nbn(t,e){var n,r,s;return n=u(Q(e,(gv(),PG)),19).a-u(Q(t,PG),19).a,n==0?(r=ia(nc(u(Q(t,(fc(),zO)),8)),u(Q(t,$S),8)),s=ia(nc(u(Q(e,zO),8)),u(Q(e,$S),8)),Ms(r.a*r.b,s.a*s.b)):n}function qoe(t){var e,n;return n=new Mp,n.a+="e_",e=hun(t),e!=null&&(n.a+=""+e),t.c&&t.d&&(Gr((n.a+=" ",n),iq(t.c)),Gr(hc((n.a+="[",n),t.c.i),"]"),Gr((n.a+=Uot,n),iq(t.d)),Gr(hc((n.a+="[",n),t.d.i),"]")),n.a}function Hoe(t){switch(t.g){case 0:return new ZL;case 1:return new ctt;case 2:return new ott;case 3:return new GB;default:throw it(new Fn("No implementation is available for the layout phase "+(t.f!=null?t.f:""+t.g)))}}function o5t(t,e,n,r,s){var o;switch(o=0,s.g){case 1:o=b.Math.max(0,e.b+t.b-(n.b+r));break;case 3:o=b.Math.max(0,-t.b-r);break;case 2:o=b.Math.max(0,-t.a-r);break;case 4:o=b.Math.max(0,e.a+t.a-(n.a+r))}return o}function rbn(t,e,n){var r,s,o,h,d;if(n)for(s=n.a.length,r=new e2(s),d=(r.b-r.a)*r.c<0?(Fp(),Ib):new jp(r);d.Ob();)h=u(d.Pb(),19),o=P8(n,h.a),k8t in o.a||nut in o.a?gmn(t,o,e):yxn(t,o,e),zQe(u(tr(t.b,pE(o)),79))}function c5t(t){var e,n;switch(t.b){case-1:return!0;case 0:return n=t.t,n>1||n==-1?(t.b=-1,!0):(e=Dh(t),e&&(to(),e.Cj()==j0e)?(t.b=-1,!0):(t.b=1,!1));default:case 1:return!1}}function ibn(t,e){var n,r,s,o,h;for(r=(!e.s&&(e.s=new fe(Mu,e,21,17)),e.s),o=null,s=0,h=r.i;s=0&&r=0?t._g(n,!0,!0):dv(t,s,!0),153)),u(r,215).ll(e);throw it(new Fn(lb+e.ne()+Wct))}function ubn(){Tbt();var t;return T5e?u(_E((Pp(),Yh),Bh),1939):(ii(P2,new jf),V4n(),t=u(_t(Nc((Pp(),Yh),Bh),547)?Nc(Yh,Bh):new LXt,547),T5e=!0,$xn(t),Gxn(t),ki((Ebt(),sLt),t,new oJ),ko(Yh,Bh,t),t)}function lbn(t,e){var n,r,s,o;t.j=-1,xl(t.e)?(n=t.i,o=t.i!=0,gD(t,e),r=new z0(t.e,3,t.c,null,e,n,o),s=e.Qk(t.e,t.c,null),s=xae(t,e,s),s?(s.Ei(r),s.Fi()):mi(t.e,r)):(gD(t,e),s=e.Qk(t.e,t.c,null),s&&s.Fi())}function gq(t,e){var n,r,s;if(s=0,r=e[0],r>=t.length)return-1;for(n=(Rr(r,t.length),t.charCodeAt(r));n>=48&&n<=57&&(s=s*10+(n-48),++r,!(r>=t.length));)n=(Rr(r,t.length),t.charCodeAt(r));return r>e[0]?e[0]=r:s=-1,s}function hbn(t){var e,n,r,s,o;return s=u(t.a,19).a,o=u(t.b,19).a,n=s,r=o,e=b.Math.max(b.Math.abs(s),b.Math.abs(o)),s<=0&&s==o?(n=0,r=o-1):s==-e&&o!=e?(n=o,r=s,o>=0&&++n):(n=-o,r=s),new fa(pe(n),pe(r))}function fbn(t,e,n,r){var s,o,h,d,v,k;for(s=0;s=0&&k>=0&&v=t.i)throw it(new yo(iut+e+D2+t.i));if(n>=t.i)throw it(new yo(sut+n+D2+t.i));return r=t.g[n],e!=n&&(e>16),e=r>>16&16,n=16-e,t=t>>e,r=t-256,e=r>>16&8,n+=e,t<<=e,r=t-Ey,e=r>>16&4,n+=e,t<<=e,r=t-md,e=r>>16&2,n+=e,t<<=e,r=t>>14,e=r&~(r>>1),n+2-e)}function gbn(t){Ux();var e,n,r,s;for(dV=new he,Jut=new _r,Zut=new he,e=(!t.a&&(t.a=new fe(rs,t,10,11)),t.a),U5n(e),s=new nr(e);s.e!=s.i.gc();)r=u(dr(s),33),Ro(dV,r,0)==-1&&(n=new he,le(Zut,n),ese(r,n));return Zut}function pbn(t,e,n){var r,s,o,h;t.a=n.b.d,_t(e,352)?(s=x4(u(e,79),!1,!1),o=lI(s),r=new Ea(t),va(o,r),CI(o,s),e.We((ui(),a5))!=null&&va(u(e.We(a5),74),r)):(h=u(e,470),h.Hg(h.Dg()+t.a.a),h.Ig(h.Eg()+t.a.b))}function Goe(t,e){var n,r,s,o,h,d,v,k;for(k=Xt(ye(Q(e,(Te(),LS)))),v=t[0].n.a+t[0].o.a+t[0].d.c+k,d=1;d=0?n:(d=D9(ia(new $e(h.c+h.b/2,h.d+h.a/2),new $e(o.c+o.b/2,o.d+o.a/2))),-(dle(o,h)-1)*d)}function wbn(t,e,n){var r;ls(new Tn(null,(!n.a&&(n.a=new fe(Ji,n,6,6)),new _n(n.a,16))),new LGt(t,e)),ls(new Tn(null,(!n.n&&(n.n=new fe(qo,n,1,7)),new _n(n.n,16))),new MGt(t,e)),r=u(qe(n,(ui(),a5)),74),r&&dyt(r,t,e)}function dv(t,e,n){var r,s,o;if(o=C4(($u(),ya),t.Tg(),e),o)return to(),u(o,66).Oj()||(o=Kx(To(ya,o))),s=(r=t.Yg(o),u(r>=0?t._g(r,!0,!0):dv(t,o,!0),153)),u(s,215).hl(e,n);throw it(new Fn(lb+e.ne()+Wct))}function l5t(t,e,n,r){var s,o,h,d,v;if(s=t.d[e],s){if(o=s.g,v=s.i,r!=null){for(d=0;d=n&&(r=e,k=(v.c+v.a)/2,h=k-n,v.c<=k-n&&(s=new Dnt(v.c,h),Hm(t,r++,s)),d=k+n,d<=v.a&&(o=new Dnt(d,v.a),Km(r,t.c.length),XC(t.c,r,o)))}function h5t(t){var e;if(!t.c&&t.g==null)t.d=t.si(t.f),Dr(t,t.d),e=t.d;else{if(t.g==null)return!0;if(t.i==0)return!1;e=u(t.g[t.i-1],47)}return e==t.b&&null.km>=null.jm()?(wq(t),h5t(t)):e.Ob()}function xbn(t,e,n){var r,s,o,h,d;if(d=n,!d&&(d=qwt(new r8,0)),vr(d,c1e,1),dhe(t.c,e),h=F4n(t.a,e),h.gc()==1)Kle(u(h.Xb(0),37),d);else for(o=1/h.gc(),s=h.Kc();s.Ob();)r=u(s.Pb(),37),Kle(r,Rc(d,o));LKe(t.a,h,e),Fvn(e),or(d)}function Yoe(t){if(this.a=t,t.c.i.k==(Vn(),ks))this.c=t.c,this.d=u(Q(t.c.i,(ae(),oc)),61);else if(t.d.i.k==ks)this.c=t.d,this.d=u(Q(t.d.i,(ae(),oc)),61);else throw it(new Fn("Edge "+t+" is not an external edge."))}function Koe(t,e){var n,r,s;s=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,3,s,t.b)),e?e!=t&&(Qc(t,e.zb),hit(t,e.d),n=(r=e.c,r??e.zb),dit(t,n==null||hn(n,e.zb)?null:n)):(Qc(t,null),hit(t,0),dit(t,null))}function Xoe(t){var e,n;if(t.f){for(;t.n=h)throw it(new qm(e,h));return s=n[e],h==1?r=null:(r=Nt(Fft,lut,415,h-1,0,1),Dc(n,0,r,0,e),o=h-e-1,o>0&&Dc(n,e+1,r,e,o)),bE(t,r),moe(t,e,s),s}function d6(){d6=Z,tk=u(At(Wt((fbt(),pc).qb),6),34),J6=u(At(Wt(pc.qb),3),34),zft=u(At(Wt(pc.qb),4),34),qft=u(At(Wt(pc.qb),5),18),cq(tk),cq(J6),cq(zft),cq(qft),A5e=new yl(lt(ct(Mu,1),B4,170,0,[tk,J6]))}function tce(t,e){var n;this.d=new OC,this.b=e,this.e=new xo(e.qf()),n=t.u.Hc((Zu(),sP)),t.u.Hc(sg)?t.D?this.a=n&&!e.If():this.a=!0:t.u.Hc(Cb)?n?this.a=!(e.zf().Kc().Ob()||e.Bf().Kc().Ob()):this.a=!1:this.a=!1}function ece(t,e){var n,r,s,o;for(n=t.o.a,o=u(u(Ai(t.r,e),21),84).Kc();o.Ob();)s=u(o.Pb(),111),s.e.a=(r=s.b,r.Xe((ui(),dl))?r.Hf()==(ve(),Bn)?-r.rf().a-Xt(ye(r.We(dl))):n+Xt(ye(r.We(dl))):r.Hf()==(ve(),Bn)?-r.rf().a:n)}function nce(t,e){var n,r,s,o;n=u(Q(t,(Te(),Wl)),103),o=u(qe(e,C7),61),s=u(Q(t,cs),98),s!=(ua(),G1)&&s!=Tb?o==(ve(),Zo)&&(o=uxt(e,n),o==Zo&&(o=a6(n))):(r=Yle(e),r>0?o=a6(n):o=YD(a6(n))),wo(e,C7,o)}function Cbn(t,e){var n,r,s,o,h;for(h=t.j,e.a!=e.b&&Zs(h,new ex),s=h.c.length/2|0,r=0;r0&&kI(t,n,e),o):r.a!=null?(kI(t,e,n),-1):s.a!=null?(kI(t,n,e),1):0}function rce(t,e){var n,r,s,o;t.ej()?(n=t.Vi(),o=t.fj(),++t.j,t.Hi(n,t.oi(n,e)),r=t.Zi(3,null,e,n,o),t.bj()?(s=t.cj(e,null),s?(s.Ei(r),s.Fi()):t.$i(r)):t.$i(r)):(mXt(t,e),t.bj()&&(s=t.cj(e,null),s&&s.Fi()))}function pq(t,e){var n,r,s,o,h;for(h=ou(t.e.Tg(),e),s=new ox,n=u(t.g,119),o=t.i;--o>=0;)r=n[o],h.rl(r.ak())&&Dr(s,r);!Uhe(t,s)&&xl(t.e)&&n8(t,e.$j()?Gp(t,6,e,(wn(),io),null,-1,!1):Gp(t,e.Kj()?2:1,e,null,null,-1,!1))}function TE(){TE=Z;var t,e;for(D6=Nt(j4,ee,91,32,0,1),lS=Nt(j4,ee,91,32,0,1),t=1,e=0;e<=18;e++)D6[e]=JD(t),lS[e]=JD(F0(t,e)),t=_a(t,5);for(;eh)||e.q&&(r=e.C,h=r.c.c.a-r.o.a/2,s=r.n.a-n,s>h)))}function Abn(t,e){var n;vr(e,"Partition preprocessing",1),n=u(Bl(Ri(Wo(Ri(new Tn(null,new _n(t.a,16)),new QK),new wN),new Z5),c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[(O1(),Ul)]))),15),ls(n.Oc(),new vN),or(e)}function ice(t){_rt();var e,n,r,s,o,h,d;for(n=new a2,s=new S(t.e.b);s.a1?t.e*=Xt(t.a):t.f/=Xt(t.a),uln(t),gfn(t),Xvn(t),Jt(t.b,(o_(),fV),t.g)}function cce(t,e,n){var r,s,o,h,d,v;for(r=0,v=n,e||(r=n*(t.c.length-1),v*=-1),o=new S(t);o.a=0?(e||(e=new $C,r>0&&go(e,t.substr(0,r))),e.a+="\\",S8(e,n&ys)):e&&S8(e,n&ys);return e?e.a:t}function Bbn(t){var e;if(!t.a)throw it(new No("IDataType class expected for layout option "+t.f));if(e=Gsn(t.a),e==null)throw it(new No("Couldn't create new instance of property '"+t.f+"'. "+ade+(P0(gP),gP.k)+d8t));return u(e,414)}function eat(t){var e,n,r,s,o;return o=t.eh(),o&&o.kh()&&(s=Zp(t,o),s!=o)?(n=t.Vg(),r=(e=t.Vg(),e>=0?t.Qg(null):t.eh().ih(t,-1-e,null,null)),t.Rg(u(s,49),n),r&&r.Fi(),t.Lg()&&t.Mg()&&n>-1&&mi(t,new Js(t,9,n,o,s)),s):o}function dce(t){var e,n,r,s,o,h,d,v;for(h=0,o=t.f.e,r=0;r>5,s>=t.d)return t.e<0;if(n=t.a[s],e=1<<(e&31),t.e<0){if(r=Ine(t),s>16)),15).Xc(o),d0&&(!(Bp(t.a.c)&&e.n.d)&&!(b8(t.a.c)&&e.n.b)&&(e.g.d+=b.Math.max(0,r/2-.5)),!(Bp(t.a.c)&&e.n.a)&&!(b8(t.a.c)&&e.n.c)&&(e.g.a-=r-1))}function bce(t){var e,n,r,s,o;if(s=new he,o=ule(t,s),e=u(Q(t,(ae(),Ju)),10),e)for(r=new S(e.j);r.a>e,o=t.m>>e|n<<22-e,s=t.l>>e|t.m<<22-e):e<44?(h=r?Z0:0,o=n>>e-22,s=t.m>>e-22|n<<44-e):(h=r?Z0:0,o=r?hl:0,s=n>>e-44),iu(s&hl,o&hl,h&Z0)}function nat(t){var e,n,r,s,o,h;for(this.c=new he,this.d=t,r=as,s=as,e=Cs,n=Cs,h=ei(t,0);h.b!=h.d.c;)o=u(ti(h),8),r=b.Math.min(r,o.a),s=b.Math.min(s,o.b),e=b.Math.max(e,o.a),n=b.Math.max(n,o.b);this.a=new ah(r,s,e-r,n-s)}function mce(t,e){var n,r,s,o,h,d;for(o=new S(t.b);o.a0&&_t(e,42)&&(t.a.qj(),k=u(e,42),v=k.cd(),o=v==null?0:Hi(v),h=rwt(t.a,o),n=t.a.d[h],n)){for(r=u(n.g,367),C=n.i,d=0;d=2)for(n=s.Kc(),e=ye(n.Pb());n.Ob();)o=e,e=ye(n.Pb()),r=b.Math.min(r,(On(e),e-(On(o),o)));return r}function Ybn(t,e){var n,r,s,o,h;r=new Zi,fs(r,e,r.c.b,r.c);do for(n=(Zn(r.b!=0),u(lh(r,r.a.a),86)),t.b[n.g]=1,o=ei(n.d,0);o.b!=o.d.c;)s=u(ti(o),188),h=s.c,t.b[h.g]==1?ri(t.a,s):t.b[h.g]==2?t.b[h.g]=1:fs(r,h,r.c.b,r.c);while(r.b!=0)}function Kbn(t,e){var n,r,s;if(Vt(e)===Vt(Lr(t)))return!0;if(!_t(e,15)||(r=u(e,15),s=t.gc(),s!=r.gc()))return!1;if(_t(r,54)){for(n=0;n0&&(s=n),h=new S(t.f.e);h.a0?(e-=1,n-=1):r>=0&&s<0?(e+=1,n+=1):r>0&&s>=0?(e-=1,n+=1):(e+=1,n-=1),new fa(pe(e),pe(n))}function d2n(t,e){return t.ce.c?1:t.be.b?1:t.a!=e.a?Hi(t.a)-Hi(e.a):t.d==($9(),BS)&&e.d==NS?-1:t.d==NS&&e.d==BS?1:0}function _ce(t,e){var n,r,s,o,h;return o=e.a,o.c.i==e.b?h=o.d:h=o.c,o.c.i==e.b?r=o.c:r=o.d,s=zhn(t.a,h,r),s>0&&s0):s<0&&-s0):!1}function g2n(t,e,n,r){var s,o,h,d,v,k,C,M;for(s=(e-t.d)/t.c.c.length,o=0,t.a+=n,t.d=e,M=new S(t.c);M.a>24;return h}function b2n(t){if(t.pe()){var e=t.c;e.qe()?t.o="["+e.n:e.pe()?t.o="["+e.ne():t.o="[L"+e.ne()+";",t.b=e.me()+"[]",t.k=e.oe()+"[]";return}var n=t.j,r=t.d;r=r.split("/"),t.o=ast(".",[n,ast("$",r)]),t.b=ast(".",[n,ast(".",r)]),t.k=r[r.length-1]}function w2n(t,e){var n,r,s,o,h;for(h=null,o=new S(t.e.a);o.a=0;e-=2)for(n=0;n<=e;n+=2)(t.b[n]>t.b[n+2]||t.b[n]===t.b[n+2]&&t.b[n+1]>t.b[n+3])&&(r=t.b[n+2],t.b[n+2]=t.b[n],t.b[n]=r,r=t.b[n+3],t.b[n+3]=t.b[n+1],t.b[n+1]=r);t.c=!0}}function Sce(t,e){var n,r,s,o,h,d,v,k;for(h=e==1?clt:olt,o=h.a.ec().Kc();o.Ob();)for(s=u(o.Pb(),103),v=u(Ai(t.f.c,s),21).Kc();v.Ob();)switch(d=u(v.Pb(),46),r=u(d.b,81),k=u(d.a,189),n=k.c,s.g){case 2:case 1:r.g.d+=n;break;case 4:case 3:r.g.c+=n}}function y2n(t,e){var n,r,s,o,h,d,v,k,C;for(k=-1,C=0,h=t,d=0,v=h.length;d0&&++C;++k}return C}function mf(t){var e,n;return n=new Ol(Ip(t.gm)),n.a+="@",Gr(n,(e=Hi(t)>>>0,e.toString(16))),t.kh()?(n.a+=" (eProxyURI: ",hc(n,t.qh()),t.$g()&&(n.a+=" eClass: ",hc(n,t.$g())),n.a+=")"):t.$g()&&(n.a+=" (eClass: ",hc(n,t.$g()),n.a+=")"),n.a}function v_(t){var e,n,r,s;if(t.e)throw it(new No((P0(zut),Sot+zut.k+Aot)));for(t.d==(ao(),h0)&&Bq(t,zh),n=new S(t.a.a);n.a>24}return n}function E2n(t,e,n){var r,s,o;if(s=u(po(t.i,e),306),!s)if(s=new Aee(t.d,e,n),zx(t.i,e,s),P3t(e))jQe(t.a,e.c,e.b,s);else switch(o=lpn(e),r=u(po(t.p,o),244),o.g){case 1:case 3:s.j=!0,het(r,e.b,s);break;case 4:case 2:s.k=!0,het(r,e.c,s)}return s}function T2n(t,e,n,r){var s,o,h,d,v,k;if(d=new ox,v=ou(t.e.Tg(),e),s=u(t.g,119),to(),u(e,66).Oj())for(h=0;h=0)return s;for(o=1,d=new S(e.j);d.a0&&e.ue((An(s-1,t.c.length),u(t.c[s-1],10)),o)>0;)ch(t,s,(An(s-1,t.c.length),u(t.c[s-1],10))),--s;An(s,t.c.length),t.c[s]=o}n.a=new _r,n.b=new _r}function C2n(t,e,n){var r,s,o,h,d,v,k,C;for(C=(r=u(e.e&&e.e(),9),new sh(r,u(ff(r,r.length),9),0)),v=vy(n,"[\\[\\]\\s,]+"),o=v,h=0,d=o.length;h0&&(!(Bp(t.a.c)&&e.n.d)&&!(b8(t.a.c)&&e.n.b)&&(e.g.d-=b.Math.max(0,r/2-.5)),!(Bp(t.a.c)&&e.n.a)&&!(b8(t.a.c)&&e.n.c)&&(e.g.a+=b.Math.max(0,r-1)))}function Ice(t,e,n){var r,s;if((t.c-t.b&t.a.length-1)==2)e==(ve(),Pn)||e==Hn?(nz(u(Q9(t),15),(zl(),f0)),nz(u(Q9(t),15),kb)):(nz(u(Q9(t),15),(zl(),kb)),nz(u(Q9(t),15),f0));else for(s=new O9(t);s.a!=s.b;)r=u(Mz(s),15),nz(r,n)}function S2n(t,e){var n,r,s,o,h,d,v;for(s=x8(new Tpt(t)),d=new da(s,s.c.length),o=x8(new Tpt(e)),v=new da(o,o.c.length),h=null;d.b>0&&v.b>0&&(n=(Zn(d.b>0),u(d.a.Xb(d.c=--d.b),33)),r=(Zn(v.b>0),u(v.a.Xb(v.c=--v.b),33)),n==r);)h=n;return h}function ul(t,e){var n,r,s,o,h,d;return o=t.a*Eot+t.b*1502,d=t.b*Eot+11,n=b.Math.floor(d*$I),o+=n,d-=n*Gxt,o%=Gxt,t.a=o,t.b=d,e<=24?b.Math.floor(t.a*DEt[e]):(s=t.a*(1<=2147483648&&(r-=mot),r)}function Oce(t,e,n){var r,s,o,h;rZt(t,e)>rZt(t,n)?(r=Ko(n,(ve(),Hn)),t.d=r.dc()?0:Nnt(u(r.Xb(0),11)),h=Ko(e,Bn),t.b=h.dc()?0:Nnt(u(h.Xb(0),11))):(s=Ko(n,(ve(),Bn)),t.d=s.dc()?0:Nnt(u(s.Xb(0),11)),o=Ko(e,Hn),t.b=o.dc()?0:Nnt(u(o.Xb(0),11)))}function Pce(t){var e,n,r,s,o,h,d;if(t&&(e=t.Hh(Bh),e&&(h=Br(Xf((!e.b&&(e.b=new kl((dn(),Qa),cc,e)),e.b),"conversionDelegates")),h!=null))){for(d=new he,r=vy(h,"\\w+"),s=0,o=r.length;st.c));h++)s.a>=t.s&&(o<0&&(o=h),d=h);return v=(t.s+t.c)/2,o>=0&&(r=lmn(t,e,o,d),v=mXe((An(r,e.c.length),u(e.c[r],329))),ybn(e,r,n)),v}function sat(){sat=Z,l3e=new eo((ui(),W6),1.3),G_t=GSt,Z_t=new Ow(15),w3e=new eo(U2,Z_t),m3e=new eo(W2,15),h3e=YG,g3e=G2,p3e=c5,b3e=xb,d3e=o5,K_t=tP,v3e=Qy,Q_t=(y5t(),o3e),Y_t=s3e,X_t=a3e,J_t=c3e,U_t=i3e,W_t=KG,f3e=WSt,HO=r3e,V_t=n3e,tSt=u3e}function Ir(t,e,n){var r,s,o,h,d,v,k;for(h=(o=new lB,o),oyt(h,(On(e),e)),k=(!h.b&&(h.b=new kl((dn(),Qa),cc,h)),h.b),v=1;v0&&r4n(this,s)}function S5t(t,e,n,r,s,o){var h,d,v;if(!s[e.b]){for(s[e.b]=!0,h=r,!h&&(h=new B$),le(h.e,e),v=o[e.b].Kc();v.Ob();)d=u(v.Pb(),282),!(d.d==n||d.c==n)&&(d.c!=e&&S5t(t,d.c,e,h,s,o),d.d!=e&&S5t(t,d.d,e,h,s,o),le(h.c,d),Ls(h.d,d.b));return h}return null}function M2n(t){var e,n,r,s,o,h,d;for(e=0,s=new S(t.e);s.a=2}function D2n(t,e){var n,r,s,o;for(vr(e,"Self-Loop pre-processing",1),r=new S(t.a);r.a1||(e=ji(_f,lt(ct(lo,1),oe,93,0,[ig,Sf])),OD(k$(e,t))>1)||(r=ji(Lf,lt(ct(lo,1),oe,93,0,[d0,Hh])),OD(k$(r,t))>1))}function P2n(t,e){var n,r,s;return n=e.Hh(t.a),n&&(s=Br(Xf((!n.b&&(n.b=new kl((dn(),Qa),cc,n)),n.b),"affiliation")),s!=null)?(r=Tj(s,Cu(35)),r==-1?Uit(t,C9(t,Rl(e.Hj())),s):r==0?Uit(t,null,s.substr(1)):Uit(t,s.substr(0,r),s.substr(r+1))):null}function F2n(t){var e,n,r;try{return t==null?_u:$o(t)}catch(s){if(s=Wi(s),_t(s,102))return e=s,r=Ip(ol(t))+"@"+(n=(Gd(),$3t(t)>>>0),n.toString(16)),Efn(kun(),(d8(),"Exception during lenientFormat for "+r),e),"<"+r+" threw "+Ip(e.gm)+">";throw it(s)}}function Bce(t){switch(t.g){case 0:return new ett;case 1:return new qB;case 2:return new jVt;case 3:return new BL;case 4:return new aYt;case 5:return new ntt;default:throw it(new Fn("No implementation is available for the layerer "+(t.f!=null?t.f:""+t.g)))}}function A5t(t,e,n){var r,s,o;for(o=new S(t.t);o.a0&&(r.b.n-=r.c,r.b.n<=0&&r.b.u>0&&ri(e,r.b));for(s=new S(t.i);s.a0&&(r.a.u-=r.c,r.a.u<=0&&r.a.n>0&&ri(n,r.a))}function wq(t){var e,n,r,s,o;if(t.g==null&&(t.d=t.si(t.f),Dr(t,t.d),t.c))return o=t.f,o;if(e=u(t.g[t.i-1],47),s=e.Pb(),t.e=e,n=t.si(s),n.Ob())t.d=n,Dr(t,n);else for(t.d=null;!e.Ob()&&(ts(t.g,--t.i,null),t.i!=0);)r=u(t.g[t.i-1],47),e=r;return s}function N2n(t,e){var n,r,s,o,h,d;if(r=e,s=r.ak(),X0(t.e,s)){if(s.hi()&&O$(t,s,r.dd()))return!1}else for(d=ou(t.e.Tg(),s),n=u(t.g,119),o=0;o1||n>1)return 2;return e+n==1?2:0}function jce(t,e,n){var r,s,o,h,d;for(vr(n,"ELK Force",1),je(Re(qe(e,(Jf(),y7t))))||y$((r=new rr((Pm(),new Mm(e))),r)),d=pre(e),odn(d),$un(t,u(Q(d,m7t),424)),h=Ale(t.a,d),o=h.Kc();o.Ob();)s=u(o.Pb(),231),kmn(t.b,s,Rc(n,1/h.gc()));d=zhe(h),Rhe(d),or(n)}function H2n(t,e){var n,r,s,o,h;if(vr(e,"Breaking Point Processor",1),u5n(t),je(Re(Q(t,(Te(),S9t))))){for(s=new S(t.b);s.a=0?t._g(r,!0,!0):dv(t,o,!0),153)),u(s,215).ml(e,n)}else throw it(new Fn(lb+e.ne()+X_))}function W2n(t,e){var n,r,s,o,h;for(n=new he,s=Wo(new Tn(null,new _n(t,16)),new ZQ),o=Wo(new Tn(null,new _n(t,16)),new JQ),h=yon(Fan(l$(_wn(lt(ct(n6n,1),De,833,0,[s,o])),new tZ))),r=1;r=2*e&&le(n,new Dnt(h[r-1]+e,h[r]-e));return n}function Y2n(t,e,n){vr(n,"Eades radial",1),n.n&&e&&gf(n,pf(e),(Sl(),Ql)),t.d=u(qe(e,(m9(),HS)),33),t.c=Xt(ye(qe(e,(uy(),RG)))),t.e=pst(u(qe(e,qO),293)),t.a=Shn(u(qe(e,D_t),426)),t.b=Kdn(u(qe(e,M_t),340)),Ldn(t),n.n&&e&&gf(n,pf(e),(Sl(),Ql))}function K2n(t,e,n){var r,s,o,h,d,v,k,C;if(n)for(o=n.a.length,r=new e2(o),d=(r.b-r.a)*r.c<0?(Fp(),Ib):new jp(r);d.Ob();)h=u(d.Pb(),19),s=P8(n,h.a),s&&(v=Wsn(t,(k=(Sw(),C=new Gpt,C),e&&D5t(k,e),k),s),G9(v,R0(s,Ad)),lq(s,v),e5t(s,v),Lit(t,s,v))}function mq(t){var e,n,r,s,o,h;if(!t.j){if(h=new tC,e=uA,o=e.a.zc(t,e),o==null){for(r=new nr(Ao(t));r.e!=r.i.gc();)n=u(dr(r),26),s=mq(n),is(h,s),Dr(h,n);e.a.Bc(t)!=null}iy(h),t.j=new V3((u(At(Wt((Hp(),Ln).o),11),18),h.i),h.g),sl(t).b&=-33}return t.j}function X2n(t){var e,n,r,s;if(t==null)return null;if(r=$c(t,!0),s=oO.length,hn(r.substr(r.length-s,s),oO)){if(n=r.length,n==4){if(e=(Rr(0,r.length),r.charCodeAt(0)),e==43)return CLt;if(e==45)return G5e}else if(n==3)return CLt}return new Ppt(r)}function Q2n(t){var e,n,r;return n=t.l,n&n-1||(r=t.m,r&r-1)||(e=t.h,e&e-1)||e==0&&r==0&&n==0?-1:e==0&&r==0&&n!=0?tyt(n):e==0&&r!=0&&n==0?tyt(r)+22:e!=0&&r==0&&n==0?tyt(e)+44:-1}function Z2n(t,e){var n,r,s,o,h;for(vr(e,"Edge joining",1),n=je(Re(Q(t,(Te(),dht)))),s=new S(t.b);s.a1)for(s=new S(t.a);s.a0),o.a.Xb(o.c=--o.b),zm(o,s),Zn(o.b3&&Jd(t,0,e-3))}function nwn(t){var e,n,r,s;return Vt(Q(t,(Te(),qy)))===Vt((G0(),sp))?!t.e&&Vt(Q(t,DO))!==Vt((eE(),TO)):(r=u(Q(t,eht),292),s=je(Re(Q(t,nht)))||Vt(Q(t,_S))===Vt((n6(),EO)),e=u(Q(t,VCt),19).a,n=t.a.c.length,!s&&r!=(eE(),TO)&&(e==0||e>n))}function rwn(t){var e,n;for(n=0;n0);n++);if(n>0&&n0);e++);return e>0&&n>16!=6&&e){if(vE(t,e))throw it(new Fn(Q_+sce(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?r4t(t,r):t.Cb.ih(t,-1-n,null,r))),e&&(r=c6(e,t,6,r)),r=ewt(t,e,r),r&&r.Fi()}else t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,6,e,e))}function D5t(t,e){var n,r;if(e!=t.Cb||t.Db>>16!=9&&e){if(vE(t,e))throw it(new Fn(Q_+zue(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?s4t(t,r):t.Cb.ih(t,-1-n,null,r))),e&&(r=c6(e,t,9,r)),r=nwt(t,e,r),r&&r.Fi()}else t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,9,e,e))}function oat(t,e){var n,r;if(e!=t.Cb||t.Db>>16!=3&&e){if(vE(t,e))throw it(new Fn(Q_+$le(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?o4t(t,r):t.Cb.ih(t,-1-n,null,r))),e&&(r=c6(e,t,12,r)),r=twt(t,e,r),r&&r.Fi()}else t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,3,e,e))}function SE(t){var e,n,r,s,o;if(r=Dh(t),o=t.j,o==null&&r)return t.$j()?null:r.zj();if(_t(r,148)){if(n=r.Aj(),n&&(s=n.Nh(),s!=t.i)){if(e=u(r,148),e.Ej())try{t.g=s.Kh(e,o)}catch(h){if(h=Wi(h),_t(h,78))t.g=null;else throw it(h)}t.i=s}return t.g}return null}function qce(t){var e;return e=new he,le(e,new Dx(new $e(t.c,t.d),new $e(t.c+t.b,t.d))),le(e,new Dx(new $e(t.c,t.d),new $e(t.c,t.d+t.a))),le(e,new Dx(new $e(t.c+t.b,t.d+t.a),new $e(t.c+t.b,t.d))),le(e,new Dx(new $e(t.c+t.b,t.d+t.a),new $e(t.c,t.d+t.a))),e}function Hce(t,e,n,r){var s,o,h;if(h=p4t(e,n),r.c[r.c.length]=e,t.j[h.p]==-1||t.j[h.p]==2||t.a[e.p])return r;for(t.j[h.p]=-1,o=new ar(lr(U0(h).a.Kc(),new z));zr(o);)if(s=u(Mr(o),17),!(!(!Ga(s)&&!(!Ga(s)&&s.c.i.c==s.d.i.c))||s==e))return Hce(t,s,h,r);return r}function iwn(t,e,n){var r,s,o;for(o=e.a.ec().Kc();o.Ob();)s=u(o.Pb(),79),r=u(tr(t.b,s),266),!r&&(es(e0(s))==es(tb(s))?mvn(t,s,n):e0(s)==es(tb(s))?tr(t.c,s)==null&&tr(t.b,tb(s))!=null&&khe(t,s,n,!1):tr(t.d,s)==null&&tr(t.b,e0(s))!=null&&khe(t,s,n,!0))}function swn(t,e){var n,r,s,o,h,d,v;for(s=t.Kc();s.Ob();)for(r=u(s.Pb(),10),d=new Mc,Uo(d,r),Bs(d,(ve(),Hn)),Jt(d,(ae(),nG),(Nn(),!0)),h=e.Kc();h.Ob();)o=u(h.Pb(),10),v=new Mc,Uo(v,o),Bs(v,Bn),Jt(v,nG,!0),n=new Vw,Jt(n,nG,!0),Oa(n,d),oa(n,v)}function awn(t,e,n,r){var s,o,h,d;s=Rie(t,e,n),o=Rie(t,n,e),h=u(tr(t.c,e),112),d=u(tr(t.c,n),112),sr.b.g&&(o.c[o.c.length]=r);return o}function AE(){AE=Z,i5=new DM("CANDIDATE_POSITION_LAST_PLACED_RIGHT",0),G6=new DM("CANDIDATE_POSITION_LAST_PLACED_BELOW",1),GS=new DM("CANDIDATE_POSITION_WHOLE_DRAWING_RIGHT",2),VS=new DM("CANDIDATE_POSITION_WHOLE_DRAWING_BELOW",3),US=new DM("WHOLE_DRAWING",4)}function own(t,e){if(_t(e,239))return Bln(t,u(e,33));if(_t(e,186))return Xln(t,u(e,118));if(_t(e,354))return urn(t,u(e,137));if(_t(e,352))return Oyn(t,u(e,79));if(e)return null;throw it(new Fn(L8t+eb(new yl(lt(ct(Qn,1),De,1,5,[e])))))}function cwn(t){var e,n,r,s,o,h,d;for(o=new Zi,s=new S(t.d.a);s.a1)for(e=Fw((n=new Xb,++t.b,n),t.d),d=ei(o,0);d.b!=d.d.c;)h=u(ti(d),121),yf(lf(uf(hf(cf(new Ch,1),0),e),h))}function I5t(t,e){var n,r;if(e!=t.Cb||t.Db>>16!=11&&e){if(vE(t,e))throw it(new Fn(Q_+X5t(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?c4t(t,r):t.Cb.ih(t,-1-n,null,r))),e&&(r=c6(e,t,10,r)),r=lwt(t,e,r),r&&r.Fi()}else t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,11,e,e))}function uwn(t){var e,n,r,s;for(r=new p2(new Cg(t.b).a);r.b;)n=Zw(r),s=u(n.cd(),11),e=u(n.dd(),10),Jt(e,(ae(),_i),s),Jt(s,Ju,e),Jt(s,SO,(Nn(),!0)),Bs(s,u(Q(e,oc),61)),Q(e,oc),Jt(s.i,(Te(),cs),(ua(),B7)),u(Q(Na(s.i),Vc),21).Fc((oo(),y7))}function lwn(t,e,n){var r,s,o,h,d,v;if(o=0,h=0,t.c)for(v=new S(t.d.i.j);v.ao.a?-1:s.av){for(C=t.d,t.d=Nt(XAt,R8t,63,2*v+4,0,1),o=0;o=9223372036854776e3?(q8(),sEt):(s=!1,t<0&&(s=!0,t=-t),r=0,t>=C2&&(r=ps(t/C2),t-=r*C2),n=0,t>=m6&&(n=ps(t/m6),t-=n*m6),e=ps(t),o=iu(e,n,r),s&&Ait(o),o)}function ywn(t,e){var n,r,s,o;for(n=!e||!t.u.Hc((Zu(),sg)),o=0,s=new S(t.e.Cf());s.a=-e&&r==e?new fa(pe(n-1),pe(r)):new fa(pe(n),pe(r-1))}function Yce(){return ro(),lt(ct(l6n,1),oe,77,0,[J7t,X7t,gS,glt,vTt,CV,FV,h7,bTt,oTt,gTt,l7,wTt,iTt,mTt,V7t,LV,plt,EV,IV,xTt,DV,G7t,pTt,kTt,OV,yTt,TV,eTt,fTt,hTt,NV,Y7t,kV,SV,W7t,u7,uTt,sTt,dTt,pS,Q7t,K7t,lTt,aTt,AV,PV,U7t,MV,cTt,_V,nTt,tTt,xO,xV,rTt,Z7t])}function Twn(t,e,n){t.d=0,t.b=0,e.k==(Vn(),Hc)&&n.k==Hc&&u(Q(e,(ae(),_i)),10)==u(Q(n,_i),10)&&(eit(e).j==(ve(),Pn)?Oce(t,e,n):Oce(t,n,e)),e.k==Hc&&n.k==ta?eit(e).j==(ve(),Pn)?t.d=1:t.b=1:n.k==Hc&&e.k==ta&&(eit(n).j==(ve(),Pn)?t.b=1:t.d=1),h1n(t,e,n)}function Cwn(t){var e,n,r,s,o,h,d,v,k,C,M;return M=D4t(t),e=t.a,v=e!=null,v&&E8(M,"category",t.a),s=wM(new Sm(t.d)),h=!s,h&&(k=new Eg,Yf(M,"knownOptions",k),n=new Nzt(k),va(new Sm(t.d),n)),o=wM(t.g),d=!o,d&&(C=new Eg,Yf(M,"supportedFeatures",C),r=new Bzt(C),va(t.g,r)),M}function _wn(t){var e,n,r,s,o,h,d,v,k;for(r=!1,e=336,n=0,o=new XWt(t.length),d=t,v=0,k=d.length;v>16!=7&&e){if(vE(t,e))throw it(new Fn(Q_+eoe(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?i4t(t,r):t.Cb.ih(t,-1-n,null,r))),e&&(r=u(e,49).gh(t,1,lP,r)),r=nvt(t,e,r),r&&r.Fi()}else t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,7,e,e))}function Kce(t,e){var n,r;if(e!=t.Cb||t.Db>>16!=3&&e){if(vE(t,e))throw it(new Fn(Q_+lie(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?a4t(t,r):t.Cb.ih(t,-1-n,null,r))),e&&(r=u(e,49).gh(t,0,fP,r)),r=rvt(t,e,r),r&&r.Fi()}else t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,3,e,e))}function uat(t,e){TE();var n,r,s,o,h,d,v,k,C;return e.d>t.d&&(d=t,t=e,e=d),e.d<63?bvn(t,e):(h=(t.d&-2)<<4,k=bmt(t,h),C=bmt(e,h),r=Cat(t,Qx(k,h)),s=Cat(e,Qx(C,h)),v=uat(k,C),n=uat(r,s),o=uat(Cat(k,r),Cat(s,C)),o=Oat(Oat(o,v),n),o=Qx(o,h),v=Qx(v,h<<1),Oat(Oat(v,o),n))}function Awn(t,e,n){var r,s,o,h,d;for(h=t_(t,n),d=Nt(l0,Yg,10,e.length,0,1),r=0,o=h.Kc();o.Ob();)s=u(o.Pb(),11),je(Re(Q(s,(ae(),SO))))&&(d[r++]=u(Q(s,Ju),10));if(r=0;o+=n?1:-1)h=h|e.c.Sf(v,o,n,r&&!je(Re(Q(e.j,(ae(),Ov))))&&!je(Re(Q(e.j,(ae(),X4))))),h=h|e.q._f(v,o,n),h=h|Pue(t,v[o],n,r);return Fs(t.c,e),h}function xq(t,e,n){var r,s,o,h,d,v,k,C,M,j;for(C=OZt(t.j),M=0,j=C.length;M1&&(t.a=!0),Ven(u(n.b,65),Li(nc(u(e.b,65).c),fd(ia(nc(u(n.b,65).a),u(e.b,65).a),s))),WQt(t,e),Xce(t,n)}function Qce(t){var e,n,r,s,o,h,d;for(o=new S(t.a.a);o.a0&&o>0?h.p=e++:r>0?h.p=n++:o>0?h.p=s++:h.p=n++}wn(),Zs(t.j,new DL)}function Own(t){var e,n;n=null,e=u(Ne(t.g,0),17);do{if(n=e.d.i,Us(n,(ae(),$h)))return u(Q(n,$h),11).i;if(n.k!=(Vn(),Os)&&zr(new ar(lr(Ds(n).a.Kc(),new z))))e=u(Mr(new ar(lr(Ds(n).a.Kc(),new z))),17);else if(n.k!=Os)return null}while(n&&n.k!=(Vn(),Os));return n}function Pwn(t,e){var n,r,s,o,h,d,v,k,C;for(d=e.j,h=e.g,v=u(Ne(d,d.c.length-1),113),C=(An(0,d.c.length),u(d.c[0],113)),k=Ast(t,h,v,C),o=1;ok&&(v=n,C=s,k=r);e.a=C,e.c=v}function Fwn(t,e){var n,r;if(r=tD(t.b,e.b),!r)throw it(new No("Invalid hitboxes for scanline constraint calculation."));(ire(e.b,u(FZe(t.b,e.b),57))||ire(e.b,u(PZe(t.b,e.b),57)))&&(Gd(),e.b+""),t.a[e.b.f]=u(Cnt(t.b,e.b),57),n=u(Tnt(t.b,e.b),57),n&&(t.a[n.f]=e.b)}function yf(t){if(!t.a.d||!t.a.e)throw it(new No((P0(fpe),fpe.k+" must have a source and target "+(P0(a7t),a7t.k)+" specified.")));if(t.a.d==t.a.e)throw it(new No("Network simplex does not support self-loops: "+t.a+" "+t.a.d+" "+t.a.e));return _j(t.a.d.g,t.a),_j(t.a.e.b,t.a),t.a}function Nwn(t,e,n){var r,s,o,h,d,v,k;for(k=new Op(new F$t(t)),h=lt(ct(Jbe,1),h1e,11,0,[e,n]),d=0,v=h.length;dv-t.b&&dv-t.a&&d0&&++H;++j}return H}function Uwn(t,e){var n,r,s,o,h;for(h=u(Q(e,(gv(),d_t)),425),o=ei(e.b,0);o.b!=o.d.c;)if(s=u(ti(o),86),t.b[s.g]==0){switch(h.g){case 0:Cse(t,s);break;case 1:Ybn(t,s)}t.b[s.g]=2}for(r=ei(t.a,0);r.b!=r.d.c;)n=u(ti(r),188),ay(n.b.d,n,!0),ay(n.c.b,n,!0);Jt(e,(fc(),a_t),t.a)}function ou(t,e){to();var n,r,s,o;return e?e==(Ii(),H5e)||(e==D5e||e==X2||e==M5e)&&t!=ELt?new Axt(t,e):(r=u(e,677),n=r.pk(),n||(M8(To(($u(),ya),e)),n=r.pk()),o=(!n.i&&(n.i=new _r),n.i),s=u(ec(Lo(o.f,t)),1942),!s&&ki(o,t,s=new Axt(t,e)),s):S5e}function Wwn(t,e){var n,r,s,o,h,d,v,k,C;for(v=u(Q(t,(ae(),_i)),11),k=Yo(lt(ct(Ws,1),ee,8,0,[v.i.n,v.n,v.a])).a,C=t.i.n.b,n=wd(t.e),s=n,o=0,h=s.length;o0?o.a?(d=o.b.rf().a,n>d&&(s=(n-d)/2,o.d.b=s,o.d.c=s)):o.d.c=t.s+n:S9(t.u)&&(r=I4t(o.b),r.c<0&&(o.d.b=-r.c),r.c+r.b>o.b.rf().a&&(o.d.c=r.c+r.b-o.b.rf().a))}function Qwn(t,e){var n,r,s,o;for(vr(e,"Semi-Interactive Crossing Minimization Processor",1),n=!1,s=new S(t.b);s.a=0){if(e==n)return new fa(pe(-e-1),pe(-e-1));if(e==-n)return new fa(pe(-e),pe(n+1))}return b.Math.abs(e)>b.Math.abs(n)?e<0?new fa(pe(-e),pe(n)):new fa(pe(-e),pe(n+1)):new fa(pe(e+1),pe(n))}function tvn(t){var e,n;n=u(Q(t,(Te(),uu)),163),e=u(Q(t,(ae(),B2)),303),n==(dh(),bb)?(Jt(t,uu,MO),Jt(t,B2,(q0(),Y4))):n==jy?(Jt(t,uu,MO),Jt(t,B2,(q0(),F6))):e==(q0(),Y4)?(Jt(t,uu,bb),Jt(t,B2,CO)):e==F6&&(Jt(t,uu,jy),Jt(t,B2,CO))}function kq(){kq=Z,jO=new jQ,Zme=bi(new Vs,(Wa(),cu),(ro(),EV)),eye=Ku(bi(new Vs,cu,DV),Io,MV),nye=uv(uv(VR(Ku(bi(new Vs,Dd,FV),Io,PV),qc),OV),NV),Jme=Ku(bi(bi(bi(new Vs,gb,CV),qc,SV),qc,u7),Io,_V),tye=Ku(bi(bi(new Vs,qc,u7),qc,kV),Io,xV)}function m_(){m_=Z,sye=bi(Ku(new Vs,(Wa(),Io),(ro(),nTt)),cu,EV),uye=uv(uv(VR(Ku(bi(new Vs,Dd,FV),Io,PV),qc),OV),NV),aye=Ku(bi(bi(bi(new Vs,gb,CV),qc,SV),qc,u7),Io,_V),cye=bi(bi(new Vs,cu,DV),Io,MV),oye=Ku(bi(bi(new Vs,qc,u7),qc,kV),Io,xV)}function evn(t,e,n,r,s){var o,h;(!Ga(e)&&e.c.i.c==e.d.i.c||!fne(Yo(lt(ct(Ws,1),ee,8,0,[s.i.n,s.n,s.a])),n))&&!Ga(e)&&(e.c==s?m8(e.a,0,new xo(n)):ri(e.a,new xo(n)),r&&!I0(t.a,n)&&(h=u(Q(e,(Te(),So)),74),h||(h=new Pu,Jt(e,So,h)),o=new xo(n),fs(h,o,h.c.b,h.c),Fs(t.a,o)))}function nvn(t){var e,n;for(n=new ar(lr(jo(t).a.Kc(),new z));zr(n);)if(e=u(Mr(n),17),e.c.i.k!=(Vn(),Ll))throw it(new R3(Kot+rI(t)+"' 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 rvn(t,e,n){var r,s,o,h,d,v,k;if(s=bie(t.Db&254),s==0)t.Eb=n;else{if(s==1)d=Nt(Qn,De,1,2,5,1),o=Sst(t,e),o==0?(d[0]=n,d[1]=t.Eb):(d[0]=t.Eb,d[1]=n);else for(d=Nt(Qn,De,1,s+1,5,1),h=u2(t.Eb),r=2,v=0,k=0;r<=128;r<<=1)r==e?d[k++]=n:t.Db&r&&(d[k++]=h[v++]);t.Eb=d}t.Db|=e}function Jce(t,e,n){var r,s,o,h;for(this.b=new he,s=0,r=0,h=new S(t);h.a0&&(o=u(Ne(this.b,0),167),s+=o.o,r+=o.p),s*=2,r*=2,e>1?s=ps(b.Math.ceil(s*e)):r=ps(b.Math.ceil(r/e)),this.a=new C3t(s,r)}function tue(t,e,n,r,s,o){var h,d,v,k,C,M,j,H,G,K,tt,gt;for(C=r,e.j&&e.o?(H=u(tr(t.f,e.A),57),K=H.d.c+H.d.b,--C):K=e.a.c+e.a.b,M=s,n.q&&n.o?(H=u(tr(t.f,n.C),57),k=H.d.c,++M):k=n.a.c,tt=k-K,v=b.Math.max(2,M-C),d=tt/v,G=K+d,j=C;j=0;h+=s?1:-1){for(d=e[h],v=r==(ve(),Hn)?s?Ko(d,r):l2(Ko(d,r)):s?l2(Ko(d,r)):Ko(d,r),o&&(t.c[d.p]=v.gc()),M=v.Kc();M.Ob();)C=u(M.Pb(),11),t.d[C.p]=k++;Ls(n,v)}}function eue(t,e,n){var r,s,o,h,d,v,k,C;for(o=Xt(ye(t.b.Kc().Pb())),k=Xt(ye(fun(e.b))),r=fd(nc(t.a),k-n),s=fd(nc(e.a),n-o),C=Li(r,s),fd(C,1/(k-o)),this.a=C,this.b=new he,d=!0,h=t.b.Kc(),h.Pb();h.Ob();)v=Xt(ye(h.Pb())),d&&v-n>Lct&&(this.b.Fc(n),d=!1),this.b.Fc(v);d&&this.b.Fc(n)}function ivn(t){var e,n,r,s;if(pmn(t,t.n),t.d.c.length>0){for(RC(t.c);w5t(t,u(J(new S(t.e.a)),121))>5,e&=31,r>=t.d)return t.e<0?(rb(),But):(rb(),s7);if(o=t.d-r,s=Nt(Cr,Xr,25,o+1,15,1),Qgn(s,o,t.a,r,e),t.e<0){for(n=0;n0&&t.a[n]<<32-e){for(n=0;n=0?!1:(n=C4(($u(),ya),s,e),n?(r=n.Zj(),(r>1||r==-1)&&Hw(To(ya,n))!=3):!0)):!1}function cvn(t,e,n,r){var s,o,h,d,v;return d=Do(u(At((!e.b&&(e.b=new Cn(br,e,4,7)),e.b),0),82)),v=Do(u(At((!e.c&&(e.c=new Cn(br,e,5,8)),e.c),0),82)),es(d)==es(v)||ey(v,d)?null:(h=cD(e),h==n?r:(o=u(tr(t.a,h),10),o&&(s=o.e,s)?s:null))}function uvn(t,e){var n;switch(n=u(Q(t,(Te(),uG)),276),vr(e,"Label side selection ("+n+")",1),n.g){case 0:mce(t,(zl(),f0));break;case 1:mce(t,(zl(),kb));break;case 2:Ple(t,(zl(),f0));break;case 3:Ple(t,(zl(),kb));break;case 4:pue(t,(zl(),f0));break;case 5:pue(t,(zl(),kb))}or(e)}function j5t(t,e,n){var r,s,o,h,d,v;if(r=YKe(n,t.length),h=t[r],h[0].k==(Vn(),ks))for(o=mHt(n,h.length),v=e.j,s=0;s0&&(n[0]+=t.d,h-=n[0]),n[2]>0&&(n[2]+=t.d,h-=n[2]),o=b.Math.max(0,h),n[1]=b.Math.max(n[1],h),vmt(t,eu,s.c+r.b+n[0]-(n[1]-h)/2,n),e==eu&&(t.c.b=o,t.c.c=s.c+r.b+(o-h)/2)}function fue(){this.c=Nt(aa,vo,25,(ve(),lt(ct(Xa,1),xc,61,0,[Zo,Pn,Hn,mr,Bn])).length,15,1),this.b=Nt(aa,vo,25,lt(ct(Xa,1),xc,61,0,[Zo,Pn,Hn,mr,Bn]).length,15,1),this.a=Nt(aa,vo,25,lt(ct(Xa,1),xc,61,0,[Zo,Pn,Hn,mr,Bn]).length,15,1),Abt(this.c,as),Abt(this.b,Cs),Abt(this.a,Cs)}function jc(t,e,n){var r,s,o,h;if(e<=n?(s=e,o=n):(s=n,o=e),r=0,t.b==null)t.b=Nt(Cr,Xr,25,2,15,1),t.b[0]=s,t.b[1]=o,t.c=!0;else{if(r=t.b.length,t.b[r-1]+1==s){t.b[r-1]=o;return}h=Nt(Cr,Xr,25,r+2,15,1),Dc(t.b,0,h,0,r),t.b=h,t.b[r-1]>=s&&(t.c=!1,t.a=!1),t.b[r++]=s,t.b[r]=o,t.c||v4(t)}}function wvn(t,e,n){var r,s,o,h,d,v,k;for(k=e.d,t.a=new Xc(k.c.length),t.c=new _r,d=new S(k);d.a=0?t._g(k,!1,!0):dv(t,n,!1),58));t:for(o=M.Kc();o.Ob();){for(s=u(o.Pb(),56),C=0;C1;)by(s,s.i-1);return r}function kvn(t,e){var n,r,s,o,h,d,v;for(vr(e,"Comment post-processing",1),o=new S(t.b);o.at.d[h.p]&&(n+=fmt(t.b,o),Up(t.a,pe(o)));for(;!BC(t.a);)Hmt(t.b,u(Hx(t.a),19).a)}return n}function bue(t,e,n){var r,s,o,h;for(o=(!e.a&&(e.a=new fe(rs,e,10,11)),e.a).i,s=new nr((!e.a&&(e.a=new fe(rs,e,10,11)),e.a));s.e!=s.i.gc();)r=u(dr(s),33),(!r.a&&(r.a=new fe(rs,r,10,11)),r.a).i==0||(o+=bue(t,r,!1));if(n)for(h=es(e);h;)o+=(!h.a&&(h.a=new fe(rs,h,10,11)),h.a).i,h=es(h);return o}function by(t,e){var n,r,s,o;return t.ej()?(r=null,s=t.fj(),t.ij()&&(r=t.kj(t.pi(e),null)),n=t.Zi(4,o=l6(t,e),null,e,s),t.bj()&&o!=null&&(r=t.dj(o,r)),r?(r.Ei(n),r.Fi()):t.$i(n),o):(o=l6(t,e),t.bj()&&o!=null&&(r=t.dj(o,null),r&&r.Fi()),o)}function Tvn(t){var e,n,r,s,o,h,d,v,k,C;for(k=t.a,e=new Hs,v=0,r=new S(t.d);r.ad.d&&(C=d.d+d.a+k));n.c.d=C,e.a.zc(n,e),v=b.Math.max(v,n.c.d+n.c.a)}return v}function oo(){oo=Z,KV=new Fm("COMMENTS",0),vh=new Fm("EXTERNAL_PORTS",1),yS=new Fm("HYPEREDGES",2),XV=new Fm("HYPERNODES",3),y7=new Fm("NON_FREE_PORTS",4),W4=new Fm("NORTH_SOUTH_PORTS",5),xS=new Fm(M1e,6),v7=new Fm("CENTER_LABELS",7),m7=new Fm("END_LABELS",8),QV=new Fm("PARTITIONS",9)}function wy(t){var e,n,r,s,o;for(s=new he,e=new E9((!t.a&&(t.a=new fe(rs,t,10,11)),t.a)),r=new ar(lr(K0(t).a.Kc(),new z));zr(r);)n=u(Mr(r),79),_t(At((!n.b&&(n.b=new Cn(br,n,4,7)),n.b),0),186)||(o=Do(u(At((!n.c&&(n.c=new Cn(br,n,5,8)),n.c),0),82)),e.a._b(o)||(s.c[s.c.length]=o));return s}function Cvn(t){var e,n,r,s,o,h;for(o=new Hs,e=new E9((!t.a&&(t.a=new fe(rs,t,10,11)),t.a)),s=new ar(lr(K0(t).a.Kc(),new z));zr(s);)r=u(Mr(s),79),_t(At((!r.b&&(r.b=new Cn(br,r,4,7)),r.b),0),186)||(h=Do(u(At((!r.c&&(r.c=new Cn(br,r,5,8)),r.c),0),82)),e.a._b(h)||(n=o.a.zc(h,o),n==null));return o}function _vn(t,e,n,r,s){return r<0?(r=w4(t,s,lt(ct(Ae,1),ee,2,6,[Qat,Zat,Jat,tot,w6,eot,not,rot,iot,sot,aot,oot]),e),r<0&&(r=w4(t,s,lt(ct(Ae,1),ee,2,6,["Jan","Feb","Mar","Apr",w6,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e)),r<0?!1:(n.k=r,!0)):r>0?(n.k=r-1,!0):!1}function Svn(t,e,n,r,s){return r<0?(r=w4(t,s,lt(ct(Ae,1),ee,2,6,[Qat,Zat,Jat,tot,w6,eot,not,rot,iot,sot,aot,oot]),e),r<0&&(r=w4(t,s,lt(ct(Ae,1),ee,2,6,["Jan","Feb","Mar","Apr",w6,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e)),r<0?!1:(n.k=r,!0)):r>0?(n.k=r-1,!0):!1}function Avn(t,e,n,r,s,o){var h,d,v,k;if(d=32,r<0){if(e[0]>=t.length||(d=wa(t,e[0]),d!=43&&d!=45)||(++e[0],r=gq(t,e),r<0))return!1;d==45&&(r=-r)}return d==32&&e[0]-n==2&&s.b==2&&(v=new BR,k=v.q.getFullYear()-ab+ab-80,h=k%100,o.a=r==h,r+=(k/100|0)*100+(r=k&&(v=r);v&&(C=b.Math.max(C,v.a.o.a)),C>j&&(M=k,j=C)}return M}function Dvn(t,e,n){var r,s,o;if(t.e=n,t.d=0,t.b=0,t.f=1,t.i=e,(t.e&16)==16&&(t.i=wmn(t.i)),t.j=t.i.length,fi(t),o=cv(t),t.d!=t.j)throw it(new Nr(qr((Pr(),Zde))));if(t.g){for(r=0;rJ1e?Zs(v,t.b):r<=J1e&&r>tde?Zs(v,t.d):r<=tde&&r>ede?Zs(v,t.c):r<=ede&&Zs(v,t.a),o=yue(t,v,o);return s}function rb(){rb=Z;var t;for(eV=new Ng(1,1),Rut=new Ng(1,10),s7=new Ng(0,0),But=new Ng(-1,1),CEt=lt(ct(j4,1),ee,91,0,[s7,eV,new Ng(1,2),new Ng(1,3),new Ng(1,4),new Ng(1,5),new Ng(1,6),new Ng(1,7),new Ng(1,8),new Ng(1,9),Rut]),nV=Nt(j4,ee,91,32,0,1),t=0;t1,d&&(r=new $e(s,n.b),ri(e.a,r)),V9(e.a,lt(ct(Ws,1),ee,8,0,[j,M]))}function Cue(t){Mw(t,new k2(_w(Ew(Cw(Tw(new kg,AH),"ELK Randomizer"),'Distributes the nodes randomly on the plane, leading to very obfuscating layouts. Can be useful to demonstrate the power of "real" layout algorithms.'),new ZZ))),xe(t,AH,xv,FAt),xe(t,AH,Cy,15),xe(t,AH,tH,pe(0)),xe(t,AH,E6,GE)}function q5t(){q5t=Z;var t,e,n,r,s,o;for(dA=Nt(Gu,N4,25,255,15,1),yU=Nt(xh,yd,25,16,15,1),e=0;e<255;e++)dA[e]=-1;for(n=57;n>=48;n--)dA[n]=n-48<<24>>24;for(r=70;r>=65;r--)dA[r]=r-65+10<<24>>24;for(s=102;s>=97;s--)dA[s]=s-97+10<<24>>24;for(o=0;o<10;o++)yU[o]=48+o&ys;for(t=10;t<=15;t++)yU[t]=65+t-10&ys}function Tq(t,e,n){var r,s,o,h,d,v,k,C;return d=e.i-t.g/2,v=n.i-t.g/2,k=e.j-t.g/2,C=n.j-t.g/2,o=e.g+t.g/2,h=n.g+t.g/2,r=e.f+t.g/2,s=n.f+t.g/2,d>19)return"-"+_ue(rE(t));for(n=t,r="";!(n.l==0&&n.m==0&&n.h==0);){if(s=Vrt(Gq),n=yxt(n,s,!0),e=""+RHt(hb),!(n.l==0&&n.m==0&&n.h==0))for(o=9-e.length;o>0;o--)e="0"+e;r=e+r}return r}function Bvn(){if(!Object.create||!Object.getOwnPropertyNames)return!1;var t="__proto__",e=Object.create(null);if(e[t]!==void 0)return!1;var n=Object.getOwnPropertyNames(e);return!(n.length!=0||(e[t]=42,e[t]!==42)||Object.getOwnPropertyNames(e).length==0)}function Rvn(t){var e,n,r,s,o,h,d;for(e=!1,n=0,s=new S(t.d.b);s.a=t.a||!L4t(e,n))return-1;if(F8(u(r.Kb(e),20)))return 1;for(s=0,h=u(r.Kb(e),20).Kc();h.Ob();)if(o=u(h.Pb(),17),v=o.c.i==e?o.d.i:o.c.i,d=V5t(t,v,n,r),d==-1||(s=b.Math.max(s,d),s>t.c-1))return-1;return s+1}function Sue(t,e){var n,r,s,o,h,d;if(Vt(e)===Vt(t))return!0;if(!_t(e,15)||(r=u(e,15),d=t.gc(),r.gc()!=d))return!1;if(h=r.Kc(),t.ni()){for(n=0;n0){if(t.qj(),e!=null){for(o=0;o>24;case 97:case 98:case 99:case 100:case 101:case 102:return t-97+10<<24>>24;case 65:case 66:case 67:case 68:case 69:case 70:return t-65+10<<24>>24;default:throw it(new ld("Invalid hexadecimal"))}}function qvn(t,e,n){var r,s,o,h;for(vr(n,"Processor order nodes",2),t.a=Xt(ye(Q(e,(gv(),g_t)))),s=new Zi,h=ei(e.b,0);h.b!=h.d.c;)o=u(ti(h),86),je(Re(Q(o,(fc(),Xy))))&&fs(s,o,s.c.b,s.c);r=(Zn(s.b!=0),u(s.a.a.c,86)),Wle(t,r),!n.b&&pit(n,1),K5t(t,r,0-Xt(ye(Q(r,(fc(),IG))))/2,0),!n.b&&pit(n,1),or(n)}function Cq(){Cq=Z,i7t=new z3("SPIRAL",0),t7t=new z3("LINE_BY_LINE",1),e7t=new z3("MANHATTAN",2),JEt=new z3("JITTER",3),Vut=new z3("QUADRANTS_LINE_BY_LINE",4),r7t=new z3("QUADRANTS_MANHATTAN",5),n7t=new z3("QUADRANTS_JITTER",6),ZEt=new z3("COMBINE_LINE_BY_LINE_MANHATTAN",7),QEt=new z3("COMBINE_JITTER_MANHATTAN",8)}function Lue(t,e,n,r){var s,o,h,d,v,k;for(v=Ost(t,n),k=Ost(e,n),s=!1;v&&k&&(r||R1n(v,k,n));)h=Ost(v,n),d=Ost(k,n),kD(e),kD(t),o=v.c,Bat(v,!1),Bat(k,!1),n?(ly(e,k.p,o),e.p=k.p,ly(t,v.p+1,o),t.p=v.p):(ly(t,v.p,o),t.p=v.p,ly(e,k.p+1,o),e.p=k.p),Eo(v,null),Eo(k,null),v=h,k=d,s=!0;return s}function Hvn(t,e,n,r){var s,o,h,d,v;for(s=!1,o=!1,d=new S(r.j);d.a=e.length)throw it(new yo("Greedy SwitchDecider: Free layer not in graph."));this.c=e[t],this.e=new YM(r),mit(this.e,this.c,(ve(),Bn)),this.i=new YM(r),mit(this.i,this.c,Hn),this.f=new SKt(this.c),this.a=!o&&s.i&&!s.s&&this.c[0].k==(Vn(),ks),this.a&&apn(this,t,e.length)}function Due(t,e){var n,r,s,o,h,d;o=!t.B.Hc((ll(),cP)),h=t.B.Hc(Aft),t.a=new _ie(h,o,t.c),t.n&&Pvt(t.a.n,t.n),het(t.g,(Kf(),eu),t.a),e||(r=new a_(1,o,t.c),r.n.a=t.k,zx(t.p,(ve(),Pn),r),s=new a_(1,o,t.c),s.n.d=t.k,zx(t.p,mr,s),d=new a_(0,o,t.c),d.n.c=t.k,zx(t.p,Bn,d),n=new a_(0,o,t.c),n.n.b=t.k,zx(t.p,Hn,n))}function Gvn(t){var e,n,r;switch(e=u(Q(t.d,(Te(),eg)),218),e.g){case 2:n=xxn(t);break;case 3:n=(r=new he,ls(Ri(wu(Wo(Wo(new Tn(null,new _n(t.d.b,16)),new NX),new BX),new HT),new _X),new Utt(r)),r);break;default:throw it(new No("Compaction not supported for "+e+" edges."))}H3n(t,n),va(new Sm(t.g),new Vtt(t))}function Uvn(t,e){var n;return n=new ka,e&&Mo(n,u(tr(t.a,lP),94)),_t(e,470)&&Mo(n,u(tr(t.a,hP),94)),_t(e,354)?(Mo(n,u(tr(t.a,qo),94)),n):(_t(e,82)&&Mo(n,u(tr(t.a,br),94)),_t(e,239)?(Mo(n,u(tr(t.a,rs),94)),n):_t(e,186)?(Mo(n,u(tr(t.a,gl),94)),n):(_t(e,352)&&Mo(n,u(tr(t.a,Ys),94)),n))}function Jf(){Jf=Z,c7=new eo((ui(),ZG),pe(1)),bV=new eo(W2,80),kbe=new eo(fAt,5),dbe=new eo(W6,GE),ybe=new eo(Eft,pe(1)),xbe=new eo(Tft,(Nn(),!0)),x7t=new Ow(50),vbe=new eo(U2,x7t),v7t=KG,k7t=KS,gbe=new eo(gft,!1),y7t=tP,wbe=xb,bbe=G2,pbe=o5,mbe=Qy,m7t=(q4t(),abe),nlt=lbe,pV=sbe,elt=obe,E7t=ube}function Wvn(t){var e,n,r,s,o,h,d,v;for(v=new OJt,d=new S(t.a);d.a0&&e=0)return!1;if(e.p=n.b,le(n.e,e),s==(Vn(),ta)||s==Hc){for(h=new S(e.j);h.a1||h==-1)&&(o|=16),s.Bb&dc&&(o|=64)),n.Bb&Ka&&(o|=Dy),o|=xf):_t(e,457)?o|=512:(r=e.Bj(),r&&r.i&1&&(o|=256)),t.Bb&512&&(o|=128),o}function y_(t,e){var n,r,s,o,h;for(t=t==null?_u:(On(t),t),s=0;st.d[d.p]&&(n+=fmt(t.b,o),Up(t.a,pe(o)))):++h;for(n+=t.b.d*h;!BC(t.a);)Hmt(t.b,u(Hx(t.a),19).a)}return n}function nmn(t,e){var n;return t.f==$ft?(n=Hw(To(($u(),ya),e)),t.e?n==4&&e!=(d6(),tk)&&e!=(d6(),J6)&&e!=(d6(),zft)&&e!=(d6(),qft):n==2):t.d&&(t.d.Hc(e)||t.d.Hc(Kx(To(($u(),ya),e)))||t.d.Hc(C4(($u(),ya),t.b,e)))?!0:t.f&&O5t(($u(),t.f),rD(To(ya,e)))?(n=Hw(To(ya,e)),t.e?n==4:n==2):!1}function rmn(t,e,n,r){var s,o,h,d,v,k,C,M;return h=u(qe(n,(ui(),Y6)),8),v=h.a,C=h.b+t,s=b.Math.atan2(C,v),s<0&&(s+=O4),s+=e,s>O4&&(s-=O4),d=u(qe(r,Y6),8),k=d.a,M=d.b+t,o=b.Math.atan2(M,k),o<0&&(o+=O4),o+=e,o>O4&&(o-=O4),k1(),wf(1e-10),b.Math.abs(s-o)<=1e-10||s==o||isNaN(s)&&isNaN(o)?0:so?1:Iw(isNaN(s),isNaN(o))}function gat(t){var e,n,r,s,o,h,d;for(d=new _r,r=new S(t.a.b);r.a=t.o)throw it(new Opt);d=e>>5,h=e&31,o=F0(1,Ar(F0(h,1))),s?t.n[n][d]=S1(t.n[n][d],o):t.n[n][d]=Ns(t.n[n][d],Rwt(o)),o=F0(o,1),r?t.n[n][d]=S1(t.n[n][d],o):t.n[n][d]=Ns(t.n[n][d],Rwt(o))}catch(v){throw v=Wi(v),_t(v,320)?it(new yo(Fot+t.o+"*"+t.p+Not+e+Ya+n+Bot)):it(v)}}function K5t(t,e,n,r){var s,o,h;e&&(o=Xt(ye(Q(e,(fc(),np))))+r,h=n+Xt(ye(Q(e,IG)))/2,Jt(e,$ht,pe(Ar(Tu(b.Math.round(o))))),Jt(e,o_t,pe(Ar(Tu(b.Math.round(h))))),e.d.b==0||K5t(t,u(xj((s=ei(new Lp(e).a.d,0),new Ex(s))),86),n+Xt(ye(Q(e,IG)))+t.a,r+Xt(ye(Q(e,M7)))),Q(e,jht)!=null&&K5t(t,u(Q(e,jht),86),n,r))}function smn(t,e){var n,r,s,o,h,d,v,k,C,M,j;for(v=Na(e.a),s=Xt(ye(Q(v,(Te(),q2))))*2,C=Xt(ye(Q(v,t5))),k=b.Math.max(s,C),o=Nt(aa,vo,25,e.f-e.c+1,15,1),r=-k,n=0,d=e.b.Kc();d.Ob();)h=u(d.Pb(),10),r+=t.a[h.c.p]+k,o[n++]=r;for(r+=t.a[e.a.c.p]+k,o[n++]=r,j=new S(e.e);j.a0&&(r=(!t.n&&(t.n=new fe(qo,t,1,7)),u(At(t.n,0),137)).a,!r||Gr(Gr((e.a+=' "',e),r),'"'))),Gr(Aw(Gr(Aw(Gr(Aw(Gr(Aw((e.a+=" (",e),t.i),","),t.j)," | "),t.g),","),t.f),")"),e.a)}function zue(t){var e,n,r;return t.Db&64?Vst(t):(e=new Ol(y8t),n=t.k,n?Gr(Gr((e.a+=' "',e),n),'"'):(!t.n&&(t.n=new fe(qo,t,1,7)),t.n.i>0&&(r=(!t.n&&(t.n=new fe(qo,t,1,7)),u(At(t.n,0),137)).a,!r||Gr(Gr((e.a+=' "',e),r),'"'))),Gr(Aw(Gr(Aw(Gr(Aw(Gr(Aw((e.a+=" (",e),t.i),","),t.j)," | "),t.g),","),t.f),")"),e.a)}function bat(t,e){var n,r,s,o,h,d,v;if(e==null||e.length==0)return null;if(s=u(Nc(t.a,e),149),!s){for(r=(d=new v1(t.b).a.vc().Kc(),new m1(d));r.a.Ob();)if(n=(o=u(r.a.Pb(),42),u(o.dd(),149)),h=n.c,v=e.length,hn(h.substr(h.length-v,v),e)&&(e.length==h.length||wa(h,h.length-e.length-1)==46)){if(s)return null;s=n}s&&ko(t.a,e,s)}return s}function cmn(t,e){var n,r,s,o;return n=new eh,r=u(Bl(wu(new Tn(null,new _n(t.f,16)),n),Zm(new on,new ni,new di,new Ee,lt(ct(fl,1),oe,132,0,[(O1(),Iy),Ul]))),21),s=r.gc(),r=u(Bl(wu(new Tn(null,new _n(e.f,16)),n),Zm(new on,new ni,new di,new Ee,lt(ct(fl,1),oe,132,0,[Iy,Ul]))),21),o=r.gc(),ss.p?(Bs(o,mr),o.d&&(d=o.o.b,e=o.a.b,o.a.b=d-e)):o.j==mr&&s.p>t.p&&(Bs(o,Pn),o.d&&(d=o.o.b,e=o.a.b,o.a.b=-(d-e)));break}return s}function lmn(t,e,n,r){var s,o,h,d,v,k,C,M,j,H,G;if(o=n,n1,d&&(r=new $e(s,n.b),ri(e.a,r)),V9(e.a,lt(ct(Ws,1),ee,8,0,[j,M]))}function wat(t,e,n){var r,s,o,h,d,v;if(e)if(n<=-1){if(r=yn(e.Tg(),-1-n),_t(r,99))return u(r,18);for(h=u(e.ah(r),153),d=0,v=h.gc();d0){for(s=v.length;s>0&&v[s-1]=="";)--s;s=40,h&&xyn(t),C3n(t),ivn(t),n=fie(t),r=0;n&&r0&&ri(t.f,o)):(t.c[h]-=k+1,t.c[h]<=0&&t.a[h]>0&&ri(t.e,o))))}function Nmn(t){var e,n,r,s,o,h,d,v,k;for(d=new Op(u(Lr(new jd),62)),k=Cs,n=new S(t.d);n.a=0&&vn?e:n;k<=M;++k)k==n?d=r++:(o=s[k],C=G.rl(o.ak()),k==e&&(v=k==M&&!C?r-1:r),C&&++r);return j=u(r_(t,e,n),72),d!=v&&n8(t,new mD(t.e,7,h,pe(d),H.dd(),v)),j}}else return u(Jst(t,e,n),72);return u(r_(t,e,n),72)}function $mn(t,e){var n,r,s,o,h,d,v;for(vr(e,"Port order processing",1),v=u(Q(t,(Te(),v9t)),421),r=new S(t.b);r.a=0&&(d=H1n(t,h),!(d&&(k<22?v.l|=1<>>1,h.m=C>>>1|(M&1)<<21,h.l=j>>>1|(C&1)<<21,--k;return n&&Ait(v),o&&(r?(hb=rE(t),s&&(hb=tre(hb,(q8(),aEt)))):hb=iu(t.l,t.m,t.h)),v}function Hmn(t,e){var n,r,s,o,h,d,v,k,C,M;for(k=t.e[e.c.p][e.p]+1,v=e.c.a.c.length+1,d=new S(t.a);d.a0&&(Rr(0,t.length),t.charCodeAt(0)==45||(Rr(0,t.length),t.charCodeAt(0)==43))?1:0,r=h;rn)throw it(new ld(yv+t+'"'));return d}function Vmn(t){var e,n,r,s,o,h,d;for(h=new Zi,o=new S(t.a);o.a1)&&e==1&&u(t.a[t.b],10).k==(Vn(),Ll)?p6(u(t.a[t.b],10),(zl(),f0)):r&&(!n||(t.c-t.b&t.a.length-1)>1)&&e==1&&u(t.a[t.c-1&t.a.length-1],10).k==(Vn(),Ll)?p6(u(t.a[t.c-1&t.a.length-1],10),(zl(),kb)):(t.c-t.b&t.a.length-1)==2?(p6(u(Q9(t),10),(zl(),f0)),p6(u(Q9(t),10),kb)):R2n(t,s),lmt(t)}function Wmn(t,e,n){var r,s,o,h,d;for(o=0,s=new nr((!t.a&&(t.a=new fe(rs,t,10,11)),t.a));s.e!=s.i.gc();)r=u(dr(s),33),h="",(!r.n&&(r.n=new fe(qo,r,1,7)),r.n).i==0||(h=u(At((!r.n&&(r.n=new fe(qo,r,1,7)),r.n),0),137).a),d=new Dit(o++,e,h),Mo(d,r),Jt(d,(fc(),qS),r),d.e.b=r.j+r.f/2,d.f.a=b.Math.max(r.g,1),d.e.a=r.i+r.g/2,d.f.b=b.Math.max(r.f,1),ri(e.b,d),au(n.f,r,d)}function Ymn(t){var e,n,r,s,o;r=u(Q(t,(ae(),_i)),33),o=u(qe(r,(Te(),$2)),174).Hc((Al(),K2)),t.e||(s=u(Q(t,Vc),21),e=new $e(t.f.a+t.d.b+t.d.c,t.f.b+t.d.d+t.d.a),s.Hc((oo(),vh))?(wo(r,cs,(ua(),Gc)),wv(r,e.a,e.b,!1,!0)):je(Re(qe(r,uht)))||wv(r,e.a,e.b,!0,!0)),o?wo(r,$2,un(K2)):wo(r,$2,(n=u(Vf(rA),9),new sh(n,u(ff(n,n.length),9),0)))}function rxt(t,e,n){var r,s,o,h;if(e[0]>=t.length)return n.o=0,!0;switch(wa(t,e[0])){case 43:s=1;break;case 45:s=-1;break;default:return n.o=0,!0}if(++e[0],o=e[0],h=gq(t,e),h==0&&e[0]==o)return!1;if(e[0]=0&&d!=n&&(o=new Js(t,1,d,h,null),r?r.Ei(o):r=o),n>=0&&(o=new Js(t,1,n,d==n?h:null,e),r?r.Ei(o):r=o)),r}function sle(t){var e,n,r;if(t.b==null){if(r=new Ag,t.i!=null&&(go(r,t.i),r.a+=":"),t.f&256){for(t.f&256&&t.a!=null&&(lrn(t.i)||(r.a+="//"),go(r,t.a)),t.d!=null&&(r.a+="/",go(r,t.d)),t.f&16&&(r.a+="/"),e=0,n=t.j.length;ej?!1:(M=(v=__(r,j,!1),v.a),C+d+M<=e.b&&(vD(n,o-n.s),n.c=!0,vD(r,o-n.s),tI(r,n.s,n.t+n.d+d),r.k=!0,pyt(n.q,r),H=!0,s&&(az(e,r),r.j=e,t.c.length>h&&(sI((An(h,t.c.length),u(t.c[h],200)),r),(An(h,t.c.length),u(t.c[h],200)).a.c.length==0&&Fg(t,h)))),H)}function nyn(t,e){var n,r,s,o,h,d;if(vr(e,"Partition midprocessing",1),s=new Uw,ls(Ri(new Tn(null,new _n(t.a,16)),new KK),new mw(s)),s.d!=0){for(d=u(Bl(ZQt((o=s.i,new Tn(null,(o||(s.i=new K3(s,s.c))).Nc()))),c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[(O1(),Ul)]))),15),r=d.Kc(),n=u(r.Pb(),19);r.Ob();)h=u(r.Pb(),19),swn(u(Ai(s,n),21),u(Ai(s,h),21)),n=h;or(e)}}function cle(t,e,n){var r,s,o,h,d,v,k,C;if(e.p==0){for(e.p=1,h=n,h||(s=new he,o=(r=u(Vf(Xa),9),new sh(r,u(ff(r,r.length),9),0)),h=new fa(s,o)),u(h.a,15).Fc(e),e.k==(Vn(),ks)&&u(h.b,21).Fc(u(Q(e,(ae(),oc)),61)),v=new S(e.j);v.a0){if(s=u(t.Ab.g,1934),e==null){for(o=0;o1)for(r=new S(s);r.an.s&&dd&&(d=s,C.c=Nt(Qn,De,1,0,5,1)),s==d&&le(C,new fa(n.c.i,n)));wn(),Zs(C,t.c),Hm(t.b,v.p,C)}}function cyn(t,e){var n,r,s,o,h,d,v,k,C;for(h=new S(e.b);h.ad&&(d=s,C.c=Nt(Qn,De,1,0,5,1)),s==d&&le(C,new fa(n.d.i,n)));wn(),Zs(C,t.c),Hm(t.f,v.p,C)}}function lle(t){Mw(t,new k2(_w(Ew(Cw(Tw(new kg,Tv),"ELK Box"),"Algorithm for packing of unconnected boxes, i.e. graphs without edges."),new qZ))),xe(t,Tv,xv,PSt),xe(t,Tv,Cy,15),xe(t,Tv,VI,pe(0)),xe(t,Tv,CH,Ie(DSt)),xe(t,Tv,D4,Ie(e4e)),xe(t,Tv,T6,Ie(n4e)),xe(t,Tv,E6,cde),xe(t,Tv,GI,Ie(ISt)),xe(t,Tv,C6,Ie(OSt)),xe(t,Tv,g8t,Ie(lft)),xe(t,Tv,mH,Ie(t4e))}function hle(t,e){var n,r,s,o,h,d,v,k,C;if(s=t.i,h=s.o.a,o=s.o.b,h<=0&&o<=0)return ve(),Zo;switch(k=t.n.a,C=t.n.b,d=t.o.a,n=t.o.b,e.g){case 2:case 1:if(k<0)return ve(),Bn;if(k+d>h)return ve(),Hn;break;case 4:case 3:if(C<0)return ve(),Pn;if(C+n>o)return ve(),mr}return v=(k+d/2)/h,r=(C+n/2)/o,v+r<=1&&v-r<=0?(ve(),Bn):v+r>=1&&v-r>=0?(ve(),Hn):r<.5?(ve(),Pn):(ve(),mr)}function uyn(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K;for(n=!1,C=Xt(ye(Q(e,(Te(),$v)))),G=sb*C,s=new S(e.b);s.av+G&&(K=M.g+j.g,j.a=(j.g*j.a+M.g*M.a)/K,j.g=K,M.f=j,n=!0)),o=d,M=j;return n}function fle(t,e,n,r,s,o,h){var d,v,k,C,M,j;for(j=new Fx,k=e.Kc();k.Ob();)for(d=u(k.Pb(),839),M=new S(d.wf());M.a0?d.a?(k=d.b.rf().b,s>k&&(t.v||d.c.d.c.length==1?(h=(s-k)/2,d.d.d=h,d.d.a=h):(n=u(Ne(d.c.d,0),181).rf().b,r=(n-k)/2,d.d.d=b.Math.max(0,r),d.d.a=s-r-k))):d.d.a=t.t+s:S9(t.u)&&(o=I4t(d.b),o.d<0&&(d.d.d=-o.d),o.d+o.a>d.b.rf().b&&(d.d.a=o.d+o.a-d.b.rf().b))}function fyn(t,e){var n;switch(_D(t)){case 6:return ra(e);case 7:return Bm(e);case 8:return Nm(e);case 3:return Array.isArray(e)&&(n=_D(e),!(n>=14&&n<=16));case 11:return e!=null&&typeof e===Gat;case 12:return e!=null&&(typeof e===MI||typeof e==Gat);case 0:return gst(e,t.__elementTypeId$);case 2:return Znt(e)&&e.im!==Et;case 1:return Znt(e)&&e.im!==Et||gst(e,t.__elementTypeId$);default:return!0}}function dle(t,e){var n,r,s,o;return r=b.Math.min(b.Math.abs(t.c-(e.c+e.b)),b.Math.abs(t.c+t.b-e.c)),o=b.Math.min(b.Math.abs(t.d-(e.d+e.a)),b.Math.abs(t.d+t.a-e.d)),n=b.Math.abs(t.c+t.b/2-(e.c+e.b/2)),n>t.b/2+e.b/2||(s=b.Math.abs(t.d+t.a/2-(e.d+e.a/2)),s>t.a/2+e.a/2)?1:n==0&&s==0?0:n==0?o/s+1:s==0?r/n+1:b.Math.min(r/n,o/s)+1}function gle(t,e){var n,r,s,o,h,d;return s=Jmt(t),d=Jmt(e),s==d?t.e==e.e&&t.a<54&&e.a<54?t.fe.f?1:0:(r=t.e-e.e,n=(t.d>0?t.d:b.Math.floor((t.a-1)*Cfe)+1)-(e.d>0?e.d:b.Math.floor((e.a-1)*Cfe)+1),n>r+1?s:n0&&(h=e4(h,Nle(r))),Uie(o,h))):s0&&t.d!=(q9(),slt)&&(d+=h*(r.d.a+t.a[e.b][r.b]*(e.d.a-r.d.a)/n)),n>0&&t.d!=(q9(),rlt)&&(v+=h*(r.d.b+t.a[e.b][r.b]*(e.d.b-r.d.b)/n)));switch(t.d.g){case 1:return new $e(d/o,e.d.b);case 2:return new $e(e.d.a,v/o);default:return new $e(d/o,v/o)}}function ple(t,e){oE();var n,r,s,o,h;if(h=u(Q(t.i,(Te(),cs)),98),o=t.j.g-e.j.g,o!=0||!(h==(ua(),Y2)||h==g0||h==Gc))return 0;if(h==(ua(),Y2)&&(n=u(Q(t,tp),19),r=u(Q(e,tp),19),n&&r&&(s=n.a-r.a,s!=0)))return s;switch(t.j.g){case 1:return Ms(t.n.a,e.n.a);case 2:return Ms(t.n.b,e.n.b);case 3:return Ms(e.n.a,t.n.a);case 4:return Ms(e.n.b,t.n.b);default:throw it(new No(E6t))}}function ble(t){var e,n,r,s,o,h;for(n=(!t.a&&(t.a=new As(Gh,t,5)),t.a).i+2,h=new Xc(n),le(h,new $e(t.j,t.k)),ls(new Tn(null,(!t.a&&(t.a=new As(Gh,t,5)),new _n(t.a,16))),new lzt(h)),le(h,new $e(t.b,t.c)),e=1;e0&&($D(v,!1,(ao(),zh)),$D(v,!0,Cf)),xu(e.g,new oGt(t,n)),ki(t.g,e,n)}function vle(){vle=Z;var t;for(gEt=lt(ct(Cr,1),Xr,25,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]),Fut=Nt(Cr,Xr,25,37,15,1),$ge=lt(ct(Cr,1),Xr,25,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]),pEt=Nt(Ob,wot,25,37,14,1),t=2;t<=36;t++)Fut[t]=ps(b.Math.pow(t,gEt[t])),pEt[t]=aI(qq,Fut[t])}function gyn(t){var e;if((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a).i!=1)throw it(new Fn(Sde+(!t.a&&(t.a=new fe(Ji,t,6,6)),t.a).i));return e=new Pu,RD(u(At((!t.b&&(t.b=new Cn(br,t,4,7)),t.b),0),82))&&Ua(e,tfe(t,RD(u(At((!t.b&&(t.b=new Cn(br,t,4,7)),t.b),0),82)),!1)),RD(u(At((!t.c&&(t.c=new Cn(br,t,5,8)),t.c),0),82))&&Ua(e,tfe(t,RD(u(At((!t.c&&(t.c=new Cn(br,t,5,8)),t.c),0),82)),!0)),e}function mle(t,e){var n,r,s,o,h;for(e.d?s=t.a.c==(bd(),zv)?jo(e.b):Ds(e.b):s=t.a.c==(bd(),ep)?jo(e.b):Ds(e.b),o=!1,r=new ar(lr(s.a.Kc(),new z));zr(r);)if(n=u(Mr(r),17),h=je(t.a.f[t.a.g[e.b.p].p]),!(!h&&!Ga(n)&&n.c.i.c==n.d.i.c)&&!(je(t.a.n[t.a.g[e.b.p].p])||je(t.a.n[t.a.g[e.b.p].p]))&&(o=!0,I0(t.b,t.a.g[T1n(n,e.b).p])))return e.c=!0,e.a=n,e;return e.c=o,e.a=null,e}function pyn(t,e,n,r,s){var o,h,d,v,k,C,M;for(wn(),Zs(t,new XZ),d=new da(t,0),M=new he,o=0;d.bo*2?(C=new rz(M),k=Ru(h)/El(h),v=zat(C,e,new Cx,n,r,s,k),Li(Gf(C.e),v),M.c=Nt(Qn,De,1,0,5,1),o=0,M.c[M.c.length]=C,M.c[M.c.length]=h,o=Ru(C)*El(C)+Ru(h)*El(h)):(M.c[M.c.length]=h,o+=Ru(h)*El(h));return M}function sxt(t,e,n){var r,s,o,h,d,v,k;if(r=n.gc(),r==0)return!1;if(t.ej())if(v=t.fj(),y3t(t,e,n),h=r==1?t.Zi(3,null,n.Kc().Pb(),e,v):t.Zi(5,null,n,e,v),t.bj()){for(d=r<100?null:new Dp(r),o=e+r,s=e;s0){for(h=0;h>16==-15&&t.Cb.nh()&&rit(new Jrt(t.Cb,9,13,n,t.c,Hg(al(u(t.Cb,59)),t))):_t(t.Cb,88)&&t.Db>>16==-23&&t.Cb.nh()&&(e=t.c,_t(e,88)||(e=(dn(),Kh)),_t(n,88)||(n=(dn(),Kh)),rit(new Jrt(t.Cb,9,10,n,e,Hg(Lc(u(t.Cb,26)),t)))))),t.c}function byn(t,e){var n,r,s,o,h,d,v,k,C,M;for(vr(e,"Hypernodes processing",1),s=new S(t.b);s.an);return s}function xle(t,e){var n,r,s;r=ul(t.d,1)!=0,!je(Re(Q(e.j,(ae(),Ov))))&&!je(Re(Q(e.j,X4)))||Vt(Q(e.j,(Te(),wb)))===Vt((V0(),vb))?e.c.Tf(e.e,r):r=je(Re(Q(e.j,Ov))),yI(t,e,r,!0),je(Re(Q(e.j,X4)))&&Jt(e.j,X4,(Nn(),!1)),je(Re(Q(e.j,Ov)))&&(Jt(e.j,Ov,(Nn(),!1)),Jt(e.j,X4,!0)),n=Kst(t,e);do{if(hyt(t),n==0)return 0;r=!r,s=n,yI(t,e,r,!1),n=Kst(t,e)}while(s>n);return s}function kle(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G;if(e==n)return!0;if(e=p5t(t,e),n=p5t(t,n),r=xst(e),r){if(C=xst(n),C!=r)return C?(v=r.Dj(),G=C.Dj(),v==G&&v!=null):!1;if(h=(!e.d&&(e.d=new As(ho,e,1)),e.d),o=h.i,j=(!n.d&&(n.d=new As(ho,n,1)),n.d),o==j.i){for(k=0;k0,d=Bz(e,o),N2t(n?d.b:d.g,e),u4(d).c.length==1&&fs(r,d,r.c.b,r.c),s=new fa(o,e),Up(t.o,s),mu(t.e.a,o))}function _le(t,e){var n,r,s,o,h,d,v;return r=b.Math.abs(e$(t.b).a-e$(e.b).a),d=b.Math.abs(e$(t.b).b-e$(e.b).b),s=0,v=0,n=1,h=1,r>t.b.b/2+e.b.b/2&&(s=b.Math.min(b.Math.abs(t.b.c-(e.b.c+e.b.b)),b.Math.abs(t.b.c+t.b.b-e.b.c)),n=1-s/r),d>t.b.a/2+e.b.a/2&&(v=b.Math.min(b.Math.abs(t.b.d-(e.b.d+e.b.a)),b.Math.abs(t.b.d+t.b.a-e.b.d)),h=1-v/d),o=b.Math.min(n,h),(1-o)*b.Math.sqrt(r*r+d*d)}function kyn(t){var e,n,r,s;for($at(t,t.e,t.f,(Gw(),yb),!0,t.c,t.i),$at(t,t.e,t.f,yb,!1,t.c,t.i),$at(t,t.e,t.f,r5,!0,t.c,t.i),$at(t,t.e,t.f,r5,!1,t.c,t.i),Tyn(t,t.c,t.e,t.f,t.i),r=new da(t.i,0);r.b=65;n--)Y1[n]=n-65<<24>>24;for(r=122;r>=97;r--)Y1[r]=r-97+26<<24>>24;for(s=57;s>=48;s--)Y1[s]=s-48+52<<24>>24;for(Y1[43]=62,Y1[47]=63,o=0;o<=25;o++)lp[o]=65+o&ys;for(h=26,v=0;h<=51;++h,v++)lp[h]=97+v&ys;for(t=52,d=0;t<=61;++t,d++)lp[t]=48+d&ys;lp[62]=43,lp[63]=47}function Eyn(t,e){var n,r,s,o,h,d,v,k,C,M,j,H;if(t.dc())return new Ca;for(k=0,M=0,s=t.Kc();s.Ob();)r=u(s.Pb(),37),o=r.f,k=b.Math.max(k,o.a),M+=o.a*o.b;for(k=b.Math.max(k,b.Math.sqrt(M)*Xt(ye(Q(u(t.Kc().Pb(),37),(Te(),rG))))),j=0,H=0,v=0,n=e,d=t.Kc();d.Ob();)h=u(d.Pb(),37),C=h.f,j+C.a>k&&(j=0,H+=v+e,v=0),x_(h,j,H),n=b.Math.max(n,j+C.a),v=b.Math.max(v,C.b),j+=C.a+e;return new $e(n+e,H+v+e)}function Tyn(t,e,n,r,s){var o,h,d,v,k,C,M;for(h=new S(e);h.ao)return ve(),Hn;break;case 4:case 3:if(v<0)return ve(),Pn;if(v+t.f>s)return ve(),mr}return h=(d+t.g/2)/o,n=(v+t.f/2)/s,h+n<=1&&h-n<=0?(ve(),Bn):h+n>=1&&h-n>=0?(ve(),Hn):n<.5?(ve(),Pn):(ve(),mr)}function Cyn(t,e,n,r,s){var o,h;if(o=Pa(Ns(e[0],co),Ns(r[0],co)),t[0]=Ar(o),o=$p(o,32),n>=s){for(h=1;h0&&(s.b[h++]=0,s.b[h++]=o.b[0]-1),e=1;e0&&(oM(v,v.d-s.d),s.c==(Uf(),mb)&&bpt(v,v.a-s.d),v.d<=0&&v.i>0&&fs(e,v,e.c.b,e.c)));for(o=new S(t.f);o.a0&&(TC(d,d.i-s.d),s.c==(Uf(),mb)&&ww(d,d.b-s.d),d.i<=0&&d.d>0&&fs(n,d,n.c.b,n.c)))}function _yn(t,e,n){var r,s,o,h,d,v,k,C;for(vr(n,"Processor compute fanout",1),Xu(t.b),Xu(t.a),d=null,o=ei(e.b,0);!d&&o.b!=o.d.c;)k=u(ti(o),86),je(Re(Q(k,(fc(),Xy))))&&(d=k);for(v=new Zi,fs(v,d,v.c.b,v.c),Bhe(t,v),C=ei(e.b,0);C.b!=C.d.c;)k=u(ti(C),86),h=Br(Q(k,(fc(),zS))),s=Nc(t.b,h)!=null?u(Nc(t.b,h),19).a:0,Jt(k,MG,pe(s)),r=1+(Nc(t.a,h)!=null?u(Nc(t.a,h),19).a:0),Jt(k,pye,pe(r));or(n)}function Syn(t,e,n,r,s){var o,h,d,v,k,C,M,j,H,G;for(j=l0n(t,n),v=0;v0),r.a.Xb(r.c=--r.b),M>j+v&&Cl(r);for(h=new S(H);h.a0),r.a.Xb(r.c=--r.b)}}function Ayn(){gi();var t,e,n,r,s,o;if(Vft)return Vft;for(t=new Nl(4),yy(t,ib(kut,!0)),L_(t,ib("M",!0)),L_(t,ib("C",!0)),o=new Nl(4),r=0;r<11;r++)jc(o,r,r);return e=new Nl(4),yy(e,ib("M",!0)),jc(e,4448,4607),jc(e,65438,65439),s=new d9(2),E2(s,t),E2(s,pA),n=new d9(2),n.$l(Yj(o,ib("L",!0))),n.$l(e),n=new Xm(3,n),n=new mvt(s,n),Vft=n,Vft}function Lyn(t){var e,n;if(e=Br(qe(t,(ui(),YS))),!qne(e,t)&&!o2(t,O7)&&((!t.a&&(t.a=new fe(rs,t,10,11)),t.a).i!=0||je(Re(qe(t,ZO)))))if(e==null||fy(e).length==0){if(!qne(Gn,t))throw n=Gr(Gr(new Ol("Unable to load default layout algorithm "),Gn)," for unconfigured node "),Nq(t,n),it(new R3(n.a))}else throw n=Gr(Gr(new Ol("Layout algorithm '"),e),"' not found for "),Nq(t,n),it(new R3(n.a))}function Eat(t){var e,n,r,s,o,h,d,v,k,C,M,j,H;if(n=t.i,e=t.n,t.b==0)for(H=n.c+e.b,j=n.b-e.b-e.c,h=t.a,v=0,C=h.length;v0&&(M-=r[0]+t.c,r[0]+=t.c),r[2]>0&&(M-=r[2]+t.c),r[1]=b.Math.max(r[1],M),Xj(t.a[1],n.c+e.b+r[0]-(r[1]-M)/2,r[1]);for(o=t.a,d=0,k=o.length;d0?(t.n.c.length-1)*t.i:0,r=new S(t.n);r.a1)for(r=ei(s,0);r.b!=r.d.c;)for(n=u(ti(r),231),o=0,v=new S(n.e);v.a0&&(e[0]+=t.c,M-=e[0]),e[2]>0&&(M-=e[2]+t.c),e[1]=b.Math.max(e[1],M),Qj(t.a[1],r.d+n.d+e[0]-(e[1]-M)/2,e[1]);else for(G=r.d+n.d,H=r.a-n.d-n.a,h=t.a,v=0,C=h.length;v=0&&o!=n))throw it(new Fn(eO));for(s=0,v=0;v0||av(s.b.d,t.b.d+t.b.a)==0&&r.b<0||av(s.b.d+s.b.a,t.b.d)==0&&r.b>0){d=0;break}}else d=b.Math.min(d,Moe(t,s,r));d=b.Math.min(d,Mle(t,o,d,r))}return d}function CI(t,e){var n,r,s,o,h,d,v;if(t.b<2)throw it(new Fn("The vector chain must contain at least a source and a target point."));for(s=(Zn(t.b!=0),u(t.a.a.c,8)),vj(e,s.a,s.b),v=new Nx((!e.a&&(e.a=new As(Gh,e,5)),e.a)),h=ei(t,1);h.aXt(E1(h.g,h.d[0]).a)?(Zn(v.b>0),v.a.Xb(v.c=--v.b),zm(v,h),s=!0):d.e&&d.e.gc()>0&&(o=(!d.e&&(d.e=new he),d.e).Mc(e),k=(!d.e&&(d.e=new he),d.e).Mc(n),(o||k)&&((!d.e&&(d.e=new he),d.e).Fc(h),++h.c));s||(r.c[r.c.length]=h)}function Ole(t){var e,n,r;if(G3(u(Q(t,(Te(),cs)),98)))for(n=new S(t.j);n.a>>0,"0"+e.toString(16)),r="\\x"+Pl(n,n.length-2,n.length)):t>=Ka?(n=(e=t>>>0,"0"+e.toString(16)),r="\\v"+Pl(n,n.length-6,n.length)):r=""+String.fromCharCode(t&ys)}return r}function Cat(t,e){var n,r,s,o,h,d,v,k,C,M;if(h=t.e,v=e.e,v==0)return t;if(h==0)return e.e==0?e:new X3(-e.e,e.d,e.a);if(o=t.d,d=e.d,o+d==2)return n=Ns(t.a[0],co),r=Ns(e.a[0],co),h<0&&(n=z8(n)),v<0&&(r=z8(r)),JD(Jp(n,r));if(s=o!=d?o>d?1:-1:qyt(t.a,e.a,o),s==-1)M=-v,C=h==v?Wrt(e.a,d,t.a,o):Krt(e.a,d,t.a,o);else if(M=h,h==v){if(s==0)return rb(),s7;C=Wrt(t.a,o,e.a,d)}else C=Krt(t.a,o,e.a,d);return k=new X3(M,C.length,C),N9(k),k}function fxt(t){var e,n,r,s,o,h;for(this.e=new he,this.a=new he,n=t.b-1;n<3;n++)m8(t,0,u(Zf(t,0),8));if(t.b<4)throw it(new Fn("At (least dimension + 1) control points are necessary!"));for(this.b=3,this.d=!0,this.c=!1,x2n(this,t.b+this.b-1),h=new he,o=new S(this.e),e=0;e=e.o&&n.f<=e.f||e.a*.5<=n.f&&e.a*1.5>=n.f){if(h=u(Ne(e.n,e.n.c.length-1),211),h.e+h.d+n.g+s<=r&&(o=u(Ne(e.n,e.n.c.length-1),211),o.f-t.f+n.f<=t.b||t.a.c.length==1))return h3t(e,n),!0;if(e.s+n.g<=r&&(e.t+e.d+n.f+s<=t.b||t.a.c.length==1))return le(e.b,n),d=u(Ne(e.n,e.n.c.length-1),211),le(e.n,new E$(e.s,d.f+d.a+e.i,e.i)),W3t(u(Ne(e.n,e.n.c.length-1),211),n),Sle(e,n),!0}return!1}function Fle(t,e,n){var r,s,o,h;return t.ej()?(s=null,o=t.fj(),r=t.Zi(1,h=sit(t,e,n),n,e,o),t.bj()&&!(t.ni()&&h!=null?yi(h,n):Vt(h)===Vt(n))?(h!=null&&(s=t.dj(h,s)),s=t.cj(n,s),t.ij()&&(s=t.lj(h,n,s)),s?(s.Ei(r),s.Fi()):t.$i(r)):(t.ij()&&(s=t.lj(h,n,s)),s?(s.Ei(r),s.Fi()):t.$i(r)),h):(h=sit(t,e,n),t.bj()&&!(t.ni()&&h!=null?yi(h,n):Vt(h)===Vt(n))&&(s=null,h!=null&&(s=t.dj(h,null)),s=t.cj(n,s),s&&s.Fi()),h)}function E_(t,e){var n,r,s,o,h,d,v,k;e%=24,t.q.getHours()!=e&&(r=new b.Date(t.q.getTime()),r.setDate(r.getDate()+1),d=t.q.getTimezoneOffset()-r.getTimezoneOffset(),d>0&&(v=d/60|0,k=d%60,s=t.q.getDate(),n=t.q.getHours(),n+v>=24&&++s,o=new b.Date(t.q.getFullYear(),t.q.getMonth(),s,e+v,t.q.getMinutes()+k,t.q.getSeconds(),t.q.getMilliseconds()),t.q.setTime(o.getTime()))),h=t.q.getTime(),t.q.setTime(h+36e5),t.q.getHours()!=e&&t.q.setTime(h)}function Ryn(t,e){var n,r,s,o,h;if(vr(e,"Path-Like Graph Wrapping",1),t.b.c.length==0){or(e);return}if(s=new m5t(t),h=(s.i==null&&(s.i=fyt(s,new VN)),Xt(s.i)*s.f),n=h/(s.i==null&&(s.i=fyt(s,new VN)),Xt(s.i)),s.b>n){or(e);return}switch(u(Q(t,(Te(),ght)),337).g){case 2:o=new UN;break;case 0:o=new HN;break;default:o=new WN}if(r=o.Vf(t,s),!o.Wf())switch(u(Q(t,wG),338).g){case 2:r=Doe(s,r);break;case 1:r=Mae(s,r)}F3n(t,s,r),or(e)}function jyn(t,e){var n,r,s,o;if(Ein(t.d,t.e),t.c.a.$b(),Xt(ye(Q(e.j,(Te(),aG))))!=0||Xt(ye(Q(e.j,aG)))!=0)for(n=VE,Vt(Q(e.j,wb))!==Vt((V0(),vb))&&Jt(e.j,(ae(),Ov),(Nn(),!0)),o=u(Q(e.j,MS),19).a,s=0;ss&&++k,le(h,(An(d+k,e.c.length),u(e.c[d+k],19))),v+=(An(d+k,e.c.length),u(e.c[d+k],19)).a-r,++n;n1&&(v>Ru(d)*El(d)/2||h.b==0)&&(M=new rz(j),C=Ru(d)/El(d),k=zat(M,e,new Cx,n,r,s,C),Li(Gf(M.e),k),d=M,H.c[H.c.length]=M,v=0,j.c=Nt(Qn,De,1,0,5,1)));return Ls(H,j),H}function qyn(t,e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K;if(n.mh(e)&&(C=(H=e,H?u(r,49).xh(H):null),C))if(K=n.bh(e,t.a),G=e.t,G>1||G==-1)if(M=u(K,69),j=u(C,69),M.dc())j.$b();else for(h=!!no(e),o=0,d=t.a?M.Kc():M.Zh();d.Ob();)k=u(d.Pb(),56),s=u(Xw(t,k),56),s?(h?(v=j.Xc(s),v==-1?j.Xh(o,s):o!=v&&j.ji(o,s)):j.Xh(o,s),++o):t.b&&!h&&(j.Xh(o,k),++o);else K==null?C.Wb(null):(s=Xw(t,K),s==null?t.b&&!no(e)&&C.Wb(K):C.Wb(s))}function Hyn(t,e){var n,r,s,o,h,d,v,k;for(n=new NK,s=new ar(lr(jo(e).a.Kc(),new z));zr(s);)if(r=u(Mr(s),17),!Ga(r)&&(d=r.c.i,L4t(d,yV))){if(k=V5t(t,d,yV,mV),k==-1)continue;n.b=b.Math.max(n.b,k),!n.a&&(n.a=new he),le(n.a,d)}for(h=new ar(lr(Ds(e).a.Kc(),new z));zr(h);)if(o=u(Mr(h),17),!Ga(o)&&(v=o.d.i,L4t(v,mV))){if(k=V5t(t,v,mV,yV),k==-1)continue;n.d=b.Math.max(n.d,k),!n.c&&(n.c=new he),le(n.c,v)}return n}function Nle(t){TE();var e,n,r,s;if(e=ps(t),t1e6)throw it(new _R("power of ten too big"));if(t<=wi)return Qx(bI(D6[1],e),e);for(r=bI(D6[1],wi),s=r,n=Tu(t-wi),e=ps(t%wi);yc(n,wi)>0;)s=e4(s,r),n=Jp(n,wi);for(s=e4(s,bI(D6[1],e)),s=Qx(s,wi),n=Tu(t-wi);yc(n,wi)>0;)s=Qx(s,wi),n=Jp(n,wi);return s=Qx(s,e),s}function Vyn(t,e){var n,r,s,o,h,d,v,k,C;for(vr(e,"Hierarchical port dummy size processing",1),v=new he,C=new he,r=Xt(ye(Q(t,(Te(),J4)))),n=r*2,o=new S(t.b);o.ak&&r>k)C=d,k=Xt(e.p[d.p])+Xt(e.d[d.p])+d.o.b+d.d.a;else{s=!1,n.n&&Jb(n,"bk node placement breaks on "+d+" which should have been after "+C);break}if(!s)break}return n.n&&Jb(n,e+" is feasible: "+s),s}function Kyn(t,e,n,r){var s,o,h,d,v,k,C;for(d=-1,C=new S(t);C.a=tt&&t.e[v.p]>G*t.b||St>=n*tt)&&(j.c[j.c.length]=d,d=new he,Ua(h,o),o.a.$b(),k-=C,H=b.Math.max(H,k*t.b+K),k+=St,Mt=St,St=0,C=0,K=0);return new fa(H,j)}function Jyn(t){var e,n,r,s,o,h,d,v,k,C,M,j,H;for(n=(k=new v1(t.c.b).a.vc().Kc(),new m1(k));n.a.Ob();)e=(d=u(n.a.Pb(),42),u(d.dd(),149)),s=e.a,s==null&&(s=""),r=CZe(t.c,s),!r&&s.length==0&&(r=_ln(t)),r&&!ay(r.c,e,!1)&&ri(r.c,e);for(h=ei(t.a,0);h.b!=h.d.c;)o=u(ti(h),478),C=Hrt(t.c,o.a),H=Hrt(t.c,o.b),C&&H&&ri(C.c,new fa(H,o.c));for(Ah(t.a),j=ei(t.b,0);j.b!=j.d.c;)M=u(ti(j),478),e=TZe(t.c,M.a),v=Hrt(t.c,M.b),e&&v&&gXe(e,v,M.c);Ah(t.b)}function t3n(t,e,n){var r,s,o,h,d,v,k,C,M,j,H;o=new Qk(t),h=new nae,s=(dD(h.g),dD(h.j),Xu(h.b),dD(h.d),dD(h.i),Xu(h.k),Xu(h.c),Xu(h.e),H=joe(h,o,null),Ace(h,o),H),e&&(k=new Qk(e),d=l3n(k),z4t(s,lt(ct(CSt,1),De,527,0,[d]))),j=!1,M=!1,n&&(k=new Qk(n),IH in k.a&&(j=B0(k,IH).ge().a),Qde in k.a&&(M=B0(k,Qde).ge().a)),C=yHt(Kee(new r8,j),M),Wgn(new CZ,s,C),IH in o.a&&Yf(o,IH,null),(j||M)&&(v=new _x,Ile(C,v,j,M),Yf(o,IH,v)),r=new Szt(h),zun(new l2t(s),r)}function e3n(t,e,n){var r,s,o,h,d,v,k,C,M;for(h=new oae,k=lt(ct(Cr,1),Xr,25,15,[0]),s=-1,o=0,r=0,v=0;v0){if(s<0&&C.a&&(s=v,o=k[0],r=0),s>=0){if(d=C.b,v==s&&(d-=r++,d==0))return 0;if(!jhe(e,k,C,d,h)){v=s-1,k[0]=o;continue}}else if(s=-1,!jhe(e,k,C,0,h))return 0}else{if(s=-1,wa(C.c,0)==32){if(M=k[0],aee(e,k),k[0]>M)continue}else if(Frn(e,C.c,k[0])){k[0]+=C.c.length;continue}return 0}return F5n(h,n)?k[0]:0}function C_(t){var e,n,r,s,o,h,d,v;if(!t.f){if(v=new M0,d=new M0,e=uA,h=e.a.zc(t,e),h==null){for(o=new nr(Ao(t));o.e!=o.i.gc();)s=u(dr(o),26),is(v,C_(s));e.a.Bc(t)!=null,e.a.gc()==0}for(r=(!t.s&&(t.s=new fe(Mu,t,21,17)),new nr(t.s));r.e!=r.i.gc();)n=u(dr(r),170),_t(n,99)&&Dr(d,u(n,18));iy(d),t.r=new ZYt(t,(u(At(Wt((Hp(),Ln).o),6),18),d.i),d.g),is(v,t.r),iy(v),t.f=new V3((u(At(Wt(Ln.o),5),18),v.i),v.g),sl(t).b&=-3}return t.f}function n3n(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G;for(h=t.o,r=Nt(Cr,Xr,25,h,15,1),s=Nt(Cr,Xr,25,h,15,1),n=t.p,e=Nt(Cr,Xr,25,n,15,1),o=Nt(Cr,Xr,25,n,15,1),k=0;k=0&&!f4(t,C,M);)--M;s[C]=M}for(H=0;H=0&&!f4(t,d,G);)--d;o[G]=d}for(v=0;ve[j]&&jr[v]&&Sq(t,v,j,!1,!0)}function dxt(t){var e,n,r,s,o,h,d,v;n=je(Re(Q(t,(Jf(),gbe)))),o=t.a.c.d,d=t.a.d.d,n?(h=fd(ia(new $e(d.a,d.b),o),.5),v=fd(nc(t.e),.5),e=ia(Li(new $e(o.a,o.b),h),v),H2t(t.d,e)):(s=Xt(ye(Q(t.a,kbe))),r=t.d,o.a>=d.a?o.b>=d.b?(r.a=d.a+(o.a-d.a)/2+s,r.b=d.b+(o.b-d.b)/2-s-t.e.b):(r.a=d.a+(o.a-d.a)/2+s,r.b=o.b+(d.b-o.b)/2+s):o.b>=d.b?(r.a=o.a+(d.a-o.a)/2+s,r.b=d.b+(o.b-d.b)/2+s):(r.a=o.a+(d.a-o.a)/2+s,r.b=o.b+(d.b-o.b)/2-s-t.e.b))}function $c(t,e){var n,r,s,o,h,d,v;if(t==null)return null;if(o=t.length,o==0)return"";for(v=Nt(xh,yd,25,o,15,1),Lmt(0,o,t.length),Lmt(0,o,v.length),iXt(t,0,o,v,0),n=null,d=e,s=0,h=0;s0?Pl(n.a,0,o-1):""):t.substr(0,o-1):n?n.a:t}function jle(t){Mw(t,new k2(_w(Ew(Cw(Tw(new kg,A2),"ELK DisCo"),"Layouter for arranging unconnected subgraphs. The subgraphs themselves are, by default, not laid out."),new yg))),xe(t,A2,jot,Ie(p7t)),xe(t,A2,$ot,Ie(Qut)),xe(t,A2,E6,Ie(Jpe)),xe(t,A2,xv,Ie(g7t)),xe(t,A2,Zxt,Ie(rbe)),xe(t,A2,Jxt,Ie(nbe)),xe(t,A2,Qxt,Ie(ibe)),xe(t,A2,t6t,Ie(ebe)),xe(t,A2,o6t,Ie(tbe)),xe(t,A2,c6t,Ie(Xut)),xe(t,A2,u6t,Ie(d7t)),xe(t,A2,l6t,Ie(fV))}function gxt(t,e,n,r){var s,o,h,d,v,k,C,M,j;if(o=new Y0(t),D0(o,(Vn(),Hc)),Jt(o,(Te(),cs),(ua(),Gc)),s=0,e){for(h=new Mc,Jt(h,(ae(),_i),e),Jt(o,_i,e.i),Bs(h,(ve(),Bn)),Uo(h,o),j=wd(e.e),k=j,C=0,M=k.length;C0)if(n-=r.length-e,n>=0){for(s.a+="0.";n>N2.length;n-=N2.length)wKt(s,N2);JWt(s,N2,ps(n)),Gr(s,r.substr(e))}else n=e-n,Gr(s,Pl(r,e,ps(n))),s.a+=".",Gr(s,RM(r,ps(n)));else{for(Gr(s,r.substr(e));n<-N2.length;n+=N2.length)wKt(s,N2);JWt(s,N2,ps(-n))}return s.a}function pxt(t,e,n,r){var s,o,h,d,v,k,C,M,j;return v=ia(new $e(n.a,n.b),t),k=v.a*e.b-v.b*e.a,C=e.a*r.b-e.b*r.a,M=(v.a*r.b-v.b*r.a)/C,j=k/C,C==0?k==0?(s=Li(new $e(n.a,n.b),fd(new $e(r.a,r.b),.5)),o=Wp(t,s),h=Wp(Li(new $e(t.a,t.b),e),s),d=b.Math.sqrt(r.a*r.a+r.b*r.b)*.5,o=0&&M<=1&&j>=0&&j<=1?Li(new $e(t.a,t.b),fd(new $e(e.a,e.b),M)):null}function i3n(t,e,n){var r,s,o,h,d;if(r=u(Q(t,(Te(),tht)),21),n.a>e.a&&(r.Hc((hy(),WO))?t.c.a+=(n.a-e.a)/2:r.Hc(YO)&&(t.c.a+=n.a-e.a)),n.b>e.b&&(r.Hc((hy(),XO))?t.c.b+=(n.b-e.b)/2:r.Hc(KO)&&(t.c.b+=n.b-e.b)),u(Q(t,(ae(),Vc)),21).Hc((oo(),vh))&&(n.a>e.a||n.b>e.b))for(d=new S(t.a);d.ae.a&&(r.Hc((hy(),WO))?t.c.a+=(n.a-e.a)/2:r.Hc(YO)&&(t.c.a+=n.a-e.a)),n.b>e.b&&(r.Hc((hy(),XO))?t.c.b+=(n.b-e.b)/2:r.Hc(KO)&&(t.c.b+=n.b-e.b)),u(Q(t,(ae(),Vc)),21).Hc((oo(),vh))&&(n.a>e.a||n.b>e.b))for(h=new S(t.a);h.ae&&(s=0,o+=C.b+n,M.c[M.c.length]=C,C=new Zvt(o,n),r=new Iit(0,C.f,C,n),az(C,r),s=0),r.b.c.length==0||v.f>=r.o&&v.f<=r.f||r.a*.5<=v.f&&r.a*1.5>=v.f?h3t(r,v):(h=new Iit(r.s+r.r+n,C.f,C,n),az(C,h),h3t(h,v)),s=v.i+v.g;return M.c[M.c.length]=C,M}function T4(t){var e,n,r,s,o,h,d,v;if(!t.a){if(t.o=null,v=new Wzt(t),e=new Ep,n=uA,d=n.a.zc(t,n),d==null){for(h=new nr(Ao(t));h.e!=h.i.gc();)o=u(dr(h),26),is(v,T4(o));n.a.Bc(t)!=null,n.a.gc()==0}for(s=(!t.s&&(t.s=new fe(Mu,t,21,17)),new nr(t.s));s.e!=s.i.gc();)r=u(dr(s),170),_t(r,322)&&Dr(e,u(r,34));iy(e),t.k=new QYt(t,(u(At(Wt((Hp(),Ln).o),7),18),e.i),e.g),is(v,t.k),iy(v),t.a=new V3((u(At(Wt(Ln.o),4),18),v.i),v.g),sl(t).b&=-2}return t.a}function c3n(t,e,n,r,s,o,h){var d,v,k,C,M,j;return M=!1,v=Wce(n.q,e.f+e.b-n.q.f),j=s-(n.q.e+v-h),j=(An(o,t.c.length),u(t.c[o],200)).e,C=(d=__(r,j,!1),d.a),C>e.b&&!k)?!1:((k||C<=e.b)&&(k&&C>e.b?(n.d=C,vD(n,Qae(n,C))):(bae(n.q,v),n.c=!0),vD(r,s-(n.s+n.r)),tI(r,n.q.e+n.q.d,e.f),az(e,r),t.c.length>o&&(sI((An(o,t.c.length),u(t.c[o],200)),r),(An(o,t.c.length),u(t.c[o],200)).a.c.length==0&&Fg(t,o)),M=!0),M)}function bxt(t,e,n,r){var s,o,h,d,v,k,C;if(C=ou(t.e.Tg(),e),s=0,o=u(t.g,119),v=null,to(),u(e,66).Oj()){for(d=0;dt.o.a&&(C=(v-t.o.a)/2,d.b=b.Math.max(d.b,C),d.c=b.Math.max(d.c,C))}}function l3n(t){var e,n,r,s,o,h,d,v;for(o=new vZt,YXe(o,(i6(),G3e)),r=(s=yit(t,Nt(Ae,ee,2,0,6,1)),new mx(new yl(new Eet(t,s).b)));r.b0?t.i:0)>e&&v>0&&(o=0,h+=v+t.i,s=b.Math.max(s,j),r+=v+t.i,v=0,j=0,n&&(++M,le(t.n,new E$(t.s,h,t.i))),d=0),j+=k.g+(d>0?t.i:0),v=b.Math.max(v,k.f),n&&W3t(u(Ne(t.n,M),211),k),o+=k.g+(d>0?t.i:0),++d;return s=b.Math.max(s,j),r+=v,n&&(t.r=s,t.d=r,Q3t(t.j)),new ah(t.s,t.t,s,r)}function Dc(t,e,n,r,s){Gd();var o,h,d,v,k,C,M,j,H;if(bvt(t,"src"),bvt(n,"dest"),j=ol(t),v=ol(n),jwt((j.i&4)!=0,"srcType is not an array"),jwt((v.i&4)!=0,"destType is not an array"),M=j.c,h=v.c,jwt(M.i&1?M==h:(h.i&1)==0,"Array types don't match"),H=t.length,k=n.length,e<0||r<0||s<0||e+s>H||r+s>k)throw it(new Dpt);if(!(M.i&1)&&j!=v)if(C=u2(t),o=u2(n),Vt(t)===Vt(n)&&er;)ts(o,d,C[--e]);else for(d=r+s;r0&&n5t(t,e,n,r,s,!0)}function Lat(){Lat=Z,qge=lt(ct(Cr,1),Xr,25,15,[Sa,1162261467,D_,1220703125,362797056,1977326743,D_,387420489,Gq,214358881,429981696,815730721,1475789056,170859375,268435456,410338673,612220032,893871739,128e7,1801088541,113379904,148035889,191102976,244140625,308915776,387420489,481890304,594823321,729e6,887503681,D_,1291467969,1544804416,1838265625,60466176]),Hge=lt(ct(Cr,1),Xr,25,15,[-1,-1,31,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5])}function h3n(t){var e,n,r,s,o,h,d,v;for(s=new S(t.b);s.a=t.b.length?(o[s++]=h.b[r++],o[s++]=h.b[r++]):r>=h.b.length?(o[s++]=t.b[n++],o[s++]=t.b[n++]):h.b[r]0?t.i:0)),++e;for(Ehn(t.n,v),t.d=n,t.r=r,t.g=0,t.f=0,t.e=0,t.o=as,t.p=as,o=new S(t.b);o.a0&&(s=(!t.n&&(t.n=new fe(qo,t,1,7)),u(At(t.n,0),137)).a,!s||Gr(Gr((e.a+=' "',e),s),'"'))),n=(!t.b&&(t.b=new Cn(br,t,4,7)),!(t.b.i<=1&&(!t.c&&(t.c=new Cn(br,t,5,8)),t.c.i<=1))),n?e.a+=" [":e.a+=" ",Gr(e,_2t(new vet,new nr(t.b))),n&&(e.a+="]"),e.a+=Uot,n&&(e.a+="["),Gr(e,_2t(new vet,new nr(t.c))),n&&(e.a+="]"),e.a)}function Mat(t,e){var n,r,s,o,h,d,v;if(t.a){if(d=t.a.ne(),v=null,d!=null?e.a+=""+d:(h=t.a.Dj(),h!=null&&(o=hd(h,Cu(91)),o!=-1?(v=h.substr(o),e.a+=""+Pl(h==null?_u:(On(h),h),0,o)):e.a+=""+h)),t.d&&t.d.i!=0){for(s=!0,e.a+="<",r=new nr(t.d);r.e!=r.i.gc();)n=u(dr(r),87),s?s=!1:e.a+=Ya,Mat(n,e);e.a+=">"}v!=null&&(e.a+=""+v)}else t.e?(d=t.e.zb,d!=null&&(e.a+=""+d)):(e.a+="?",t.b?(e.a+=" super ",Mat(t.b,e)):t.f&&(e.a+=" extends ",Mat(t.f,e)))}function g3n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn;for(Kt=t.c,ue=e.c,n=Ro(Kt.a,t,0),r=Ro(ue.a,e,0),St=u(ov(t,(so(),tl)).Kc().Pb(),11),Qe=u(ov(t,nu).Kc().Pb(),11),Rt=u(ov(e,tl).Kc().Pb(),11),Rn=u(ov(e,nu).Kc().Pb(),11),gt=wd(St.e),_e=wd(Qe.g),Mt=wd(Rt.e),We=wd(Rn.g),ly(t,r,ue),h=Mt,C=0,G=h.length;CC?new i2((Uf(),Ky),n,e,k-C):k>0&&C>0&&(new i2((Uf(),Ky),e,n,0),new i2(Ky,n,e,0))),h)}function qle(t,e){var n,r,s,o,h,d;for(h=new p2(new Cg(t.f.b).a);h.b;){if(o=Zw(h),s=u(o.cd(),594),e==1){if(s.gf()!=(ao(),rg)&&s.gf()!=ng)continue}else if(s.gf()!=(ao(),zh)&&s.gf()!=Cf)continue;switch(r=u(u(o.dd(),46).b,81),d=u(u(o.dd(),46).a,189),n=d.c,s.gf().g){case 2:r.g.c=t.e.a,r.g.b=b.Math.max(1,r.g.b+n);break;case 1:r.g.c=r.g.c+n,r.g.b=b.Math.max(1,r.g.b-n);break;case 4:r.g.d=t.e.b,r.g.a=b.Math.max(1,r.g.a+n);break;case 3:r.g.d=r.g.d+n,r.g.a=b.Math.max(1,r.g.a-n)}}}function p3n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K;for(d=Nt(Cr,Xr,25,e.b.c.length,15,1),k=Nt(flt,oe,267,e.b.c.length,0,1),v=Nt(l0,Yg,10,e.b.c.length,0,1),M=t.a,j=0,H=M.length;j0&&v[r]&&(G=W3(t.b,v[r],s)),K=b.Math.max(K,s.c.c.b+G);for(o=new S(C.e);o.a1)throw it(new Fn(aO));v||(o=Zd(e,r.Kc().Pb()),h.Fc(o))}return Syt(t,W4t(t,e,n),h)}function v3n(t,e){var n,r,s,o;for(ecn(e.b.j),ls(wu(new Tn(null,new _n(e.d,16)),new XX),new QX),o=new S(e.d);o.at.o.b||(n=Ko(t,Hn),d=e.d+e.a+(n.gc()-1)*h,d>t.o.b)))}function Oat(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G;if(h=t.e,v=e.e,h==0)return e;if(v==0)return t;if(o=t.d,d=e.d,o+d==2)return n=Ns(t.a[0],co),r=Ns(e.a[0],co),h==v?(C=Pa(n,r),G=Ar(C),H=Ar(Vm(C,32)),H==0?new Ng(h,G):new X3(h,2,lt(ct(Cr,1),Xr,25,15,[G,H]))):JD(h<0?Jp(r,n):Jp(n,r));if(h==v)j=h,M=o>=d?Krt(t.a,o,e.a,d):Krt(e.a,d,t.a,o);else{if(s=o!=d?o>d?1:-1:qyt(t.a,e.a,o),s==0)return rb(),s7;s==1?(j=h,M=Wrt(t.a,o,e.a,d)):(j=v,M=Wrt(e.a,d,t.a,o))}return k=new X3(j,M.length,M),N9(k),k}function Pat(t,e,n,r,s,o,h){var d,v,k,C,M,j,H;return M=je(Re(Q(e,(Te(),l9t)))),j=null,o==(so(),tl)&&r.c.i==n?j=r.c:o==nu&&r.d.i==n&&(j=r.d),k=h,!k||!M||j?(C=(ve(),Zo),j?C=j.j:G3(u(Q(n,cs),98))&&(C=o==tl?Bn:Hn),v=k3n(t,e,n,o,C,r),d=Grt((Na(n),r)),o==tl?(Oa(d,u(Ne(v.j,0),11)),oa(d,s)):(Oa(d,s),oa(d,u(Ne(v.j,0),11))),k=new oie(r,d,v,u(Q(v,(ae(),_i)),11),o,!j)):(le(k.e,r),H=b.Math.max(Xt(ye(Q(k.d,Jg))),Xt(ye(Q(r,Jg)))),Jt(k.d,Jg,H)),ln(t.a,r,new Fj(k.d,e,o)),k}function Pq(t,e){var n,r,s,o,h,d,v,k,C,M;if(C=null,t.d&&(C=u(Nc(t.d,e),138)),!C){if(o=t.a.Mh(),M=o.i,!t.d||HC(t.d)!=M){for(v=new _r,t.d&&Y9(v,t.d),k=v.f.c+v.g.c,d=k;d0?(H=(G-1)*n,d&&(H+=r),C&&(H+=r),H=t.b[s+1])s+=2;else if(n0)for(r=new Bu(u(Ai(t.a,o),21)),wn(),Zs(r,new Si(e)),s=new da(o.b,0);s.bKt)?(v=2,h=wi):v==0?(v=1,h=_e):(v=0,h=_e)):(H=_e>=h||h-_e0?1:Iw(isNaN(r),isNaN(0)))>=0^(wf(_d),(b.Math.abs(d)<=_d||d==0||isNaN(d)&&isNaN(0)?0:d<0?-1:d>0?1:Iw(isNaN(d),isNaN(0)))>=0)?b.Math.max(d,r):(wf(_d),(b.Math.abs(r)<=_d||r==0||isNaN(r)&&isNaN(0)?0:r<0?-1:r>0?1:Iw(isNaN(r),isNaN(0)))>0?b.Math.sqrt(d*d+r*r):-b.Math.sqrt(d*d+r*r))}function E2(t,e){var n,r,s,o,h,d;if(e){if(!t.a&&(t.a=new ER),t.e==2){kR(t.a,e);return}if(e.e==1){for(s=0;s=Ka?go(n,l3t(r)):S8(n,r&ys),h=new krt(10,null,0),unn(t.a,h,d-1)):(n=(h.bm().length+o,new $C),go(n,h.bm())),e.e==0?(r=e._l(),r>=Ka?go(n,l3t(r)):S8(n,r&ys)):go(n,e.bm()),u(h,521).b=n.a}}function Xle(t){var e,n,r,s,o;return t.g!=null?t.g:t.a<32?(t.g=W5n(Tu(t.f),ps(t.e)),t.g):(s=Hat((!t.c&&(t.c=VD(t.f)),t.c),0),t.e==0?s:(e=(!t.c&&(t.c=VD(t.f)),t.c).e<0?2:1,n=s.length,r=-t.e+n-e,o=new Mp,o.a+=""+s,t.e>0&&r>=-6?r>=0?uD(o,n-ps(t.e),String.fromCharCode(46)):(o.a=Pl(o.a,0,e-1)+"0."+RM(o.a,e-1),uD(o,e+1,Mh(N2,0,-ps(r)-1))):(n-e>=1&&(uD(o,e,String.fromCharCode(46)),++n),uD(o,n,String.fromCharCode(69)),r>0&&uD(o,++n,String.fromCharCode(43)),uD(o,++n,""+_9(Tu(r)))),t.g=o.a,t.g))}function F3n(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt;if(!n.dc()){for(d=0,j=0,r=n.Kc(),G=u(r.Pb(),19).a;d1&&(v=k.mg(v,t.a,d));return v.c.length==1?u(Ne(v,v.c.length-1),220):v.c.length==2?T3n((An(0,v.c.length),u(v.c[0],220)),(An(1,v.c.length),u(v.c[1],220)),h,o):null}function Qle(t){var e,n,r,s,o,h;for(xu(t.a,new xi),n=new S(t.a);n.a=b.Math.abs(r.b)?(r.b=0,o.d+o.a>h.d&&o.dh.c&&o.c0){if(e=new n2t(t.i,t.g),n=t.i,o=n<100?null:new Dp(n),t.ij())for(r=0;r0){for(d=t.g,k=t.i,z9(t),o=k<100?null:new Dp(k),r=0;r>13|(t.m&15)<<9,s=t.m>>4&8191,o=t.m>>17|(t.h&255)<<5,h=(t.h&1048320)>>8,d=e.l&8191,v=e.l>>13|(e.m&15)<<9,k=e.m>>4&8191,C=e.m>>17|(e.h&255)<<5,M=(e.h&1048320)>>8,We=n*d,Qe=r*d,Rn=s*d,zn=o*d,hr=h*d,v!=0&&(Qe+=n*v,Rn+=r*v,zn+=s*v,hr+=o*v),k!=0&&(Rn+=n*k,zn+=r*k,hr+=s*k),C!=0&&(zn+=n*C,hr+=r*C),M!=0&&(hr+=n*M),H=We&hl,G=(Qe&511)<<13,j=H+G,tt=We>>22,gt=Qe>>9,Mt=(Rn&262143)<<4,St=(zn&31)<<17,K=tt+gt+Mt+St,Kt=Rn>>18,ue=zn>>5,_e=(hr&4095)<<8,Rt=Kt+ue+_e,K+=j>>22,j&=hl,Rt+=K>>22,K&=hl,Rt&=Z0,iu(j,K,Rt)}function Zle(t){var e,n,r,s,o,h,d;if(d=u(Ne(t.j,0),11),d.g.c.length!=0&&d.e.c.length!=0)throw it(new No("Interactive layout does not support NORTH/SOUTH ports with incoming _and_ outgoing edges."));if(d.g.c.length!=0){for(o=as,n=new S(d.g);n.a4)if(t.wj(e)){if(t.rk()){if(s=u(e,49),r=s.Ug(),v=r==t.e&&(t.Dk()?s.Og(s.Vg(),t.zk())==t.Ak():-1-s.Vg()==t.aj()),t.Ek()&&!v&&!r&&s.Zg()){for(o=0;o0&&(k=t.n.a/o);break;case 2:case 4:s=t.i.o.b,s>0&&(k=t.n.b/s)}Jt(t,(ae(),Fv),k)}if(v=t.o,h=t.a,r)h.a=r.a,h.b=r.b,t.d=!0;else if(e!=G1&&e!=Tb&&d!=Zo)switch(d.g){case 1:h.a=v.a/2;break;case 2:h.a=v.a,h.b=v.b/2;break;case 3:h.a=v.a/2,h.b=v.b;break;case 4:h.b=v.b/2}else h.a=v.a/2,h.b=v.b/2}function A_(t){var e,n,r,s,o,h,d,v,k,C;if(t.ej())if(C=t.Vi(),v=t.fj(),C>0)if(e=new gyt(t.Gi()),n=C,o=n<100?null:new Dp(n),VM(t,n,e.g),s=n==1?t.Zi(4,At(e,0),null,0,v):t.Zi(6,e,null,-1,v),t.bj()){for(r=new nr(e);r.e!=r.i.gc();)o=t.dj(dr(r),o);o?(o.Ei(s),o.Fi()):t.$i(s)}else o?(o.Ei(s),o.Fi()):t.$i(s);else VM(t,t.Vi(),t.Wi()),t.$i(t.Zi(6,(wn(),io),null,-1,v));else if(t.bj())if(C=t.Vi(),C>0){for(d=t.Wi(),k=C,VM(t,C,d),o=k<100?null:new Dp(k),r=0;rt.d[h.p]&&(n+=fmt(t.b,o)*u(v.b,19).a,Up(t.a,pe(o)));for(;!BC(t.a);)Hmt(t.b,u(Hx(t.a),19).a)}return n}function W3n(t,e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt;for(M=new xo(u(qe(t,(fq(),OSt)),8)),M.a=b.Math.max(M.a-n.b-n.c,0),M.b=b.Math.max(M.b-n.d-n.a,0),s=ye(qe(t,MSt)),(s==null||(On(s),s<=0))&&(s=1.3),d=new he,G=new nr((!t.a&&(t.a=new fe(rs,t,10,11)),t.a));G.e!=G.i.gc();)H=u(dr(G),33),h=new LWt(H),d.c[d.c.length]=h;switch(j=u(qe(t,lft),311),j.g){case 3:tt=pyn(d,e,M.a,M.b,(k=r,On(s),k));break;case 1:tt=zyn(d,e,M.a,M.b,(C=r,On(s),C));break;default:tt=X3n(d,e,M.a,M.b,(v=r,On(s),v))}o=new rz(tt),K=zat(o,e,n,M.a,M.b,r,(On(s),s)),wv(t,K.a,K.b,!1,!0)}function Y3n(t,e){var n,r,s,o;n=e.b,o=new Bu(n.j),s=0,r=n.j,r.c=Nt(Qn,De,1,0,5,1),$w(u(h2(t.b,(ve(),Pn),(nv(),Dv)),15),n),s=nI(o,s,new jX,r),$w(u(h2(t.b,Pn,pb),15),n),s=nI(o,s,new VT,r),$w(u(h2(t.b,Pn,Mv),15),n),$w(u(h2(t.b,Hn,Dv),15),n),$w(u(h2(t.b,Hn,pb),15),n),s=nI(o,s,new PN,r),$w(u(h2(t.b,Hn,Mv),15),n),$w(u(h2(t.b,mr,Dv),15),n),s=nI(o,s,new FN,r),$w(u(h2(t.b,mr,pb),15),n),s=nI(o,s,new NN,r),$w(u(h2(t.b,mr,Mv),15),n),$w(u(h2(t.b,Bn,Dv),15),n),s=nI(o,s,new qX,r),$w(u(h2(t.b,Bn,pb),15),n),$w(u(h2(t.b,Bn,Mv),15),n)}function K3n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K;for(vr(e,"Layer size calculation",1),C=as,k=Cs,s=!1,d=new S(t.b);d.a.5?gt-=h*2*(G-.5):G<.5&&(gt+=o*2*(.5-G)),s=d.d.b,gttt.a-K-C&&(gt=tt.a-K-C),d.n.a=e+gt}}function X3n(t,e,n,r,s){var o,h,d,v,k,C,M,j,H,G,K,tt;for(d=Nt(aa,vo,25,t.c.length,15,1),j=new n$(new sB),e4t(j,t),k=0,K=new he;j.b.c.length!=0;)if(h=u(j.b.c.length==0?null:Ne(j.b,0),157),k>1&&Ru(h)*El(h)/2>d[0]){for(o=0;od[o];)++o;G=new Qd(K,0,o+1),M=new rz(G),C=Ru(h)/El(h),v=zat(M,e,new Cx,n,r,s,C),Li(Gf(M.e),v),R8(xE(j,M)),H=new Qd(K,o+1,K.c.length),e4t(j,H),K.c=Nt(Qn,De,1,0,5,1),k=0,AKt(d,d.length,0)}else tt=j.b.c.length==0?null:Ne(j.b,0),tt!=null&&vit(j,0),k>0&&(d[k]=d[k-1]),d[k]+=Ru(h)*El(h),++k,K.c[K.c.length]=h;return K}function Q3n(t){var e,n,r,s,o;if(r=u(Q(t,(Te(),uu)),163),r==(dh(),bb)){for(n=new ar(lr(jo(t).a.Kc(),new z));zr(n);)if(e=u(Mr(n),17),!jJt(e))throw it(new R3(Kot+rI(t)+"' has its layer constraint set to FIRST_SEPARATE, but has at least one incoming edge. FIRST_SEPARATE nodes must not have incoming edges."))}else if(r==jy){for(o=new ar(lr(Ds(t).a.Kc(),new z));zr(o);)if(s=u(Mr(o),17),!jJt(s))throw it(new R3(Kot+rI(t)+"' has its layer constraint set to LAST_SEPARATE, but has at least one outgoing edge. LAST_SEPARATE nodes must not have outgoing edges."))}}function Z3n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G;for(vr(e,"Label dummy removal",1),r=Xt(ye(Q(t,(Te(),V6)))),s=Xt(ye(Q(t,Wy))),k=u(Q(t,Wl),103),v=new S(t.b);v.a0&&soe(t,d,M);for(s=new S(M);s.a>19&&(e=rE(e),v=!v),h=Q2n(e),o=!1,s=!1,r=!1,t.h==NI&&t.m==0&&t.l==0)if(s=!0,o=!0,h==-1)t=yUt((q8(),sEt)),r=!0,v=!v;else return d=v5t(t,h),v&&Ait(d),n&&(hb=iu(0,0,0)),d;else t.h>>19&&(o=!0,t=rE(t),r=!0,v=!v);return h!=-1?Run(t,h,v,o,n):u4t(t,e)<0?(n&&(o?hb=rE(t):hb=iu(t.l,t.m,t.h)),iu(0,0,0)):qmn(r?t:iu(t.l,t.m,t.h),e,v,o,s,n)}function Fq(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G;if(t.e&&t.c.ce.f||e.g>t.f)){for(n=0,r=0,h=t.w.a.ec().Kc();h.Ob();)s=u(h.Pb(),11),$it(Yo(lt(ct(Ws,1),ee,8,0,[s.i.n,s.n,s.a])).b,e.g,e.f)&&++n;for(d=t.r.a.ec().Kc();d.Ob();)s=u(d.Pb(),11),$it(Yo(lt(ct(Ws,1),ee,8,0,[s.i.n,s.n,s.a])).b,e.g,e.f)&&--n;for(v=e.w.a.ec().Kc();v.Ob();)s=u(v.Pb(),11),$it(Yo(lt(ct(Ws,1),ee,8,0,[s.i.n,s.n,s.a])).b,t.g,t.f)&&++r;for(o=e.r.a.ec().Kc();o.Ob();)s=u(o.Pb(),11),$it(Yo(lt(ct(Ws,1),ee,8,0,[s.i.n,s.n,s.a])).b,t.g,t.f)&&--r;n=0)return s=ohn(t,e.substr(1,h-1)),C=e.substr(h+1,v-(h+1)),nxn(t,C,s)}else{if(n=-1,lEt==null&&(lEt=new RegExp("\\d")),lEt.test(String.fromCharCode(d))&&(n=bwt(e,Cu(46),v-1),n>=0)){r=u(Urt(t,Dee(t,e.substr(1,n-1)),!1),58),k=0;try{k=ql(e.substr(n+1),Sa,wi)}catch(j){throw j=Wi(j),_t(j,127)?(o=j,it(new W$(o))):it(j)}if(k=0)return n;switch(Hw(To(t,n))){case 2:{if(hn("",$g(t,n.Hj()).ne())){if(v=rD(To(t,n)),d=M8(To(t,n)),C=C5t(t,e,v,d),C)return C;for(s=Z5t(t,e),h=0,M=s.gc();h1)throw it(new Fn(aO));for(C=ou(t.e.Tg(),e),r=u(t.g,119),h=0;h1,k=new L1(j.b);Go(k.a)||Go(k.b);)v=u(Go(k.a)?J(k.a):J(k.b),17),M=v.c==j?v.d:v.c,b.Math.abs(Yo(lt(ct(Ws,1),ee,8,0,[M.i.n,M.n,M.a])).b-h.b)>1&&evn(t,v,h,o,j)}}function l4n(t){var e,n,r,s,o,h;if(s=new da(t.e,0),r=new da(t.a,0),t.d)for(n=0;nLct;){for(o=e,h=0;b.Math.abs(e-o)0),s.a.Xb(s.c=--s.b),Syn(t,t.b-h,o,r,s),Zn(s.b0),r.a.Xb(r.c=--r.b)}if(!t.d)for(n=0;n0?(t.f[C.p]=H/(C.e.c.length+C.g.c.length),t.c=b.Math.min(t.c,t.f[C.p]),t.b=b.Math.max(t.b,t.f[C.p])):d&&(t.f[C.p]=H)}}function f4n(t){t.b=null,t.bb=null,t.fb=null,t.qb=null,t.a=null,t.c=null,t.d=null,t.e=null,t.f=null,t.n=null,t.M=null,t.L=null,t.Q=null,t.R=null,t.K=null,t.db=null,t.eb=null,t.g=null,t.i=null,t.j=null,t.k=null,t.gb=null,t.o=null,t.p=null,t.q=null,t.r=null,t.$=null,t.ib=null,t.S=null,t.T=null,t.t=null,t.s=null,t.u=null,t.v=null,t.w=null,t.B=null,t.A=null,t.C=null,t.D=null,t.F=null,t.G=null,t.H=null,t.I=null,t.J=null,t.P=null,t.Z=null,t.U=null,t.V=null,t.W=null,t.X=null,t.Y=null,t._=null,t.ab=null,t.cb=null,t.hb=null,t.nb=null,t.lb=null,t.mb=null,t.ob=null,t.pb=null,t.jb=null,t.kb=null,t.N=!1,t.O=!1}function d4n(t,e,n){var r,s,o,h;for(vr(n,"Graph transformation ("+t.a+")",1),h=Ww(e.a),o=new S(e.b);o.a0&&(t.a=v+(H-1)*o,e.c.b+=t.a,e.f.b+=t.a)),G.a.gc()!=0&&(j=new ert(1,o),H=Txt(j,e,G,K,e.f.b+v-e.c.b),H>0&&(e.f.b+=v+(H-1)*o))}function OE(t,e){var n,r,s,o;o=t.F,e==null?(t.F=null,aE(t,null)):(t.F=(On(e),e),r=hd(e,Cu(60)),r!=-1?(s=e.substr(0,r),hd(e,Cu(46))==-1&&!hn(s,b6)&&!hn(s,tS)&&!hn(s,FH)&&!hn(s,eS)&&!hn(s,nS)&&!hn(s,rS)&&!hn(s,iS)&&!hn(s,sS)&&(s=$0e),n=Tj(e,Cu(62)),n!=-1&&(s+=""+e.substr(n+1)),aE(t,s)):(s=e,hd(e,Cu(46))==-1&&(r=hd(e,Cu(91)),r!=-1&&(s=e.substr(0,r)),!hn(s,b6)&&!hn(s,tS)&&!hn(s,FH)&&!hn(s,eS)&&!hn(s,nS)&&!hn(s,rS)&&!hn(s,iS)&&!hn(s,sS)?(s=$0e,r!=-1&&(s+=""+e.substr(r))):s=e),aE(t,s),s==e&&(t.F=t.D))),t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,5,o,e))}function p4n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St;if(K=e.b.c.length,!(K<3)){for(H=Nt(Cr,Xr,25,K,15,1),M=0,C=new S(e.b);C.ah)&&Fs(t.b,u(tt.b,17));++d}o=h}}}function xxt(t,e){var n;if(e==null||hn(e,_u)||e.length==0&&t.k!=(Ug(),U6))return null;switch(t.k.g){case 1:return Vz(e,XE)?(Nn(),r7):Vz(e,Vct)?(Nn(),F2):null;case 2:try{return pe(ql(e,Sa,wi))}catch(r){if(r=Wi(r),_t(r,127))return null;throw it(r)}case 4:try{return dy(e)}catch(r){if(r=Wi(r),_t(r,127))return null;throw it(r)}case 3:return e;case 5:return Rre(t),Voe(t,e);case 6:return Rre(t),C2n(t,t.a,e);case 7:try{return n=Bbn(t),n.Jf(e),n}catch(r){if(r=Wi(r),_t(r,32))return null;throw it(r)}default:throw it(new No("Invalid type set for this layout option."))}}function b4n(t){H9();var e,n,r,s,o,h,d;for(d=new pqt,n=new S(t);n.a=d.b.c)&&(d.b=e),(!d.c||e.c<=d.c.c)&&(d.d=d.c,d.c=e),(!d.e||e.d>=d.e.d)&&(d.e=e),(!d.f||e.d<=d.f.d)&&(d.f=e);return r=new Yz((nE(),Lv)),hD(t,Ube,new yl(lt(ct(mO,1),De,369,0,[r]))),h=new Yz(Fy),hD(t,Gbe,new yl(lt(ct(mO,1),De,369,0,[h]))),s=new Yz(Py),hD(t,Vbe,new yl(lt(ct(mO,1),De,369,0,[s]))),o=new Yz(z4),hD(t,Hbe,new yl(lt(ct(mO,1),De,369,0,[o]))),aat(r.c,Lv),aat(s.c,Py),aat(o.c,z4),aat(h.c,Fy),d.a.c=Nt(Qn,De,1,0,5,1),Ls(d.a,r.c),Ls(d.a,l2(s.c)),Ls(d.a,o.c),Ls(d.a,l2(h.c)),d}function kxt(t){var e;switch(t.d){case 1:{if(t.hj())return t.o!=-2;break}case 2:{if(t.hj())return t.o==-2;break}case 3:case 5:case 4:case 6:case 7:return t.o>-2;default:return!1}switch(e=t.gj(),t.p){case 0:return e!=null&&je(Re(e))!=u9(t.k,0);case 1:return e!=null&&u(e,217).a!=Ar(t.k)<<24>>24;case 2:return e!=null&&u(e,172).a!=(Ar(t.k)&ys);case 6:return e!=null&&u9(u(e,162).a,t.k);case 5:return e!=null&&u(e,19).a!=Ar(t.k);case 7:return e!=null&&u(e,184).a!=Ar(t.k)<<16>>16;case 3:return e!=null&&Xt(ye(e))!=t.j;case 4:return e!=null&&u(e,155).a!=t.j;default:return e==null?t.n!=null:!yi(e,t.n)}}function AI(t,e,n){var r,s,o,h;return t.Fk()&&t.Ek()&&(h=Wnt(t,u(n,56)),Vt(h)!==Vt(n))?(t.Oi(e),t.Ui(e,Ite(t,e,h)),t.rk()&&(o=(s=u(n,49),t.Dk()?t.Bk()?s.ih(t.b,no(u(yn(vu(t.b),t.aj()),18)).n,u(yn(vu(t.b),t.aj()).Yj(),26).Bj(),null):s.ih(t.b,Gi(s.Tg(),no(u(yn(vu(t.b),t.aj()),18))),null,null):s.ih(t.b,-1-t.aj(),null,null)),!u(h,49).eh()&&(o=(r=u(h,49),t.Dk()?t.Bk()?r.gh(t.b,no(u(yn(vu(t.b),t.aj()),18)).n,u(yn(vu(t.b),t.aj()).Yj(),26).Bj(),o):r.gh(t.b,Gi(r.Tg(),no(u(yn(vu(t.b),t.aj()),18))),null,o):r.gh(t.b,-1-t.aj(),null,o))),o&&o.Fi()),xl(t.b)&&t.$i(t.Zi(9,n,h,e,!1)),h):n}function nhe(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt;for(C=Xt(ye(Q(t,(Te(),jv)))),r=Xt(ye(Q(t,x9t))),j=new Yu,Jt(j,jv,C+r),k=e,gt=k.d,K=k.c.i,Mt=k.d.i,tt=o2t(K.c),St=o2t(Mt.c),s=new he,M=tt;M<=St;M++)d=new Y0(t),D0(d,(Vn(),ta)),Jt(d,(ae(),_i),k),Jt(d,cs,(ua(),Gc)),Jt(d,bG,j),H=u(Ne(t.b,M),29),M==tt?ly(d,H.a.c.length-n,H):Eo(d,H),Rt=Xt(ye(Q(k,Jg))),Rt<0&&(Rt=0,Jt(k,Jg,Rt)),d.o.b=Rt,G=b.Math.floor(Rt/2),h=new Mc,Bs(h,(ve(),Bn)),Uo(h,d),h.n.b=G,v=new Mc,Bs(v,Hn),Uo(v,d),v.n.b=G,oa(k,h),o=new Vw,Mo(o,k),Jt(o,So,null),Oa(o,v),oa(o,gt),mdn(d,k,o),s.c[s.c.length]=o,k=o;return s}function Bat(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St;for(v=u(Gg(t,(ve(),Bn)).Kc().Pb(),11).e,H=u(Gg(t,Hn).Kc().Pb(),11).g,d=v.c.length,St=_1(u(Ne(t.j,0),11));d-- >0;){for(K=(An(0,v.c.length),u(v.c[0],17)),s=(An(0,H.c.length),u(H.c[0],17)),Mt=s.d.e,o=Ro(Mt,s,0),Esn(K,s.d,o),Oa(s,null),oa(s,null),G=K.a,e&&ri(G,new xo(St)),r=ei(s.a,0);r.b!=r.d.c;)n=u(ti(r),8),ri(G,new xo(n));for(gt=K.b,j=new S(s.b);j.a0&&(h=b.Math.max(h,Mne(t.C.b+r.d.b,s))),C=r,M=s,j=o;t.C&&t.C.c>0&&(H=j+t.C.c,k&&(H+=C.d.c),h=b.Math.max(h,(k1(),wf(B1),b.Math.abs(M-1)<=B1||M==1||isNaN(M)&&isNaN(1)?0:H/(1-M)))),n.n.b=0,n.a.a=h}function ihe(t,e){var n,r,s,o,h,d,v,k,C,M,j,H;if(n=u(po(t.b,e),124),v=u(u(Ai(t.r,e),21),84),v.dc()){n.n.d=0,n.n.a=0;return}for(k=t.u.Hc((Zu(),sg)),h=0,t.A.Hc((Al(),K2))&&Bue(t,e),d=v.Kc(),C=null,j=0,M=0;d.Ob();)r=u(d.Pb(),111),o=Xt(ye(r.b.We((Cj(),uV)))),s=r.b.rf().b,C?(H=M+C.d.a+t.w+r.d.d,h=b.Math.max(h,(k1(),wf(B1),b.Math.abs(j-o)<=B1||j==o||isNaN(j)&&isNaN(o)?0:H/(o-j)))):t.C&&t.C.d>0&&(h=b.Math.max(h,Mne(t.C.d+r.d.d,o))),C=r,j=o,M=s;t.C&&t.C.a>0&&(H=M+t.C.a,k&&(H+=C.d.a),h=b.Math.max(h,(k1(),wf(B1),b.Math.abs(j-1)<=B1||j==1||isNaN(j)&&isNaN(1)?0:H/(1-j)))),n.n.d=0,n.a.b=h}function she(t,e,n){var r,s,o,h,d,v;for(this.g=t,d=e.d.length,v=n.d.length,this.d=Nt(l0,Yg,10,d+v,0,1),h=0;h0?lit(this,this.f/this.a):E1(e.g,e.d[0]).a!=null&&E1(n.g,n.d[0]).a!=null?lit(this,(Xt(E1(e.g,e.d[0]).a)+Xt(E1(n.g,n.d[0]).a))/2):E1(e.g,e.d[0]).a!=null?lit(this,E1(e.g,e.d[0]).a):E1(n.g,n.d[0]).a!=null&&lit(this,E1(n.g,n.d[0]).a)}function w4n(t,e){var n,r,s,o,h,d,v,k,C,M;for(t.a=new dXt(Ucn(XS)),r=new S(e.a);r.a=1&&(tt-h>0&&M>=0?(v.n.a+=K,v.n.b+=o*h):tt-h<0&&C>=0&&(v.n.a+=K*tt,v.n.b+=o));t.o.a=e.a,t.o.b=e.b,Jt(t,(Te(),$2),(Al(),r=u(Vf(rA),9),new sh(r,u(ff(r,r.length),9),0)))}function x4n(t,e,n,r,s,o){var h;if(!(e==null||!tst(e,nLt,rLt)))throw it(new Fn("invalid scheme: "+e));if(!t&&!(n!=null&&hd(n,Cu(35))==-1&&n.length>0&&(Rr(0,n.length),n.charCodeAt(0)!=47)))throw it(new Fn("invalid opaquePart: "+n));if(t&&!(e!=null&&yM(gU,e.toLowerCase()))&&!(n==null||!tst(n,oA,cA)))throw it(new Fn(S0e+n));if(t&&e!=null&&yM(gU,e.toLowerCase())&&!g0n(n))throw it(new Fn(S0e+n));if(!vhn(r))throw it(new Fn("invalid device: "+r));if(!hln(s))throw h=s==null?"invalid segments: null":"invalid segment: "+oln(s),it(new Fn(h));if(!(o==null||hd(o,Cu(35))==-1))throw it(new Fn("invalid query: "+o))}function k4n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt;for(vr(e,"Calculate Graph Size",1),e.n&&t&&gf(e,pf(t),(Sl(),Ql)),d=VE,v=VE,o=Ukt,h=Ukt,M=new nr((!t.a&&(t.a=new fe(rs,t,10,11)),t.a));M.e!=M.i.gc();)k=u(dr(M),33),G=k.i,K=k.j,gt=k.g,r=k.f,s=u(qe(k,(ui(),JO)),142),d=b.Math.min(d,G-s.b),v=b.Math.min(v,K-s.d),o=b.Math.max(o,G+gt+s.c),h=b.Math.max(h,K+r+s.a);for(H=u(qe(t,(ui(),U2)),116),j=new $e(d-H.b,v-H.d),C=new nr((!t.a&&(t.a=new fe(rs,t,10,11)),t.a));C.e!=C.i.gc();)k=u(dr(C),33),ku(k,k.i-j.a),Eu(k,k.j-j.b);tt=o-d+(H.b+H.c),n=h-v+(H.d+H.a),tv(t,tt),Jw(t,n),e.n&&t&&gf(e,pf(t),(Sl(),Ql))}function che(t){var e,n,r,s,o,h,d,v,k,C;for(r=new he,h=new S(t.e.a);h.a0){Kz(t,n,0),n.a+=String.fromCharCode(r),s=ofn(e,o),Kz(t,n,s),o+=s-1;continue}r==39?o+11)for(K=Nt(Cr,Xr,25,t.b.b.c.length,15,1),M=0,k=new S(t.b.b);k.a=d&&s<=v)d<=s&&o<=v?(n[C++]=s,n[C++]=o,r+=2):d<=s?(n[C++]=s,n[C++]=v,t.b[r]=v+1,h+=2):o<=v?(n[C++]=d,n[C++]=o,r+=2):(n[C++]=d,n[C++]=v,t.b[r]=v+1);else if(vsb)&&d<10);ubt(t.c,new W5),uhe(t),hnn(t.c),m4n(t.f)}function _4n(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt;if(je(Re(Q(n,(Te(),Hy)))))for(d=new S(n.j);d.a=2){for(v=ei(n,0),h=u(ti(v),8),d=u(ti(v),8);d.a0&&$D(k,!0,(ao(),Cf)),d.k==(Vn(),ks)&&NXt(k),ki(t.f,d,e)}}function M4n(t,e,n){var r,s,o,h,d,v,k,C,M,j;switch(vr(n,"Node promotion heuristic",1),t.g=e,N5n(t),t.q=u(Q(e,(Te(),oht)),260),C=u(Q(t.g,o9t),19).a,o=new pN,t.q.g){case 2:case 1:IE(t,o);break;case 3:for(t.q=(y4(),EG),IE(t,o),v=0,d=new S(t.a);d.at.j&&(t.q=FO,IE(t,o));break;case 4:for(t.q=(y4(),EG),IE(t,o),k=0,s=new S(t.b);s.at.k&&(t.q=NO,IE(t,o));break;case 6:j=ps(b.Math.ceil(t.f.length*C/100)),IE(t,new _p(j));break;case 5:M=ps(b.Math.ceil(t.d*C/100)),IE(t,new Hf(M));break;default:IE(t,o)}Evn(t,e),or(n)}function hhe(t,e,n){var r,s,o,h;this.j=t,this.e=_4t(t),this.o=this.j.e,this.i=!!this.o,this.p=this.i?u(Ne(n,Na(this.o).p),214):null,s=u(Q(t,(ae(),Vc)),21),this.g=s.Hc((oo(),vh)),this.b=new he,this.d=new Oie(this.e),h=u(Q(this.j,$6),230),this.q=cun(e,h,this.e),this.k=new PQt(this),o=A1(lt(ct(g2e,1),De,225,0,[this,this.d,this.k,this.q])),e==(ev(),RO)&&!je(Re(Q(t,(Te(),$y))))?(r=new A4t(this.e),o.c[o.c.length]=r,this.c=new rmt(r,h,u(this.q,402))):e==RO&&je(Re(Q(t,(Te(),$y))))?(r=new A4t(this.e),o.c[o.c.length]=r,this.c=new bne(r,h,u(this.q,402))):this.c=new gGt(e,this),le(o,this.c),Ule(o,this.e),this.s=fxn(this.k)}function D4n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt;for(M=u(xj((h=ei(new Lp(e).a.d,0),new Ex(h))),86),G=M?u(Q(M,(fc(),Rht)),86):null,s=1;M&&G;){for(v=0,Rt=0,n=M,r=G,d=0;d=t.i?(++t.i,le(t.a,pe(1)),le(t.b,C)):(r=t.c[e.p][1],ch(t.a,k,pe(u(Ne(t.a,k),19).a+1-r)),ch(t.b,k,Xt(ye(Ne(t.b,k)))+C-r*t.e)),(t.q==(y4(),FO)&&(u(Ne(t.a,k),19).a>t.j||u(Ne(t.a,k-1),19).a>t.j)||t.q==NO&&(Xt(ye(Ne(t.b,k)))>t.k||Xt(ye(Ne(t.b,k-1)))>t.k))&&(v=!1),h=new ar(lr(jo(e).a.Kc(),new z));zr(h);)o=u(Mr(h),17),d=o.c.i,t.f[d.p]==k&&(M=fhe(t,d),s=s+u(M.a,19).a,v=v&&je(Re(M.b)));return t.f[e.p]=k,s=s+t.c[e.p][0],new fa(pe(s),(Nn(),!!v))}function Txt(t,e,n,r,s){var o,h,d,v,k,C,M,j,H,G,K,tt,gt;for(M=new _r,h=new he,Poe(t,n,t.d.fg(),h,M),Poe(t,r,t.d.gg(),h,M),t.b=.2*(K=Ece(Wo(new Tn(null,new _n(h,16)),new eZ)),tt=Ece(Wo(new Tn(null,new _n(h,16)),new nZ)),b.Math.min(K,tt)),o=0,d=0;d=2&&(gt=Gce(h,!0,j),!t.e&&(t.e=new K$t(t)),ufn(t.e,gt,h,t.b)),Cae(h,j),W4n(h),H=-1,C=new S(h);C.ad)}function O4n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K;for(n=u(Q(t,(Te(),cs)),98),h=t.f,o=t.d,d=h.a+o.b+o.c,v=0-o.d-t.c.b,C=h.b+o.d+o.a-t.c.b,k=new he,M=new he,s=new S(e);s.a0),u(C.a.Xb(C.c=--C.b),17));o!=r&&C.b>0;)t.a[o.p]=!0,t.a[r.p]=!0,o=(Zn(C.b>0),u(C.a.Xb(C.c=--C.b),17));C.b>0&&Cl(C)}}function bhe(t,e,n){var r,s,o,h,d,v,k,C,M;if(t.a!=e.Aj())throw it(new Fn(QE+e.ne()+Cv));if(r=$g(($u(),ya),e).$k(),r)return r.Aj().Nh().Ih(r,n);if(h=$g(ya,e).al(),h){if(n==null)return null;if(d=u(n,15),d.dc())return"";for(M=new Ag,o=d.Kc();o.Ob();)s=o.Pb(),go(M,h.Aj().Nh().Ih(h,s)),M.a+=" ";return int(M,M.a.length-1)}if(C=$g(ya,e).bl(),!C.dc()){for(k=C.Kc();k.Ob();)if(v=u(k.Pb(),148),v.wj(n))try{if(M=v.Aj().Nh().Ih(v,n),M!=null)return M}catch(j){if(j=Wi(j),!_t(j,102))throw it(j)}throw it(new Fn("Invalid value: '"+n+"' for datatype :"+e.ne()))}return u(e,834).Fj(),n==null?null:_t(n,172)?""+u(n,172).a:ol(n)==tV?VUt(aA[0],u(n,199)):$o(n)}function j4n(t){var e,n,r,s,o,h,d,v,k,C;for(k=new Zi,d=new Zi,o=new S(t);o.a-1){for(s=ei(d,0);s.b!=s.d.c;)r=u(ti(s),128),r.v=h;for(;d.b!=0;)for(r=u(Dst(d,0),128),n=new S(r.i);n.a0&&(n+=v.n.a+v.o.a/2,++M),G=new S(v.j);G.a0&&(n/=M),gt=Nt(aa,vo,25,r.a.c.length,15,1),d=0,k=new S(r.a);k.a=d&&s<=v)d<=s&&o<=v?r+=2:d<=s?(t.b[r]=v+1,h+=2):o<=v?(n[C++]=s,n[C++]=d-1,r+=2):(n[C++]=s,n[C++]=d-1,t.b[r]=v+1,h+=2);else if(v0?s-=864e5:s+=864e5,v=new X2t(Pa(Tu(e.q.getTime()),s))),C=new Im,k=t.a.length,o=0;o=97&&r<=122||r>=65&&r<=90){for(h=o+1;h=k)throw it(new Fn("Missing trailing '"));h+10&&n.c==0&&(!e&&(e=new he),e.c[e.c.length]=n);if(e)for(;e.c.length!=0;){if(n=u(Fg(e,0),233),n.b&&n.b.c.length>0){for(o=(!n.b&&(n.b=new he),new S(n.b));o.aRo(t,n,0))return new fa(s,n)}else if(Xt(E1(s.g,s.d[0]).a)>Xt(E1(n.g,n.d[0]).a))return new fa(s,n)}for(d=(!n.e&&(n.e=new he),n.e).Kc();d.Ob();)h=u(d.Pb(),233),v=(!h.b&&(h.b=new he),h.b),Km(0,v.c.length),XC(v.c,0,n),h.c==v.c.length&&(e.c[e.c.length]=h)}return null}function xhe(t,e){var n,r,s,o,h,d,v,k,C;if(t==null)return _u;if(v=e.a.zc(t,e),v!=null)return"[...]";for(n=new f2(Ya,"[","]"),s=t,o=0,h=s.length;o=14&&C<=16))?e.a._b(r)?(n.a?Gr(n.a,n.b):n.a=new Ol(n.d),h9(n.a,"[...]")):(d=u2(r),k=new E9(e),$0(n,xhe(d,k))):_t(r,177)?$0(n,Npn(u(r,177))):_t(r,190)?$0(n,C0n(u(r,190))):_t(r,195)?$0(n,Fgn(u(r,195))):_t(r,2012)?$0(n,_0n(u(r,2012))):_t(r,48)?$0(n,Fpn(u(r,48))):_t(r,364)?$0(n,Kpn(u(r,364))):_t(r,832)?$0(n,Ppn(u(r,832))):_t(r,104)&&$0(n,Opn(u(r,104))):$0(n,r==null?_u:$o(r));return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c}function khe(t,e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St;for(d=x4(e,!1,!1),gt=lI(d),r&&(gt=qD(gt)),St=Xt(ye(qe(e,(o_(),Qut)))),tt=(Zn(gt.b!=0),u(gt.a.a.c,8)),M=u(Zf(gt,1),8),gt.b>2?(C=new he,Ls(C,new Qd(gt,1,gt.b)),o=efe(C,St+t.a),Mt=new nat(o),Mo(Mt,e),n.c[n.c.length]=Mt):r?Mt=u(tr(t.b,e0(e)),266):Mt=u(tr(t.b,tb(e)),266),v=e0(e),r&&(v=tb(e)),h=epn(tt,v),k=St+t.a,h.a?(k+=b.Math.abs(tt.b-M.b),K=new $e(M.a,(M.b+tt.b)/2)):(k+=b.Math.abs(tt.a-M.a),K=new $e((M.a+tt.a)/2,M.b)),r?ki(t.d,e,new K3t(Mt,h,K,k)):ki(t.c,e,new K3t(Mt,h,K,k)),ki(t.b,e,Mt),G=(!e.n&&(e.n=new fe(qo,e,1,7)),e.n),H=new nr(G);H.e!=H.i.gc();)j=u(dr(H),137),s=xI(t,j,!0,0,0),n.c[n.c.length]=s}function W4n(t){var e,n,r,s,o,h,d,v,k,C;for(k=new he,d=new he,h=new S(t);h.a-1){for(o=new S(d);o.a0)&&(aR(v,b.Math.min(v.o,s.o-1)),TC(v,v.i-1),v.i==0&&(d.c[d.c.length]=v))}}function PE(t,e,n){var r,s,o,h,d,v,k;if(k=t.c,!e&&(e=oLt),t.c=e,t.Db&4&&!(t.Db&1)&&(v=new Js(t,1,2,k,t.c),n?n.Ei(v):n=v),k!=e){if(_t(t.Cb,284))t.Db>>16==-10?n=u(t.Cb,284).nk(e,n):t.Db>>16==-15&&(!e&&(e=(dn(),W1)),!k&&(k=(dn(),W1)),t.Cb.nh()&&(v=new z0(t.Cb,1,13,k,e,Hg(al(u(t.Cb,59)),t),!1),n?n.Ei(v):n=v));else if(_t(t.Cb,88))t.Db>>16==-23&&(_t(e,88)||(e=(dn(),Kh)),_t(k,88)||(k=(dn(),Kh)),t.Cb.nh()&&(v=new z0(t.Cb,1,10,k,e,Hg(Lc(u(t.Cb,26)),t),!1),n?n.Ei(v):n=v));else if(_t(t.Cb,444))for(d=u(t.Cb,836),h=(!d.b&&(d.b=new mR(new aet)),d.b),o=(r=new p2(new Cg(h.a).a),new yR(r));o.a.b;)s=u(Zw(o.a).cd(),87),n=PE(s,vq(s,d),n)}return n}function Y4n(t,e){var n,r,s,o,h,d,v,k,C,M,j;for(h=je(Re(qe(t,(Te(),Hy)))),j=u(qe(t,Gy),21),v=!1,k=!1,M=new nr((!t.c&&(t.c=new fe(gl,t,9,9)),t.c));M.e!=M.i.gc()&&(!v||!k);){for(o=u(dr(M),118),d=0,s=zp(D1(lt(ct(j1,1),De,20,0,[(!o.d&&(o.d=new Cn(Ys,o,8,5)),o.d),(!o.e&&(o.e=new Cn(Ys,o,7,4)),o.e)])));zr(s)&&(r=u(Mr(s),79),C=h&&fv(r)&&je(Re(qe(r,j2))),n=Jle((!r.b&&(r.b=new Cn(br,r,4,7)),r.b),o)?t==es(Do(u(At((!r.c&&(r.c=new Cn(br,r,5,8)),r.c),0),82))):t==es(Do(u(At((!r.b&&(r.b=new Cn(br,r,4,7)),r.b),0),82))),!((C||n)&&(++d,d>1))););(d>0||j.Hc((Zu(),sg))&&(!o.n&&(o.n=new fe(qo,o,1,7)),o.n).i>0)&&(v=!0),d>1&&(k=!0)}v&&e.Fc((oo(),vh)),k&&e.Fc((oo(),yS))}function Ehe(t){var e,n,r,s,o,h,d,v,k,C,M,j;if(j=u(qe(t,(ui(),G2)),21),j.dc())return null;if(d=0,h=0,j.Hc((Al(),oP))){for(C=u(qe(t,KS),98),r=2,n=2,s=2,o=2,e=es(t)?u(qe(es(t),qv),103):u(qe(t,qv),103),k=new nr((!t.c&&(t.c=new fe(gl,t,9,9)),t.c));k.e!=k.i.gc();)if(v=u(dr(k),118),M=u(qe(v,u5),61),M==(ve(),Zo)&&(M=uxt(v,e),wo(v,u5,M)),C==(ua(),Gc))switch(M.g){case 1:r=b.Math.max(r,v.i+v.g);break;case 2:n=b.Math.max(n,v.j+v.f);break;case 3:s=b.Math.max(s,v.i+v.g);break;case 4:o=b.Math.max(o,v.j+v.f)}else switch(M.g){case 1:r+=v.g+2;break;case 2:n+=v.f+2;break;case 3:s+=v.g+2;break;case 4:o+=v.f+2}d=b.Math.max(r,s),h=b.Math.max(n,o)}return wv(t,d,h,!0,!0)}function Rat(t,e,n,r,s){var o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt;for(Mt=u(Bl(ez(Ri(new Tn(null,new _n(e.d,16)),new t8(n)),new lM(n)),c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[(O1(),Ul)]))),15),M=wi,C=Sa,v=new S(e.b.j);v.a0,k?k&&(j=gt.p,h?++j:--j,M=u(Ne(gt.c.a,j),10),r=gre(M),H=!(cat(r,ue,n[0])||UKt(r,ue,n[0]))):H=!0),G=!1,Kt=e.D.i,Kt&&Kt.c&&d.e&&(C=h&&Kt.p>0||!h&&Kt.p0&&(e.a+=Ya),Nq(u(dr(d),160),e);for(e.a+=Uot,v=new Nx((!r.c&&(r.c=new Cn(br,r,5,8)),r.c));v.e!=v.i.gc();)v.e>0&&(e.a+=Ya),Nq(u(dr(v),160),e);e.a+=")"}}function t5n(t,e,n){var r,s,o,h,d,v,k,C,M,j,H;if(o=u(Q(t,(ae(),_i)),79),!!o){for(r=t.a,s=new xo(n),Li(s,Vdn(t)),J8(t.d.i,t.c.i)?(j=t.c,M=Yo(lt(ct(Ws,1),ee,8,0,[j.n,j.a])),ia(M,n)):M=_1(t.c),fs(r,M,r.a,r.a.a),H=_1(t.d),Q(t,Qlt)!=null&&Li(H,u(Q(t,Qlt),8)),fs(r,H,r.c.b,r.c),ny(r,s),h=x4(o,!0,!0),uz(h,u(At((!o.b&&(o.b=new Cn(br,o,4,7)),o.b),0),82)),lz(h,u(At((!o.c&&(o.c=new Cn(br,o,5,8)),o.c),0),82)),CI(r,h),C=new S(t.b);C.a=0){for(v=null,d=new da(C.a,k+1);d.bh?1:Iw(isNaN(0),isNaN(h)))<0&&(wf(_d),(b.Math.abs(h-1)<=_d||h==1||isNaN(h)&&isNaN(1)?0:h<1?-1:h>1?1:Iw(isNaN(h),isNaN(1)))<0)&&(wf(_d),(b.Math.abs(0-d)<=_d||d==0||isNaN(0)&&isNaN(d)?0:0d?1:Iw(isNaN(0),isNaN(d)))<0)&&(wf(_d),(b.Math.abs(d-1)<=_d||d==1||isNaN(d)&&isNaN(1)?0:d<1?-1:d>1?1:Iw(isNaN(d),isNaN(1)))<0)),o)}function n5n(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue;for(M=new Svt(new Dt(t));M.b!=M.c.a.d;)for(C=Ate(M),d=u(C.d,56),e=u(C.e,56),h=d.Tg(),K=0,Rt=(h.i==null&&vd(h),h.i).length;K=0&&K=k.c.c.length?C=omt((Vn(),Os),ta):C=omt((Vn(),ta),ta),C*=2,o=n.a.g,n.a.g=b.Math.max(o,o+(C-o)),h=n.b.g,n.b.g=b.Math.max(h,h+(C-h)),s=e}}function s5n(t,e,n,r,s){var o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt;for(Kt=VYt(t),C=new he,d=t.c.length,M=d-1,j=d+1;Kt.a.c!=0;){for(;n.b!=0;)St=(Zn(n.b!=0),u(lh(n,n.a.a),112)),P9(Kt.a,St)!=null,St.g=M--,lxt(St,e,n,r);for(;e.b!=0;)Rt=(Zn(e.b!=0),u(lh(e,e.a.a),112)),P9(Kt.a,Rt)!=null,Rt.g=j++,lxt(Rt,e,n,r);for(k=Sa,gt=(h=new y9(new w9(new y(Kt.a).a).b),new g(h));TM(gt.a.a);){if(tt=(o=Lj(gt.a),u(o.cd(),112)),!r&&tt.b>0&&tt.a<=0){C.c=Nt(Qn,De,1,0,5,1),C.c[C.c.length]=tt;break}K=tt.i-tt.d,K>=k&&(K>k&&(C.c=Nt(Qn,De,1,0,5,1),k=K),C.c[C.c.length]=tt)}C.c.length!=0&&(v=u(Ne(C,Zz(s,C.c.length)),112),P9(Kt.a,v)!=null,v.g=j++,lxt(v,e,n,r),C.c=Nt(Qn,De,1,0,5,1))}for(Mt=t.c.length+1,G=new S(t);G.a0&&(j.d+=C.n.d,j.d+=C.d),j.a>0&&(j.a+=C.n.a,j.a+=C.d),j.b>0&&(j.b+=C.n.b,j.b+=C.d),j.c>0&&(j.c+=C.n.c,j.c+=C.d),j}function Che(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G;for(j=n.d,M=n.c,o=new $e(n.f.a+n.d.b+n.d.c,n.f.b+n.d.d+n.d.a),h=o.b,k=new S(t.a);k.a0&&(t.c[e.c.p][e.p].d+=ul(t.i,24)*$I*.07000000029802322-.03500000014901161,t.c[e.c.p][e.p].a=t.c[e.c.p][e.p].d/t.c[e.c.p][e.p].b)}}function d5n(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt;for(G=new S(t);G.ar.d,r.d=b.Math.max(r.d,e),d&&n&&(r.d=b.Math.max(r.d,r.a),r.a=r.d+s);break;case 3:n=e>r.a,r.a=b.Math.max(r.a,e),d&&n&&(r.a=b.Math.max(r.a,r.d),r.d=r.a+s);break;case 2:n=e>r.c,r.c=b.Math.max(r.c,e),d&&n&&(r.c=b.Math.max(r.b,r.c),r.b=r.c+s);break;case 4:n=e>r.b,r.b=b.Math.max(r.b,e),d&&n&&(r.b=b.Math.max(r.b,r.c),r.c=r.b+s)}}}function w5n(t){var e,n,r,s,o,h,d,v,k,C,M;for(k=new S(t);k.a0||C.j==Bn&&C.e.c.length-C.g.c.length<0)){e=!1;break}for(s=new S(C.g);s.a=k&&Kt>=tt&&(j+=G.n.b+K.n.b+K.a.b-Rt,++d));if(n)for(h=new S(Mt.e);h.a=k&&Kt>=tt&&(j+=G.n.b+K.n.b+K.a.b-Rt,++d))}d>0&&(ue+=j/d,++H)}H>0?(e.a=s*ue/H,e.g=H):(e.a=0,e.g=0)}function m5n(t,e){var n,r,s,o,h,d,v,k,C,M,j;for(s=new S(t.a.b);s.aCs||e.o==H2&&C0&&ku(gt,Rt*ue),Kt>0&&Eu(gt,Kt*_e);for(K9(t.b,new hw),e=new he,d=new p2(new Cg(t.c).a);d.b;)h=Zw(d),r=u(h.cd(),79),n=u(h.dd(),395).a,s=x4(r,!1,!1),M=_ae(e0(r),lI(s),n),CI(M,s),St=Rae(r),St&&Ro(e,St,0)==-1&&(e.c[e.c.length]=St,VXt(St,(Zn(M.b!=0),u(M.a.a.c,8)),n));for(tt=new p2(new Cg(t.d).a);tt.b;)K=Zw(tt),r=u(K.cd(),79),n=u(K.dd(),395).a,s=x4(r,!1,!1),M=_ae(tb(r),qD(lI(s)),n),M=qD(M),CI(M,s),St=jae(r),St&&Ro(e,St,0)==-1&&(e.c[e.c.length]=St,VXt(St,(Zn(M.b!=0),u(M.c.b.c,8)),n))}function Ahe(t,e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e;if(n.c.length!=0){for(H=new he,j=new S(n);j.a1)for(H=new vxt(G,St,r),va(St,new xGt(t,H)),h.c[h.c.length]=H,M=St.a.ec().Kc();M.Ob();)C=u(M.Pb(),46),mu(o,C.b);if(d.a.gc()>1)for(H=new vxt(G,d,r),va(d,new kGt(t,H)),h.c[h.c.length]=H,M=d.a.ec().Kc();M.Ob();)C=u(M.Pb(),46),mu(o,C.b)}}function Mhe(t){Mw(t,new k2(MR(_w(Ew(Cw(Tw(new kg,Sd),"ELK Radial"),'A radial layout provider which is based on the algorithm of Peter Eades published in "Drawing free trees.", published by International Institute for Advanced Study of Social Information Science, Fujitsu Limited in 1991. The radial layouter takes a tree and places the nodes in radial order around the root. The nodes of the same tree level are placed on the same radius.'),new dZ),Sd))),xe(t,Sd,yH,Ie(Qye)),xe(t,Sd,Cy,Ie(Zye)),xe(t,Sd,D4,Ie(Wye)),xe(t,Sd,C6,Ie(Yye)),xe(t,Sd,T6,Ie(Kye)),xe(t,Sd,UE,Ie(Uye)),xe(t,Sd,j_,Ie(L_t)),xe(t,Sd,WE,Ie(Xye)),xe(t,Sd,Pct,Ie(Wht)),xe(t,Sd,Oct,Ie(Yht)),xe(t,Sd,Zkt,Ie(M_t)),xe(t,Sd,Ykt,Ie(BG)),xe(t,Sd,Kkt,Ie(RG)),xe(t,Sd,Xkt,Ie(qO)),xe(t,Sd,Qkt,Ie(D_t))}function Sxt(t){var e;if(this.r=nrn(new bc,new Cc),this.b=new i_(u(Lr(Xa),290)),this.p=new i_(u(Lr(Xa),290)),this.i=new i_(u(Lr($pe),290)),this.e=t,this.o=new xo(t.rf()),this.D=t.Df()||je(Re(t.We((ui(),ZO)))),this.A=u(t.We((ui(),G2)),21),this.B=u(t.We(xb),21),this.q=u(t.We(KS),98),this.u=u(t.We(Qy),21),!ugn(this.u))throw it(new R3("Invalid port label placement: "+this.u));if(this.v=je(Re(t.We(uAt))),this.j=u(t.We(o5),21),!O2n(this.j))throw it(new R3("Invalid node label placement: "+this.j));this.n=u(l_(t,XSt),116),this.k=Xt(ye(l_(t,JG))),this.d=Xt(ye(l_(t,dAt))),this.w=Xt(ye(l_(t,vAt))),this.s=Xt(ye(l_(t,gAt))),this.t=Xt(ye(l_(t,pAt))),this.C=u(l_(t,bAt),142),this.c=2*this.d,e=!this.B.Hc((ll(),cP)),this.f=new a_(0,e,0),this.g=new a_(1,e,0),het(this.f,(Kf(),eu),this.g)}function A5n(t,e,n,r,s){var o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn;for(St=0,G=0,H=0,j=1,Mt=new nr((!t.a&&(t.a=new fe(rs,t,10,11)),t.a));Mt.e!=Mt.i.gc();)tt=u(dr(Mt),33),j+=j0(new ar(lr(K0(tt).a.Kc(),new z))),We=tt.g,G=b.Math.max(G,We),M=tt.f,H=b.Math.max(H,M),St+=We*M;for(K=(!t.a&&(t.a=new fe(rs,t,10,11)),t.a).i,h=St+2*r*r*j*K,o=b.Math.sqrt(h),v=b.Math.max(o*n,G),d=b.Math.max(o/n,H),gt=new nr((!t.a&&(t.a=new fe(rs,t,10,11)),t.a));gt.e!=gt.i.gc();)tt=u(dr(gt),33),Qe=s.b+(ul(e,26)*I_+ul(e,27)*O_)*(v-tt.g),Rn=s.b+(ul(e,26)*I_+ul(e,27)*O_)*(d-tt.f),ku(tt,Qe),Eu(tt,Rn);for(_e=v+(s.b+s.c),ue=d+(s.d+s.a),Kt=new nr((!t.a&&(t.a=new fe(rs,t,10,11)),t.a));Kt.e!=Kt.i.gc();)for(Rt=u(dr(Kt),33),C=new ar(lr(K0(Rt).a.Kc(),new z));zr(C);)k=u(Mr(C),79),w_(k)||Lxn(k,e,_e,ue);_e+=s.b+s.c,ue+=s.d+s.a,wv(t,_e,ue,!1,!0)}function Rq(t){var e,n,r,s,o,h,d,v,k,C,M;if(t==null)throw it(new ld(_u));if(k=t,o=t.length,v=!1,o>0&&(e=(Rr(0,t.length),t.charCodeAt(0)),(e==45||e==43)&&(t=t.substr(1),--o,v=e==45)),o==0)throw it(new ld(yv+k+'"'));for(;t.length>0&&(Rr(0,t.length),t.charCodeAt(0)==48);)t=t.substr(1),--o;if(o>(vle(),$ge)[10])throw it(new ld(yv+k+'"'));for(s=0;s0&&(M=-parseInt(t.substr(0,r),10),t=t.substr(r),o-=r,n=!1);o>=h;){if(r=parseInt(t.substr(0,h),10),t=t.substr(h),o-=h,n)n=!1;else{if(yc(M,d)<0)throw it(new ld(yv+k+'"'));M=_a(M,C)}M=Jp(M,r)}if(yc(M,0)>0)throw it(new ld(yv+k+'"'));if(!v&&(M=z8(M),yc(M,0)<0))throw it(new ld(yv+k+'"'));return M}function Axt(t,e){oKt();var n,r,s,o,h,d,v;if(this.a=new v2t(this),this.b=t,this.c=e,this.f=Xnt(To(($u(),ya),e)),this.f.dc())if((d=d4t(ya,t))==e)for(this.e=!0,this.d=new he,this.f=new Ok,this.f.Fc(O2),u(Pq(TD(ya,Rl(t)),""),26)==t&&this.f.Fc(C9(ya,Rl(t))),s=vat(ya,t).Kc();s.Ob();)switch(r=u(s.Pb(),170),Hw(To(ya,r))){case 4:{this.d.Fc(r);break}case 5:{this.f.Gc(Xnt(To(ya,r)));break}}else if(to(),u(e,66).Oj())for(this.e=!0,this.f=null,this.d=new he,h=0,v=(t.i==null&&vd(t),t.i).length;h=0&&h0&&(u(po(t.b,e),124).a.b=n)}function L5n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt;for(vr(e,"Comment pre-processing",1),n=0,v=new S(t.a);v.a0&&(v=(Rr(0,e.length),e.charCodeAt(0)),v!=64)){if(v==37&&(M=e.lastIndexOf("%"),k=!1,M!=0&&(M==j-1||(k=(Rr(M+1,e.length),e.charCodeAt(M+1)==46))))){if(h=e.substr(1,M-1),St=hn("%",h)?null:Mxt(h),r=0,k)try{r=ql(e.substr(M+2),Sa,wi)}catch(Rt){throw Rt=Wi(Rt),_t(Rt,127)?(d=Rt,it(new W$(d))):it(Rt)}for(tt=lyt(t.Wg());tt.Ob();)if(G=kz(tt),_t(G,510)&&(s=u(G,590),Mt=s.d,(St==null?Mt==null:hn(St,Mt))&&r--==0))return s;return null}if(C=e.lastIndexOf("."),H=C==-1?e:e.substr(0,C),n=0,C!=-1)try{n=ql(e.substr(C+1),Sa,wi)}catch(Rt){if(Rt=Wi(Rt),_t(Rt,127))H=e;else throw it(Rt)}for(H=hn("%",H)?null:Mxt(H),K=lyt(t.Wg());K.Ob();)if(G=kz(K),_t(G,191)&&(o=u(G,191),gt=o.ne(),(H==null?gt==null:hn(H,gt))&&n--==0))return o;return null}return ehe(t,e)}function I5n(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn;for(ue=new he,G=new S(t.b);G.a=e.length)return{done:!0};var s=e[r++];return{value:[s,n.get(s)],done:!1}}}},Bvn()||(t.prototype.createObject=function(){return{}},t.prototype.get=function(e){return this.obj[":"+e]},t.prototype.set=function(e,n){this.obj[":"+e]=n},t.prototype[kot]=function(e){delete this.obj[":"+e]},t.prototype.keys=function(){var e=[];for(var n in this.obj)n.charCodeAt(0)==58&&e.push(n.substring(1));return e}),t}function P5n(t){cxt();var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt;if(t==null)return null;if(M=t.length*8,M==0)return"";for(d=M%24,H=M/24|0,j=d!=0?H+1:H,o=null,o=Nt(xh,yd,25,j*4,15,1),k=0,C=0,e=0,n=0,r=0,h=0,s=0,v=0;v>24,k=(e&3)<<24>>24,G=e&-128?(e>>2^192)<<24>>24:e>>2<<24>>24,K=n&-128?(n>>4^240)<<24>>24:n>>4<<24>>24,tt=r&-128?(r>>6^252)<<24>>24:r>>6<<24>>24,o[h++]=lp[G],o[h++]=lp[K|k<<4],o[h++]=lp[C<<2|tt],o[h++]=lp[r&63];return d==8?(e=t[s],k=(e&3)<<24>>24,G=e&-128?(e>>2^192)<<24>>24:e>>2<<24>>24,o[h++]=lp[G],o[h++]=lp[k<<4],o[h++]=61,o[h++]=61):d==16&&(e=t[s],n=t[s+1],C=(n&15)<<24>>24,k=(e&3)<<24>>24,G=e&-128?(e>>2^192)<<24>>24:e>>2<<24>>24,K=n&-128?(n>>4^240)<<24>>24:n>>4<<24>>24,o[h++]=lp[G],o[h++]=lp[K|k<<4],o[h++]=lp[C<<2],o[h++]=61),Mh(o,0,o.length)}function F5n(t,e){var n,r,s,o,h,d,v;if(t.e==0&&t.p>0&&(t.p=-(t.p-1)),t.p>Sa&&umt(e,t.p-ab),h=e.q.getDate(),oD(e,1),t.k>=0&&win(e,t.k),t.c>=0?oD(e,t.c):t.k>=0?(v=new Myt(e.q.getFullYear()-ab,e.q.getMonth(),35),r=35-v.q.getDate(),oD(e,b.Math.min(r,h))):oD(e,h),t.f<0&&(t.f=e.q.getHours()),t.b>0&&t.f<12&&(t.f+=12),AQe(e,t.f==24&&t.g?0:t.f),t.j>=0&&Aan(e,t.j),t.n>=0&&Uan(e,t.n),t.i>=0&&aUt(e,Pa(_a(aI(Tu(e.q.getTime()),Wg),Wg),t.i)),t.a&&(s=new BR,umt(s,s.q.getFullYear()-ab-80),Cet(Tu(e.q.getTime()),Tu(s.q.getTime()))&&umt(e,s.q.getFullYear()-ab+100)),t.d>=0){if(t.c==-1)n=(7+t.d-e.q.getDay())%7,n>3&&(n-=7),d=e.q.getMonth(),oD(e,e.q.getDate()+n),e.q.getMonth()!=d&&oD(e,e.q.getDate()+(n>0?-7:7));else if(e.q.getDay()!=t.d)return!1}return t.o>Sa&&(o=e.q.getTimezoneOffset(),aUt(e,Pa(Tu(e.q.getTime()),(t.o-o)*60*Wg))),!0}function Ohe(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt;if(s=Q(e,(ae(),_i)),!!_t(s,239)){for(G=u(s,33),K=e.e,j=new xo(e.c),o=e.d,j.a+=o.b,j.b+=o.d,Rt=u(qe(G,(Te(),pG)),174),Nu(Rt,(ll(),nU))&&(H=u(qe(G,d9t),116),cpt(H,o.a),Mtt(H,o.d),upt(H,o.b),gpt(H,o.c)),n=new he,C=new S(e.a);C.a0&&le(t.p,C),le(t.o,C);e-=r,H=v+e,k+=e*t.e,ch(t.a,d,pe(H)),ch(t.b,d,k),t.j=b.Math.max(t.j,H),t.k=b.Math.max(t.k,k),t.d+=e,e+=K}}function ve(){ve=Z;var t;Zo=new NM(N_,0),Pn=new NM(Kq,1),Hn=new NM(Iot,2),mr=new NM(Oot,3),Bn=new NM(Pot,4),U1=(wn(),new s8((t=u(Vf(Xa),9),new sh(t,u(ff(t,t.length),9),0)))),Mf=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[]))),mh=jg(ji(Hn,lt(ct(Xa,1),xc,61,0,[]))),Kl=jg(ji(mr,lt(ct(Xa,1),xc,61,0,[]))),Vh=jg(ji(Bn,lt(ct(Xa,1),xc,61,0,[]))),Au=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[mr]))),lu=jg(ji(Hn,lt(ct(Xa,1),xc,61,0,[Bn]))),Df=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[Bn]))),el=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[Hn]))),Xl=jg(ji(mr,lt(ct(Xa,1),xc,61,0,[Bn]))),yh=jg(ji(Hn,lt(ct(Xa,1),xc,61,0,[mr]))),nl=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[Hn,Bn]))),Su=jg(ji(Hn,lt(ct(Xa,1),xc,61,0,[mr,Bn]))),Lu=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[mr,Bn]))),Vu=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[Hn,mr]))),Uc=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[Hn,mr,Bn])))}function Bhe(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St;if(e.b!=0){for(H=new Zi,d=null,G=null,r=ps(b.Math.floor(b.Math.log(e.b)*b.Math.LOG10E)+1),v=0,St=ei(e,0);St.b!=St.d.c;)for(gt=u(ti(St),86),Vt(G)!==Vt(Q(gt,(fc(),zS)))&&(G=Br(Q(gt,zS)),v=0),G!=null?d=G+iZt(v++,r):d=iZt(v++,r),Jt(gt,zS,d),tt=(s=ei(new Lp(gt).a.d,0),new Ex(s));OR(tt.a);)K=u(ti(tt.a),188).c,fs(H,K,H.c.b,H.c),Jt(K,zS,d);for(j=new _r,h=0;h=v){Zn(gt.b>0),gt.a.Xb(gt.c=--gt.b);break}else K.a>k&&(s?(Ls(s.b,K.b),s.a=b.Math.max(s.a,K.a),Cl(gt)):(le(K.b,M),K.c=b.Math.min(K.c,k),K.a=b.Math.max(K.a,v),s=K));s||(s=new kqt,s.c=k,s.a=v,zm(gt,s),le(s.b,M))}for(d=e.b,C=0,tt=new S(r);tt.ad?1:0:(t.b&&(t.b._b(o)&&(s=u(t.b.xc(o),19).a),t.b._b(v)&&(d=u(t.b.xc(v),19).a)),sd?1:0)):e.e.c.length!=0&&n.g.c.length!=0?1:-1}function j5n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e;for(vr(e,S1e,1),K=new he,ue=new he,k=new S(t.b);k.a0&&(St-=H),mxt(h,St),C=0,j=new S(h.a);j.a0),d.a.Xb(d.c=--d.b)),v=.4*r*C,!o&&d.be.d.c){if(H=t.c[e.a.d],tt=t.c[M.a.d],H==tt)continue;yf(lf(uf(hf(cf(new Ch,1),100),H),tt))}}}}}function Mxt(t){Fat();var e,n,r,s,o,h,d,v;if(t==null)return null;if(s=hd(t,Cu(37)),s<0)return t;for(v=new Ol(t.substr(0,s)),e=Nt(Gu,N4,25,4,15,1),d=0,r=0,h=t.length;ss+2&&Sit((Rr(s+1,t.length),t.charCodeAt(s+1)),tLt,eLt)&&Sit((Rr(s+2,t.length),t.charCodeAt(s+2)),tLt,eLt))if(n=fen((Rr(s+1,t.length),t.charCodeAt(s+1)),(Rr(s+2,t.length),t.charCodeAt(s+2))),s+=2,r>0?(n&192)==128?e[d++]=n<<24>>24:r=0:n>=128&&((n&224)==192?(e[d++]=n<<24>>24,r=2):(n&240)==224?(e[d++]=n<<24>>24,r=3):(n&248)==240&&(e[d++]=n<<24>>24,r=4)),r>0){if(d==r){switch(d){case 2:{qp(v,((e[0]&31)<<6|e[1]&63)&ys);break}case 3:{qp(v,((e[0]&15)<<12|(e[1]&63)<<6|e[2]&63)&ys);break}}d=0,r=0}}else{for(o=0;o0){if(h+r>t.length)return!1;d=gq(t.substr(0,h+r),e)}else d=gq(t,e);switch(o){case 71:return d=w4(t,h,lt(ct(Ae,1),ee,2,6,[mfe,yfe]),e),s.e=d,!0;case 77:return _vn(t,e,s,d,h);case 76:return Svn(t,e,s,d,h);case 69:return vpn(t,e,h,s);case 99:return mpn(t,e,h,s);case 97:return d=w4(t,h,lt(ct(Ae,1),ee,2,6,["AM","PM"]),e),s.b=d,!0;case 121:return Avn(t,e,h,d,n,s);case 100:return d<=0?!1:(s.c=d,!0);case 83:return d<0?!1:Ihn(d,h,e[0],s);case 104:d==12&&(d=0);case 75:case 72:return d<0?!1:(s.f=d,s.g=!1,!0);case 107:return d<0?!1:(s.f=d,s.g=!0,!0);case 109:return d<0?!1:(s.j=d,!0);case 115:return d<0?!1:(s.n=d,!0);case 90:if(hue&&(G.c=ue-G.b),le(h.d,new Hnt(G,a3t(h,G))),Mt=e==Pn?b.Math.max(Mt,K.b+k.b.rf().b):b.Math.min(Mt,K.b));for(Mt+=e==Pn?t.t:-t.t,St=k3t((h.e=Mt,h)),St>0&&(u(po(t.b,e),124).a.b=St),C=j.Kc();C.Ob();)k=u(C.Pb(),111),!(!k.c||k.c.d.c.length<=0)&&(G=k.c.i,G.c-=k.e.a,G.d-=k.e.b)}function U5n(t){var e,n,r,s,o,h,d,v,k,C,M,j,H;for(e=new _r,v=new nr(t);v.e!=v.i.gc();){for(d=u(dr(v),33),n=new Hs,ki(Jut,d,n),H=new bm,s=u(Bl(new Tn(null,new jw(new ar(lr(wI(d).a.Kc(),new z)))),LKt(H,c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[(O1(),Ul)])))),83),Zee(n,u(s.xc((Nn(),!0)),14),new Ek),r=u(Bl(Ri(u(s.xc(!1),15).Lc(),new E3),c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[Ul]))),15),h=r.Kc();h.Ob();)o=u(h.Pb(),79),j=Rae(o),j&&(k=u(ec(Lo(e.f,j)),21),k||(k=iue(j),au(e.f,j,k)),Ua(n,k));for(s=u(Bl(new Tn(null,new jw(new ar(lr(K0(d).a.Kc(),new z)))),LKt(H,c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[Ul])))),83),Zee(n,u(s.xc(!0),14),new Il),r=u(Bl(Ri(u(s.xc(!1),15).Lc(),new L0),c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[Ul]))),15),M=r.Kc();M.Ob();)C=u(M.Pb(),79),j=jae(C),j&&(k=u(ec(Lo(e.f,j)),21),k||(k=iue(j),au(e.f,j,k)),Ua(n,k))}}function W5n(t,e){Lat();var n,r,s,o,h,d,v,k,C,M,j,H,G,K;if(v=yc(t,0)<0,v&&(t=z8(t)),yc(t,0)==0)switch(e){case 0:return"0";case 1:return $E;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return H=new Mp,e<0?H.a+="0E+":H.a+="0E",H.a+=e==Sa?"2147483648":""+-e,H.a}C=18,M=Nt(xh,yd,25,C+1,15,1),n=C,K=t;do k=K,K=aI(K,10),M[--n]=Ar(Pa(48,Jp(k,_a(K,10))))&ys;while(yc(K,0)!=0);if(s=Jp(Jp(Jp(C,n),e),1),e==0)return v&&(M[--n]=45),Mh(M,n,C-n);if(e>0&&yc(s,-6)>=0){if(yc(s,0)>=0){for(o=n+Ar(s),d=C-1;d>=o;d--)M[d+1]=M[d];return M[++o]=46,v&&(M[--n]=45),Mh(M,n,C-n+1)}for(h=2;Cet(h,Pa(z8(s),1));h++)M[--n]=48;return M[--n]=46,M[--n]=48,v&&(M[--n]=45),Mh(M,n,C-n)}return G=n+1,r=C,j=new Im,v&&(j.a+="-"),r-G>=1?(qp(j,M[n]),j.a+=".",j.a+=Mh(M,n+1,C-n-1)):j.a+=Mh(M,n,C-n),j.a+="E",yc(s,0)>0&&(j.a+="+"),j.a+=""+_9(s),j.a}function Y5n(t,e,n){var r,s,o,h,d,v,k,C,M,j,H;if(t.e.a.$b(),t.f.a.$b(),t.c.c=Nt(Qn,De,1,0,5,1),t.i.c=Nt(Qn,De,1,0,5,1),t.g.a.$b(),e)for(h=new S(e.a);h.a=1&&(Kt-k>0&&G>=0?(ku(M,M.i+Rt),Eu(M,M.j+v*k)):Kt-k<0&&H>=0&&(ku(M,M.i+Rt*Kt),Eu(M,M.j+v)));return wo(t,(ui(),G2),(Al(),o=u(Vf(rA),9),new sh(o,u(ff(o,o.length),9),0))),new $e(ue,C)}function $he(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G;if(H=es(Do(u(At((!t.b&&(t.b=new Cn(br,t,4,7)),t.b),0),82))),G=es(Do(u(At((!t.c&&(t.c=new Cn(br,t,5,8)),t.c),0),82))),M=H==G,d=new Ca,e=u(qe(t,(Sz(),_At)),74),e&&e.b>=2){if((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a).i==0)n=(Sw(),s=new ad,s),Dr((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a),n);else if((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a).i>1)for(j=new Nx((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a));j.e!=j.i.gc();)f_(j);CI(e,u(At((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a),0),202))}if(M)for(r=new nr((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a));r.e!=r.i.gc();)for(n=u(dr(r),202),k=new nr((!n.a&&(n.a=new As(Gh,n,5)),n.a));k.e!=k.i.gc();)v=u(dr(k),469),d.a=b.Math.max(d.a,v.a),d.b=b.Math.max(d.b,v.b);for(h=new nr((!t.n&&(t.n=new fe(qo,t,1,7)),t.n));h.e!=h.i.gc();)o=u(dr(h),137),C=u(qe(o,QS),8),C&&x1(o,C.a,C.b),M&&(d.a=b.Math.max(d.a,o.i+o.g),d.b=b.Math.max(d.b,o.j+o.f));return d}function K5n(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We;for(St=e.c.length,s=new E4(t.a,n,null,null),We=Nt(aa,vo,25,St,15,1),K=Nt(aa,vo,25,St,15,1),G=Nt(aa,vo,25,St,15,1),tt=0,d=0;dWe[v]&&(tt=v),M=new S(t.a.b);M.aH&&(o&&(Zb(ue,j),Zb(We,pe(k.b-1))),pi=n.b,js+=j+e,j=0,C=b.Math.max(C,n.b+n.c+hr)),ku(d,pi),Eu(d,js),C=b.Math.max(C,pi+hr+n.c),j=b.Math.max(j,M),pi+=hr+e;if(C=b.Math.max(C,r),zn=js+j+n.a,znEd,Qe=b.Math.abs(j.b-G.b)>Ed,(!n&&We&&Qe||n&&(We||Qe))&&ri(tt.a,Rt)),Ua(tt.a,r),r.b==0?j=Rt:j=(Zn(r.b!=0),u(r.c.b.c,8)),dun(H,M,K),Lne(s)==_e&&(Na(_e.i)!=s.a&&(K=new Ca,Y4t(K,Na(_e.i),Mt)),Jt(tt,Qlt,K)),Bgn(H,tt,Mt),C.a.zc(H,C);Oa(tt,Kt),oa(tt,_e)}for(k=C.a.ec().Kc();k.Ob();)v=u(k.Pb(),17),Oa(v,null),oa(v,null);or(e)}function zhe(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt;if(t.gc()==1)return u(t.Xb(0),231);if(t.gc()<=0)return new B$;for(s=t.Kc();s.Ob();){for(n=u(s.Pb(),231),G=0,C=wi,M=wi,v=Sa,k=Sa,H=new S(n.e);H.ad&&(St=0,Rt+=h+gt,h=0),Fmn(K,n,St,Rt),e=b.Math.max(e,St+tt.a),h=b.Math.max(h,tt.b),St+=tt.a+gt;return K}function qhe(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G;switch(C=new Pu,t.a.g){case 3:j=u(Q(e.e,(ae(),R2)),15),H=u(Q(e.j,R2),15),G=u(Q(e.f,R2),15),n=u(Q(e.e,Z4),15),r=u(Q(e.j,Z4),15),s=u(Q(e.f,Z4),15),h=new he,Ls(h,j),H.Jc(new cQ),Ls(h,_t(H,152)?Zx(u(H,152)):_t(H,131)?u(H,131).a:_t(H,54)?new kw(H):new Om(H)),Ls(h,G),o=new he,Ls(o,n),Ls(o,_t(r,152)?Zx(u(r,152)):_t(r,131)?u(r,131).a:_t(r,54)?new kw(r):new Om(r)),Ls(o,s),Jt(e.f,R2,h),Jt(e.f,Z4,o),Jt(e.f,hCt,e.f),Jt(e.e,R2,null),Jt(e.e,Z4,null),Jt(e.j,R2,null),Jt(e.j,Z4,null);break;case 1:Ua(C,e.e.a),ri(C,e.i.n),Ua(C,l2(e.j.a)),ri(C,e.a.n),Ua(C,e.f.a);break;default:Ua(C,e.e.a),Ua(C,l2(e.j.a)),Ua(C,e.f.a)}Ah(e.f.a),Ua(e.f.a,C),Oa(e.f,e.e.c),d=u(Q(e.e,(Te(),So)),74),k=u(Q(e.j,So),74),v=u(Q(e.f,So),74),(d||k||v)&&(M=new Pu,wvt(M,v),wvt(M,k),wvt(M,d),Jt(e.f,So,M)),Oa(e.j,null),oa(e.j,null),Oa(e.e,null),oa(e.e,null),Eo(e.a,null),Eo(e.i,null),e.g&&qhe(t,e.g)}function J5n(t){cxt();var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt;if(t==null||(o=K$(t),G=$ln(o),G%4!=0))return null;if(K=G/4|0,K==0)return Nt(Gu,N4,25,0,15,1);for(M=null,e=0,n=0,r=0,s=0,h=0,d=0,v=0,k=0,H=0,j=0,C=0,M=Nt(Gu,N4,25,K*3,15,1);H>4)<<24>>24,M[j++]=((n&15)<<4|r>>2&15)<<24>>24,M[j++]=(r<<6|s)<<24>>24}return!vM(h=o[C++])||!vM(d=o[C++])?null:(e=Y1[h],n=Y1[d],v=o[C++],k=o[C++],Y1[v]==-1||Y1[k]==-1?v==61&&k==61?n&15?null:(tt=Nt(Gu,N4,25,H*3+1,15,1),Dc(M,0,tt,0,H*3),tt[j]=(e<<2|n>>4)<<24>>24,tt):v!=61&&k==61?(r=Y1[v],r&3?null:(tt=Nt(Gu,N4,25,H*3+2,15,1),Dc(M,0,tt,0,H*3),tt[j++]=(e<<2|n>>4)<<24>>24,tt[j]=((n&15)<<4|r>>2&15)<<24>>24,tt)):null:(r=Y1[v],s=Y1[k],M[j++]=(e<<2|n>>4)<<24>>24,M[j++]=((n&15)<<4|r>>2&15)<<24>>24,M[j++]=(r<<6|s)<<24>>24,M))}function txn(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt;for(vr(e,S1e,1),G=u(Q(t,(Te(),eg)),218),s=new S(t.b);s.a=2){for(K=!0,j=new S(o.j),n=u(J(j),11),H=null;j.a0&&(s=u(Ne(tt.c.a,ue-1),10),h=t.i[s.p],We=b.Math.ceil(W3(t.n,s,tt)),o=Kt.a.e-tt.d.d-(h.a.e+s.o.b+s.d.a)-We),k=as,ue0&&_e.a.e.e-_e.a.a-(_e.b.e.e-_e.b.a)<0,G=St.a.e.e-St.a.a-(St.b.e.e-St.b.a)<0&&_e.a.e.e-_e.a.a-(_e.b.e.e-_e.b.a)>0,H=St.a.e.e+St.b.a<_e.b.e.e+_e.a.a,j=St.a.e.e+St.b.a>_e.b.e.e+_e.a.a,Rt=0,!K&&!G&&(j?o+M>0?Rt=M:k-r>0&&(Rt=r):H&&(o+d>0?Rt=d:k-Mt>0&&(Rt=Mt))),Kt.a.e+=Rt,Kt.b&&(Kt.d.e+=Rt),!1))}function Vhe(t,e,n){var r,s,o,h,d,v,k,C,M,j;if(r=new ah(e.qf().a,e.qf().b,e.rf().a,e.rf().b),s=new Fx,t.c)for(h=new S(e.wf());h.ak&&(r.a+=KUt(Nt(xh,yd,25,-k,15,1))),r.a+="Is",hd(v,Cu(32))>=0)for(s=0;s=r.o.b/2}else Mt=!M;Mt?(gt=u(Q(r,(ae(),z6)),15),gt?j?o=gt:(s=u(Q(r,N6),15),s?gt.gc()<=s.gc()?o=gt:o=s:(o=new he,Jt(r,N6,o))):(o=new he,Jt(r,z6,o))):(s=u(Q(r,(ae(),N6)),15),s?M?o=s:(gt=u(Q(r,z6),15),gt?s.gc()<=gt.gc()?o=s:o=gt:(o=new he,Jt(r,z6,o))):(o=new he,Jt(r,N6,o))),o.Fc(t),Jt(t,(ae(),ZV),n),e.d==n?(oa(e,null),n.e.c.length+n.g.c.length==0&&Uo(n,null),Yun(n)):(Oa(e,null),n.e.c.length+n.g.c.length==0&&Uo(n,null)),Ah(e.a)}function ixn(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr,pi;for(Mt=new da(t.b,0),C=e.Kc(),G=0,k=u(C.Pb(),19).a,Kt=0,n=new Hs,_e=new O0;Mt.b=t.a&&(r=Hyn(t,Mt),C=b.Math.max(C,r.b),Rt=b.Math.max(Rt,r.d),le(d,new fa(Mt,r)));for(We=new he,k=0;k0),tt.a.Xb(tt.c=--tt.b),Qe=new Sh(t.b),zm(tt,Qe),Zn(tt.b0?(k=0,tt&&(k+=d),k+=(Qe-1)*h,St&&(k+=d),We&&St&&(k=b.Math.max(k,qwn(St,h,Mt,_e))),k0){for(j=C<100?null:new Dp(C),k=new gyt(e),G=k.g,gt=Nt(Cr,Xr,25,C,15,1),r=0,Rt=new Qw(C),s=0;s=0;)if(H!=null?yi(H,G[v]):Vt(H)===Vt(G[v])){gt.length<=r&&(tt=gt,gt=Nt(Cr,Xr,25,2*gt.length,15,1),Dc(tt,0,gt,0,r)),gt[r++]=s,Dr(Rt,G[v]);break t}if(H=H,Vt(H)===Vt(d))break}}if(k=Rt,G=Rt.g,C=r,r>gt.length&&(tt=gt,gt=Nt(Cr,Xr,25,r,15,1),Dc(tt,0,gt,0,r)),r>0){for(St=!0,o=0;o=0;)l6(t,gt[h]);if(r!=C){for(s=C;--s>=r;)l6(k,s);tt=gt,gt=Nt(Cr,Xr,25,r,15,1),Dc(tt,0,gt,0,r)}e=k}}}else for(e=$1n(t,e),s=t.i;--s>=0;)e.Hc(t.g[s])&&(l6(t,s),St=!0);if(St){if(gt!=null){for(n=e.gc(),M=n==1?F9(t,4,e.Kc().Pb(),null,gt[0],K):F9(t,6,e,gt,gt[0],K),j=n<100?null:new Dp(n),s=e.Kc();s.Ob();)H=s.Pb(),j=vwt(t,u(H,72),j);j?(j.Ei(M),j.Fi()):mi(t.e,M)}else{for(j=JZe(e.gc()),s=e.Kc();s.Ob();)H=s.Pb(),j=vwt(t,u(H,72),j);j&&j.Fi()}return!0}else return!1}function uxn(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St;for(n=new vse(e),n.a||Umn(e),k=Wvn(e),v=new Uw,tt=new fue,K=new S(e.a);K.a0||n.o==H1&&s0?(M=u(Ne(j.c.a,h-1),10),We=W3(t.b,j,M),tt=j.n.b-j.d.d-(M.n.b+M.o.b+M.d.a+We)):tt=j.n.b-j.d.d,k=b.Math.min(tt,k),hh?LE(t,e,n):LE(t,n,e),sh?1:0}return r=u(Q(e,(ae(),Tc)),19).a,o=u(Q(n,Tc),19).a,r>o?LE(t,e,n):LE(t,n,e),ro?1:0}function Dxt(t,e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt;if(je(Re(qe(e,(ui(),QG)))))return wn(),wn(),io;if(k=(!e.a&&(e.a=new fe(rs,e,10,11)),e.a).i!=0,M=Qpn(e),C=!M.dc(),k||C){if(s=u(qe(e,O7),149),!s)throw it(new R3("Resolved algorithm is not set; apply a LayoutAlgorithmResolver before computing layout."));if(Mt=t2t(s,(CE(),lU)),Jie(e),!k&&C&&!Mt)return wn(),wn(),io;if(v=new he,Vt(qe(e,s5))===Vt((G0(),sp))&&(t2t(s,cU)||t2t(s,oU)))for(H=Fue(t,e),G=new Zi,Ua(G,(!e.a&&(e.a=new fe(rs,e,10,11)),e.a));G.b!=0;)j=u(G.b==0?null:(Zn(G.b!=0),lh(G,G.a.a)),33),Jie(j),gt=Vt(qe(j,s5))===Vt(ZS),gt||o2(j,YS)&&!gmt(s,qe(j,O7))?(d=Dxt(t,j,n,r),Ls(v,d),wo(j,s5,ZS),Zue(j)):Ua(G,(!j.a&&(j.a=new fe(rs,j,10,11)),j.a));else for(H=(!e.a&&(e.a=new fe(rs,e,10,11)),e.a).i,h=new nr((!e.a&&(e.a=new fe(rs,e,10,11)),e.a));h.e!=h.i.gc();)o=u(dr(h),33),d=Dxt(t,o,n,r),Ls(v,d),Zue(o);for(tt=new S(v);tt.a=0?H=a6(d):H=YD(a6(d)),t.Ye(C7,H)),k=new Ca,j=!1,t.Xe(Rv)?(H2t(k,u(t.We(Rv),8)),j=!0):RQe(k,h.a/2,h.b/2),H.g){case 4:Jt(C,uu,(dh(),bb)),Jt(C,tG,(d2(),U4)),C.o.b=h.b,K<0&&(C.o.a=-K),Bs(M,(ve(),Hn)),j||(k.a=h.a),k.a-=h.a;break;case 2:Jt(C,uu,(dh(),jy)),Jt(C,tG,(d2(),w7)),C.o.b=h.b,K<0&&(C.o.a=-K),Bs(M,(ve(),Bn)),j||(k.a=0);break;case 1:Jt(C,B2,(q0(),Y4)),C.o.a=h.a,K<0&&(C.o.b=-K),Bs(M,(ve(),mr)),j||(k.b=h.b),k.b-=h.b;break;case 3:Jt(C,B2,(q0(),F6)),C.o.a=h.a,K<0&&(C.o.b=-K),Bs(M,(ve(),Pn)),j||(k.b=0)}if(H2t(M.n,k),Jt(C,Rv,k),e==Y2||e==g0||e==Gc){if(G=0,e==Y2&&t.Xe(tp))switch(H.g){case 1:case 2:G=u(t.We(tp),19).a;break;case 3:case 4:G=-u(t.We(tp),19).a}else switch(H.g){case 4:case 2:G=o.b,e==g0&&(G/=s.b);break;case 1:case 3:G=o.a,e==g0&&(G/=s.a)}Jt(C,Fv,G)}return Jt(C,oc,H),C}function fxn(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe;if(n=Xt(ye(Q(t.a.j,(Te(),GCt)))),n<-1||!t.a.i||jx(u(Q(t.a.o,cs),98))||Ko(t.a.o,(ve(),Hn)).gc()<2&&Ko(t.a.o,Bn).gc()<2)return!0;if(t.a.c.Rf())return!1;for(Kt=0,Rt=0,St=new he,v=t.a.e,k=0,C=v.length;k=n}function dxn(){dbt();function t(r){var s=this;this.dispatch=function(o){var h=o.data;switch(h.cmd){case"algorithms":var d=x3t((wn(),new T(new v1(Ab.b))));r.postMessage({id:h.id,data:d});break;case"categories":var v=x3t((wn(),new T(new v1(Ab.c))));r.postMessage({id:h.id,data:v});break;case"options":var k=x3t((wn(),new T(new v1(Ab.d))));r.postMessage({id:h.id,data:k});break;case"register":y4n(h.algorithms),r.postMessage({id:h.id});break;case"layout":t3n(h.graph,h.layoutOptions||{},h.options||{}),r.postMessage({id:h.id,data:h.graph});break}},this.saveDispatch=function(o){try{s.dispatch(o)}catch(h){r.postMessage({id:o.data.id,error:h})}}}function e(r){var s=this;this.dispatcher=new t({postMessage:function(o){s.onmessage({data:o})}}),this.postMessage=function(o){setTimeout(function(){s.dispatcher.saveDispatch({data:o})},0)}}if(typeof document===_ot&&typeof self!==_ot){var n=new t(self);self.onmessage=n.saveDispatch}else typeof p!==_ot&&p.exports&&(Object.defineProperty(w,"__esModule",{value:!0}),p.exports={default:e,Worker:e})}function gxn(t){t.N||(t.N=!0,t.b=ic(t,0),ns(t.b,0),ns(t.b,1),ns(t.b,2),t.bb=ic(t,1),ns(t.bb,0),ns(t.bb,1),t.fb=ic(t,2),ns(t.fb,3),ns(t.fb,4),Fi(t.fb,5),t.qb=ic(t,3),ns(t.qb,0),Fi(t.qb,1),Fi(t.qb,2),ns(t.qb,3),ns(t.qb,4),Fi(t.qb,5),ns(t.qb,6),t.a=oi(t,4),t.c=oi(t,5),t.d=oi(t,6),t.e=oi(t,7),t.f=oi(t,8),t.g=oi(t,9),t.i=oi(t,10),t.j=oi(t,11),t.k=oi(t,12),t.n=oi(t,13),t.o=oi(t,14),t.p=oi(t,15),t.q=oi(t,16),t.s=oi(t,17),t.r=oi(t,18),t.t=oi(t,19),t.u=oi(t,20),t.v=oi(t,21),t.w=oi(t,22),t.B=oi(t,23),t.A=oi(t,24),t.C=oi(t,25),t.D=oi(t,26),t.F=oi(t,27),t.G=oi(t,28),t.H=oi(t,29),t.J=oi(t,30),t.I=oi(t,31),t.K=oi(t,32),t.M=oi(t,33),t.L=oi(t,34),t.P=oi(t,35),t.Q=oi(t,36),t.R=oi(t,37),t.S=oi(t,38),t.T=oi(t,39),t.U=oi(t,40),t.V=oi(t,41),t.X=oi(t,42),t.W=oi(t,43),t.Y=oi(t,44),t.Z=oi(t,45),t.$=oi(t,46),t._=oi(t,47),t.ab=oi(t,48),t.cb=oi(t,49),t.db=oi(t,50),t.eb=oi(t,51),t.gb=oi(t,52),t.hb=oi(t,53),t.ib=oi(t,54),t.jb=oi(t,55),t.kb=oi(t,56),t.lb=oi(t,57),t.mb=oi(t,58),t.nb=oi(t,59),t.ob=oi(t,60),t.pb=oi(t,61))}function pxn(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt;if(Mt=0,e.f.a==0)for(tt=new S(t);tt.ak&&(An(k,e.c.length),u(e.c[k],200)).a.c.length==0;)mu(e,(An(k,e.c.length),e.c[k]));if(!v){--o;continue}if(eyn(e,C,s,v,j,n,k,r)){M=!0;continue}if(j){if(c3n(e,C,s,v,n,k,r)){M=!0;continue}else if(Yyt(C,s)){s.c=!0,M=!0;continue}}else if(Yyt(C,s)){s.c=!0,M=!0;continue}if(M)continue}if(Yyt(C,s)){s.c=!0,M=!0,v&&(v.k=!1);continue}else nq(s.q)}return M}function zat(t,e,n,r,s,o,h){var d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr,pi,js;for(K=0,Rn=0,k=new S(t.b);k.aK&&(o&&(Zb(ue,H),Zb(We,pe(C.b-1)),le(t.d,G),d.c=Nt(Qn,De,1,0,5,1)),pi=n.b,js+=H+e,H=0,M=b.Math.max(M,n.b+n.c+hr)),d.c[d.c.length]=v,hse(v,pi,js),M=b.Math.max(M,pi+hr+n.c),H=b.Math.max(H,j),pi+=hr+e,G=v;if(Ls(t.a,d),le(t.d,u(Ne(d,d.c.length-1),157)),M=b.Math.max(M,r),zn=js+H+n.a,zn1&&(h=b.Math.min(h,b.Math.abs(u(Zf(d.a,1),8).b-C.b)))));else for(K=new S(e.j);K.as&&(o=j.a-s,h=wi,r.c=Nt(Qn,De,1,0,5,1),s=j.a),j.a>=s&&(r.c[r.c.length]=d,d.a.b>1&&(h=b.Math.min(h,b.Math.abs(u(Zf(d.a,d.a.b-2),8).b-j.b)))));if(r.c.length!=0&&o>e.o.a/2&&h>e.o.b/2){for(H=new Mc,Uo(H,e),Bs(H,(ve(),Pn)),H.n.a=e.o.a/2,gt=new Mc,Uo(gt,e),Bs(gt,mr),gt.n.a=e.o.a/2,gt.n.b=e.o.b,v=new S(r);v.a=k.b?Oa(d,gt):Oa(d,H)):(k=u(hen(d.a),8),tt=d.a.b==0?_1(d.c):u(Aj(d.a),8),tt.b>=k.b?oa(d,gt):oa(d,H)),M=u(Q(d,(Te(),So)),74),M&&ay(M,k,!0);e.n.a=s-e.o.a/2}}function yxn(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr,pi,js,Zl,Xh;if(Rn=null,hr=e,zn=ZZt(t,YZt(n),hr),G9(zn,R0(hr,Ad)),pi=u(n4(t.g,f6(B0(hr,Xct))),33),j=B0(hr,"sourcePort"),r=null,j&&(r=f6(j)),js=u(n4(t.j,r),118),!pi)throw d=pE(hr),G="An edge must have a source node (edge id: '"+d,K=G+JE,it(new ud(K));if(js&&!pd(T1(js),pi))throw v=R0(hr,Ad),tt="The source port of an edge must be a port of the edge's source node (edge id: '"+v,gt=tt+JE,it(new ud(gt));if(We=(!zn.b&&(zn.b=new Cn(br,zn,4,7)),zn.b),o=null,js?o=js:o=pi,Dr(We,o),Zl=u(n4(t.g,f6(B0(hr,M8t))),33),H=B0(hr,"targetPort"),s=null,H&&(s=f6(H)),Xh=u(n4(t.j,s),118),!Zl)throw M=pE(hr),Mt="An edge must have a target node (edge id: '"+M,St=Mt+JE,it(new ud(St));if(Xh&&!pd(T1(Xh),Zl))throw k=R0(hr,Ad),Rt="The target port of an edge must be a port of the edge's target node (edge id: '"+k,Kt=Rt+JE,it(new ud(Kt));if(Qe=(!zn.c&&(zn.c=new Cn(br,zn,5,8)),zn.c),h=null,Xh?h=Xh:h=Zl,Dr(Qe,h),(!zn.b&&(zn.b=new Cn(br,zn,4,7)),zn.b).i==0||(!zn.c&&(zn.c=new Cn(br,zn,5,8)),zn.c).i==0)throw C=R0(hr,Ad),ue=Vde+C,_e=ue+JE,it(new ud(_e));return lq(hr,zn),l2n(hr,zn),Rn=Lit(t,hr,zn),Rn}function Khe(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn;return M=Eyn(bu(t,(ve(),U1)),e),G=d4(bu(t,Mf),e),Rt=d4(bu(t,Kl),e),We=rq(bu(t,Vh),e),j=rq(bu(t,mh),e),Mt=d4(bu(t,Df),e),K=d4(bu(t,el),e),ue=d4(bu(t,Xl),e),Kt=d4(bu(t,yh),e),Qe=rq(bu(t,lu),e),gt=d4(bu(t,Au),e),St=d4(bu(t,nl),e),_e=d4(bu(t,Su),e),Rn=rq(bu(t,Lu),e),H=rq(bu(t,Vu),e),tt=d4(bu(t,Uc),e),n=s4(lt(ct(aa,1),vo,25,15,[Mt.a,We.a,ue.a,Rn.a])),r=s4(lt(ct(aa,1),vo,25,15,[G.a,M.a,Rt.a,tt.a])),s=gt.a,o=s4(lt(ct(aa,1),vo,25,15,[K.a,j.a,Kt.a,H.a])),k=s4(lt(ct(aa,1),vo,25,15,[Mt.b,G.b,K.b,St.b])),v=s4(lt(ct(aa,1),vo,25,15,[We.b,M.b,j.b,tt.b])),C=Qe.b,d=s4(lt(ct(aa,1),vo,25,15,[ue.b,Rt.b,Kt.b,_e.b])),Bg(bu(t,U1),n+s,k+C),Bg(bu(t,Uc),n+s,k+C),Bg(bu(t,Mf),n+s,0),Bg(bu(t,Kl),n+s,k+C+v),Bg(bu(t,Vh),0,k+C),Bg(bu(t,mh),n+s+r,k+C),Bg(bu(t,el),n+s+r,0),Bg(bu(t,Xl),0,k+C+v),Bg(bu(t,yh),n+s+r,k+C+v),Bg(bu(t,lu),0,k),Bg(bu(t,Au),n,0),Bg(bu(t,Su),0,k+C+v),Bg(bu(t,Vu),n+s+r,0),h=new Ca,h.a=s4(lt(ct(aa,1),vo,25,15,[n+r+s+o,Qe.a,St.a,_e.a])),h.b=s4(lt(ct(aa,1),vo,25,15,[k+v+C+d,gt.b,Rn.b,H.b])),h}function xxn(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt;for(K=new he,j=new S(t.d.b);j.as.d.d+s.d.a?C.f.d=!0:(C.f.d=!0,C.f.a=!0))),r.b!=r.d.c&&(e=n);C&&(o=u(tr(t.f,h.d.i),57),e.bo.d.d+o.d.a?C.f.d=!0:(C.f.d=!0,C.f.a=!0))}for(d=new ar(lr(jo(H).a.Kc(),new z));zr(d);)h=u(Mr(d),17),h.a.b!=0&&(e=u(Aj(h.a),8),h.d.j==(ve(),Pn)&&(tt=new T_(e,new $e(e.a,s.d.d),s,h),tt.f.a=!0,tt.a=h.d,K.c[K.c.length]=tt),h.d.j==mr&&(tt=new T_(e,new $e(e.a,s.d.d+s.d.a),s,h),tt.f.d=!0,tt.a=h.d,K.c[K.c.length]=tt))}return K}function kxn(t,e,n){var r,s,o,h,d,v,k,C,M;if(vr(n,"Network simplex node placement",1),t.e=e,t.n=u(Q(e,(ae(),Q4)),304),j3n(t),m0n(t),ls(Wo(new Tn(null,new _n(t.e.b,16)),new EQ),new q$t(t)),ls(Ri(Wo(Ri(Wo(new Tn(null,new _n(t.e.b,16)),new WT),new OQ),new PQ),new FQ),new z$t(t)),je(Re(Q(t.e,(Te(),SS))))&&(h=Rc(n,1),vr(h,"Straight Edges Pre-Processing",1),i5n(t),or(h)),t1n(t.f),o=u(Q(e,MS),19).a*t.f.a.c.length,mat(abt(obt(Mnt(t.f),o),!1),Rc(n,1)),t.d.a.gc()!=0){for(h=Rc(n,1),vr(h,"Flexible Where Space Processing",1),d=u(Nw(t$(wu(new Tn(null,new _n(t.f.a,16)),new TQ),new wQ)),19).a,v=u(Nw(Jj(wu(new Tn(null,new _n(t.f.a,16)),new CQ),new vQ)),19).a,k=v-d,C=Fw(new Xb,t.f),M=Fw(new Xb,t.f),yf(lf(uf(cf(hf(new Ch,2e4),k),C),M)),ls(Ri(Ri(Qnt(t.i),new _Q),new SQ),new jXt(d,C,k,M)),s=t.d.a.ec().Kc();s.Ob();)r=u(s.Pb(),213),r.g=1;mat(abt(obt(Mnt(t.f),o),!1),Rc(h,1)),or(h)}je(Re(Q(e,SS)))&&(h=Rc(n,1),vr(h,"Straight Edges Post-Processing",1),upn(t),or(h)),q4n(t),t.e=null,t.f=null,t.i=null,t.c=null,Xu(t.k),t.j=null,t.a=null,t.o=null,t.d.a.$b(),or(n)}function Exn(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt;for(d=new S(t.a.b);d.a0)if(r=M.gc(),k=ps(b.Math.floor((r+1)/2))-1,s=ps(b.Math.ceil((r+1)/2))-1,e.o==H1)for(C=s;C>=k;C--)e.a[Rt.p]==Rt&&(K=u(M.Xb(C),46),G=u(K.a,10),!I0(n,K.b)&&H>t.b.e[G.p]&&(e.a[G.p]=Rt,e.g[Rt.p]=e.g[G.p],e.a[Rt.p]=e.g[Rt.p],e.f[e.g[Rt.p].p]=(Nn(),!!(je(e.f[e.g[Rt.p].p])&Rt.k==(Vn(),ta))),H=t.b.e[G.p]));else for(C=k;C<=s;C++)e.a[Rt.p]==Rt&&(gt=u(M.Xb(C),46),tt=u(gt.a,10),!I0(n,gt.b)&&H=G&&(Mt>G&&(H.c=Nt(Qn,De,1,0,5,1),G=Mt),H.c[H.c.length]=h);H.c.length!=0&&(j=u(Ne(H,Zz(e,H.c.length)),128),zn.a.Bc(j)!=null,j.s=K++,A5t(j,Qe,ue),H.c=Nt(Qn,De,1,0,5,1))}for(Rt=t.c.length+1,d=new S(t);d.aRn.s&&(Cl(n),mu(Rn.i,r),r.c>0&&(r.a=Rn,le(Rn.t,r),r.b=_e,le(_e.i,r)))}function Ixt(t){var e,n,r,s,o;switch(e=t.c,e){case 11:return t.Ml();case 12:return t.Ol();case 14:return t.Ql();case 15:return t.Tl();case 16:return t.Rl();case 17:return t.Ul();case 21:return fi(t),gi(),gi(),pA;case 10:switch(t.a){case 65:return t.yl();case 90:return t.Dl();case 122:return t.Kl();case 98:return t.El();case 66:return t.zl();case 60:return t.Jl();case 62:return t.Hl()}}switch(o=vxn(t),e=t.c,e){case 3:return t.Zl(o);case 4:return t.Xl(o);case 5:return t.Yl(o);case 0:if(t.a==123&&t.d=48&&e<=57){for(r=e-48;s=48&&e<=57;)if(r=r*10+e-48,r<0)throw it(new Nr(qr((Pr(),N8t))))}else throw it(new Nr(qr((Pr(),v0e))));if(n=r,e==44){if(s>=t.j)throw it(new Nr(qr((Pr(),y0e))));if((e=wa(t.i,s++))>=48&&e<=57){for(n=e-48;s=48&&e<=57;)if(n=n*10+e-48,n<0)throw it(new Nr(qr((Pr(),N8t))));if(r>n)throw it(new Nr(qr((Pr(),x0e))))}else n=-1}if(e!=125)throw it(new Nr(qr((Pr(),m0e))));t.sl(s)?(o=(gi(),gi(),new Xm(9,o)),t.d=s+1):(o=(gi(),gi(),new Xm(3,o)),t.d=s),o.dm(r),o.cm(n),fi(t)}}return o}function Xhe(t,e,n,r,s){var o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn;for(K=new Xc(e.b),Rt=new Xc(e.b),j=new Xc(e.b),We=new Xc(e.b),tt=new Xc(e.b),_e=ei(e,0);_e.b!=_e.d.c;)for(Kt=u(ti(_e),11),d=new S(Kt.g);d.a0,gt=Kt.g.c.length>0,k&>?j.c[j.c.length]=Kt:k?K.c[K.c.length]=Kt:gt&&(Rt.c[Rt.c.length]=Kt);for(G=new S(K);G.a1)for(G=new Nx((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a));G.e!=G.i.gc();)f_(G);for(h=u(At((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a),0),202),tt=pi,pi>Kt+Rt?tt=Kt+Rt:piue+K?gt=ue+K:jsKt-Rt&&ttue-K&>pi+hr?We=pi+hr:Ktjs+_e?Qe=js+_e:uepi-hr&&Wejs-_e&&Qen&&(j=n-1),H=xP+ul(e,24)*$I*M-M/2,H<0?H=1:H>r&&(H=r-1),s=(Sw(),v=new xp,v),iz(s,j),sz(s,H),Dr((!h.a&&(h.a=new As(Gh,h,5)),h.a),s)}function Te(){Te=Z,lht=(ui(),p4e),y9t=b4e,OO=hAt,Tf=w4e,V6=fAt,jv=v4e,Wy=dAt,S7=gAt,A7=pAt,hht=JG,$v=W2,fht=m4e,LS=vAt,bG=K6,IO=(Fxt(),fve),J4=dve,q2=gve,t5=pve,Zve=new eo(ZG,pe(0)),_7=uve,m9t=lve,H6=hve,A9t=Bve,x9t=vve,k9t=xve,ght=Ave,E9t=Tve,T9t=_ve,wG=zve,pht=Rve,_9t=Ove,C9t=Dve,S9t=Fve,Bv=rve,AS=ive,sht=xwe,QCt=Ewe,g9t=new Ow(12),d9t=new eo(U2,g9t),YCt=(W0(),N7),eg=new eo(zSt,YCt),Vy=new eo(dl,0),Jve=new eo(Eft,pe(1)),rG=new eo(W6,GE),z2=QG,cs=KS,C7=u5,Gve=QO,Id=a4e,qy=s5,tme=new eo(Tft,(Nn(),!0)),Hy=ZO,j2=bft,$2=G2,pG=xb,uht=XG,WCt=(ao(),h0),Wl=new eo(qv,WCt),Nv=o5,dG=XSt,Gy=Qy,Qve=kft,w9t=uAt,b9t=(l4(),iP),new eo(iAt,b9t),Yve=vft,Kve=mft,Xve=yft,Wve=wft,dht=wve,c9t=Gwe,oht=Vwe,MS=bve,uu=Bwe,zy=dwe,_S=fwe,$y=J2e,VCt=twe,eht=iwe,DO=ewe,nht=lwe,u9t=Uwe,l9t=Wwe,r9t=Dwe,gG=ove,cht=Xwe,aht=_we,f9t=eve,XCt=mwe,iht=ywe,tht=YG,h9t=Ywe,sG=U2e,zCt=G2e,iG=V2e,t9t=Lwe,JCt=Awe,e9t=Mwe,E7=c5,So=a5,Jg=HSt,Od=pft,rht=gft,GCt=awe,tp=xft,CS=u4e,lG=l4e,Rv=aAt,p9t=h4e,T7=f4e,s9t=jwe,a9t=zwe,Uy=Y6,Zlt=H2e,o9t=Hwe,uG=bwe,cG=pwe,fG=JO,i9t=Pwe,SS=Zwe,PO=bAt,UCt=gwe,v9t=cve,KCt=wwe,Uve=Nwe,Vve=cwe,n9t=WSt,hG=Rwe,oG=uwe,wb=Z2e,HCt=X2e,aG=Y2e,qCt=K2e,Jlt=Q2e,q6=W2e,ZCt=Swe}function Hat(t,e){Lat();var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr,pi;if(We=t.e,G=t.d,s=t.a,We==0)switch(e){case 0:return"0";case 1:return $E;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return ue=new Mp,e<0?ue.a+="0E+":ue.a+="0E",ue.a+=-e,ue.a}if(St=G*10+1+7,Rt=Nt(xh,yd,25,St+1,15,1),n=St,G==1)if(d=s[0],d<0){pi=Ns(d,co);do K=pi,pi=aI(pi,10),Rt[--n]=48+Ar(Jp(K,_a(pi,10)))&ys;while(yc(pi,0)!=0)}else{pi=d;do K=pi,pi=pi/10|0,Rt[--n]=48+(K-pi*10)&ys;while(pi!=0)}else{Rn=Nt(Cr,Xr,25,G,15,1),hr=G,Dc(s,0,Rn,0,hr);t:for(;;){for(_e=0,k=hr-1;k>=0;k--)zn=Pa(F0(_e,32),Ns(Rn[k],co)),gt=P0n(zn),Rn[k]=Ar(gt),_e=Ar($p(gt,32));Mt=Ar(_e),tt=n;do Rt[--n]=48+Mt%10&ys;while((Mt=Mt/10|0)!=0&&n!=0);for(r=9-tt+n,v=0;v0;v++)Rt[--n]=48;for(M=hr-1;Rn[M]==0;M--)if(M==0)break t;hr=M+1}for(;Rt[n]==48;)++n}if(H=We<0,h=St-n-e-1,e==0)return H&&(Rt[--n]=45),Mh(Rt,n,St-n);if(e>0&&h>=-6){if(h>=0){for(C=n+h,j=St-1;j>=C;j--)Rt[j+1]=Rt[j];return Rt[++C]=46,H&&(Rt[--n]=45),Mh(Rt,n,St-n+1)}for(M=2;M<-h+1;M++)Rt[--n]=48;return Rt[--n]=46,Rt[--n]=48,H&&(Rt[--n]=45),Mh(Rt,n,St-n)}return Qe=n+1,o=St,Kt=new Im,H&&(Kt.a+="-"),o-Qe>=1?(qp(Kt,Rt[n]),Kt.a+=".",Kt.a+=Mh(Rt,n+1,St-n-1)):Kt.a+=Mh(Rt,n,St-n),Kt.a+="E",h>0&&(Kt.a+="+"),Kt.a+=""+h,Kt.a}function Jhe(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue;switch(t.c=e,t.g=new _r,n=(Pm(),new Mm(t.c)),r=new er(n),p3t(r),St=Br(qe(t.c,(cI(),lSt))),v=u(qe(t.c,sft),316),Kt=u(qe(t.c,aft),429),h=u(qe(t.c,oSt),482),Rt=u(qe(t.c,ift),430),t.j=Xt(ye(qe(t.c,M3e))),d=t.a,v.g){case 0:d=t.a;break;case 1:d=t.b;break;case 2:d=t.i;break;case 3:d=t.e;break;case 4:d=t.f;break;default:throw it(new Fn(_H+(v.f!=null?v.f:""+v.g)))}if(t.d=new EQt(d,Kt,h),Jt(t.d,(Z8(),fS),Re(qe(t.c,A3e))),t.d.c=je(Re(qe(t.c,cSt))),p$(t.c).i==0)return t.d;for(M=new nr(p$(t.c));M.e!=M.i.gc();){for(C=u(dr(M),33),H=C.g/2,j=C.f/2,ue=new $e(C.i+H,C.j+j);Tl(t.g,ue);)jm(ue,(b.Math.random()-.5)*Ed,(b.Math.random()-.5)*Ed);K=u(qe(C,(ui(),JO)),142),tt=new $Qt(ue,new ah(ue.a-H-t.j/2-K.b,ue.b-j-t.j/2-K.d,C.g+t.j+(K.b+K.c),C.f+t.j+(K.d+K.a))),le(t.d.i,tt),ki(t.g,ue,new fa(tt,C))}switch(Rt.g){case 0:if(St==null)t.d.d=u(Ne(t.d.i,0),65);else for(Mt=new S(t.d.i);Mt.a1&&fs(C,gt,C.c.b,C.c),tz(s)));gt=Mt}return C}function Mxn(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr,pi,js,Zl,Xh,K1;for(vr(n,"Greedy cycle removal",1),St=e.a,K1=St.c.length,t.a=Nt(Cr,Xr,25,K1,15,1),t.c=Nt(Cr,Xr,25,K1,15,1),t.b=Nt(Cr,Xr,25,K1,15,1),k=0,gt=new S(St);gt.a0?hr+1:1);for(h=new S(ue.g);h.a0?hr+1:1)}t.c[k]==0?ri(t.e,K):t.a[k]==0&&ri(t.f,K),++k}for(G=-1,H=1,M=new he,t.d=u(Q(e,(ae(),$6)),230);K1>0;){for(;t.e.b!=0;)js=u(Ont(t.e),10),t.b[js.p]=G--,ext(t,js),--K1;for(;t.f.b!=0;)Zl=u(Ont(t.f),10),t.b[Zl.p]=H++,ext(t,Zl),--K1;if(K1>0){for(j=Sa,Mt=new S(St);Mt.a=j&&(Rt>j&&(M.c=Nt(Qn,De,1,0,5,1),j=Rt),M.c[M.c.length]=K));C=t.Zf(M),t.b[C.p]=H++,ext(t,C),--K1}}for(pi=St.c.length+1,k=0;kt.b[Xh]&&(bv(r,!0),Jt(e,_O,(Nn(),!0)));t.a=null,t.c=null,t.b=null,Ah(t.f),Ah(t.e),or(n)}function efe(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt;for(r=new he,d=new he,tt=e/2,H=t.gc(),s=u(t.Xb(0),8),gt=u(t.Xb(1),8),G=rat(s.a,s.b,gt.a,gt.b,tt),le(r,(An(0,G.c.length),u(G.c[0],8))),le(d,(An(1,G.c.length),u(G.c[1],8))),k=2;k=0;v--)ri(n,(An(v,h.c.length),u(h.c[v],8)));return n}function Dxn(t){var e,n,r,s,o,h,d,v,k,C,M,j,H;if(h=!0,M=null,r=null,s=null,e=!1,H=o5e,k=null,o=null,d=0,v=ust(t,d,nLt,rLt),v=0&&hn(t.substr(d,2),"//")?(d+=2,v=ust(t,d,oA,cA),r=t.substr(d,v-d),d=v):M!=null&&(d==t.length||(Rr(d,t.length),t.charCodeAt(d)!=47))&&(h=!1,v=O2t(t,Cu(35),d),v==-1&&(v=t.length),r=t.substr(d,v-d),d=v);if(!n&&d0&&wa(C,C.length-1)==58&&(s=C,d=v)),d=t.j){t.a=-1,t.c=1;return}if(e=wa(t.i,t.d++),t.a=e,t.b==1){switch(e){case 92:if(r=10,t.d>=t.j)throw it(new Nr(qr((Pr(),OH))));t.a=wa(t.i,t.d++);break;case 45:(t.e&512)==512&&t.d=t.j||wa(t.i,t.d)!=63)break;if(++t.d>=t.j)throw it(new Nr(qr((Pr(),out))));switch(e=wa(t.i,t.d++),e){case 58:r=13;break;case 61:r=14;break;case 33:r=15;break;case 91:r=19;break;case 62:r=18;break;case 60:if(t.d>=t.j)throw it(new Nr(qr((Pr(),out))));if(e=wa(t.i,t.d++),e==61)r=16;else if(e==33)r=17;else throw it(new Nr(qr((Pr(),t0e))));break;case 35:for(;t.d=t.j)throw it(new Nr(qr((Pr(),OH))));t.a=wa(t.i,t.d++);break;default:r=0}t.c=r}function Oxn(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr;if(_e=u(Q(t,(Te(),cs)),98),_e!=(ua(),G1)&&_e!=Tb){for(G=t.b,H=G.c.length,C=new Xc((jl(H+2,Yat),J$(Pa(Pa(5,H+2),(H+2)/10|0)))),K=new Xc((jl(H+2,Yat),J$(Pa(Pa(5,H+2),(H+2)/10|0)))),le(C,new _r),le(C,new _r),le(K,new he),le(K,new he),ue=new he,e=0;e=Kt||!tfn(gt,r))&&(r=XQt(e,C)),Eo(gt,r),o=new ar(lr(jo(gt).a.Kc(),new z));zr(o);)s=u(Mr(o),17),!t.a[s.p]&&(K=s.c.i,--t.e[K.p],t.e[K.p]==0&&R8(xE(H,K)));for(k=C.c.length-1;k>=0;--k)le(e.b,(An(k,C.c.length),u(C.c[k],29)));e.a.c=Nt(Qn,De,1,0,5,1),or(n)}function nfe(t){var e,n,r,s,o,h,d,v,k;for(t.b=1,fi(t),e=null,t.c==0&&t.a==94?(fi(t),e=(gi(),gi(),new Nl(4)),jc(e,0,e7),d=new Nl(4)):d=(gi(),gi(),new Nl(4)),s=!0;(k=t.c)!=1;){if(k==0&&t.a==93&&!s){e&&(L_(e,d),d=e);break}if(n=t.a,r=!1,k==10)switch(n){case 100:case 68:case 119:case 87:case 115:case 83:yy(d,ME(n)),r=!0;break;case 105:case 73:case 99:case 67:n=(yy(d,ME(n)),-1),n<0&&(r=!0);break;case 112:case 80:if(v=u5t(t,n),!v)throw it(new Nr(qr((Pr(),cut))));yy(d,v),r=!0;break;default:n=H5t(t)}else if(k==24&&!s){if(e&&(L_(e,d),d=e),o=nfe(t),L_(d,o),t.c!=0||t.a!=93)throw it(new Nr(qr((Pr(),l0e))));break}if(fi(t),!r){if(k==0){if(n==91)throw it(new Nr(qr((Pr(),P8t))));if(n==93)throw it(new Nr(qr((Pr(),F8t))));if(n==45&&!s&&t.a!=93)throw it(new Nr(qr((Pr(),uut))))}if(t.c!=0||t.a!=45||n==45&&s)jc(d,n,n);else{if(fi(t),(k=t.c)==1)throw it(new Nr(qr((Pr(),PH))));if(k==0&&t.a==93)jc(d,n,n),jc(d,45,45);else{if(k==0&&t.a==93||k==24)throw it(new Nr(qr((Pr(),uut))));if(h=t.a,k==0){if(h==91)throw it(new Nr(qr((Pr(),P8t))));if(h==93)throw it(new Nr(qr((Pr(),F8t))));if(h==45)throw it(new Nr(qr((Pr(),uut))))}else k==10&&(h=H5t(t));if(fi(t),n>h)throw it(new Nr(qr((Pr(),d0e))));jc(d,n,h)}}}s=!1}if(t.c==1)throw it(new Nr(qr((Pr(),PH))));return v4(d),S_(d),t.b=0,fi(t),d}function Fxn(t){Ir(t.c,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#decimal"])),Ir(t.d,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#integer"])),Ir(t.e,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#boolean"])),Ir(t.f,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"EBoolean",ci,"EBoolean:Object"])),Ir(t.i,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#byte"])),Ir(t.g,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#hexBinary"])),Ir(t.j,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"EByte",ci,"EByte:Object"])),Ir(t.n,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"EChar",ci,"EChar:Object"])),Ir(t.t,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#double"])),Ir(t.u,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"EDouble",ci,"EDouble:Object"])),Ir(t.F,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#float"])),Ir(t.G,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"EFloat",ci,"EFloat:Object"])),Ir(t.I,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#int"])),Ir(t.J,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"EInt",ci,"EInt:Object"])),Ir(t.N,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#long"])),Ir(t.O,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"ELong",ci,"ELong:Object"])),Ir(t.Z,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#short"])),Ir(t.$,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"EShort",ci,"EShort:Object"])),Ir(t._,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#string"]))}function Nxn(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr;if(t.c.length==1)return An(0,t.c.length),u(t.c[0],135);if(t.c.length<=0)return new j$;for(v=new S(t);v.aM&&(zn=0,hr+=C+_e,C=0),U2n(Kt,h,zn,hr),e=b.Math.max(e,zn+ue.a),C=b.Math.max(C,ue.b),zn+=ue.a+_e;for(Rt=new _r,n=new _r,Qe=new S(t);Qe.aiat(o))&&(M=o);for(!M&&(M=(An(0,tt.c.length),u(tt.c[0],180))),K=new S(e.b);K.a=-1900?1:0,n>=4?Gr(t,lt(ct(Ae,1),ee,2,6,[mfe,yfe])[d]):Gr(t,lt(ct(Ae,1),ee,2,6,["BC","AD"])[d]);break;case 121:Mfn(t,n,r);break;case 77:Pmn(t,n,r);break;case 107:v=s.q.getHours(),v==0?Jd(t,24,n):Jd(t,v,n);break;case 83:ewn(t,n,s);break;case 69:C=r.q.getDay(),n==5?Gr(t,lt(ct(Ae,1),ee,2,6,["S","M","T","W","T","F","S"])[C]):n==4?Gr(t,lt(ct(Ae,1),ee,2,6,[cot,uot,lot,hot,fot,dot,got])[C]):Gr(t,lt(ct(Ae,1),ee,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[C]);break;case 97:s.q.getHours()>=12&&s.q.getHours()<24?Gr(t,lt(ct(Ae,1),ee,2,6,["AM","PM"])[1]):Gr(t,lt(ct(Ae,1),ee,2,6,["AM","PM"])[0]);break;case 104:M=s.q.getHours()%12,M==0?Jd(t,12,n):Jd(t,M,n);break;case 75:j=s.q.getHours()%12,Jd(t,j,n);break;case 72:H=s.q.getHours(),Jd(t,H,n);break;case 99:G=r.q.getDay(),n==5?Gr(t,lt(ct(Ae,1),ee,2,6,["S","M","T","W","T","F","S"])[G]):n==4?Gr(t,lt(ct(Ae,1),ee,2,6,[cot,uot,lot,hot,fot,dot,got])[G]):n==3?Gr(t,lt(ct(Ae,1),ee,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[G]):Jd(t,G,1);break;case 76:K=r.q.getMonth(),n==5?Gr(t,lt(ct(Ae,1),ee,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[K]):n==4?Gr(t,lt(ct(Ae,1),ee,2,6,[Qat,Zat,Jat,tot,w6,eot,not,rot,iot,sot,aot,oot])[K]):n==3?Gr(t,lt(ct(Ae,1),ee,2,6,["Jan","Feb","Mar","Apr",w6,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[K]):Jd(t,K+1,n);break;case 81:tt=r.q.getMonth()/3|0,n<4?Gr(t,lt(ct(Ae,1),ee,2,6,["Q1","Q2","Q3","Q4"])[tt]):Gr(t,lt(ct(Ae,1),ee,2,6,["1st quarter","2nd quarter","3rd quarter","4th quarter"])[tt]);break;case 100:gt=r.q.getDate(),Jd(t,gt,n);break;case 109:k=s.q.getMinutes(),Jd(t,k,n);break;case 115:h=s.q.getSeconds(),Jd(t,h,n);break;case 122:n<4?Gr(t,o.c[0]):Gr(t,o.c[1]);break;case 118:Gr(t,o.b);break;case 90:n<3?Gr(t,Vpn(o)):n==3?Gr(t,Wpn(o)):Gr(t,Ypn(o.a));break;default:return!1}return!0}function Pxt(t,e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr,pi;if(Hue(e),v=u(At((!e.b&&(e.b=new Cn(br,e,4,7)),e.b),0),82),C=u(At((!e.c&&(e.c=new Cn(br,e,5,8)),e.c),0),82),d=Do(v),k=Do(C),h=(!e.a&&(e.a=new fe(Ji,e,6,6)),e.a).i==0?null:u(At((!e.a&&(e.a=new fe(Ji,e,6,6)),e.a),0),202),_e=u(tr(t.a,d),10),zn=u(tr(t.a,k),10),We=null,hr=null,_t(v,186)&&(ue=u(tr(t.a,v),299),_t(ue,11)?We=u(ue,11):_t(ue,10)&&(_e=u(ue,10),We=u(Ne(_e.j,0),11))),_t(C,186)&&(Rn=u(tr(t.a,C),299),_t(Rn,11)?hr=u(Rn,11):_t(Rn,10)&&(zn=u(Rn,10),hr=u(Ne(zn.j,0),11))),!_e||!zn)throw it(new jC("The source or the target of edge "+e+" could not be found. This usually happens when an edge connects a node laid out by ELK Layered to a node in another level of hierarchy laid out by either another instance of ELK Layered or another layout algorithm alltogether. The former can be solved by setting the hierarchyHandling option to INCLUDE_CHILDREN."));for(K=new Vw,Mo(K,e),Jt(K,(ae(),_i),e),Jt(K,(Te(),So),null),H=u(Q(r,Vc),21),_e==zn&&H.Fc((oo(),xS)),We||(Kt=(so(),nu),Qe=null,h&&G3(u(Q(_e,cs),98))&&(Qe=new $e(h.j,h.k),JZt(Qe,cD(e)),LJt(Qe,n),ey(k,d)&&(Kt=tl,Li(Qe,_e.n))),We=zle(_e,Qe,Kt,r)),hr||(Kt=(so(),tl),pi=null,h&&G3(u(Q(zn,cs),98))&&(pi=new $e(h.b,h.c),JZt(pi,cD(e)),LJt(pi,n)),hr=zle(zn,pi,Kt,Na(zn))),Oa(K,We),oa(K,hr),(We.e.c.length>1||We.g.c.length>1||hr.e.c.length>1||hr.g.c.length>1)&&H.Fc((oo(),yS)),j=new nr((!e.n&&(e.n=new fe(qo,e,1,7)),e.n));j.e!=j.i.gc();)if(M=u(dr(j),137),!je(Re(qe(M,z2)))&&M.a)switch(tt=Vit(M),le(K.b,tt),u(Q(tt,Od),272).g){case 1:case 2:H.Fc((oo(),m7));break;case 0:H.Fc((oo(),v7)),Jt(tt,Od,(M1(),P7))}if(o=u(Q(r,_S),314),gt=u(Q(r,gG),315),s=o==(n6(),EO)||gt==(u_(),xht),h&&(!h.a&&(h.a=new As(Gh,h,5)),h.a).i!=0&&s){for(Mt=lI(h),G=new Pu,Rt=ei(Mt,0);Rt.b!=Rt.d.c;)St=u(ti(Rt),8),ri(G,new xo(St));Jt(K,aCt,G)}return K}function $xn(t){t.gb||(t.gb=!0,t.b=ic(t,0),ns(t.b,18),Fi(t.b,19),t.a=ic(t,1),ns(t.a,1),Fi(t.a,2),Fi(t.a,3),Fi(t.a,4),Fi(t.a,5),t.o=ic(t,2),ns(t.o,8),ns(t.o,9),Fi(t.o,10),Fi(t.o,11),Fi(t.o,12),Fi(t.o,13),Fi(t.o,14),Fi(t.o,15),Fi(t.o,16),Fi(t.o,17),Fi(t.o,18),Fi(t.o,19),Fi(t.o,20),Fi(t.o,21),Fi(t.o,22),Fi(t.o,23),Co(t.o),Co(t.o),Co(t.o),Co(t.o),Co(t.o),Co(t.o),Co(t.o),Co(t.o),Co(t.o),Co(t.o),t.p=ic(t,3),ns(t.p,2),ns(t.p,3),ns(t.p,4),ns(t.p,5),Fi(t.p,6),Fi(t.p,7),Co(t.p),Co(t.p),t.q=ic(t,4),ns(t.q,8),t.v=ic(t,5),Fi(t.v,9),Co(t.v),Co(t.v),Co(t.v),t.w=ic(t,6),ns(t.w,2),ns(t.w,3),ns(t.w,4),Fi(t.w,5),t.B=ic(t,7),Fi(t.B,1),Co(t.B),Co(t.B),Co(t.B),t.Q=ic(t,8),Fi(t.Q,0),Co(t.Q),t.R=ic(t,9),ns(t.R,1),t.S=ic(t,10),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),t.T=ic(t,11),Fi(t.T,10),Fi(t.T,11),Fi(t.T,12),Fi(t.T,13),Fi(t.T,14),Co(t.T),Co(t.T),t.U=ic(t,12),ns(t.U,2),ns(t.U,3),Fi(t.U,4),Fi(t.U,5),Fi(t.U,6),Fi(t.U,7),Co(t.U),t.V=ic(t,13),Fi(t.V,10),t.W=ic(t,14),ns(t.W,18),ns(t.W,19),ns(t.W,20),Fi(t.W,21),Fi(t.W,22),Fi(t.W,23),t.bb=ic(t,15),ns(t.bb,10),ns(t.bb,11),ns(t.bb,12),ns(t.bb,13),ns(t.bb,14),ns(t.bb,15),ns(t.bb,16),Fi(t.bb,17),Co(t.bb),Co(t.bb),t.eb=ic(t,16),ns(t.eb,2),ns(t.eb,3),ns(t.eb,4),ns(t.eb,5),ns(t.eb,6),ns(t.eb,7),Fi(t.eb,8),Fi(t.eb,9),t.ab=ic(t,17),ns(t.ab,0),ns(t.ab,1),t.H=ic(t,18),Fi(t.H,0),Fi(t.H,1),Fi(t.H,2),Fi(t.H,3),Fi(t.H,4),Fi(t.H,5),Co(t.H),t.db=ic(t,19),Fi(t.db,2),t.c=oi(t,20),t.d=oi(t,21),t.e=oi(t,22),t.f=oi(t,23),t.i=oi(t,24),t.g=oi(t,25),t.j=oi(t,26),t.k=oi(t,27),t.n=oi(t,28),t.r=oi(t,29),t.s=oi(t,30),t.t=oi(t,31),t.u=oi(t,32),t.fb=oi(t,33),t.A=oi(t,34),t.C=oi(t,35),t.D=oi(t,36),t.F=oi(t,37),t.G=oi(t,38),t.I=oi(t,39),t.J=oi(t,40),t.L=oi(t,41),t.M=oi(t,42),t.N=oi(t,43),t.O=oi(t,44),t.P=oi(t,45),t.X=oi(t,46),t.Y=oi(t,47),t.Z=oi(t,48),t.$=oi(t,49),t._=oi(t,50),t.cb=oi(t,51),t.K=oi(t,52))}function ui(){ui=Z;var t,e;YS=new Vi(ude),O7=new Vi(lde),NSt=(t0(),uft),a4e=new mn(xkt,NSt),W6=new mn(E6,null),o4e=new Vi(p8t),RSt=(hy(),ji(fft,lt(ct(dft,1),oe,291,0,[hft]))),YG=new mn(mH,RSt),QO=new mn(JI,(Nn(),!1)),jSt=(ao(),h0),qv=new mn(Tkt,jSt),qSt=(W0(),Cft),zSt=new mn(QI,qSt),GSt=new mn(CH,!1),USt=(G0(),tU),s5=new mn(vH,USt),nAt=new Ow(12),U2=new mn(xv,nAt),KG=new mn(GI,!1),WSt=new mn(_ct,!1),tP=new mn(j_,!1),oAt=(ua(),Tb),KS=new mn(Got,oAt),Y6=new Vi(yH),ZG=new Vi(VI),Eft=new Vi(tH),Tft=new Vi(R_),YSt=new Pu,a5=new mn(Okt,YSt),u4e=new mn(Nkt,!1),l4e=new mn(Bkt,!1),KSt=new OC,JO=new mn(jkt,KSt),QG=new mn(mkt,!1),g4e=new mn(hde,1),new mn(fde,!0),pe(0),new mn(dde,pe(100)),new mn(gde,!1),pe(0),new mn(pde,pe(4e3)),pe(0),new mn(bde,pe(400)),new mn(wde,!1),new mn(vde,!1),new mn(mde,!0),new mn(yde,!1),BSt=(jz(),Lft),c4e=new mn(g8t,BSt),p4e=new mn(okt,10),b4e=new mn(ckt,10),hAt=new mn(jot,20),w4e=new mn(ukt,10),fAt=new mn(Vot,2),v4e=new mn(lkt,10),dAt=new mn(hkt,0),JG=new mn(gkt,5),gAt=new mn(fkt,1),pAt=new mn(dkt,1),W2=new mn(Cy,20),m4e=new mn(pkt,10),vAt=new mn(bkt,10),K6=new Vi(wkt),wAt=new CUt,bAt=new mn($kt,wAt),f4e=new Vi(Cct),rAt=!1,h4e=new mn(Tct,rAt),QSt=new Ow(5),XSt=new mn(Ckt,QSt),ZSt=(py(),e=u(Vf(lo),9),new sh(e,u(ff(e,e.length),9),0)),o5=new mn(UE,ZSt),sAt=(l4(),Eb),iAt=new mn(Akt,sAt),vft=new Vi(Lkt),mft=new Vi(Mkt),yft=new Vi(Dkt),wft=new Vi(Ikt),JSt=(t=u(Vf(rA),9),new sh(t,u(ff(t,t.length),9),0)),G2=new mn(D4,JSt),eAt=un((ll(),R7)),xb=new mn(T6,eAt),tAt=new $e(0,0),c5=new mn(C6,tAt),XG=new mn(Ect,!1),$St=(M1(),P7),pft=new mn(Pkt,$St),gft=new mn(eH,!1),pe(1),new mn(xde,null),aAt=new Vi(Rkt),xft=new Vi(Fkt),lAt=(ve(),Zo),u5=new mn(ykt,lAt),dl=new Vi(vkt),cAt=(Zu(),un(Cb)),Qy=new mn(WE,cAt),kft=new mn(_kt,!1),uAt=new mn(Skt,!0),ZO=new mn(kkt,!1),bft=new mn(Ekt,!1),HSt=new mn($ot,1),VSt=(hq(),Sft),new mn(kde,VSt),d4e=!0}function ae(){ae=Z;var t,e;_i=new Vi(w6t),nCt=new Vi("coordinateOrigin"),Klt=new Vi("processors"),eCt=new Ps("compoundNode",(Nn(),!1)),SO=new Ps("insideConnections",!1),aCt=new Vi("originalBendpoints"),oCt=new Vi("originalDummyNodePosition"),cCt=new Vi("originalLabelEdge"),LO=new Vi("representedLabels"),kS=new Vi("endLabels"),B6=new Vi("endLabel.origin"),j6=new Ps("labelSide",(zl(),rP)),K4=new Ps("maxEdgeThickness",0),q1=new Ps("reversed",!1),$6=new Vi(i1e),r1=new Ps("longEdgeSource",null),$h=new Ps("longEdgeTarget",null),Ry=new Ps("longEdgeHasLabelDummies",!1),AO=new Ps("longEdgeBeforeLabelDummy",!1),tG=new Ps("edgeConstraint",(d2(),Ilt)),Pv=new Vi("inLayerLayoutUnit"),B2=new Ps("inLayerConstraint",(q0(),CO)),R6=new Ps("inLayerSuccessorConstraint",new he),sCt=new Ps("inLayerSuccessorConstraintBetweenNonDummies",!1),Ju=new Vi("portDummy"),JV=new Ps("crossingHint",pe(0)),Vc=new Ps("graphProperties",(e=u(Vf(jlt),9),new sh(e,u(ff(e,e.length),9),0))),oc=new Ps("externalPortSide",(ve(),Zo)),iCt=new Ps("externalPortSize",new Ca),Vlt=new Vi("externalPortReplacedDummies"),eG=new Vi("externalPortReplacedDummy"),By=new Ps("externalPortConnections",(t=u(Vf(Xa),9),new sh(t,u(ff(t,t.length),9),0))),Fv=new Ps(Xfe,0),tCt=new Vi("barycenterAssociates"),z6=new Vi("TopSideComments"),N6=new Vi("BottomSideComments"),ZV=new Vi("CommentConnectionPort"),Ult=new Ps("inputCollect",!1),Ylt=new Ps("outputCollect",!1),_O=new Ps("cyclic",!1),rCt=new Vi("crossHierarchyMap"),Qlt=new Vi("targetOffset"),new Ps("splineLabelSize",new Ca),Q4=new Vi("spacings"),nG=new Ps("partitionConstraint",!1),Iv=new Vi("breakingPoint.info"),hCt=new Vi("splines.survivingEdge"),R2=new Vi("splines.route.start"),Z4=new Vi("splines.edgeChain"),lCt=new Vi("originalPortConstraints"),x7=new Vi("selfLoopHolder"),k7=new Vi("splines.nsPortY"),Tc=new Vi("modelOrder"),Wlt=new Vi("longEdgeTargetNode"),Ov=new Ps(D1e,!1),X4=new Ps(D1e,!1),Glt=new Vi("layerConstraints.hiddenNodes"),uCt=new Vi("layerConstraints.opposidePort"),Xlt=new Vi("targetNode.modelOrder")}function Fxt(){Fxt=Z,kCt=(LD(),GV),gwe=new mn(C6t,kCt),_we=new mn(_6t,(Nn(),!1)),ACt=(I$(),Hlt),Dwe=new mn(sH,ACt),Uwe=new mn(S6t,!1),Wwe=new mn(A6t,!0),H2e=new mn(L6t,!1),NCt=(CD(),Tht),cve=new mn(M6t,NCt),pe(1),bve=new mn(D6t,pe(7)),wve=new mn(I6t,!1),Swe=new mn(O6t,!1),xCt=(x2(),Mlt),dwe=new mn(Qot,xCt),DCt=(uq(),wht),Gwe=new mn(KI,DCt),LCt=(dh(),MO),Bwe=new mn(P6t,LCt),pe(-1),Nwe=new mn(F6t,pe(-1)),pe(-1),Rwe=new mn(N6t,pe(-1)),pe(-1),jwe=new mn(Zot,pe(4)),pe(-1),zwe=new mn(Jot,pe(2)),MCt=(y4(),kG),Vwe=new mn(tct,MCt),pe(0),Hwe=new mn(ect,pe(0)),Pwe=new mn(nct,pe(wi)),yCt=(n6(),P6),fwe=new mn(H_,yCt),J2e=new mn(B6t,!1),awe=new mn(rct,.1),lwe=new mn(ict,!1),pe(-1),cwe=new mn(R6t,pe(-1)),pe(-1),uwe=new mn(j6t,pe(-1)),pe(0),twe=new mn($6t,pe(40)),mCt=(eE(),zlt),iwe=new mn(sct,mCt),vCt=TO,ewe=new mn(aH,vCt),FCt=(u_(),DS),ove=new mn(I4,FCt),Zwe=new Vi(oH),ICt=(xD(),WV),Ywe=new mn(act,ICt),OCt=(oI(),YV),Xwe=new mn(oct,OCt),eve=new mn(cct,.3),rve=new Vi(uct),PCt=(cy(),xG),ive=new mn(lct,PCt),CCt=(yz(),_ht),mwe=new mn(z6t,CCt),_Ct=(pD(),Sht),ywe=new mn(q6t,_Ct),SCt=(cE(),PS),xwe=new mn(cH,SCt),Ewe=new mn(uH,.2),wwe=new mn(hct,2),fve=new mn(H6t,null),gve=new mn(V6t,10),dve=new mn(G6t,10),pve=new mn(U6t,20),pe(0),uve=new mn(W6t,pe(0)),pe(0),lve=new mn(Y6t,pe(0)),pe(0),hve=new mn(K6t,pe(0)),V2e=new mn(fct,!1),gCt=(kE(),mS),U2e=new mn(X6t,gCt),dCt=(H$(),Alt),G2e=new mn(Q6t,dCt),Lwe=new mn(lH,!1),pe(0),Awe=new mn(dct,pe(16)),pe(0),Mwe=new mn(gct,pe(5)),jCt=(Cz(),Mht),Bve=new mn(tg,jCt),vve=new mn(hH,10),xve=new mn(fH,1),RCt=(oz(),VV),Ave=new mn(V_,RCt),Tve=new Vi(pct),BCt=pe(1),pe(0),_ve=new mn(bct,BCt),$Ct=(vz(),Lht),zve=new mn(dH,$Ct),Rve=new Vi(gH),Ove=new mn(pH,!0),Dve=new mn(bH,2),Fve=new mn(wct,!0),TCt=(dq(),UV),bwe=new mn(Z6t,TCt),ECt=(h6(),p7),pwe=new mn(J6t,ECt),wCt=(V0(),vb),Z2e=new mn(wH,wCt),Q2e=new mn(tkt,!1),pCt=(iv(),q4),W2e=new mn(vct,pCt),bCt=(Z9(),vht),X2e=new mn(ekt,bCt),Y2e=new mn(mct,0),K2e=new mn(yct,0),Owe=Dlt,Iwe=EO,$we=mG,qwe=mG,Fwe=bht,owe=(G0(),sp),hwe=P6,swe=P6,nwe=P6,rwe=sp,Jwe=IS,tve=DS,Kwe=DS,Qwe=DS,nve=kht,ave=IS,sve=IS,kwe=(W0(),X6),Twe=X6,Cwe=PS,vwe=eP,mve=L7,yve=Yy,kve=L7,Eve=Yy,Lve=L7,Mve=Yy,Cve=Llt,Sve=VV,qve=L7,Hve=Yy,jve=L7,$ve=Yy,Pve=Yy,Ive=Yy,Nve=Yy}function ro(){ro=Z,J7t=new ms("DIRECTION_PREPROCESSOR",0),X7t=new ms("COMMENT_PREPROCESSOR",1),gS=new ms("EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER",2),glt=new ms("INTERACTIVE_EXTERNAL_PORT_POSITIONER",3),vTt=new ms("PARTITION_PREPROCESSOR",4),CV=new ms("LABEL_DUMMY_INSERTER",5),FV=new ms("SELF_LOOP_PREPROCESSOR",6),h7=new ms("LAYER_CONSTRAINT_PREPROCESSOR",7),bTt=new ms("PARTITION_MIDPROCESSOR",8),oTt=new ms("HIGH_DEGREE_NODE_LAYER_PROCESSOR",9),gTt=new ms("NODE_PROMOTION",10),l7=new ms("LAYER_CONSTRAINT_POSTPROCESSOR",11),wTt=new ms("PARTITION_POSTPROCESSOR",12),iTt=new ms("HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR",13),mTt=new ms("SEMI_INTERACTIVE_CROSSMIN_PROCESSOR",14),V7t=new ms("BREAKING_POINT_INSERTER",15),LV=new ms("LONG_EDGE_SPLITTER",16),plt=new ms("PORT_SIDE_PROCESSOR",17),EV=new ms("INVERTED_PORT_PROCESSOR",18),IV=new ms("PORT_LIST_SORTER",19),xTt=new ms("SORT_BY_INPUT_ORDER_OF_MODEL",20),DV=new ms("NORTH_SOUTH_PORT_PREPROCESSOR",21),G7t=new ms("BREAKING_POINT_PROCESSOR",22),pTt=new ms(E1e,23),kTt=new ms(T1e,24),OV=new ms("SELF_LOOP_PORT_RESTORER",25),yTt=new ms("SINGLE_EDGE_GRAPH_WRAPPER",26),TV=new ms("IN_LAYER_CONSTRAINT_PROCESSOR",27),eTt=new ms("END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR",28),fTt=new ms("LABEL_AND_NODE_SIZE_PROCESSOR",29),hTt=new ms("INNERMOST_NODE_MARGIN_CALCULATOR",30),NV=new ms("SELF_LOOP_ROUTER",31),Y7t=new ms("COMMENT_NODE_MARGIN_CALCULATOR",32),kV=new ms("END_LABEL_PREPROCESSOR",33),SV=new ms("LABEL_DUMMY_SWITCHER",34),W7t=new ms("CENTER_LABEL_MANAGEMENT_PROCESSOR",35),u7=new ms("LABEL_SIDE_SELECTOR",36),uTt=new ms("HYPEREDGE_DUMMY_MERGER",37),sTt=new ms("HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR",38),dTt=new ms("LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR",39),pS=new ms("HIERARCHICAL_PORT_POSITION_PROCESSOR",40),Q7t=new ms("CONSTRAINTS_POSTPROCESSOR",41),K7t=new ms("COMMENT_POSTPROCESSOR",42),lTt=new ms("HYPERNODE_PROCESSOR",43),aTt=new ms("HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER",44),AV=new ms("LONG_EDGE_JOINER",45),PV=new ms("SELF_LOOP_POSTPROCESSOR",46),U7t=new ms("BREAKING_POINT_REMOVER",47),MV=new ms("NORTH_SOUTH_PORT_POSTPROCESSOR",48),cTt=new ms("HORIZONTAL_COMPACTOR",49),_V=new ms("LABEL_DUMMY_REMOVER",50),nTt=new ms("FINAL_SPLINE_BENDPOINTS_CALCULATOR",51),tTt=new ms("END_LABEL_SORTER",52),xO=new ms("REVERSED_EDGE_RESTORER",53),xV=new ms("END_LABEL_POSTPROCESSOR",54),rTt=new ms("HIERARCHICAL_NODE_RESIZER",55),Z7t=new ms("DIRECTION_POSTPROCESSOR",56)}function zxn(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr,pi,js,Zl,Xh,K1,kU,xP,bA,kP,H7,Gft,ixe,Uft,hp,Yv,V7,EP,TP,nk,Wft,wA,sxe,BLt,Kv,vA,Yft,rk,mA,o3,yA,Kft,axe;for(BLt=0,pi=e,Xh=0,xP=pi.length;Xh0&&(t.a[hp.p]=BLt++)}for(mA=0,js=n,K1=0,bA=js.length;K10;){for(hp=(Zn(TP.b>0),u(TP.a.Xb(TP.c=--TP.b),11)),EP=0,d=new S(hp.e);d.a0&&(hp.j==(ve(),Pn)?(t.a[hp.p]=mA,++mA):(t.a[hp.p]=mA+kP+Gft,++Gft))}mA+=Gft}for(V7=new _r,G=new O0,hr=e,Zl=0,kU=hr.length;Zlk.b&&(k.b=nk)):hp.i.c==sxe&&(nkk.c&&(k.c=nk));for($8(K,0,K.length,null),rk=Nt(Cr,Xr,25,K.length,15,1),r=Nt(Cr,Xr,25,mA+1,15,1),gt=0;gt0;)_e%2>0&&(s+=Kft[_e+1]),_e=(_e-1)/2|0,++Kft[_e];for(Qe=Nt(Ime,De,362,K.length*2,0,1),Rt=0;Rt'?":hn(t0e,t)?"'(?<' or '(? toIndex: ",Yxt=", toIndex: ",Kxt="Index: ",Xxt=", Size: ",zE="org.eclipse.elk.alg.common",Oi={62:1},Ife="org.eclipse.elk.alg.common.compaction",Ofe="Scanline/EventHandler",a0="org.eclipse.elk.alg.common.compaction.oned",Pfe="CNode belongs to another CGroup.",Ffe="ISpacingsHandler/1",Sot="The ",Aot=" instance has been finished already.",Nfe="The direction ",Bfe=" is not supported by the CGraph instance.",Rfe="OneDimensionalCompactor",jfe="OneDimensionalCompactor/lambda$0$Type",$fe="Quadruplet",zfe="ScanlineConstraintCalculator",qfe="ScanlineConstraintCalculator/ConstraintsScanlineHandler",Hfe="ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type",Vfe="ScanlineConstraintCalculator/Timestamp",Gfe="ScanlineConstraintCalculator/lambda$0$Type",xd={169:1,45:1},Lot="org.eclipse.elk.alg.common.compaction.options",Qo="org.eclipse.elk.core.data",Qxt="org.eclipse.elk.polyomino.traversalStrategy",Zxt="org.eclipse.elk.polyomino.lowLevelSort",Jxt="org.eclipse.elk.polyomino.highLevelSort",t6t="org.eclipse.elk.polyomino.fill",Oh={130:1},Mot="polyomino",F_="org.eclipse.elk.alg.common.networksimplex",o0={177:1,3:1,4:1},Ufe="org.eclipse.elk.alg.common.nodespacing",_2="org.eclipse.elk.alg.common.nodespacing.cellsystem",qE="CENTER",Wfe={212:1,326:1},e6t={3:1,4:1,5:1,595:1},y6="LEFT",x6="RIGHT",n6t="Vertical alignment cannot be null",r6t="BOTTOM",Yq="org.eclipse.elk.alg.common.nodespacing.internal",N_="UNDEFINED",B1=.01,zI="org.eclipse.elk.alg.common.nodespacing.internal.algorithm",Yfe="LabelPlacer/lambda$0$Type",Kfe="LabelPlacer/lambda$1$Type",Xfe="portRatioOrPosition",HE="org.eclipse.elk.alg.common.overlaps",Dot="DOWN",kd="org.eclipse.elk.alg.common.polyomino",Kq="NORTH",Iot="EAST",Oot="SOUTH",Pot="WEST",Xq="org.eclipse.elk.alg.common.polyomino.structures",i6t="Direction",Fot="Grid is only of size ",Not=". Requested point (",Bot=") is out of bounds.",Qq=" Given center based coordinates were (",qI="org.eclipse.elk.graph.properties",Qfe="IPropertyHolder",s6t={3:1,94:1,134:1},k6="org.eclipse.elk.alg.common.spore",Zfe="org.eclipse.elk.alg.common.utils",S2={209:1},L4="org.eclipse.elk.core",Jfe="Connected Components Compaction",t1e="org.eclipse.elk.alg.disco",Zq="org.eclipse.elk.alg.disco.graph",Rot="org.eclipse.elk.alg.disco.options",a6t="CompactionStrategy",o6t="org.eclipse.elk.disco.componentCompaction.strategy",c6t="org.eclipse.elk.disco.componentCompaction.componentLayoutAlgorithm",u6t="org.eclipse.elk.disco.debug.discoGraph",l6t="org.eclipse.elk.disco.debug.discoPolys",e1e="componentCompaction",A2="org.eclipse.elk.disco",jot="org.eclipse.elk.spacing.componentComponent",$ot="org.eclipse.elk.edge.thickness",E6="org.eclipse.elk.aspectRatio",xv="org.eclipse.elk.padding",M4="org.eclipse.elk.alg.disco.transform",zot=1.5707963267948966,VE=17976931348623157e292,Ty={3:1,4:1,5:1,192:1},h6t={3:1,6:1,4:1,5:1,106:1,120:1},f6t="org.eclipse.elk.alg.force",d6t="ComponentsProcessor",n1e="ComponentsProcessor/1",HI="org.eclipse.elk.alg.force.graph",r1e="Component Layout",g6t="org.eclipse.elk.alg.force.model",Jq="org.eclipse.elk.force.model",p6t="org.eclipse.elk.force.iterations",b6t="org.eclipse.elk.force.repulsivePower",qot="org.eclipse.elk.force.temperature",Ed=.001,Hot="org.eclipse.elk.force.repulsion",B_="org.eclipse.elk.alg.force.options",GE=1.600000023841858,Vl="org.eclipse.elk.force",VI="org.eclipse.elk.priority",Cy="org.eclipse.elk.spacing.nodeNode",Vot="org.eclipse.elk.spacing.edgeLabel",tH="org.eclipse.elk.randomSeed",R_="org.eclipse.elk.separateConnectedComponents",GI="org.eclipse.elk.interactive",Got="org.eclipse.elk.portConstraints",eH="org.eclipse.elk.edgeLabels.inline",j_="org.eclipse.elk.omitNodeMicroLayout",T6="org.eclipse.elk.nodeSize.options",D4="org.eclipse.elk.nodeSize.constraints",UE="org.eclipse.elk.nodeLabels.placement",WE="org.eclipse.elk.portLabels.placement",w6t="origin",i1e="random",s1e="boundingBox.upLeft",a1e="boundingBox.lowRight",v6t="org.eclipse.elk.stress.fixed",m6t="org.eclipse.elk.stress.desiredEdgeLength",y6t="org.eclipse.elk.stress.dimension",x6t="org.eclipse.elk.stress.epsilon",k6t="org.eclipse.elk.stress.iterationLimit",ob="org.eclipse.elk.stress",o1e="ELK Stress",C6="org.eclipse.elk.nodeSize.minimum",nH="org.eclipse.elk.alg.force.stress",c1e="Layered layout",_6="org.eclipse.elk.alg.layered",UI="org.eclipse.elk.alg.layered.compaction.components",$_="org.eclipse.elk.alg.layered.compaction.oned",rH="org.eclipse.elk.alg.layered.compaction.oned.algs",L2="org.eclipse.elk.alg.layered.compaction.recthull",Td="org.eclipse.elk.alg.layered.components",J0="NONE",xc={3:1,6:1,4:1,9:1,5:1,122:1},u1e={3:1,6:1,4:1,5:1,141:1,106:1,120:1},iH="org.eclipse.elk.alg.layered.compound",os={51:1},tu="org.eclipse.elk.alg.layered.graph",Uot=" -> ",l1e="Not supported by LGraph",E6t="Port side is undefined",Wot={3:1,6:1,4:1,5:1,474:1,141:1,106:1,120:1},Yg={3:1,6:1,4:1,5:1,141:1,193:1,203:1,106:1,120:1},h1e={3:1,6:1,4:1,5:1,141:1,1943:1,203:1,106:1,120:1},f1e=`([{"' \r +`,d1e=`)]}"' \r +`,g1e="The given string contains parts that cannot be parsed as numbers.",WI="org.eclipse.elk.core.math",p1e={3:1,4:1,142:1,207:1,414:1},b1e={3:1,4:1,116:1,207:1,414:1},Gn="org.eclipse.elk.layered",Kg="org.eclipse.elk.alg.layered.graph.transform",w1e="ElkGraphImporter",v1e="ElkGraphImporter/lambda$0$Type",m1e="ElkGraphImporter/lambda$1$Type",y1e="ElkGraphImporter/lambda$2$Type",x1e="ElkGraphImporter/lambda$4$Type",k1e="Node margin calculation",$n="org.eclipse.elk.alg.layered.intermediate",E1e="ONE_SIDED_GREEDY_SWITCH",T1e="TWO_SIDED_GREEDY_SWITCH",Yot="No implementation is available for the layout processor ",T6t="IntermediateProcessorStrategy",Kot="Node '",C1e="FIRST_SEPARATE",_1e="LAST_SEPARATE",S1e="Odd port side processing",_s="org.eclipse.elk.alg.layered.intermediate.compaction",z_="org.eclipse.elk.alg.layered.intermediate.greedyswitch",c0="org.eclipse.elk.alg.layered.p3order.counting",YI={225:1},S6="org.eclipse.elk.alg.layered.intermediate.loops",Gl="org.eclipse.elk.alg.layered.intermediate.loops.ordering",cb="org.eclipse.elk.alg.layered.intermediate.loops.routing",q_="org.eclipse.elk.alg.layered.intermediate.preserveorder",Cd="org.eclipse.elk.alg.layered.intermediate.wrapping",kc="org.eclipse.elk.alg.layered.options",Xot="INTERACTIVE",A1e="DEPTH_FIRST",L1e="EDGE_LENGTH",M1e="SELF_LOOPS",D1e="firstTryWithInitialOrder",C6t="org.eclipse.elk.layered.directionCongruency",_6t="org.eclipse.elk.layered.feedbackEdges",sH="org.eclipse.elk.layered.interactiveReferencePoint",S6t="org.eclipse.elk.layered.mergeEdges",A6t="org.eclipse.elk.layered.mergeHierarchyEdges",L6t="org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides",M6t="org.eclipse.elk.layered.portSortingStrategy",D6t="org.eclipse.elk.layered.thoroughness",I6t="org.eclipse.elk.layered.unnecessaryBendpoints",O6t="org.eclipse.elk.layered.generatePositionAndLayerIds",Qot="org.eclipse.elk.layered.cycleBreaking.strategy",KI="org.eclipse.elk.layered.layering.strategy",P6t="org.eclipse.elk.layered.layering.layerConstraint",F6t="org.eclipse.elk.layered.layering.layerChoiceConstraint",N6t="org.eclipse.elk.layered.layering.layerId",Zot="org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth",Jot="org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor",tct="org.eclipse.elk.layered.layering.nodePromotion.strategy",ect="org.eclipse.elk.layered.layering.nodePromotion.maxIterations",nct="org.eclipse.elk.layered.layering.coffmanGraham.layerBound",H_="org.eclipse.elk.layered.crossingMinimization.strategy",B6t="org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder",rct="org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness",ict="org.eclipse.elk.layered.crossingMinimization.semiInteractive",R6t="org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint",j6t="org.eclipse.elk.layered.crossingMinimization.positionId",$6t="org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold",sct="org.eclipse.elk.layered.crossingMinimization.greedySwitch.type",aH="org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type",I4="org.eclipse.elk.layered.nodePlacement.strategy",oH="org.eclipse.elk.layered.nodePlacement.favorStraightEdges",act="org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening",oct="org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment",cct="org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening",uct="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility",lct="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default",z6t="org.eclipse.elk.layered.edgeRouting.selfLoopDistribution",q6t="org.eclipse.elk.layered.edgeRouting.selfLoopOrdering",cH="org.eclipse.elk.layered.edgeRouting.splines.mode",uH="org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor",hct="org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth",H6t="org.eclipse.elk.layered.spacing.baseValue",V6t="org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers",G6t="org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers",U6t="org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers",W6t="org.eclipse.elk.layered.priority.direction",Y6t="org.eclipse.elk.layered.priority.shortness",K6t="org.eclipse.elk.layered.priority.straightness",fct="org.eclipse.elk.layered.compaction.connectedComponents",X6t="org.eclipse.elk.layered.compaction.postCompaction.strategy",Q6t="org.eclipse.elk.layered.compaction.postCompaction.constraints",lH="org.eclipse.elk.layered.highDegreeNodes.treatment",dct="org.eclipse.elk.layered.highDegreeNodes.threshold",gct="org.eclipse.elk.layered.highDegreeNodes.treeHeight",tg="org.eclipse.elk.layered.wrapping.strategy",hH="org.eclipse.elk.layered.wrapping.additionalEdgeSpacing",fH="org.eclipse.elk.layered.wrapping.correctionFactor",V_="org.eclipse.elk.layered.wrapping.cutting.strategy",pct="org.eclipse.elk.layered.wrapping.cutting.cuts",bct="org.eclipse.elk.layered.wrapping.cutting.msd.freedom",dH="org.eclipse.elk.layered.wrapping.validify.strategy",gH="org.eclipse.elk.layered.wrapping.validify.forbiddenIndices",pH="org.eclipse.elk.layered.wrapping.multiEdge.improveCuts",bH="org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty",wct="org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges",Z6t="org.eclipse.elk.layered.edgeLabels.sideSelection",J6t="org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy",wH="org.eclipse.elk.layered.considerModelOrder.strategy",tkt="org.eclipse.elk.layered.considerModelOrder.noModelOrder",vct="org.eclipse.elk.layered.considerModelOrder.components",ekt="org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy",mct="org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence",yct="org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence",xct="layering",I1e="layering.minWidth",O1e="layering.nodePromotion",XI="crossingMinimization",vH="org.eclipse.elk.hierarchyHandling",P1e="crossingMinimization.greedySwitch",F1e="nodePlacement",N1e="nodePlacement.bk",B1e="edgeRouting",QI="org.eclipse.elk.edgeRouting",R1="spacing",nkt="priority",rkt="compaction",R1e="compaction.postCompaction",j1e="Specifies whether and how post-process compaction is applied.",ikt="highDegreeNodes",skt="wrapping",$1e="wrapping.cutting",z1e="wrapping.validify",akt="wrapping.multiEdge",kct="edgeLabels",ZI="considerModelOrder",okt="org.eclipse.elk.spacing.commentComment",ckt="org.eclipse.elk.spacing.commentNode",ukt="org.eclipse.elk.spacing.edgeEdge",lkt="org.eclipse.elk.spacing.edgeNode",hkt="org.eclipse.elk.spacing.labelLabel",fkt="org.eclipse.elk.spacing.labelPortHorizontal",dkt="org.eclipse.elk.spacing.labelPortVertical",gkt="org.eclipse.elk.spacing.labelNode",pkt="org.eclipse.elk.spacing.nodeSelfLoop",bkt="org.eclipse.elk.spacing.portPort",wkt="org.eclipse.elk.spacing.individual",vkt="org.eclipse.elk.port.borderOffset",mkt="org.eclipse.elk.noLayout",ykt="org.eclipse.elk.port.side",JI="org.eclipse.elk.debugMode",xkt="org.eclipse.elk.alignment",kkt="org.eclipse.elk.insideSelfLoops.activate",Ekt="org.eclipse.elk.insideSelfLoops.yo",Ect="org.eclipse.elk.nodeSize.fixedGraphSize",Tkt="org.eclipse.elk.direction",Ckt="org.eclipse.elk.nodeLabels.padding",_kt="org.eclipse.elk.portLabels.nextToPortIfPossible",Skt="org.eclipse.elk.portLabels.treatAsGroup",Akt="org.eclipse.elk.portAlignment.default",Lkt="org.eclipse.elk.portAlignment.north",Mkt="org.eclipse.elk.portAlignment.south",Dkt="org.eclipse.elk.portAlignment.west",Ikt="org.eclipse.elk.portAlignment.east",mH="org.eclipse.elk.contentAlignment",Okt="org.eclipse.elk.junctionPoints",Pkt="org.eclipse.elk.edgeLabels.placement",Fkt="org.eclipse.elk.port.index",Nkt="org.eclipse.elk.commentBox",Bkt="org.eclipse.elk.hypernode",Rkt="org.eclipse.elk.port.anchor",Tct="org.eclipse.elk.partitioning.activate",Cct="org.eclipse.elk.partitioning.partition",yH="org.eclipse.elk.position",jkt="org.eclipse.elk.margins",$kt="org.eclipse.elk.spacing.portsSurrounding",_ct="org.eclipse.elk.interactiveLayout",Ec="org.eclipse.elk.core.util",zkt={3:1,4:1,5:1,593:1},q1e="NETWORK_SIMPLEX",zc={123:1,51:1},xH="org.eclipse.elk.alg.layered.p1cycles",_y="org.eclipse.elk.alg.layered.p2layers",qkt={402:1,225:1},H1e={832:1,3:1,4:1},qu="org.eclipse.elk.alg.layered.p3order",uo="org.eclipse.elk.alg.layered.p4nodes",V1e={3:1,4:1,5:1,840:1},_d=1e-5,ub="org.eclipse.elk.alg.layered.p4nodes.bk",Sct="org.eclipse.elk.alg.layered.p5edges",t1="org.eclipse.elk.alg.layered.p5edges.orthogonal",Act="org.eclipse.elk.alg.layered.p5edges.orthogonal.direction",Lct=1e-6,Sy="org.eclipse.elk.alg.layered.p5edges.splines",Mct=.09999999999999998,kH=1e-8,G1e=4.71238898038469,U1e=3.141592653589793,G_="org.eclipse.elk.alg.mrtree",U_="org.eclipse.elk.alg.mrtree.graph",A6="org.eclipse.elk.alg.mrtree.intermediate",W1e="Set neighbors in level",Y1e="DESCENDANTS",Hkt="org.eclipse.elk.mrtree.weighting",Vkt="org.eclipse.elk.mrtree.searchOrder",EH="org.eclipse.elk.alg.mrtree.options",Xg="org.eclipse.elk.mrtree",K1e="org.eclipse.elk.tree",Gkt="org.eclipse.elk.alg.radial",O4=6.283185307179586,Ukt=5e-324,X1e="org.eclipse.elk.alg.radial.intermediate",Dct="org.eclipse.elk.alg.radial.intermediate.compaction",Q1e={3:1,4:1,5:1,106:1},Wkt="org.eclipse.elk.alg.radial.intermediate.optimization",Ict="No implementation is available for the layout option ",W_="org.eclipse.elk.alg.radial.options",Ykt="org.eclipse.elk.radial.orderId",Kkt="org.eclipse.elk.radial.radius",Oct="org.eclipse.elk.radial.compactor",Pct="org.eclipse.elk.radial.compactionStepSize",Xkt="org.eclipse.elk.radial.sorter",Qkt="org.eclipse.elk.radial.wedgeCriteria",Zkt="org.eclipse.elk.radial.optimizationCriteria",Sd="org.eclipse.elk.radial",Z1e="org.eclipse.elk.alg.radial.p1position.wedge",Jkt="org.eclipse.elk.alg.radial.sorting",J1e=5.497787143782138,tde=3.9269908169872414,ede=2.356194490192345,nde="org.eclipse.elk.alg.rectpacking",TH="org.eclipse.elk.alg.rectpacking.firstiteration",Fct="org.eclipse.elk.alg.rectpacking.options",t8t="org.eclipse.elk.rectpacking.optimizationGoal",e8t="org.eclipse.elk.rectpacking.lastPlaceShift",n8t="org.eclipse.elk.rectpacking.currentPosition",r8t="org.eclipse.elk.rectpacking.desiredPosition",i8t="org.eclipse.elk.rectpacking.onlyFirstIteration",s8t="org.eclipse.elk.rectpacking.rowCompaction",Nct="org.eclipse.elk.rectpacking.expandToAspectRatio",a8t="org.eclipse.elk.rectpacking.targetWidth",CH="org.eclipse.elk.expandNodes",Ph="org.eclipse.elk.rectpacking",tO="org.eclipse.elk.alg.rectpacking.util",_H="No implementation available for ",Ay="org.eclipse.elk.alg.spore",Ly="org.eclipse.elk.alg.spore.options",kv="org.eclipse.elk.sporeCompaction",Bct="org.eclipse.elk.underlyingLayoutAlgorithm",o8t="org.eclipse.elk.processingOrder.treeConstruction",c8t="org.eclipse.elk.processingOrder.spanningTreeCostFunction",Rct="org.eclipse.elk.processingOrder.preferredRoot",jct="org.eclipse.elk.processingOrder.rootSelection",$ct="org.eclipse.elk.structure.structureExtractionStrategy",u8t="org.eclipse.elk.compaction.compactionStrategy",l8t="org.eclipse.elk.compaction.orthogonal",h8t="org.eclipse.elk.overlapRemoval.maxIterations",f8t="org.eclipse.elk.overlapRemoval.runScanline",zct="processingOrder",rde="overlapRemoval",YE="org.eclipse.elk.sporeOverlap",ide="org.eclipse.elk.alg.spore.p1structure",qct="org.eclipse.elk.alg.spore.p2processingorder",Hct="org.eclipse.elk.alg.spore.p3execution",sde="Invalid index: ",KE="org.eclipse.elk.core.alg",P4={331:1},My={288:1},ade="Make sure its type is registered with the ",d8t=" utility class.",XE="true",Vct="false",ode="Couldn't clone property '",Ev=.05,Fh="org.eclipse.elk.core.options",cde=1.2999999523162842,Tv="org.eclipse.elk.box",g8t="org.eclipse.elk.box.packingMode",ude="org.eclipse.elk.algorithm",lde="org.eclipse.elk.resolvedAlgorithm",p8t="org.eclipse.elk.bendPoints",Uxn="org.eclipse.elk.labelManager",hde="org.eclipse.elk.scaleFactor",fde="org.eclipse.elk.animate",dde="org.eclipse.elk.animTimeFactor",gde="org.eclipse.elk.layoutAncestors",pde="org.eclipse.elk.maxAnimTime",bde="org.eclipse.elk.minAnimTime",wde="org.eclipse.elk.progressBar",vde="org.eclipse.elk.validateGraph",mde="org.eclipse.elk.validateOptions",yde="org.eclipse.elk.zoomToFit",Wxn="org.eclipse.elk.font.name",xde="org.eclipse.elk.font.size",kde="org.eclipse.elk.edge.type",Ede="partitioning",Tde="nodeLabels",SH="portAlignment",Gct="nodeSize",Uct="port",b8t="portLabels",Cde="insideSelfLoops",Y_="org.eclipse.elk.fixed",AH="org.eclipse.elk.random",_de="port must have a parent node to calculate the port side",Sde="The edge needs to have exactly one edge section. Found: ",K_="org.eclipse.elk.core.util.adapters",ph="org.eclipse.emf.ecore",F4="org.eclipse.elk.graph",Ade="EMapPropertyHolder",Lde="ElkBendPoint",Mde="ElkGraphElement",Dde="ElkConnectableShape",w8t="ElkEdge",Ide="ElkEdgeSection",Ode="EModelElement",Pde="ENamedElement",v8t="ElkLabel",m8t="ElkNode",y8t="ElkPort",Fde={92:1,90:1},L6="org.eclipse.emf.common.notify.impl",lb="The feature '",X_="' is not a valid changeable feature",Nde="Expecting null",Wct="' is not a valid feature",Bde="The feature ID",Rde=" is not a valid feature ID",dc=32768,jde={105:1,92:1,90:1,56:1,49:1,97:1},Mn="org.eclipse.emf.ecore.impl",M2="org.eclipse.elk.graph.impl",Q_="Recursive containment not allowed for ",QE="The datatype '",Cv="' is not a valid classifier",Yct="The value '",N4={190:1,3:1,4:1},Kct="The class '",ZE="http://www.eclipse.org/elk/ElkGraph",xf=1024,x8t="property",Z_="value",Xct="source",$de="properties",zde="identifier",Qct="height",Zct="width",Jct="parent",tut="text",eut="children",qde="hierarchical",k8t="sources",nut="targets",E8t="sections",LH="bendPoints",T8t="outgoingShape",C8t="incomingShape",_8t="outgoingSections",S8t="incomingSections",Ra="org.eclipse.emf.common.util",A8t="Severe implementation error in the Json to ElkGraph importer.",Ad="id",ma="org.eclipse.elk.graph.json",L8t="Unhandled parameter types: ",Hde="startPoint",Vde="An edge must have at least one source and one target (edge id: '",JE="').",Gde="Referenced edge section does not exist: ",Ude=" (edge id: '",M8t="target",Wde="sourcePoint",Yde="targetPoint",MH="group",ci="name",Kde="connectableShape cannot be null",Xde="edge cannot be null",rut="Passed edge is not 'simple'.",DH="org.eclipse.elk.graph.util",eO="The 'no duplicates' constraint is violated",iut="targetIndex=",D2=", size=",sut="sourceIndex=",Ld={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1},aut={3:1,4:1,20:1,28:1,52:1,14:1,47:1,15:1,54:1,67:1,63:1,58:1,588:1},IH="logging",Qde="measureExecutionTime",Zde="parser.parse.1",Jde="parser.parse.2",OH="parser.next.1",out="parser.next.2",t0e="parser.next.3",e0e="parser.next.4",I2="parser.factor.1",D8t="parser.factor.2",n0e="parser.factor.3",r0e="parser.factor.4",i0e="parser.factor.5",s0e="parser.factor.6",a0e="parser.atom.1",o0e="parser.atom.2",c0e="parser.atom.3",I8t="parser.atom.4",cut="parser.atom.5",O8t="parser.cc.1",PH="parser.cc.2",u0e="parser.cc.3",l0e="parser.cc.5",P8t="parser.cc.6",F8t="parser.cc.7",uut="parser.cc.8",h0e="parser.ope.1",f0e="parser.ope.2",d0e="parser.ope.3",Qg="parser.descape.1",g0e="parser.descape.2",p0e="parser.descape.3",b0e="parser.descape.4",w0e="parser.descape.5",bh="parser.process.1",v0e="parser.quantifier.1",m0e="parser.quantifier.2",y0e="parser.quantifier.3",x0e="parser.quantifier.4",N8t="parser.quantifier.5",k0e="org.eclipse.emf.common.notify",B8t={415:1,672:1},E0e={3:1,4:1,20:1,28:1,52:1,14:1,15:1,67:1,58:1},nO={366:1,143:1},J_="index=",lut={3:1,4:1,5:1,126:1},T0e={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,58:1},R8t={3:1,6:1,4:1,5:1,192:1},C0e={3:1,4:1,5:1,165:1,367:1},_0e=";/?:@&=+$,",S0e="invalid authority: ",A0e="EAnnotation",L0e="ETypedElement",M0e="EStructuralFeature",D0e="EAttribute",I0e="EClassifier",O0e="EEnumLiteral",P0e="EGenericType",F0e="EOperation",N0e="EParameter",B0e="EReference",R0e="ETypeParameter",$i="org.eclipse.emf.ecore.util",hut={76:1},j8t={3:1,20:1,14:1,15:1,58:1,589:1,76:1,69:1,95:1},j0e="org.eclipse.emf.ecore.util.FeatureMap$Entry",Hu=8192,Dy=2048,tS="byte",FH="char",eS="double",nS="float",rS="int",iS="long",sS="short",$0e="java.lang.Object",B4={3:1,4:1,5:1,247:1},$8t={3:1,4:1,5:1,673:1},z0e={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1,69:1},zo={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1,76:1,69:1,95:1},rO="mixed",Yr="http:///org/eclipse/emf/ecore/util/ExtendedMetaData",Nh="kind",q0e={3:1,4:1,5:1,674:1},z8t={3:1,4:1,20:1,28:1,52:1,14:1,15:1,67:1,58:1,76:1,69:1,95:1},NH={20:1,28:1,52:1,14:1,15:1,58:1,69:1},BH={47:1,125:1,279:1},RH={72:1,332:1},jH="The value of type '",$H="' must be of type '",R4=1316,Bh="http://www.eclipse.org/emf/2002/Ecore",zH=-32768,_v="constraints",Aa="baseType",H0e="getEStructuralFeature",V0e="getFeatureID",aS="feature",G0e="getOperationID",q8t="operation",U0e="defaultValue",W0e="eTypeParameters",Y0e="isInstance",K0e="getEEnumLiteral",X0e="eContainingClass",si={55:1},Q0e={3:1,4:1,5:1,119:1},Z0e="org.eclipse.emf.ecore.resource",J0e={92:1,90:1,591:1,1935:1},fut="org.eclipse.emf.ecore.resource.impl",H8t="unspecified",iO="simple",qH="attribute",tge="attributeWildcard",HH="element",dut="elementWildcard",e1="collapse",gut="itemType",VH="namespace",sO="##targetNamespace",Rh="whiteSpace",V8t="wildcards",O2="http://www.eclipse.org/emf/2003/XMLType",put="##any",t7="uninitialized",aO="The multiplicity constraint is violated",GH="org.eclipse.emf.ecore.xml.type",ege="ProcessingInstruction",nge="SimpleAnyType",rge="XMLTypeDocumentRoot",xs="org.eclipse.emf.ecore.xml.type.impl",oO="INF",ige="processing",sge="ENTITIES_._base",G8t="minLength",U8t="ENTITY",UH="NCName",age="IDREFS_._base",W8t="integer",but="token",wut="pattern",oge="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",Y8t="\\i\\c*",cge="[\\i-[:]][\\c-[:]]*",uge="nonPositiveInteger",cO="maxInclusive",K8t="NMTOKEN",lge="NMTOKENS_._base",X8t="nonNegativeInteger",uO="minInclusive",hge="normalizedString",fge="unsignedByte",dge="unsignedInt",gge="18446744073709551615",pge="unsignedShort",bge="processingInstruction",Zg="org.eclipse.emf.ecore.xml.type.internal",e7=1114111,wge="Internal Error: shorthands: \\u",oS="xml:isDigit",vut="xml:isWord",mut="xml:isSpace",yut="xml:isNameChar",xut="xml:isInitialNameChar",vge="09٠٩۰۹०९০৯੦੯૦૯୦୯௧௯౦౯೦೯൦൯๐๙໐໙༠༩",mge="AZazÀÖØöøıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁΆΆΈΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆאתװײءغفيٱڷںھۀێېۓەەۥۦअहऽऽक़ॡঅঌএঐওনপরললশহড়ঢ়য়ৡৰৱਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹਖ਼ੜਫ਼ਫ਼ੲੴઅઋઍઍએઑઓનપરલળવહઽઽૠૠଅଌଏଐଓନପରଲଳଶହଽଽଡ଼ଢ଼ୟୡஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹఅఌఎఐఒనపళవహౠౡಅಌಎಐಒನಪಳವಹೞೞೠೡഅഌഎഐഒനപഹൠൡกฮะะาำเๅກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະະາຳຽຽເໄཀཇཉཀྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅟᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼιιῂῄῆῌῐΐῖΊῠῬῲῴῶῼΩΩKÅ℮℮ↀↂ〇〇〡〩ぁゔァヺㄅㄬ一龥가힣",yge="Private Use",kut="ASSIGNED",Eut="\0€ÿĀſƀɏɐʯʰ˿̀ͯͰϿЀӿ԰֏֐׿؀ۿ܀ݏހ޿ऀॿঀ৿਀੿઀૿଀୿஀௿ఀ౿ಀ೿ഀൿ඀෿฀๿຀໿ༀ࿿က႟Ⴀჿᄀᇿሀ፿Ꭰ᏿᐀ᙿ ᚟ᚠ᛿ក៿᠀᢯Ḁỿἀ῿ ⁰₟₠⃏⃐⃿℀⅏⅐↏←⇿∀⋿⌀⏿␀␿⑀⑟①⓿─╿▀▟■◿☀⛿✀➿⠀⣿⺀⻿⼀⿟⿰⿿ 〿぀ゟ゠ヿ㄀ㄯ㄰㆏㆐㆟ㆠㆿ㈀㋿㌀㏿㐀䶵一鿿ꀀ꒏꒐꓏가힣豈﫿ffﭏﭐ﷿︠︯︰﹏﹐﹯ﹰ﻾\uFEFF\uFEFF＀￯",Q8t="UNASSIGNED",n7={3:1,117:1},xge="org.eclipse.emf.ecore.xml.type.util",WH={3:1,4:1,5:1,368:1},Z8t="org.eclipse.xtext.xbase.lib",kge="Cannot add elements to a Range",Ege="Cannot set elements in a Range",Tge="Cannot remove elements from a Range",YH="locale",KH="default",XH="user.agent",l,QH,Tut;b.goog=b.goog||{},b.goog.global=b.goog.global||b,mgn(),D(1,null,{},_),l.Fb=function(e){return mUt(this,e)},l.Gb=function(){return this.gm},l.Hb=function(){return Pw(this)},l.Ib=function(){var e;return Ip(ol(this))+"@"+(e=Hi(this)>>>0,e.toString(16))},l.equals=function(t){return this.Fb(t)},l.hashCode=function(){return this.Hb()},l.toString=function(){return this.Ib()};var Cge,_ge,Sge;D(290,1,{290:1,2026:1},Lyt),l.le=function(e){var n;return n=new Lyt,n.i=4,e>1?n.c=NQt(this,e-1):n.c=this,n},l.me=function(){return P0(this),this.b},l.ne=function(){return Ip(this)},l.oe=function(){return P0(this),this.k},l.pe=function(){return(this.i&4)!=0},l.qe=function(){return(this.i&1)!=0},l.Ib=function(){return Vmt(this)},l.i=0;var Qn=F(Xo,"Object",1),J8t=F(Xo,"Class",290);D(1998,1,DI),F(II,"Optional",1998),D(1170,1998,DI,A),l.Fb=function(e){return e===this},l.Hb=function(){return 2040732332},l.Ib=function(){return"Optional.absent()"},l.Jb=function(e){return Lr(e),PC(),Cut};var Cut;F(II,"Absent",1170),D(628,1,{},vet),F(II,"Joiner",628);var Yxn=Ki(II,"Predicate");D(582,1,{169:1,582:1,3:1,45:1},mC),l.Mb=function(e){return kre(this,e)},l.Lb=function(e){return kre(this,e)},l.Fb=function(e){var n;return _t(e,582)?(n=u(e,582),k5t(this.a,n.a)):!1},l.Hb=function(){return Pyt(this.a)+306654252},l.Ib=function(){return spn(this.a)},F(II,"Predicates/AndPredicate",582),D(408,1998,{408:1,3:1},Wk),l.Fb=function(e){var n;return _t(e,408)?(n=u(e,408),yi(this.a,n.a)):!1},l.Hb=function(){return 1502476572+Hi(this.a)},l.Ib=function(){return cfe+this.a+")"},l.Jb=function(e){return new Wk(g$(e.Kb(this.a),"the Function passed to Optional.transform() must not return null."))},F(II,"Present",408),D(198,1,FE),l.Nb=function(e){ba(this,e)},l.Qb=function(){uHt()},F(Ke,"UnmodifiableIterator",198),D(1978,198,NE),l.Qb=function(){uHt()},l.Rb=function(e){throw it(new Or)},l.Wb=function(e){throw it(new Or)},F(Ke,"UnmodifiableListIterator",1978),D(386,1978,NE),l.Ob=function(){return this.c0},l.Pb=function(){if(this.c>=this.d)throw it(new lc);return this.Xb(this.c++)},l.Tb=function(){return this.c},l.Ub=function(){if(this.c<=0)throw it(new lc);return this.Xb(--this.c)},l.Vb=function(){return this.c-1},l.c=0,l.d=0,F(Ke,"AbstractIndexedListIterator",386),D(699,198,FE),l.Ob=function(){return bit(this)},l.Pb=function(){return Rmt(this)},l.e=1,F(Ke,"AbstractIterator",699),D(1986,1,{224:1}),l.Zb=function(){var e;return e=this.f,e||(this.f=this.ac())},l.Fb=function(e){return Pit(this,e)},l.Hb=function(){return Hi(this.Zb())},l.dc=function(){return this.gc()==0},l.ec=function(){return qx(this)},l.Ib=function(){return $o(this.Zb())},F(Ke,"AbstractMultimap",1986),D(726,1986,T2),l.$b=function(){cz(this)},l._b=function(e){return AHt(this,e)},l.ac=function(){return new l8(this,this.c)},l.ic=function(e){return this.hc()},l.bc=function(){return new K3(this,this.c)},l.jc=function(){return this.mc(this.hc())},l.kc=function(){return new Uqt(this)},l.lc=function(){return zst(this.c.vc().Nc(),new B,64,this.d)},l.cc=function(e){return Ai(this,e)},l.fc=function(e){return GD(this,e)},l.gc=function(){return this.d},l.mc=function(e){return wn(),new T(e)},l.nc=function(){return new Gqt(this)},l.oc=function(){return zst(this.c.Cc().Nc(),new I,64,this.d)},l.pc=function(e,n){return new q$(this,e,n,null)},l.d=0,F(Ke,"AbstractMapBasedMultimap",726),D(1631,726,T2),l.hc=function(){return new Xc(this.a)},l.jc=function(){return wn(),wn(),io},l.cc=function(e){return u(Ai(this,e),15)},l.fc=function(e){return u(GD(this,e),15)},l.Zb=function(){return Wx(this)},l.Fb=function(e){return Pit(this,e)},l.qc=function(e){return u(Ai(this,e),15)},l.rc=function(e){return u(GD(this,e),15)},l.mc=function(e){return iD(u(e,15))},l.pc=function(e,n){return zZt(this,e,u(n,15),null)},F(Ke,"AbstractListMultimap",1631),D(732,1,sa),l.Nb=function(e){ba(this,e)},l.Ob=function(){return this.c.Ob()||this.e.Ob()},l.Pb=function(){var e;return this.e.Ob()||(e=u(this.c.Pb(),42),this.b=e.cd(),this.a=u(e.dd(),14),this.e=this.a.Kc()),this.sc(this.b,this.e.Pb())},l.Qb=function(){this.e.Qb(),this.a.dc()&&this.c.Qb(),--this.d.d},F(Ke,"AbstractMapBasedMultimap/Itr",732),D(1099,732,sa,Gqt),l.sc=function(e,n){return n},F(Ke,"AbstractMapBasedMultimap/1",1099),D(1100,1,{},I),l.Kb=function(e){return u(e,14).Nc()},F(Ke,"AbstractMapBasedMultimap/1methodref$spliterator$Type",1100),D(1101,732,sa,Uqt),l.sc=function(e,n){return new Lw(e,n)},F(Ke,"AbstractMapBasedMultimap/2",1101);var tEt=Ki(pr,"Map");D(1967,1,mv),l.wc=function(e){K9(this,e)},l.yc=function(e,n,r){return Qit(this,e,n,r)},l.$b=function(){this.vc().$b()},l.tc=function(e){return Tst(this,e)},l._b=function(e){return!!C4t(this,e,!1)},l.uc=function(e){var n,r,s;for(r=this.vc().Kc();r.Ob();)if(n=u(r.Pb(),42),s=n.dd(),Vt(e)===Vt(s)||e!=null&&yi(e,s))return!0;return!1},l.Fb=function(e){var n,r,s;if(e===this)return!0;if(!_t(e,83)||(s=u(e,83),this.gc()!=s.gc()))return!1;for(r=s.vc().Kc();r.Ob();)if(n=u(r.Pb(),42),!this.tc(n))return!1;return!0},l.xc=function(e){return ec(C4t(this,e,!1))},l.Hb=function(){return Tyt(this.vc())},l.dc=function(){return this.gc()==0},l.ec=function(){return new Sm(this)},l.zc=function(e,n){throw it(new Sg("Put not supported on this map"))},l.Ac=function(e){Y9(this,e)},l.Bc=function(e){return ec(C4t(this,e,!0))},l.gc=function(){return this.vc().gc()},l.Ib=function(){return Tae(this)},l.Cc=function(){return new v1(this)},F(pr,"AbstractMap",1967),D(1987,1967,mv),l.bc=function(){return new FR(this)},l.vc=function(){return $Kt(this)},l.ec=function(){var e;return e=this.g,e||(this.g=this.bc())},l.Cc=function(){var e;return e=this.i,e||(this.i=new yVt(this))},F(Ke,"Maps/ViewCachingAbstractMap",1987),D(389,1987,mv,l8),l.xc=function(e){return zon(this,e)},l.Bc=function(e){return rln(this,e)},l.$b=function(){this.d==this.e.c?this.e.$b():Vj(new Uwt(this))},l._b=function(e){return eie(this.d,e)},l.Ec=function(){return new Yk(this)},l.Dc=function(){return this.Ec()},l.Fb=function(e){return this===e||yi(this.d,e)},l.Hb=function(){return Hi(this.d)},l.ec=function(){return this.e.ec()},l.gc=function(){return this.d.gc()},l.Ib=function(){return $o(this.d)},F(Ke,"AbstractMapBasedMultimap/AsMap",389);var j1=Ki(Xo,"Iterable");D(28,1,xy),l.Jc=function(e){va(this,e)},l.Lc=function(){return this.Oc()},l.Nc=function(){return new _n(this,0)},l.Oc=function(){return new Tn(null,this.Nc())},l.Fc=function(e){throw it(new Sg("Add not supported on this collection"))},l.Gc=function(e){return Ua(this,e)},l.$b=function(){Dvt(this)},l.Hc=function(e){return ay(this,e,!1)},l.Ic=function(e){return ND(this,e)},l.dc=function(){return this.gc()==0},l.Mc=function(e){return ay(this,e,!0)},l.Pc=function(){return svt(this)},l.Qc=function(e){return eI(this,e)},l.Ib=function(){return eb(this)},F(pr,"AbstractCollection",28);var jh=Ki(pr,"Set");D(N1,28,zu),l.Nc=function(){return new _n(this,1)},l.Fb=function(e){return Yie(this,e)},l.Hb=function(){return Tyt(this)},F(pr,"AbstractSet",N1),D(1970,N1,zu),F(Ke,"Sets/ImprovedAbstractSet",1970),D(1971,1970,zu),l.$b=function(){this.Rc().$b()},l.Hc=function(e){return Lie(this,e)},l.dc=function(){return this.Rc().dc()},l.Mc=function(e){var n;return this.Hc(e)?(n=u(e,42),this.Rc().ec().Mc(n.cd())):!1},l.gc=function(){return this.Rc().gc()},F(Ke,"Maps/EntrySet",1971),D(1097,1971,zu,Yk),l.Hc=function(e){return Jyt(this.a.d.vc(),e)},l.Kc=function(){return new Uwt(this.a)},l.Rc=function(){return this.a},l.Mc=function(e){var n;return Jyt(this.a.d.vc(),e)?(n=u(e,42),San(this.a.e,n.cd()),!0):!1},l.Nc=function(){return XM(this.a.d.vc().Nc(),new nR(this.a))},F(Ke,"AbstractMapBasedMultimap/AsMap/AsMapEntries",1097),D(1098,1,{},nR),l.Kb=function(e){return MJt(this.a,u(e,42))},F(Ke,"AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type",1098),D(730,1,sa,Uwt),l.Nb=function(e){ba(this,e)},l.Pb=function(){var e;return e=u(this.b.Pb(),42),this.a=u(e.dd(),14),MJt(this.c,e)},l.Ob=function(){return this.b.Ob()},l.Qb=function(){i4(!!this.a),this.b.Qb(),this.c.e.d-=this.a.gc(),this.a.$b(),this.a=null},F(Ke,"AbstractMapBasedMultimap/AsMap/AsMapIterator",730),D(532,1970,zu,FR),l.$b=function(){this.b.$b()},l.Hc=function(e){return this.b._b(e)},l.Jc=function(e){Lr(e),this.b.wc(new Ctt(e))},l.dc=function(){return this.b.dc()},l.Kc=function(){return new FC(this.b.vc().Kc())},l.Mc=function(e){return this.b._b(e)?(this.b.Bc(e),!0):!1},l.gc=function(){return this.b.gc()},F(Ke,"Maps/KeySet",532),D(318,532,zu,K3),l.$b=function(){var e;Vj((e=this.b.vc().Kc(),new vbt(this,e)))},l.Ic=function(e){return this.b.ec().Ic(e)},l.Fb=function(e){return this===e||yi(this.b.ec(),e)},l.Hb=function(){return Hi(this.b.ec())},l.Kc=function(){var e;return e=this.b.vc().Kc(),new vbt(this,e)},l.Mc=function(e){var n,r;return r=0,n=u(this.b.Bc(e),14),n&&(r=n.gc(),n.$b(),this.a.d-=r),r>0},l.Nc=function(){return this.b.ec().Nc()},F(Ke,"AbstractMapBasedMultimap/KeySet",318),D(731,1,sa,vbt),l.Nb=function(e){ba(this,e)},l.Ob=function(){return this.c.Ob()},l.Pb=function(){return this.a=u(this.c.Pb(),42),this.a.cd()},l.Qb=function(){var e;i4(!!this.a),e=u(this.a.dd(),14),this.c.Qb(),this.b.a.d-=e.gc(),e.$b(),this.a=null},F(Ke,"AbstractMapBasedMultimap/KeySet/1",731),D(491,389,{83:1,161:1},HM),l.bc=function(){return this.Sc()},l.ec=function(){return this.Tc()},l.Sc=function(){return new mM(this.c,this.Uc())},l.Tc=function(){var e;return e=this.b,e||(this.b=this.Sc())},l.Uc=function(){return u(this.d,161)},F(Ke,"AbstractMapBasedMultimap/SortedAsMap",491),D(542,491,ufe,Dj),l.bc=function(){return new u8(this.a,u(u(this.d,161),171))},l.Sc=function(){return new u8(this.a,u(u(this.d,161),171))},l.ec=function(){var e;return e=this.b,u(e||(this.b=new u8(this.a,u(u(this.d,161),171))),271)},l.Tc=function(){var e;return e=this.b,u(e||(this.b=new u8(this.a,u(u(this.d,161),171))),271)},l.Uc=function(){return u(u(this.d,161),171)},F(Ke,"AbstractMapBasedMultimap/NavigableAsMap",542),D(490,318,lfe,mM),l.Nc=function(){return this.b.ec().Nc()},F(Ke,"AbstractMapBasedMultimap/SortedKeySet",490),D(388,490,Bxt,u8),F(Ke,"AbstractMapBasedMultimap/NavigableKeySet",388),D(541,28,xy,q$),l.Fc=function(e){var n,r;return cl(this),r=this.d.dc(),n=this.d.Fc(e),n&&(++this.f.d,r&&WM(this)),n},l.Gc=function(e){var n,r,s;return e.dc()?!1:(s=(cl(this),this.d.gc()),n=this.d.Gc(e),n&&(r=this.d.gc(),this.f.d+=r-s,s==0&&WM(this)),n)},l.$b=function(){var e;e=(cl(this),this.d.gc()),e!=0&&(this.d.$b(),this.f.d-=e,Kj(this))},l.Hc=function(e){return cl(this),this.d.Hc(e)},l.Ic=function(e){return cl(this),this.d.Ic(e)},l.Fb=function(e){return e===this?!0:(cl(this),yi(this.d,e))},l.Hb=function(){return cl(this),Hi(this.d)},l.Kc=function(){return cl(this),new Iwt(this)},l.Mc=function(e){var n;return cl(this),n=this.d.Mc(e),n&&(--this.f.d,Kj(this)),n},l.gc=function(){return iUt(this)},l.Nc=function(){return cl(this),this.d.Nc()},l.Ib=function(){return cl(this),$o(this.d)},F(Ke,"AbstractMapBasedMultimap/WrappedCollection",541);var wh=Ki(pr,"List");D(728,541,{20:1,28:1,14:1,15:1},ovt),l.ad=function(e){r4(this,e)},l.Nc=function(){return cl(this),this.d.Nc()},l.Vc=function(e,n){var r;cl(this),r=this.d.dc(),u(this.d,15).Vc(e,n),++this.a.d,r&&WM(this)},l.Wc=function(e,n){var r,s,o;return n.dc()?!1:(o=(cl(this),this.d.gc()),r=u(this.d,15).Wc(e,n),r&&(s=this.d.gc(),this.a.d+=s-o,o==0&&WM(this)),r)},l.Xb=function(e){return cl(this),u(this.d,15).Xb(e)},l.Xc=function(e){return cl(this),u(this.d,15).Xc(e)},l.Yc=function(){return cl(this),new BUt(this)},l.Zc=function(e){return cl(this),new XXt(this,e)},l.$c=function(e){var n;return cl(this),n=u(this.d,15).$c(e),--this.a.d,Kj(this),n},l._c=function(e,n){return cl(this),u(this.d,15)._c(e,n)},l.bd=function(e,n){return cl(this),zZt(this.a,this.e,u(this.d,15).bd(e,n),this.b?this.b:this)},F(Ke,"AbstractMapBasedMultimap/WrappedList",728),D(1096,728,{20:1,28:1,14:1,15:1,54:1},SWt),F(Ke,"AbstractMapBasedMultimap/RandomAccessWrappedList",1096),D(620,1,sa,Iwt),l.Nb=function(e){ba(this,e)},l.Ob=function(){return D8(this),this.b.Ob()},l.Pb=function(){return D8(this),this.b.Pb()},l.Qb=function(){lWt(this)},F(Ke,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",620),D(729,620,n0,BUt,XXt),l.Qb=function(){lWt(this)},l.Rb=function(e){var n;n=iUt(this.a)==0,(D8(this),u(this.b,125)).Rb(e),++this.a.a.d,n&&WM(this.a)},l.Sb=function(){return(D8(this),u(this.b,125)).Sb()},l.Tb=function(){return(D8(this),u(this.b,125)).Tb()},l.Ub=function(){return(D8(this),u(this.b,125)).Ub()},l.Vb=function(){return(D8(this),u(this.b,125)).Vb()},l.Wb=function(e){(D8(this),u(this.b,125)).Wb(e)},F(Ke,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",729),D(727,541,lfe,J2t),l.Nc=function(){return cl(this),this.d.Nc()},F(Ke,"AbstractMapBasedMultimap/WrappedSortedSet",727),D(1095,727,Bxt,LUt),F(Ke,"AbstractMapBasedMultimap/WrappedNavigableSet",1095),D(1094,541,zu,zWt),l.Nc=function(){return cl(this),this.d.Nc()},F(Ke,"AbstractMapBasedMultimap/WrappedSet",1094),D(1103,1,{},B),l.Kb=function(e){return Oan(u(e,42))},F(Ke,"AbstractMapBasedMultimap/lambda$1$Type",1103),D(1102,1,{},ftt),l.Kb=function(e){return new Lw(this.a,e)},F(Ke,"AbstractMapBasedMultimap/lambda$2$Type",1102);var P2=Ki(pr,"Map/Entry");D(345,1,zq),l.Fb=function(e){var n;return _t(e,42)?(n=u(e,42),pd(this.cd(),n.cd())&&pd(this.dd(),n.dd())):!1},l.Hb=function(){var e,n;return e=this.cd(),n=this.dd(),(e==null?0:Hi(e))^(n==null?0:Hi(n))},l.ed=function(e){throw it(new Or)},l.Ib=function(){return this.cd()+"="+this.dd()},F(Ke,hfe,345),D(1988,28,xy),l.$b=function(){this.fd().$b()},l.Hc=function(e){var n;return _t(e,42)?(n=u(e,42),dsn(this.fd(),n.cd(),n.dd())):!1},l.Mc=function(e){var n;return _t(e,42)?(n=u(e,42),xZt(this.fd(),n.cd(),n.dd())):!1},l.gc=function(){return this.fd().d},F(Ke,"Multimaps/Entries",1988),D(733,1988,xy,nM),l.Kc=function(){return this.a.kc()},l.fd=function(){return this.a},l.Nc=function(){return this.a.lc()},F(Ke,"AbstractMultimap/Entries",733),D(734,733,zu,Ypt),l.Nc=function(){return this.a.lc()},l.Fb=function(e){return H4t(this,e)},l.Hb=function(){return kne(this)},F(Ke,"AbstractMultimap/EntrySet",734),D(735,28,xy,I3),l.$b=function(){this.a.$b()},l.Hc=function(e){return Qun(this.a,e)},l.Kc=function(){return this.a.nc()},l.gc=function(){return this.a.d},l.Nc=function(){return this.a.oc()},F(Ke,"AbstractMultimap/Values",735),D(1989,28,{835:1,20:1,28:1,14:1}),l.Jc=function(e){Lr(e),Q3(this).Jc(new Ttt(e))},l.Nc=function(){var e;return e=Q3(this).Nc(),zst(e,new vt,64|e.qd()&1296,this.a.d)},l.Fc=function(e){return rbt(),!0},l.Gc=function(e){return Lr(this),Lr(e),_t(e,543)?vsn(u(e,835)):!e.dc()&&oit(this,e.Kc())},l.Hc=function(e){var n;return n=u(sy(Wx(this.a),e),14),(n?n.gc():0)>0},l.Fb=function(e){return h2n(this,e)},l.Hb=function(){return Hi(Q3(this))},l.dc=function(){return Q3(this).dc()},l.Mc=function(e){return zoe(this,e,1)>0},l.Ib=function(){return $o(Q3(this))},F(Ke,"AbstractMultiset",1989),D(1991,1970,zu),l.$b=function(){cz(this.a.a)},l.Hc=function(e){var n,r;return _t(e,492)?(r=u(e,416),u(r.a.dd(),14).gc()<=0?!1:(n=QQt(this.a,r.a.cd()),n==u(r.a.dd(),14).gc())):!1},l.Mc=function(e){var n,r,s,o;return _t(e,492)&&(r=u(e,416),n=r.a.cd(),s=u(r.a.dd(),14).gc(),s!=0)?(o=this.a,Jpn(o,n,s)):!1},F(Ke,"Multisets/EntrySet",1991),D(1109,1991,zu,rM),l.Kc=function(){return new tHt($Kt(Wx(this.a.a)).Kc())},l.gc=function(){return Wx(this.a.a).gc()},F(Ke,"AbstractMultiset/EntrySet",1109),D(619,726,T2),l.hc=function(){return this.gd()},l.jc=function(){return this.hd()},l.cc=function(e){return this.jd(e)},l.fc=function(e){return this.kd(e)},l.Zb=function(){var e;return e=this.f,e||(this.f=this.ac())},l.hd=function(){return wn(),wn(),rV},l.Fb=function(e){return Pit(this,e)},l.jd=function(e){return u(Ai(this,e),21)},l.kd=function(e){return u(GD(this,e),21)},l.mc=function(e){return wn(),new s8(u(e,21))},l.pc=function(e,n){return new zWt(this,e,u(n,21))},F(Ke,"AbstractSetMultimap",619),D(1657,619,T2),l.hc=function(){return new Op(this.b)},l.gd=function(){return new Op(this.b)},l.jc=function(){return kvt(new Op(this.b))},l.hd=function(){return kvt(new Op(this.b))},l.cc=function(e){return u(u(Ai(this,e),21),84)},l.jd=function(e){return u(u(Ai(this,e),21),84)},l.fc=function(e){return u(u(GD(this,e),21),84)},l.kd=function(e){return u(u(GD(this,e),21),84)},l.mc=function(e){return _t(e,271)?kvt(u(e,271)):(wn(),new I2t(u(e,84)))},l.Zb=function(){var e;return e=this.f,e||(this.f=_t(this.c,171)?new Dj(this,u(this.c,171)):_t(this.c,161)?new HM(this,u(this.c,161)):new l8(this,this.c))},l.pc=function(e,n){return _t(n,271)?new LUt(this,e,u(n,271)):new J2t(this,e,u(n,84))},F(Ke,"AbstractSortedSetMultimap",1657),D(1658,1657,T2),l.Zb=function(){var e;return e=this.f,u(u(e||(this.f=_t(this.c,171)?new Dj(this,u(this.c,171)):_t(this.c,161)?new HM(this,u(this.c,161)):new l8(this,this.c)),161),171)},l.ec=function(){var e;return e=this.i,u(u(e||(this.i=_t(this.c,171)?new u8(this,u(this.c,171)):_t(this.c,161)?new mM(this,u(this.c,161)):new K3(this,this.c)),84),271)},l.bc=function(){return _t(this.c,171)?new u8(this,u(this.c,171)):_t(this.c,161)?new mM(this,u(this.c,161)):new K3(this,this.c)},F(Ke,"AbstractSortedKeySortedSetMultimap",1658),D(2010,1,{1947:1}),l.Fb=function(e){return qdn(this,e)},l.Hb=function(){var e;return Tyt((e=this.g,e||(this.g=new yC(this))))},l.Ib=function(){var e;return Tae((e=this.f,e||(this.f=new T2t(this))))},F(Ke,"AbstractTable",2010),D(665,N1,zu,yC),l.$b=function(){lHt()},l.Hc=function(e){var n,r;return _t(e,468)?(n=u(e,682),r=u(sy(uXt(this.a),Np(n.c.e,n.b)),83),!!r&&Jyt(r.vc(),new Lw(Np(n.c.c,n.a),t6(n.c,n.b,n.a)))):!1},l.Kc=function(){return _rn(this.a)},l.Mc=function(e){var n,r;return _t(e,468)?(n=u(e,682),r=u(sy(uXt(this.a),Np(n.c.e,n.b)),83),!!r&&Tln(r.vc(),new Lw(Np(n.c.c,n.a),t6(n.c,n.b,n.a)))):!1},l.gc=function(){return xKt(this.a)},l.Nc=function(){return xsn(this.a)},F(Ke,"AbstractTable/CellSet",665),D(1928,28,xy,dtt),l.$b=function(){lHt()},l.Hc=function(e){return O0n(this.a,e)},l.Kc=function(){return Srn(this.a)},l.gc=function(){return xKt(this.a)},l.Nc=function(){return TZt(this.a)},F(Ke,"AbstractTable/Values",1928),D(1632,1631,T2),F(Ke,"ArrayListMultimapGwtSerializationDependencies",1632),D(513,1632,T2,wet,Wvt),l.hc=function(){return new Xc(this.a)},l.a=0,F(Ke,"ArrayListMultimap",513),D(664,2010,{664:1,1947:1,3:1},Qoe),F(Ke,"ArrayTable",664),D(1924,386,NE,iWt),l.Xb=function(e){return new Ayt(this.a,e)},F(Ke,"ArrayTable/1",1924),D(1925,1,{},eR),l.ld=function(e){return new Ayt(this.a,e)},F(Ke,"ArrayTable/1methodref$getCell$Type",1925),D(2011,1,{682:1}),l.Fb=function(e){var n;return e===this?!0:_t(e,468)?(n=u(e,682),pd(Np(this.c.e,this.b),Np(n.c.e,n.b))&&pd(Np(this.c.c,this.a),Np(n.c.c,n.a))&&pd(t6(this.c,this.b,this.a),t6(n.c,n.b,n.a))):!1},l.Hb=function(){return Az(lt(ct(Qn,1),De,1,5,[Np(this.c.e,this.b),Np(this.c.c,this.a),t6(this.c,this.b,this.a)]))},l.Ib=function(){return"("+Np(this.c.e,this.b)+","+Np(this.c.c,this.a)+")="+t6(this.c,this.b,this.a)},F(Ke,"Tables/AbstractCell",2011),D(468,2011,{468:1,682:1},Ayt),l.a=0,l.b=0,l.d=0,F(Ke,"ArrayTable/2",468),D(1927,1,{},gx),l.ld=function(e){return Fte(this.a,e)},F(Ke,"ArrayTable/2methodref$getValue$Type",1927),D(1926,386,NE,sWt),l.Xb=function(e){return Fte(this.a,e)},F(Ke,"ArrayTable/3",1926),D(1979,1967,mv),l.$b=function(){Vj(this.kc())},l.vc=function(){return new bx(this)},l.lc=function(){return new BXt(this.kc(),this.gc())},F(Ke,"Maps/IteratorBasedAbstractMap",1979),D(828,1979,mv),l.$b=function(){throw it(new Or)},l._b=function(e){return LHt(this.c,e)},l.kc=function(){return new aWt(this,this.c.b.c.gc())},l.lc=function(){return Bnt(this.c.b.c.gc(),16,new bw(this))},l.xc=function(e){var n;return n=u(x9(this.c,e),19),n?this.nd(n.a):null},l.dc=function(){return this.c.b.c.dc()},l.ec=function(){return Gnt(this.c)},l.zc=function(e,n){var r;if(r=u(x9(this.c,e),19),!r)throw it(new Fn(this.md()+" "+e+" not in "+Gnt(this.c)));return this.od(r.a,n)},l.Bc=function(e){throw it(new Or)},l.gc=function(){return this.c.b.c.gc()},F(Ke,"ArrayTable/ArrayMap",828),D(1923,1,{},bw),l.ld=function(e){return hXt(this.a,e)},F(Ke,"ArrayTable/ArrayMap/0methodref$getEntry$Type",1923),D(1921,345,zq,uVt),l.cd=function(){return qQe(this.a,this.b)},l.dd=function(){return this.a.nd(this.b)},l.ed=function(e){return this.a.od(this.b,e)},l.b=0,F(Ke,"ArrayTable/ArrayMap/1",1921),D(1922,386,NE,aWt),l.Xb=function(e){return hXt(this.a,e)},F(Ke,"ArrayTable/ArrayMap/2",1922),D(1920,828,mv,ZKt),l.md=function(){return"Column"},l.nd=function(e){return t6(this.b,this.a,e)},l.od=function(e,n){return ore(this.b,this.a,e,n)},l.a=0,F(Ke,"ArrayTable/Row",1920),D(829,828,mv,T2t),l.nd=function(e){return new ZKt(this.a,e)},l.zc=function(e,n){return u(n,83),CKe()},l.od=function(e,n){return u(n,83),_Ke()},l.md=function(){return"Row"},F(Ke,"ArrayTable/RowMap",829),D(1120,1,Ih,lVt),l.qd=function(){return this.a.qd()&-262},l.rd=function(){return this.a.rd()},l.Nb=function(e){this.a.Nb(new sVt(e,this.b))},l.sd=function(e){return this.a.sd(new iVt(e,this.b))},F(Ke,"CollectSpliterators/1",1120),D(1121,1,Un,iVt),l.td=function(e){this.a.td(this.b.Kb(e))},F(Ke,"CollectSpliterators/1/lambda$0$Type",1121),D(1122,1,Un,sVt),l.td=function(e){this.a.td(this.b.Kb(e))},F(Ke,"CollectSpliterators/1/lambda$1$Type",1122),D(1123,1,Ih,FZt),l.qd=function(){return this.a},l.rd=function(){return this.d&&(this.b=jUt(this.b,this.d.rd())),jUt(this.b,0)},l.Nb=function(e){this.d&&(this.d.Nb(e),this.d=null),this.c.Nb(new rVt(this.e,e)),this.b=0},l.sd=function(e){for(;;){if(this.d&&this.d.sd(e))return u9(this.b,qq)&&(this.b=Jp(this.b,1)),!0;if(this.d=null,!this.c.sd(new aVt(this,this.e)))return!1}},l.a=0,l.b=0,F(Ke,"CollectSpliterators/1FlatMapSpliterator",1123),D(1124,1,Un,aVt),l.td=function(e){GZe(this.a,this.b,e)},F(Ke,"CollectSpliterators/1FlatMapSpliterator/lambda$0$Type",1124),D(1125,1,Un,rVt),l.td=function(e){LQe(this.b,this.a,e)},F(Ke,"CollectSpliterators/1FlatMapSpliterator/lambda$1$Type",1125),D(1117,1,Ih,wYt),l.qd=function(){return 16464|this.b},l.rd=function(){return this.a.rd()},l.Nb=function(e){this.a.xe(new cVt(e,this.c))},l.sd=function(e){return this.a.ye(new oVt(e,this.c))},l.b=0,F(Ke,"CollectSpliterators/1WithCharacteristics",1117),D(1118,1,OI,oVt),l.ud=function(e){this.a.td(this.b.ld(e))},F(Ke,"CollectSpliterators/1WithCharacteristics/lambda$0$Type",1118),D(1119,1,OI,cVt),l.ud=function(e){this.a.td(this.b.ld(e))},F(Ke,"CollectSpliterators/1WithCharacteristics/lambda$1$Type",1119),D(245,1,Uat),l.wd=function(e){return this.vd(u(e,245))},l.vd=function(e){var n;return e==(oet(),Sut)?1:e==(cet(),_ut)?-1:(n=(zj(),ID(this.a,e.a)),n!=0?n:_t(this,519)==_t(e,519)?0:_t(this,519)?1:-1)},l.zd=function(){return this.a},l.Fb=function(e){return D3t(this,e)},F(Ke,"Cut",245),D(1761,245,Uat,dHt),l.vd=function(e){return e==this?0:1},l.xd=function(e){throw it(new Mpt)},l.yd=function(e){e.a+="+∞)"},l.zd=function(){throw it(new No(dfe))},l.Hb=function(){return Gd(),$3t(this)},l.Ad=function(e){return!1},l.Ib=function(){return"+∞"};var _ut;F(Ke,"Cut/AboveAll",1761),D(519,245,{245:1,519:1,3:1,35:1},hWt),l.xd=function(e){hc((e.a+="(",e),this.a)},l.yd=function(e){qp(hc(e,this.a),93)},l.Hb=function(){return~Hi(this.a)},l.Ad=function(e){return zj(),ID(this.a,e)<0},l.Ib=function(){return"/"+this.a+"\\"},F(Ke,"Cut/AboveValue",519),D(1760,245,Uat,gHt),l.vd=function(e){return e==this?0:-1},l.xd=function(e){e.a+="(-∞"},l.yd=function(e){throw it(new Mpt)},l.zd=function(){throw it(new No(dfe))},l.Hb=function(){return Gd(),$3t(this)},l.Ad=function(e){return!0},l.Ib=function(){return"-∞"};var Sut;F(Ke,"Cut/BelowAll",1760),D(1762,245,Uat,fWt),l.xd=function(e){hc((e.a+="[",e),this.a)},l.yd=function(e){qp(hc(e,this.a),41)},l.Hb=function(){return Hi(this.a)},l.Ad=function(e){return zj(),ID(this.a,e)<=0},l.Ib=function(){return"\\"+this.a+"/"},F(Ke,"Cut/BelowValue",1762),D(537,1,r0),l.Jc=function(e){va(this,e)},l.Ib=function(){return thn(u(g$(this,"use Optional.orNull() instead of Optional.or(null)"),20).Kc())},F(Ke,"FluentIterable",537),D(433,537,r0,f9),l.Kc=function(){return new ar(lr(this.a.Kc(),new z))},F(Ke,"FluentIterable/2",433),D(1046,537,r0,bUt),l.Kc=function(){return zp(this)},F(Ke,"FluentIterable/3",1046),D(708,386,NE,C2t),l.Xb=function(e){return this.a[e].Kc()},F(Ke,"FluentIterable/3/1",708),D(1972,1,{}),l.Ib=function(){return $o(this.Bd().b)},F(Ke,"ForwardingObject",1972),D(1973,1972,gfe),l.Bd=function(){return this.Cd()},l.Jc=function(e){va(this,e)},l.Lc=function(){return this.Oc()},l.Nc=function(){return new _n(this,0)},l.Oc=function(){return new Tn(null,this.Nc())},l.Fc=function(e){return this.Cd(),OHt()},l.Gc=function(e){return this.Cd(),PHt()},l.$b=function(){this.Cd(),FHt()},l.Hc=function(e){return this.Cd().Hc(e)},l.Ic=function(e){return this.Cd().Ic(e)},l.dc=function(){return this.Cd().b.dc()},l.Kc=function(){return this.Cd().Kc()},l.Mc=function(e){return this.Cd(),NHt()},l.gc=function(){return this.Cd().b.gc()},l.Pc=function(){return this.Cd().Pc()},l.Qc=function(e){return this.Cd().Qc(e)},F(Ke,"ForwardingCollection",1973),D(1980,28,Rxt),l.Kc=function(){return this.Ed()},l.Fc=function(e){throw it(new Or)},l.Gc=function(e){throw it(new Or)},l.$b=function(){throw it(new Or)},l.Hc=function(e){return e!=null&&ay(this,e,!1)},l.Dd=function(){switch(this.gc()){case 0:return Wm(),Wm(),Aut;case 1:return Wm(),new Rnt(Lr(this.Ed().Pb()));default:return new JKt(this,this.Pc())}},l.Mc=function(e){throw it(new Or)},F(Ke,"ImmutableCollection",1980),D(712,1980,Rxt,Apt),l.Kc=function(){return e6(this.a.Kc())},l.Hc=function(e){return e!=null&&this.a.Hc(e)},l.Ic=function(e){return this.a.Ic(e)},l.dc=function(){return this.a.dc()},l.Ed=function(){return e6(this.a.Kc())},l.gc=function(){return this.a.gc()},l.Pc=function(){return this.a.Pc()},l.Qc=function(e){return this.a.Qc(e)},l.Ib=function(){return $o(this.a)},F(Ke,"ForwardingImmutableCollection",712),D(152,1980,M_),l.Kc=function(){return this.Ed()},l.Yc=function(){return this.Fd(0)},l.Zc=function(e){return this.Fd(e)},l.ad=function(e){r4(this,e)},l.Nc=function(){return new _n(this,16)},l.bd=function(e,n){return this.Gd(e,n)},l.Vc=function(e,n){throw it(new Or)},l.Wc=function(e,n){throw it(new Or)},l.Fb=function(e){return Kbn(this,e)},l.Hb=function(){return aun(this)},l.Xc=function(e){return e==null?-1:m1n(this,e)},l.Ed=function(){return this.Fd(0)},l.Fd=function(e){return $2t(this,e)},l.$c=function(e){throw it(new Or)},l._c=function(e,n){throw it(new Or)},l.Gd=function(e,n){var r;return Dz((r=new xVt(this),new Qd(r,e,n)))};var Aut;F(Ke,"ImmutableList",152),D(2006,152,M_),l.Kc=function(){return e6(this.Hd().Kc())},l.bd=function(e,n){return Dz(this.Hd().bd(e,n))},l.Hc=function(e){return e!=null&&this.Hd().Hc(e)},l.Ic=function(e){return this.Hd().Ic(e)},l.Fb=function(e){return yi(this.Hd(),e)},l.Xb=function(e){return Np(this,e)},l.Hb=function(){return Hi(this.Hd())},l.Xc=function(e){return this.Hd().Xc(e)},l.dc=function(){return this.Hd().dc()},l.Ed=function(){return e6(this.Hd().Kc())},l.gc=function(){return this.Hd().gc()},l.Gd=function(e,n){return Dz(this.Hd().bd(e,n))},l.Pc=function(){return this.Hd().Qc(Nt(Qn,De,1,this.Hd().gc(),5,1))},l.Qc=function(e){return this.Hd().Qc(e)},l.Ib=function(){return $o(this.Hd())},F(Ke,"ForwardingImmutableList",2006),D(714,1,BE),l.vc=function(){return Rw(this)},l.wc=function(e){K9(this,e)},l.ec=function(){return Gnt(this)},l.yc=function(e,n,r){return Qit(this,e,n,r)},l.Cc=function(){return this.Ld()},l.$b=function(){throw it(new Or)},l._b=function(e){return this.xc(e)!=null},l.uc=function(e){return this.Ld().Hc(e)},l.Jd=function(){return new iqt(this)},l.Kd=function(){return new sqt(this)},l.Fb=function(e){return Zun(this,e)},l.Hb=function(){return Rw(this).Hb()},l.dc=function(){return this.gc()==0},l.zc=function(e,n){return SKe()},l.Bc=function(e){throw it(new Or)},l.Ib=function(){return Mgn(this)},l.Ld=function(){return this.e?this.e:this.e=this.Kd()},l.c=null,l.d=null,l.e=null;var Age;F(Ke,"ImmutableMap",714),D(715,714,BE),l._b=function(e){return LHt(this,e)},l.uc=function(e){return CVt(this.b,e)},l.Id=function(){return tie(new kC(this))},l.Jd=function(){return tie(OXt(this.b))},l.Kd=function(){return gd(),new Apt(IXt(this.b))},l.Fb=function(e){return _Vt(this.b,e)},l.xc=function(e){return x9(this,e)},l.Hb=function(){return Hi(this.b.c)},l.dc=function(){return this.b.c.dc()},l.gc=function(){return this.b.c.gc()},l.Ib=function(){return $o(this.b.c)},F(Ke,"ForwardingImmutableMap",715),D(1974,1973,Wat),l.Bd=function(){return this.Md()},l.Cd=function(){return this.Md()},l.Nc=function(){return new _n(this,1)},l.Fb=function(e){return e===this||this.Md().Fb(e)},l.Hb=function(){return this.Md().Hb()},F(Ke,"ForwardingSet",1974),D(1069,1974,Wat,kC),l.Bd=function(){return L8(this.a.b)},l.Cd=function(){return L8(this.a.b)},l.Hc=function(e){if(_t(e,42)&&u(e,42).cd()==null)return!1;try{return TVt(L8(this.a.b),e)}catch(n){if(n=Wi(n),_t(n,205))return!1;throw it(n)}},l.Md=function(){return L8(this.a.b)},l.Qc=function(e){var n;return n=gQt(L8(this.a.b),e),L8(this.a.b).b.gc()=0?"+":"")+(r/60|0),n=gj(b.Math.abs(r)%60),(Pae(),Vge)[this.q.getDay()]+" "+Gge[this.q.getMonth()]+" "+gj(this.q.getDate())+" "+gj(this.q.getHours())+":"+gj(this.q.getMinutes())+":"+gj(this.q.getSeconds())+" GMT"+e+n+" "+this.q.getFullYear()};var tV=F(pr,"Date",199);D(1915,199,Efe,oae),l.a=!1,l.b=0,l.c=0,l.d=0,l.e=0,l.f=0,l.g=!1,l.i=0,l.j=0,l.k=0,l.n=0,l.o=0,l.p=0,F("com.google.gwt.i18n.shared.impl","DateRecord",1915),D(1966,1,{}),l.fe=function(){return null},l.ge=function(){return null},l.he=function(){return null},l.ie=function(){return null},l.je=function(){return null},F(v6,"JSONValue",1966),D(216,1966,{216:1},Eg,wx),l.Fb=function(e){return _t(e,216)?Xvt(this.a,u(e,216).a):!1},l.ee=function(){return KYe},l.Hb=function(){return Bvt(this.a)},l.fe=function(){return this},l.Ib=function(){var e,n,r;for(r=new Ol("["),n=0,e=this.a.length;n0&&(r.a+=","),hc(r,Jm(this,n));return r.a+="]",r.a},F(v6,"JSONArray",216),D(483,1966,{483:1},Xk),l.ee=function(){return XYe},l.ge=function(){return this},l.Ib=function(){return Nn(),""+this.a},l.a=!1;var Fge,Nge;F(v6,"JSONBoolean",483),D(985,60,Q0,eHt),F(v6,"JSONException",985),D(1023,1966,{},ft),l.ee=function(){return eKe},l.Ib=function(){return _u};var Bge;F(v6,"JSONNull",1023),D(258,1966,{258:1},EC),l.Fb=function(e){return _t(e,258)?this.a==u(e,258).a:!1},l.ee=function(){return QYe},l.Hb=function(){return p8(this.a)},l.he=function(){return this},l.Ib=function(){return this.a+""},l.a=0,F(v6,"JSONNumber",258),D(183,1966,{183:1},_x,Qk),l.Fb=function(e){return _t(e,183)?Xvt(this.a,u(e,183).a):!1},l.ee=function(){return ZYe},l.Hb=function(){return Bvt(this.a)},l.ie=function(){return this},l.Ib=function(){var e,n,r,s,o,h,d;for(d=new Ol("{"),e=!0,h=yit(this,Nt(Ae,ee,2,0,6,1)),r=h,s=0,o=r.length;s=0?":"+this.c:"")+")"},l.c=0;var wEt=F(Xo,"StackTraceElement",310);Sge={3:1,475:1,35:1,2:1};var Ae=F(Xo,jxt,2);D(107,418,{475:1},Ag,$C,_h),F(Xo,"StringBuffer",107),D(100,418,{475:1},Mp,Im,Ol),F(Xo,"StringBuilder",100),D(687,73,bot,sbt),F(Xo,"StringIndexOutOfBoundsException",687),D(2043,1,{});var vEt;D(844,1,{},Ft),l.Kb=function(e){return u(e,78).e},F(Xo,"Throwable/lambda$0$Type",844),D(41,60,{3:1,102:1,60:1,78:1,41:1},Or,Sg),F(Xo,"UnsupportedOperationException",41),D(240,236,{3:1,35:1,236:1,240:1},SD,gbt),l.wd=function(e){return gle(this,u(e,240))},l.ke=function(){return dy(Xle(this))},l.Fb=function(e){var n;return this===e?!0:_t(e,240)?(n=u(e,240),this.e==n.e&&gle(this,n)==0):!1},l.Hb=function(){var e;return this.b!=0?this.b:this.a<54?(e=Tu(this.f),this.b=Ar(Ns(e,-1)),this.b=33*this.b+Ar(Ns($p(e,32),-1)),this.b=17*this.b+ps(this.e),this.b):(this.b=17*Yre(this.c)+ps(this.e),this.b)},l.Ib=function(){return Xle(this)},l.a=0,l.b=0,l.d=0,l.e=0,l.f=0;var zge,N2,mEt,yEt,xEt,kEt,EEt,TEt,Nut=F("java.math","BigDecimal",240);D(91,236,{3:1,35:1,236:1,91:1},j3t,Ng,X3,x4t,Qie,Rp),l.wd=function(e){return Uie(this,u(e,91))},l.ke=function(){return dy(Hat(this,0))},l.Fb=function(e){return v3t(this,e)},l.Hb=function(){return Yre(this)},l.Ib=function(){return Hat(this,0)},l.b=-2,l.c=0,l.d=0,l.e=0;var But,eV,CEt,Rut,nV,s7,j4=F("java.math","BigInteger",91),qge,Hge,D6,lS;D(488,1967,mv),l.$b=function(){Xu(this)},l._b=function(e){return Tl(this,e)},l.uc=function(e){return Ire(this,e,this.g)||Ire(this,e,this.f)},l.vc=function(){return new Cg(this)},l.xc=function(e){return tr(this,e)},l.zc=function(e,n){return ki(this,e,n)},l.Bc=function(e){return Jx(this,e)},l.gc=function(){return HC(this)},F(pr,"AbstractHashMap",488),D(261,N1,zu,Cg),l.$b=function(){this.a.$b()},l.Hc=function(e){return MZt(this,e)},l.Kc=function(){return new p2(this.a)},l.Mc=function(e){var n;return MZt(this,e)?(n=u(e,42).cd(),this.a.Bc(n),!0):!1},l.gc=function(){return this.a.gc()},F(pr,"AbstractHashMap/EntrySet",261),D(262,1,sa,p2),l.Nb=function(e){ba(this,e)},l.Pb=function(){return Zw(this)},l.Ob=function(){return this.b},l.Qb=function(){Ste(this)},l.b=!1,F(pr,"AbstractHashMap/EntrySetIterator",262),D(417,1,sa,mx),l.Nb=function(e){ba(this,e)},l.Ob=function(){return TM(this)},l.Pb=function(){return ZXt(this)},l.Qb=function(){Cl(this)},l.b=0,l.c=-1,F(pr,"AbstractList/IteratorImpl",417),D(96,417,n0,da),l.Qb=function(){Cl(this)},l.Rb=function(e){zm(this,e)},l.Sb=function(){return this.b>0},l.Tb=function(){return this.b},l.Ub=function(){return Zn(this.b>0),this.a.Xb(this.c=--this.b)},l.Vb=function(){return this.b-1},l.Wb=function(e){Rm(this.c!=-1),this.a._c(this.c,e)},F(pr,"AbstractList/ListIteratorImpl",96),D(219,52,jE,Qd),l.Vc=function(e,n){Km(e,this.b),this.c.Vc(this.a+e,n),++this.b},l.Xb=function(e){return An(e,this.b),this.c.Xb(this.a+e)},l.$c=function(e){var n;return An(e,this.b),n=this.c.$c(this.a+e),--this.b,n},l._c=function(e,n){return An(e,this.b),this.c._c(this.a+e,n)},l.gc=function(){return this.b},l.a=0,l.b=0,F(pr,"AbstractList/SubList",219),D(384,N1,zu,Sm),l.$b=function(){this.a.$b()},l.Hc=function(e){return this.a._b(e)},l.Kc=function(){var e;return e=this.a.vc().Kc(),new cM(e)},l.Mc=function(e){return this.a._b(e)?(this.a.Bc(e),!0):!1},l.gc=function(){return this.a.gc()},F(pr,"AbstractMap/1",384),D(691,1,sa,cM),l.Nb=function(e){ba(this,e)},l.Ob=function(){return this.a.Ob()},l.Pb=function(){var e;return e=u(this.a.Pb(),42),e.cd()},l.Qb=function(){this.a.Qb()},F(pr,"AbstractMap/1/1",691),D(226,28,xy,v1),l.$b=function(){this.a.$b()},l.Hc=function(e){return this.a.uc(e)},l.Kc=function(){var e;return e=this.a.vc().Kc(),new m1(e)},l.gc=function(){return this.a.gc()},F(pr,"AbstractMap/2",226),D(294,1,sa,m1),l.Nb=function(e){ba(this,e)},l.Ob=function(){return this.a.Ob()},l.Pb=function(){var e;return e=u(this.a.Pb(),42),e.dd()},l.Qb=function(){this.a.Qb()},F(pr,"AbstractMap/2/1",294),D(484,1,{484:1,42:1}),l.Fb=function(e){var n;return _t(e,42)?(n=u(e,42),Fc(this.d,n.cd())&&Fc(this.e,n.dd())):!1},l.cd=function(){return this.d},l.dd=function(){return this.e},l.Hb=function(){return U3(this.d)^U3(this.e)},l.ed=function(e){return awt(this,e)},l.Ib=function(){return this.d+"="+this.e},F(pr,"AbstractMap/AbstractEntry",484),D(383,484,{484:1,383:1,42:1},KR),F(pr,"AbstractMap/SimpleEntry",383),D(1984,1,yot),l.Fb=function(e){var n;return _t(e,42)?(n=u(e,42),Fc(this.cd(),n.cd())&&Fc(this.dd(),n.dd())):!1},l.Hb=function(){return U3(this.cd())^U3(this.dd())},l.Ib=function(){return this.cd()+"="+this.dd()},F(pr,hfe,1984),D(1992,1967,ufe),l.tc=function(e){return RJt(this,e)},l._b=function(e){return _nt(this,e)},l.vc=function(){return new x(this)},l.xc=function(e){var n;return n=e,ec(jyt(this,n))},l.ec=function(){return new y(this)},F(pr,"AbstractNavigableMap",1992),D(739,N1,zu,x),l.Hc=function(e){return _t(e,42)&&RJt(this.b,u(e,42))},l.Kc=function(){return new y9(this.b)},l.Mc=function(e){var n;return _t(e,42)?(n=u(e,42),Cte(this.b,n)):!1},l.gc=function(){return this.b.c},F(pr,"AbstractNavigableMap/EntrySet",739),D(493,N1,Bxt,y),l.Nc=function(){return new WR(this)},l.$b=function(){NC(this.a)},l.Hc=function(e){return _nt(this.a,e)},l.Kc=function(){var e;return e=new y9(new w9(this.a).b),new g(e)},l.Mc=function(e){return _nt(this.a,e)?(P9(this.a,e),!0):!1},l.gc=function(){return this.a.c},F(pr,"AbstractNavigableMap/NavigableKeySet",493),D(494,1,sa,g),l.Nb=function(e){ba(this,e)},l.Ob=function(){return TM(this.a.a)},l.Pb=function(){var e;return e=Lj(this.a),e.cd()},l.Qb=function(){AYt(this.a)},F(pr,"AbstractNavigableMap/NavigableKeySet/1",494),D(2004,28,xy),l.Fc=function(e){return R8(xE(this,e)),!0},l.Gc=function(e){return On(e),Bj(e!=this,"Can't add a queue to itself"),Ua(this,e)},l.$b=function(){for(;cit(this)!=null;);},F(pr,"AbstractQueue",2004),D(302,28,{4:1,20:1,28:1,14:1},B3,eZt),l.Fc=function(e){return imt(this,e),!0},l.$b=function(){lmt(this)},l.Hc=function(e){return ere(new O9(this),e)},l.dc=function(){return BC(this)},l.Kc=function(){return new O9(this)},l.Mc=function(e){return hin(new O9(this),e)},l.gc=function(){return this.c-this.b&this.a.length-1},l.Nc=function(){return new _n(this,272)},l.Qc=function(e){var n;return n=this.c-this.b&this.a.length-1,e.lengthn&&ts(e,n,null),e},l.b=0,l.c=0,F(pr,"ArrayDeque",302),D(446,1,sa,O9),l.Nb=function(e){ba(this,e)},l.Ob=function(){return this.a!=this.b},l.Pb=function(){return Mz(this)},l.Qb=function(){Jee(this)},l.a=0,l.b=0,l.c=-1,F(pr,"ArrayDeque/IteratorImpl",446),D(12,52,_fe,he,Xc,Bu),l.Vc=function(e,n){Hm(this,e,n)},l.Fc=function(e){return le(this,e)},l.Wc=function(e,n){return Gyt(this,e,n)},l.Gc=function(e){return Ls(this,e)},l.$b=function(){this.c=Nt(Qn,De,1,0,5,1)},l.Hc=function(e){return Ro(this,e,0)!=-1},l.Jc=function(e){xu(this,e)},l.Xb=function(e){return Ne(this,e)},l.Xc=function(e){return Ro(this,e,0)},l.dc=function(){return this.c.length==0},l.Kc=function(){return new S(this)},l.$c=function(e){return Fg(this,e)},l.Mc=function(e){return mu(this,e)},l.Ud=function(e,n){tZt(this,e,n)},l._c=function(e,n){return ch(this,e,n)},l.gc=function(){return this.c.length},l.ad=function(e){Zs(this,e)},l.Pc=function(){return pnt(this)},l.Qc=function(e){return P1(this,e)};var Kxn=F(pr,"ArrayList",12);D(7,1,sa,S),l.Nb=function(e){ba(this,e)},l.Ob=function(){return Go(this)},l.Pb=function(){return J(this)},l.Qb=function(){L9(this)},l.a=0,l.b=-1,F(pr,"ArrayList/1",7),D(2013,b.Function,{},Tt),l.te=function(e,n){return Ms(e,n)},D(154,52,Sfe,yl),l.Hc=function(e){return ene(this,e)!=-1},l.Jc=function(e){var n,r,s,o;for(On(e),r=this.a,s=0,o=r.length;s>>0,e.toString(16)))},l.f=0,l.i=Cs;var oV=F(a0,"CNode",57);D(814,1,{},jpt),F(a0,"CNode/CNodeBuilder",814);var spe;D(1525,1,{},Po),l.Oe=function(e,n){return 0},l.Pe=function(e,n){return 0},F(a0,Ffe,1525),D(1790,1,{},vs),l.Le=function(e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt;for(C=as,s=new S(e.a.b);s.as.d.c||s.d.c==h.d.c&&s.d.b0?e+this.n.d+this.n.a:0},l.Se=function(){var e,n,r,s,o;if(o=0,this.e)this.b?o=this.b.a:this.a[1][1]&&(o=this.a[1][1].Se());else if(this.g)o=d3t(this,Ist(this,null,!0));else for(n=(Kf(),lt(ct(Oy,1),oe,232,0,[sc,eu,ac])),r=0,s=n.length;r0?o+this.n.b+this.n.c:0},l.Te=function(){var e,n,r,s,o;if(this.g)for(e=Ist(this,null,!1),r=(Kf(),lt(ct(Oy,1),oe,232,0,[sc,eu,ac])),s=0,o=r.length;s0&&(s[0]+=this.d,r-=s[0]),s[2]>0&&(s[2]+=this.d,r-=s[2]),this.c.a=b.Math.max(0,r),this.c.d=n.d+e.d+(this.c.a-r)/2,s[1]=b.Math.max(s[1],r),wmt(this,eu,n.d+e.d+s[0]-(s[1]-r)/2,s)},l.b=null,l.d=0,l.e=!1,l.f=!1,l.g=!1;var Gut=0,cV=0;F(_2,"GridContainerCell",1473),D(461,22,{3:1,35:1,22:1,461:1},Let);var fb,Md,kf,ppe=jr(_2,"HorizontalLabelAlignment",461,Hr,_in,lJe),bpe;D(306,212,{212:1,306:1},xQt,Aee,vQt),l.Re=function(){return sKt(this)},l.Se=function(){return Vwt(this)},l.a=0,l.c=!1;var s6n=F(_2,"LabelCell",306);D(244,326,{212:1,326:1,244:1},a_),l.Re=function(){return dI(this)},l.Se=function(){return gI(this)},l.Te=function(){Eat(this)},l.Ue=function(){Tat(this)},l.b=0,l.c=0,l.d=!1,F(_2,"StripContainerCell",244),D(1626,1,li,th),l.Mb=function(e){return EKe(u(e,212))},F(_2,"StripContainerCell/lambda$0$Type",1626),D(1627,1,{},Fa),l.Fe=function(e){return u(e,212).Se()},F(_2,"StripContainerCell/lambda$1$Type",1627),D(1628,1,li,Ml),l.Mb=function(e){return TKe(u(e,212))},F(_2,"StripContainerCell/lambda$2$Type",1628),D(1629,1,{},ha),l.Fe=function(e){return u(e,212).Re()},F(_2,"StripContainerCell/lambda$3$Type",1629),D(462,22,{3:1,35:1,22:1,462:1},Met);var Ef,db,n1,wpe=jr(_2,"VerticalLabelAlignment",462,Hr,Sin,hJe),vpe;D(789,1,{},Sxt),l.c=0,l.d=0,l.k=0,l.s=0,l.t=0,l.v=!1,l.w=0,l.D=!1,F(Yq,"NodeContext",789),D(1471,1,Oi,bc),l.ue=function(e,n){return xUt(u(e,61),u(n,61))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(Yq,"NodeContext/0methodref$comparePortSides$Type",1471),D(1472,1,Oi,Cc),l.ue=function(e,n){return Q0n(u(e,111),u(n,111))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(Yq,"NodeContext/1methodref$comparePortContexts$Type",1472),D(159,22,{3:1,35:1,22:1,159:1},hh);var mpe,ype,xpe,kpe,Epe,Tpe,Cpe,_pe,Spe,Ape,Lpe,Mpe,Dpe,Ipe,Ope,Ppe,Fpe,Npe,Bpe,Rpe,jpe,Uut,$pe=jr(Yq,"NodeLabelLocation",159,Hr,lst,fJe),zpe;D(111,1,{111:1},tce),l.a=!1,F(Yq,"PortContext",111),D(1476,1,Un,pa),l.td=function(e){$Ht(u(e,306))},F(zI,Yfe,1476),D(1477,1,li,Da),l.Mb=function(e){return!!u(e,111).c},F(zI,Kfe,1477),D(1478,1,Un,Ha),l.td=function(e){$Ht(u(e,111).c)},F(zI,"LabelPlacer/lambda$2$Type",1478);var o7t;D(1475,1,Un,_c),l.td=function(e){$m(),rKe(u(e,111))},F(zI,"NodeLabelAndSizeUtilities/lambda$0$Type",1475),D(790,1,Un,Ewt),l.td=function(e){pXe(this.b,this.c,this.a,u(e,181))},l.a=!1,l.c=!1,F(zI,"NodeLabelCellCreator/lambda$0$Type",790),D(1474,1,Un,vn),l.td=function(e){aKe(this.a,u(e,181))},F(zI,"PortContextCreator/lambda$0$Type",1474);var uV;D(1829,1,{},lw),F(HE,"GreedyRectangleStripOverlapRemover",1829),D(1830,1,Oi,Dl),l.ue=function(e,n){return WQe(u(e,222),u(n,222))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(HE,"GreedyRectangleStripOverlapRemover/0methodref$compareByYCoordinate$Type",1830),D(1786,1,{},vqt),l.a=5,l.e=0,F(HE,"RectangleStripOverlapRemover",1786),D(1787,1,Oi,ed),l.ue=function(e,n){return YQe(u(e,222),u(n,222))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(HE,"RectangleStripOverlapRemover/0methodref$compareLeftRectangleBorders$Type",1787),D(1789,1,Oi,jd),l.ue=function(e,n){return vnn(u(e,222),u(n,222))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(HE,"RectangleStripOverlapRemover/1methodref$compareRightRectangleBorders$Type",1789),D(406,22,{3:1,35:1,22:1,406:1},ZR);var lO,Wut,Yut,hO,qpe=jr(HE,"RectangleStripOverlapRemover/OverlapRemovalDirection",406,Hr,_sn,dJe),Hpe;D(222,1,{222:1},Hnt),F(HE,"RectangleStripOverlapRemover/RectangleNode",222),D(1788,1,Un,gr),l.td=function(e){k1n(this.a,u(e,222))},F(HE,"RectangleStripOverlapRemover/lambda$1$Type",1788),D(1304,1,Oi,nd),l.ue=function(e,n){return A3n(u(e,167),u(n,167))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(kd,"PolyominoCompactor/CornerCasesGreaterThanRestComparator",1304),D(1307,1,{},$d),l.Kb=function(e){return u(e,324).a},F(kd,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$0$Type",1307),D(1308,1,li,A0),l.Mb=function(e){return u(e,323).a},F(kd,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$1$Type",1308),D(1309,1,li,Bi),l.Mb=function(e){return u(e,323).a},F(kd,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$2$Type",1309),D(1302,1,Oi,cn),l.ue=function(e,n){return cmn(u(e,167),u(n,167))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(kd,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator",1302),D(1305,1,{},eh),l.Kb=function(e){return u(e,324).a},F(kd,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator/lambda$0$Type",1305),D(767,1,Oi,kr),l.ue=function(e,n){return lun(u(e,167),u(n,167))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(kd,"PolyominoCompactor/MinNumOfExtensionsComparator",767),D(1300,1,Oi,Ei),l.ue=function(e,n){return mcn(u(e,321),u(n,321))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(kd,"PolyominoCompactor/MinPerimeterComparator",1300),D(1301,1,Oi,Jo),l.ue=function(e,n){return Kfn(u(e,321),u(n,321))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(kd,"PolyominoCompactor/MinPerimeterComparatorWithShape",1301),D(1303,1,Oi,wc),l.ue=function(e,n){return Dmn(u(e,167),u(n,167))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(kd,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator",1303),D(1306,1,{},rf),l.Kb=function(e){return u(e,324).a},F(kd,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator/lambda$0$Type",1306),D(777,1,{},Mbt),l.Ce=function(e,n){return ksn(this,u(e,46),u(n,167))},F(kd,"SuccessorCombination",777),D(644,1,{},Oc),l.Ce=function(e,n){var r;return hbn((r=u(e,46),u(n,167),r))},F(kd,"SuccessorJitter",644),D(643,1,{},sf),l.Ce=function(e,n){var r;return Jwn((r=u(e,46),u(n,167),r))},F(kd,"SuccessorLineByLine",643),D(568,1,{},af),l.Ce=function(e,n){var r;return f2n((r=u(e,46),u(n,167),r))},F(kd,"SuccessorManhattan",568),D(1356,1,{},Qi),l.Ce=function(e,n){var r;return Ewn((r=u(e,46),u(n,167),r))},F(kd,"SuccessorMaxNormWindingInMathPosSense",1356),D(400,1,{},fr),l.Ce=function(e,n){return vvt(this,e,n)},l.c=!1,l.d=!1,l.e=!1,l.f=!1,F(kd,"SuccessorQuadrantsGeneric",400),D(1357,1,{},Ts),l.Kb=function(e){return u(e,324).a},F(kd,"SuccessorQuadrantsGeneric/lambda$0$Type",1357),D(323,22,{3:1,35:1,22:1,323:1},QR),l.a=!1;var fO,dO,gO,pO,Vpe=jr(Xq,i6t,323,Hr,Lsn,gJe),Gpe;D(1298,1,{}),l.Ib=function(){var e,n,r,s,o,h;for(r=" ",e=pe(0),o=0;o=0?"b"+e+"["+zrt(this.a)+"]":"b["+zrt(this.a)+"]"):"b_"+Pw(this)},F(HI,"FBendpoint",559),D(282,134,{3:1,282:1,94:1,134:1},eYt),l.Ib=function(){return zrt(this)},F(HI,"FEdge",282),D(231,134,{3:1,231:1,94:1,134:1},B$);var o6n=F(HI,"FGraph",231);D(447,357,{3:1,447:1,357:1,94:1,134:1},iJt),l.Ib=function(){return this.b==null||this.b.length==0?"l["+zrt(this.a)+"]":"l_"+this.b},F(HI,"FLabel",447),D(144,357,{3:1,144:1,357:1,94:1,134:1},gXt),l.Ib=function(){return Kvt(this)},l.b=0,F(HI,"FNode",144),D(2003,1,{}),l.bf=function(e){axt(this,e)},l.cf=function(){Bse(this)},l.d=0,F(g6t,"AbstractForceModel",2003),D(631,2003,{631:1},Wne),l.af=function(e,n){var r,s,o,h,d;return Ooe(this.f,e,n),o=ia(nc(n.d),e.d),d=b.Math.sqrt(o.a*o.a+o.b*o.b),s=b.Math.max(0,d-D9(e.e)/2-D9(n.e)/2),r=Ere(this.e,e,n),r>0?h=-pnn(s,this.c)*r:h=oZe(s,this.b)*u(Q(e,(Jf(),c7)),19).a,fd(o,h/d),o},l.bf=function(e){axt(this,e),this.a=u(Q(e,(Jf(),pV)),19).a,this.c=Xt(ye(Q(e,bV))),this.b=Xt(ye(Q(e,elt)))},l.df=function(e){return e0&&(h-=mKe(s,this.a)*r),fd(o,h*this.b/d),o},l.bf=function(e){var n,r,s,o,h,d,v;for(axt(this,e),this.b=Xt(ye(Q(e,(Jf(),nlt)))),this.c=this.b/u(Q(e,pV),19).a,s=e.e.c.length,h=0,o=0,v=new S(e.e);v.a0},l.a=0,l.b=0,l.c=0,F(g6t,"FruchtermanReingoldModel",632),D(849,1,Oh,HJ),l.Qe=function(e){an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Jq),""),"Force Model"),"Determines the model for force calculation."),b7t),(Ug(),us)),w7t),un((Qf(),qn))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,p6t),""),"Iterations"),"The number of iterations on the force model."),pe(300)),gc),ja),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,b6t),""),"Repulsive Power"),"Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model"),pe(0)),gc),ja),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,qot),""),"FR Temperature"),"The temperature is used as a scaling factor for particle displacements."),Ed),Oo),la),un(qn)))),ca(e,qot,Jq,hbe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Hot),""),"Eades Repulsion"),"Factor for repulsive forces in Eades' model."),5),Oo),la),un(qn)))),ca(e,Hot,Jq,cbe),Phe((new bC,e))};var sbe,abe,b7t,obe,cbe,ube,lbe,hbe;F(B_,"ForceMetaDataProvider",849),D(424,22,{3:1,35:1,22:1,424:1},Pbt);var tlt,gV,w7t=jr(B_,"ForceModelStrategy",424,Hr,ein,wJe),fbe;D(988,1,Oh,bC),l.Qe=function(e){Phe(e)};var dbe,gbe,v7t,pV,m7t,pbe,bbe,wbe,y7t,vbe,x7t,k7t,mbe,c7,ybe,elt,E7t,xbe,kbe,bV,nlt;F(B_,"ForceOptions",988),D(989,1,{},V5),l.$e=function(){var e;return e=new Npt,e},l._e=function(e){},F(B_,"ForceOptions/ForceFactory",989);var vO,dS,I6,wV;D(850,1,Oh,VJ),l.Qe=function(e){an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,v6t),""),"Fixed Position"),"Prevent that the node is moved by the layout algorithm."),(Nn(),!1)),(Ug(),La)),Rs),un((Qf(),ea))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,m6t),""),"Desired Edge Length"),"Either specified for parent nodes or for individual edges, where the latter takes higher precedence."),100),Oo),la),ji(qn,lt(ct(ip,1),oe,175,0,[Pd]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,y6t),""),"Layout Dimension"),"Dimensions that are permitted to be altered during layout."),T7t),us),D7t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,x6t),""),"Stress Epsilon"),"Termination criterion for the iterative process."),Ed),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,k6t),""),"Iteration Limit"),"Maximum number of performed iterations. Takes higher precedence than 'epsilon'."),pe(wi)),gc),ja),un(qn)))),vhe((new GJ,e))};var Ebe,Tbe,T7t,Cbe,_be,Sbe;F(B_,"StressMetaDataProvider",850),D(992,1,Oh,GJ),l.Qe=function(e){vhe(e)};var vV,C7t,_7t,S7t,A7t,L7t,Abe,Lbe,Mbe,Dbe,M7t,Ibe;F(B_,"StressOptions",992),D(993,1,{},f1),l.$e=function(){var e;return e=new nYt,e},l._e=function(e){},F(B_,"StressOptions/StressFactory",993),D(1128,209,S2,nYt),l.Ze=function(e,n){var r,s,o,h,d;for(vr(n,o1e,1),je(Re(qe(e,(iI(),A7t))))?je(Re(qe(e,M7t)))||y$((r=new rr((Pm(),new Mm(e))),r)):jce(new Npt,e,Rc(n,1)),o=pre(e),s=Ale(this.a,o),d=s.Kc();d.Ob();)h=u(d.Pb(),231),!(h.e.c.length<=1)&&(_3n(this.b,h),i2n(this.b),xu(h.d,new rd));o=zhe(s),Rhe(o),or(n)},F(nH,"StressLayoutProvider",1128),D(1129,1,Un,rd),l.td=function(e){dxt(u(e,447))},F(nH,"StressLayoutProvider/lambda$0$Type",1129),D(990,1,{},hqt),l.c=0,l.e=0,l.g=0,F(nH,"StressMajorization",990),D(379,22,{3:1,35:1,22:1,379:1},Det);var rlt,ilt,slt,D7t=jr(nH,"StressMajorization/Dimension",379,Hr,Lin,vJe),Obe;D(991,1,Oi,Ci),l.ue=function(e,n){return YZe(this.a,u(e,144),u(n,144))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(nH,"StressMajorization/lambda$0$Type",991),D(1229,1,{},wZt),F(_6,"ElkLayered",1229),D(1230,1,Un,id),l.td=function(e){sbn(u(e,37))},F(_6,"ElkLayered/lambda$0$Type",1230),D(1231,1,Un,hi),l.td=function(e){KZe(this.a,u(e,37))},F(_6,"ElkLayered/lambda$1$Type",1231),D(1263,1,{},HUt);var Pbe,Fbe,Nbe;F(_6,"GraphConfigurator",1263),D(759,1,Un,gs),l.td=function(e){Gae(this.a,u(e,10))},F(_6,"GraphConfigurator/lambda$0$Type",759),D(760,1,{},G5),l.Kb=function(e){return l4t(),new Tn(null,new _n(u(e,29).a,16))},F(_6,"GraphConfigurator/lambda$1$Type",760),D(761,1,Un,qi),l.td=function(e){Gae(this.a,u(e,10))},F(_6,"GraphConfigurator/lambda$2$Type",761),D(1127,209,S2,gqt),l.Ze=function(e,n){var r;r=Wyn(new yqt,e),Vt(qe(e,(Te(),qy)))===Vt((G0(),sp))?Chn(this.a,r,n):xbn(this.a,r,n),Ohe(new WJ,r)},F(_6,"LayeredLayoutProvider",1127),D(356,22,{3:1,35:1,22:1,356:1},_M);var Dd,gb,cu,qc,Io,I7t=jr(_6,"LayeredPhases",356,Hr,fan,mJe),Bbe;D(1651,1,{},nne),l.i=0;var Rbe;F(UI,"ComponentsToCGraphTransformer",1651);var jbe;D(1652,1,{},fw),l.ef=function(e,n){return b.Math.min(e.a!=null?Xt(e.a):e.c.i,n.a!=null?Xt(n.a):n.c.i)},l.ff=function(e,n){return b.Math.min(e.a!=null?Xt(e.a):e.c.i,n.a!=null?Xt(n.a):n.c.i)},F(UI,"ComponentsToCGraphTransformer/1",1652),D(81,1,{81:1}),l.i=0,l.k=!0,l.o=Cs;var alt=F($_,"CNode",81);D(460,81,{460:1,81:1},F2t,N3t),l.Ib=function(){return""},F(UI,"ComponentsToCGraphTransformer/CRectNode",460),D(1623,1,{},U5);var olt,clt;F(UI,"OneDimensionalComponentsCompaction",1623),D(1624,1,{},mp),l.Kb=function(e){return yin(u(e,46))},l.Fb=function(e){return this===e},F(UI,"OneDimensionalComponentsCompaction/lambda$0$Type",1624),D(1625,1,{},W5),l.Kb=function(e){return Ohn(u(e,46))},l.Fb=function(e){return this===e},F(UI,"OneDimensionalComponentsCompaction/lambda$1$Type",1625),D(1654,1,{},dXt),F($_,"CGraph",1654),D(189,1,{189:1},ost),l.b=0,l.c=0,l.e=0,l.g=!0,l.i=Cs,F($_,"CGroup",189),D(1653,1,{},EL),l.ef=function(e,n){return b.Math.max(e.a!=null?Xt(e.a):e.c.i,n.a!=null?Xt(n.a):n.c.i)},l.ff=function(e,n){return b.Math.max(e.a!=null?Xt(e.a):e.c.i,n.a!=null?Xt(n.a):n.c.i)},F($_,Ffe,1653),D(1655,1,{},Uoe),l.d=!1;var $be,ult=F($_,Rfe,1655);D(1656,1,{},vl),l.Kb=function(e){return xbt(),Nn(),u(u(e,46).a,81).d.e!=0},l.Fb=function(e){return this===e},F($_,jfe,1656),D(823,1,{},Gwt),l.a=!1,l.b=!1,l.c=!1,l.d=!1,F($_,$fe,823),D(1825,1,{},DKt),F(rH,zfe,1825);var mO=Ki(L2,Ofe);D(1826,1,{369:1},cQt),l.Ke=function(e){gvn(this,u(e,466))},F(rH,qfe,1826),D(1827,1,Oi,iN),l.ue=function(e,n){return grn(u(e,81),u(n,81))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(rH,Hfe,1827),D(466,1,{466:1},Nbt),l.a=!1,F(rH,Vfe,466),D(1828,1,Oi,Sc),l.ue=function(e,n){return _dn(u(e,466),u(n,466))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(rH,Gfe,1828),D(140,1,{140:1},g8,$wt),l.Fb=function(e){var n;return e==null||c6n!=ol(e)?!1:(n=u(e,140),Fc(this.c,n.c)&&Fc(this.d,n.d))},l.Hb=function(){return Az(lt(ct(Qn,1),De,1,5,[this.c,this.d]))},l.Ib=function(){return"("+this.c+Ya+this.d+(this.a?"cx":"")+this.b+")"},l.a=!0,l.c=0,l.d=0;var c6n=F(L2,"Point",140);D(405,22,{3:1,35:1,22:1,405:1},JR);var Lv,Py,z4,Fy,zbe=jr(L2,"Point/Quadrant",405,Hr,Msn,yJe),qbe;D(1642,1,{},pqt),l.b=null,l.c=null,l.d=null,l.e=null,l.f=null;var Hbe,Vbe,Gbe,Ube,Wbe;F(L2,"RectilinearConvexHull",1642),D(574,1,{369:1},Yz),l.Ke=function(e){don(this,u(e,140))},l.b=0;var O7t;F(L2,"RectilinearConvexHull/MaximalElementsEventHandler",574),D(1644,1,Oi,wm),l.ue=function(e,n){return rrn(ye(e),ye(n))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(L2,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",1644),D(1643,1,{369:1},Cee),l.Ke=function(e){Swn(this,u(e,140))},l.a=0,l.b=null,l.c=null,l.d=null,l.e=null,F(L2,"RectilinearConvexHull/RectangleEventHandler",1643),D(1645,1,Oi,xg),l.ue=function(e,n){return asn(u(e,140),u(n,140))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(L2,"RectilinearConvexHull/lambda$0$Type",1645),D(1646,1,Oi,T3),l.ue=function(e,n){return osn(u(e,140),u(n,140))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(L2,"RectilinearConvexHull/lambda$1$Type",1646),D(1647,1,Oi,cK),l.ue=function(e,n){return usn(u(e,140),u(n,140))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(L2,"RectilinearConvexHull/lambda$2$Type",1647),D(1648,1,Oi,Vb),l.ue=function(e,n){return csn(u(e,140),u(n,140))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(L2,"RectilinearConvexHull/lambda$3$Type",1648),D(1649,1,Oi,uK),l.ue=function(e,n){return hgn(u(e,140),u(n,140))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(L2,"RectilinearConvexHull/lambda$4$Type",1649),D(1650,1,{},jQt),F(L2,"Scanline",1650),D(2005,1,{}),F(Td,"AbstractGraphPlacer",2005),D(325,1,{325:1},DWt),l.mf=function(e){return this.nf(e)?(ln(this.b,u(Q(e,(ae(),By)),21),e),!0):!1},l.nf=function(e){var n,r,s,o;for(n=u(Q(e,(ae(),By)),21),o=u(Ai(Pi,n),21),s=o.Kc();s.Ob();)if(r=u(s.Pb(),21),!u(Ai(this.b,r),15).dc())return!1;return!0};var Pi;F(Td,"ComponentGroup",325),D(765,2005,{},$pt),l.of=function(e){var n,r;for(r=new S(this.a);r.aG&&(ue=0,_e+=H+o,H=0),gt=d.c,x_(d,ue+gt.a,_e+gt.b),Gf(gt),r=b.Math.max(r,ue+St.a),H=b.Math.max(H,St.b),ue+=St.a+o;if(n.f.a=r,n.f.b=_e+H,je(Re(Q(h,iG)))){for(s=new PT,Oxt(s,e,o),j=e.Kc();j.Ob();)M=u(j.Pb(),37),Li(Gf(M.c),s.e);Li(Gf(n.f),s.a)}Omt(n,e)},F(Td,"SimpleRowGraphPlacer",1291),D(1292,1,Oi,Rf),l.ue=function(e,n){return uun(u(e,37),u(n,37))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(Td,"SimpleRowGraphPlacer/1",1292);var Kbe;D(1262,1,xd,vm),l.Lb=function(e){var n;return n=u(Q(u(e,243).b,(Te(),So)),74),!!n&&n.b!=0},l.Fb=function(e){return this===e},l.Mb=function(e){var n;return n=u(Q(u(e,243).b,(Te(),So)),74),!!n&&n.b!=0},F(iH,"CompoundGraphPostprocessor/1",1262),D(1261,1,os,xqt),l.pf=function(e,n){yse(this,u(e,37),n)},F(iH,"CompoundGraphPreprocessor",1261),D(441,1,{441:1},oie),l.c=!1,F(iH,"CompoundGraphPreprocessor/ExternalPort",441),D(243,1,{243:1},Fj),l.Ib=function(){return bnt(this.c)+":"+qoe(this.b)},F(iH,"CrossHierarchyEdge",243),D(763,1,Oi,Si),l.ue=function(e,n){return Z1n(this,u(e,243),u(n,243))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(iH,"CrossHierarchyEdgeComparator",763),D(299,134,{3:1,299:1,94:1,134:1}),l.p=0,F(tu,"LGraphElement",299),D(17,299,{3:1,17:1,299:1,94:1,134:1},Vw),l.Ib=function(){return qoe(this)};var hlt=F(tu,"LEdge",17);D(37,299,{3:1,20:1,37:1,299:1,94:1,134:1},eyt),l.Jc=function(e){va(this,e)},l.Kc=function(){return new S(this.b)},l.Ib=function(){return this.b.c.length==0?"G-unlayered"+eb(this.a):this.a.c.length==0?"G-layered"+eb(this.b):"G[layerless"+eb(this.a)+", layers"+eb(this.b)+"]"};var Xbe=F(tu,"LGraph",37),Qbe;D(657,1,{}),l.qf=function(){return this.e.n},l.We=function(e){return Q(this.e,e)},l.rf=function(){return this.e.o},l.sf=function(){return this.e.p},l.Xe=function(e){return Us(this.e,e)},l.tf=function(e){this.e.n.a=e.a,this.e.n.b=e.b},l.uf=function(e){this.e.o.a=e.a,this.e.o.b=e.b},l.vf=function(e){this.e.p=e},F(tu,"LGraphAdapters/AbstractLShapeAdapter",657),D(577,1,{839:1},Ui),l.wf=function(){var e,n;if(!this.b)for(this.b=Ud(this.a.b.c.length),n=new S(this.a.b);n.a0&&Wre((Rr(n-1,e.length),e.charCodeAt(n-1)),d1e);)--n;if(h> ",e),iq(r)),Gr(hc((e.a+="[",e),r.i),"]")),e.a},l.c=!0,l.d=!1;var R7t,j7t,$7t,z7t,q7t,H7t,Jbe=F(tu,"LPort",11);D(397,1,r0,Qs),l.Jc=function(e){va(this,e)},l.Kc=function(){var e;return e=new S(this.a.e),new qs(e)},F(tu,"LPort/1",397),D(1290,1,sa,qs),l.Nb=function(e){ba(this,e)},l.Pb=function(){return u(J(this.a),17).c},l.Ob=function(){return Go(this.a)},l.Qb=function(){L9(this.a)},F(tu,"LPort/1/1",1290),D(359,1,r0,Tr),l.Jc=function(e){va(this,e)},l.Kc=function(){var e;return e=new S(this.a.g),new Qt(e)},F(tu,"LPort/2",359),D(762,1,sa,Qt),l.Nb=function(e){ba(this,e)},l.Pb=function(){return u(J(this.a),17).d},l.Ob=function(){return Go(this.a)},l.Qb=function(){L9(this.a)},F(tu,"LPort/2/1",762),D(1283,1,r0,cGt),l.Jc=function(e){va(this,e)},l.Kc=function(){return new L1(this)},F(tu,"LPort/CombineIter",1283),D(201,1,sa,L1),l.Nb=function(e){ba(this,e)},l.Qb=function(){IHt()},l.Ob=function(){return v9(this)},l.Pb=function(){return Go(this.a)?J(this.a):J(this.b)},F(tu,"LPort/CombineIter/1",201),D(1285,1,xd,yp),l.Lb=function(e){return HKt(e)},l.Fb=function(e){return this===e},l.Mb=function(e){return ju(),u(e,11).e.c.length!=0},F(tu,"LPort/lambda$0$Type",1285),D(1284,1,xd,mm),l.Lb=function(e){return VKt(e)},l.Fb=function(e){return this===e},l.Mb=function(e){return ju(),u(e,11).g.c.length!=0},F(tu,"LPort/lambda$1$Type",1284),D(1286,1,xd,hK),l.Lb=function(e){return ju(),u(e,11).j==(ve(),Pn)},l.Fb=function(e){return this===e},l.Mb=function(e){return ju(),u(e,11).j==(ve(),Pn)},F(tu,"LPort/lambda$2$Type",1286),D(1287,1,xd,Gb),l.Lb=function(e){return ju(),u(e,11).j==(ve(),Hn)},l.Fb=function(e){return this===e},l.Mb=function(e){return ju(),u(e,11).j==(ve(),Hn)},F(tu,"LPort/lambda$3$Type",1287),D(1288,1,xd,fK),l.Lb=function(e){return ju(),u(e,11).j==(ve(),mr)},l.Fb=function(e){return this===e},l.Mb=function(e){return ju(),u(e,11).j==(ve(),mr)},F(tu,"LPort/lambda$4$Type",1288),D(1289,1,xd,dK),l.Lb=function(e){return ju(),u(e,11).j==(ve(),Bn)},l.Fb=function(e){return this===e},l.Mb=function(e){return ju(),u(e,11).j==(ve(),Bn)},F(tu,"LPort/lambda$5$Type",1289),D(29,299,{3:1,20:1,299:1,29:1,94:1,134:1},Sh),l.Jc=function(e){va(this,e)},l.Kc=function(){return new S(this.a)},l.Ib=function(){return"L_"+Ro(this.b.b,this,0)+eb(this.a)},F(tu,"Layer",29),D(1342,1,{},yqt),F(Kg,w1e,1342),D(1346,1,{},Y5),l.Kb=function(e){return Do(u(e,82))},F(Kg,"ElkGraphImporter/0methodref$connectableShapeToNode$Type",1346),D(1349,1,{},FT),l.Kb=function(e){return Do(u(e,82))},F(Kg,"ElkGraphImporter/1methodref$connectableShapeToNode$Type",1349),D(1343,1,Un,jn),l.td=function(e){nce(this.a,u(e,118))},F(Kg,v1e,1343),D(1344,1,Un,Sr),l.td=function(e){nce(this.a,u(e,118))},F(Kg,m1e,1344),D(1345,1,{},oN),l.Kb=function(e){return new Tn(null,new _n(Znn(u(e,79)),16))},F(Kg,y1e,1345),D(1347,1,li,ir),l.Mb=function(e){return JXe(this.a,u(e,33))},F(Kg,x1e,1347),D(1348,1,{},Tk),l.Kb=function(e){return new Tn(null,new _n(Jnn(u(e,79)),16))},F(Kg,"ElkGraphImporter/lambda$5$Type",1348),D(1350,1,li,sr),l.Mb=function(e){return tQe(this.a,u(e,33))},F(Kg,"ElkGraphImporter/lambda$7$Type",1350),D(1351,1,li,gK),l.Mb=function(e){return brn(u(e,79))},F(Kg,"ElkGraphImporter/lambda$8$Type",1351),D(1278,1,{},WJ);var t2e;F(Kg,"ElkGraphLayoutTransferrer",1278),D(1279,1,li,Ia),l.Mb=function(e){return qZe(this.a,u(e,17))},F(Kg,"ElkGraphLayoutTransferrer/lambda$0$Type",1279),D(1280,1,Un,$r),l.td=function(e){kM(),le(this.a,u(e,17))},F(Kg,"ElkGraphLayoutTransferrer/lambda$1$Type",1280),D(1281,1,li,Yi),l.Mb=function(e){return SZe(this.a,u(e,17))},F(Kg,"ElkGraphLayoutTransferrer/lambda$2$Type",1281),D(1282,1,Un,Fo),l.td=function(e){kM(),le(this.a,u(e,17))},F(Kg,"ElkGraphLayoutTransferrer/lambda$3$Type",1282),D(1485,1,os,Ck),l.pf=function(e,n){Lcn(u(e,37),n)},F($n,"CommentNodeMarginCalculator",1485),D(1486,1,{},pK),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"CommentNodeMarginCalculator/lambda$0$Type",1486),D(1487,1,Un,bK),l.td=function(e){u3n(u(e,10))},F($n,"CommentNodeMarginCalculator/lambda$1$Type",1487),D(1488,1,os,wK),l.pf=function(e,n){kvn(u(e,37),n)},F($n,"CommentPostprocessor",1488),D(1489,1,os,vK),l.pf=function(e,n){L5n(u(e,37),n)},F($n,"CommentPreprocessor",1489),D(1490,1,os,mK),l.pf=function(e,n){G2n(u(e,37),n)},F($n,"ConstraintsPostprocessor",1490),D(1491,1,os,yK),l.pf=function(e,n){Zcn(u(e,37),n)},F($n,"EdgeAndLayerConstraintEdgeReverser",1491),D(1492,1,os,xK),l.pf=function(e,n){$hn(u(e,37),n)},F($n,"EndLabelPostprocessor",1492),D(1493,1,{},kK),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"EndLabelPostprocessor/lambda$0$Type",1493),D(1494,1,li,EK),l.Mb=function(e){return Prn(u(e,10))},F($n,"EndLabelPostprocessor/lambda$1$Type",1494),D(1495,1,Un,TK),l.td=function(e){Sdn(u(e,10))},F($n,"EndLabelPostprocessor/lambda$2$Type",1495),D(1496,1,os,CK),l.pf=function(e,n){bpn(u(e,37),n)},F($n,"EndLabelPreprocessor",1496),D(1497,1,{},CL),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"EndLabelPreprocessor/lambda$0$Type",1497),D(1498,1,Un,PYt),l.td=function(e){bXe(this.a,this.b,this.c,u(e,10))},l.a=0,l.b=0,l.c=!1,F($n,"EndLabelPreprocessor/lambda$1$Type",1498),D(1499,1,li,_K),l.Mb=function(e){return Vt(Q(u(e,70),(Te(),Od)))===Vt((M1(),F7))},F($n,"EndLabelPreprocessor/lambda$2$Type",1499),D(1500,1,Un,Pc),l.td=function(e){ri(this.a,u(e,70))},F($n,"EndLabelPreprocessor/lambda$3$Type",1500),D(1501,1,li,SK),l.Mb=function(e){return Vt(Q(u(e,70),(Te(),Od)))===Vt((M1(),Zy))},F($n,"EndLabelPreprocessor/lambda$4$Type",1501),D(1502,1,Un,Za),l.td=function(e){ri(this.a,u(e,70))},F($n,"EndLabelPreprocessor/lambda$5$Type",1502),D(1551,1,os,UJ),l.pf=function(e,n){Yln(u(e,37),n)};var e2e;F($n,"EndLabelSorter",1551),D(1552,1,Oi,NT),l.ue=function(e,n){return Tfn(u(e,456),u(n,456))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"EndLabelSorter/1",1552),D(456,1,{456:1},tQt),F($n,"EndLabelSorter/LabelGroup",456),D(1553,1,{},cN),l.Kb=function(e){return EM(),new Tn(null,new _n(u(e,29).a,16))},F($n,"EndLabelSorter/lambda$0$Type",1553),D(1554,1,li,K5),l.Mb=function(e){return EM(),u(e,10).k==(Vn(),Os)},F($n,"EndLabelSorter/lambda$1$Type",1554),D(1555,1,Un,AK),l.td=function(e){Sgn(u(e,10))},F($n,"EndLabelSorter/lambda$2$Type",1555),D(1556,1,li,LK),l.Mb=function(e){return EM(),Vt(Q(u(e,70),(Te(),Od)))===Vt((M1(),Zy))},F($n,"EndLabelSorter/lambda$3$Type",1556),D(1557,1,li,MK),l.Mb=function(e){return EM(),Vt(Q(u(e,70),(Te(),Od)))===Vt((M1(),F7))},F($n,"EndLabelSorter/lambda$4$Type",1557),D(1503,1,os,DK),l.pf=function(e,n){y3n(this,u(e,37))},l.b=0,l.c=0,F($n,"FinalSplineBendpointsCalculator",1503),D(1504,1,{},IK),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"FinalSplineBendpointsCalculator/lambda$0$Type",1504),D(1505,1,{},BT),l.Kb=function(e){return new Tn(null,new jw(new ar(lr(Ds(u(e,10)).a.Kc(),new z))))},F($n,"FinalSplineBendpointsCalculator/lambda$1$Type",1505),D(1506,1,li,_L),l.Mb=function(e){return!Ga(u(e,17))},F($n,"FinalSplineBendpointsCalculator/lambda$2$Type",1506),D(1507,1,li,uN),l.Mb=function(e){return Us(u(e,17),(ae(),R2))},F($n,"FinalSplineBendpointsCalculator/lambda$3$Type",1507),D(1508,1,Un,mc),l.td=function(e){Omn(this.a,u(e,128))},F($n,"FinalSplineBendpointsCalculator/lambda$4$Type",1508),D(1509,1,Un,C3),l.td=function(e){Yst(u(e,17).a)},F($n,"FinalSplineBendpointsCalculator/lambda$5$Type",1509),D(792,1,os,Ta),l.pf=function(e,n){d4n(this,u(e,37),n)},F($n,"GraphTransformer",792),D(511,22,{3:1,35:1,22:1,511:1},Fbt);var dlt,yO,n2e=jr($n,"GraphTransformer/Mode",511,Hr,nin,Ptn),r2e;D(1510,1,os,_3),l.pf=function(e,n){Hwn(u(e,37),n)},F($n,"HierarchicalNodeResizingProcessor",1510),D(1511,1,os,OK),l.pf=function(e,n){Tcn(u(e,37),n)},F($n,"HierarchicalPortConstraintProcessor",1511),D(1512,1,Oi,of),l.ue=function(e,n){return Ffn(u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"HierarchicalPortConstraintProcessor/NodeComparator",1512),D(1513,1,os,X5),l.pf=function(e,n){Vyn(u(e,37),n)},F($n,"HierarchicalPortDummySizeProcessor",1513),D(1514,1,os,PK),l.pf=function(e,n){zvn(this,u(e,37),n)},l.a=0,F($n,"HierarchicalPortOrthogonalEdgeRouter",1514),D(1515,1,Oi,_k),l.ue=function(e,n){return UQe(u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"HierarchicalPortOrthogonalEdgeRouter/1",1515),D(1516,1,Oi,zd),l.ue=function(e,n){return aon(u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"HierarchicalPortOrthogonalEdgeRouter/2",1516),D(1517,1,os,FK),l.pf=function(e,n){fgn(u(e,37),n)},F($n,"HierarchicalPortPositionProcessor",1517),D(1518,1,os,YJ),l.pf=function(e,n){oxn(this,u(e,37))},l.a=0,l.c=0;var mV,yV;F($n,"HighDegreeNodeLayeringProcessor",1518),D(571,1,{571:1},NK),l.b=-1,l.d=-1,F($n,"HighDegreeNodeLayeringProcessor/HighDegreeNodeInformation",571),D(1519,1,{},BK),l.Kb=function(e){return KM(),jo(u(e,10))},l.Fb=function(e){return this===e},F($n,"HighDegreeNodeLayeringProcessor/lambda$0$Type",1519),D(1520,1,{},RK),l.Kb=function(e){return KM(),Ds(u(e,10))},l.Fb=function(e){return this===e},F($n,"HighDegreeNodeLayeringProcessor/lambda$1$Type",1520),D(1526,1,os,RT),l.pf=function(e,n){vyn(this,u(e,37),n)},F($n,"HyperedgeDummyMerger",1526),D(793,1,{},Cwt),l.a=!1,l.b=!1,l.c=!1,F($n,"HyperedgeDummyMerger/MergeState",793),D(1527,1,{},SL),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"HyperedgeDummyMerger/lambda$0$Type",1527),D(1528,1,{},lN),l.Kb=function(e){return new Tn(null,new _n(u(e,10).j,16))},F($n,"HyperedgeDummyMerger/lambda$1$Type",1528),D(1529,1,Un,AL),l.td=function(e){u(e,11).p=-1},F($n,"HyperedgeDummyMerger/lambda$2$Type",1529),D(1530,1,os,Q5),l.pf=function(e,n){byn(u(e,37),n)},F($n,"HypernodesProcessor",1530),D(1531,1,os,jK),l.pf=function(e,n){wyn(u(e,37),n)},F($n,"InLayerConstraintProcessor",1531),D(1532,1,os,hN),l.pf=function(e,n){Wcn(u(e,37),n)},F($n,"InnermostNodeMarginCalculator",1532),D(1533,1,os,fN),l.pf=function(e,n){T5n(this,u(e,37))},l.a=Cs,l.b=Cs,l.c=as,l.d=as;var u6n=F($n,"InteractiveExternalPortPositioner",1533);D(1534,1,{},$K),l.Kb=function(e){return u(e,17).d.i},l.Fb=function(e){return this===e},F($n,"InteractiveExternalPortPositioner/lambda$0$Type",1534),D(1535,1,{},Ja),l.Kb=function(e){return KQe(this.a,ye(e))},l.Fb=function(e){return this===e},F($n,"InteractiveExternalPortPositioner/lambda$1$Type",1535),D(1536,1,{},zK),l.Kb=function(e){return u(e,17).c.i},l.Fb=function(e){return this===e},F($n,"InteractiveExternalPortPositioner/lambda$2$Type",1536),D(1537,1,{},ml),l.Kb=function(e){return XQe(this.a,ye(e))},l.Fb=function(e){return this===e},F($n,"InteractiveExternalPortPositioner/lambda$3$Type",1537),D(1538,1,{},qf),l.Kb=function(e){return jZe(this.a,ye(e))},l.Fb=function(e){return this===e},F($n,"InteractiveExternalPortPositioner/lambda$4$Type",1538),D(1539,1,{},Cp),l.Kb=function(e){return $Ze(this.a,ye(e))},l.Fb=function(e){return this===e},F($n,"InteractiveExternalPortPositioner/lambda$5$Type",1539),D(77,22,{3:1,35:1,22:1,77:1,234:1},ms),l.Kf=function(){switch(this.g){case 15:return new rQ;case 22:return new iQ;case 47:return new oQ;case 28:case 35:return new S3;case 32:return new Ck;case 42:return new wK;case 1:return new vK;case 41:return new mK;case 56:return new Ta((X8(),yO));case 0:return new Ta((X8(),dlt));case 2:return new yK;case 54:return new xK;case 33:return new CK;case 51:return new DK;case 55:return new _3;case 13:return new OK;case 38:return new X5;case 44:return new PK;case 40:return new FK;case 9:return new YJ;case 49:return new yWt;case 37:return new RT;case 43:return new Q5;case 27:return new jK;case 30:return new hN;case 3:return new fN;case 18:return new HK;case 29:return new VK;case 5:return new zB;case 50:return new qK;case 34:return new KJ;case 36:return new Sk;case 52:return new UJ;case 11:return new ym;case 7:return new QJ;case 39:return new Ak;case 45:return new YK;case 16:return new jT;case 10:return new sd;case 48:return new ML;case 21:return new Lk;case 23:return new det((ev(),FS));case 8:return new bN;case 12:return new IL;case 4:return new XK;case 19:return new wC;case 17:return new eX;case 53:return new nX;case 6:return new EN;case 25:return new Tqt;case 46:return new aX;case 31:return new iYt;case 14:return new PL;case 26:return new lQ;case 20:return new gX;case 24:return new det((ev(),TG));default:throw it(new Fn(Yot+(this.f!=null?this.f:""+this.g)))}};var V7t,G7t,U7t,W7t,Y7t,K7t,X7t,Q7t,Z7t,J7t,gS,xV,kV,tTt,eTt,nTt,rTt,iTt,sTt,aTt,pS,oTt,cTt,uTt,lTt,hTt,glt,EV,TV,fTt,CV,_V,SV,u7,l7,h7,dTt,AV,LV,gTt,MV,DV,pTt,bTt,wTt,vTt,IV,plt,xO,OV,PV,FV,NV,mTt,yTt,xTt,kTt,l6n=jr($n,T6t,77,Hr,Yce,Otn),i2e;D(1540,1,os,HK),l.pf=function(e,n){_5n(u(e,37),n)},F($n,"InvertedPortProcessor",1540),D(1541,1,os,VK),l.pf=function(e,n){_mn(u(e,37),n)},F($n,"LabelAndNodeSizeProcessor",1541),D(1542,1,li,GK),l.Mb=function(e){return u(e,10).k==(Vn(),Os)},F($n,"LabelAndNodeSizeProcessor/lambda$0$Type",1542),D(1543,1,li,qd),l.Mb=function(e){return u(e,10).k==(Vn(),ks)},F($n,"LabelAndNodeSizeProcessor/lambda$1$Type",1543),D(1544,1,Un,FYt),l.td=function(e){wXe(this.b,this.a,this.c,u(e,10))},l.a=!1,l.c=!1,F($n,"LabelAndNodeSizeProcessor/lambda$2$Type",1544),D(1545,1,os,zB),l.pf=function(e,n){X4n(u(e,37),n)};var s2e;F($n,"LabelDummyInserter",1545),D(1546,1,xd,dw),l.Lb=function(e){return Vt(Q(u(e,70),(Te(),Od)))===Vt((M1(),P7))},l.Fb=function(e){return this===e},l.Mb=function(e){return Vt(Q(u(e,70),(Te(),Od)))===Vt((M1(),P7))},F($n,"LabelDummyInserter/1",1546),D(1547,1,os,qK),l.pf=function(e,n){Z3n(u(e,37),n)},F($n,"LabelDummyRemover",1547),D(1548,1,li,UK),l.Mb=function(e){return je(Re(Q(u(e,70),(Te(),rht))))},F($n,"LabelDummyRemover/lambda$0$Type",1548),D(1359,1,os,KJ),l.pf=function(e,n){S4n(this,u(e,37),n)},l.a=null;var blt;F($n,"LabelDummySwitcher",1359),D(286,1,{286:1},Uue),l.c=0,l.d=null,l.f=0,F($n,"LabelDummySwitcher/LabelDummyInfo",286),D(1360,1,{},dN),l.Kb=function(e){return r6(),new Tn(null,new _n(u(e,29).a,16))},F($n,"LabelDummySwitcher/lambda$0$Type",1360),D(1361,1,li,gN),l.Mb=function(e){return r6(),u(e,10).k==(Vn(),Ll)},F($n,"LabelDummySwitcher/lambda$1$Type",1361),D(1362,1,{},_g),l.Kb=function(e){return AZe(this.a,u(e,10))},F($n,"LabelDummySwitcher/lambda$2$Type",1362),D(1363,1,Un,cd),l.td=function(e){Snn(this.a,u(e,286))},F($n,"LabelDummySwitcher/lambda$3$Type",1363),D(1364,1,Oi,WK),l.ue=function(e,n){return enn(u(e,286),u(n,286))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"LabelDummySwitcher/lambda$4$Type",1364),D(791,1,os,S3),l.pf=function(e,n){Ran(u(e,37),n)},F($n,"LabelManagementProcessor",791),D(1549,1,os,Sk),l.pf=function(e,n){uvn(u(e,37),n)},F($n,"LabelSideSelector",1549),D(1550,1,li,LL),l.Mb=function(e){return je(Re(Q(u(e,70),(Te(),rht))))},F($n,"LabelSideSelector/lambda$0$Type",1550),D(1558,1,os,ym),l.pf=function(e,n){Gyn(u(e,37),n)},F($n,"LayerConstraintPostprocessor",1558),D(1559,1,os,QJ),l.pf=function(e,n){s2n(u(e,37),n)};var ETt;F($n,"LayerConstraintPreprocessor",1559),D(360,22,{3:1,35:1,22:1,360:1},tj);var kO,BV,RV,wlt,a2e=jr($n,"LayerConstraintPreprocessor/HiddenNodeConnections",360,Hr,Dsn,TJe),o2e;D(1560,1,os,Ak),l.pf=function(e,n){K3n(u(e,37),n)},F($n,"LayerSizeAndGraphHeightCalculator",1560),D(1561,1,os,YK),l.pf=function(e,n){Z2n(u(e,37),n)},F($n,"LongEdgeJoiner",1561),D(1562,1,os,jT),l.pf=function(e,n){M3n(u(e,37),n)},F($n,"LongEdgeSplitter",1562),D(1563,1,os,sd),l.pf=function(e,n){M4n(this,u(e,37),n)},l.d=0,l.e=0,l.i=0,l.j=0,l.k=0,l.n=0,F($n,"NodePromotion",1563),D(1564,1,{},pN),l.Kb=function(e){return u(e,46),Nn(),!0},l.Fb=function(e){return this===e},F($n,"NodePromotion/lambda$0$Type",1564),D(1565,1,{},_p),l.Kb=function(e){return Ynn(this.a,u(e,46))},l.Fb=function(e){return this===e},l.a=0,F($n,"NodePromotion/lambda$1$Type",1565),D(1566,1,{},Hf),l.Kb=function(e){return Knn(this.a,u(e,46))},l.Fb=function(e){return this===e},l.a=0,F($n,"NodePromotion/lambda$2$Type",1566),D(1567,1,os,ML),l.pf=function(e,n){txn(u(e,37),n)},F($n,"NorthSouthPortPostprocessor",1567),D(1568,1,os,Lk),l.pf=function(e,n){j5n(u(e,37),n)},F($n,"NorthSouthPortPreprocessor",1568),D(1569,1,Oi,DL),l.ue=function(e,n){return gun(u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"NorthSouthPortPreprocessor/lambda$0$Type",1569),D(1570,1,os,bN),l.pf=function(e,n){nyn(u(e,37),n)},F($n,"PartitionMidprocessor",1570),D(1571,1,li,KK),l.Mb=function(e){return Us(u(e,10),(Te(),T7))},F($n,"PartitionMidprocessor/lambda$0$Type",1571),D(1572,1,Un,mw),l.td=function(e){wrn(this.a,u(e,10))},F($n,"PartitionMidprocessor/lambda$1$Type",1572),D(1573,1,os,IL),l.pf=function(e,n){vwn(u(e,37),n)},F($n,"PartitionPostprocessor",1573),D(1574,1,os,XK),l.pf=function(e,n){Abn(u(e,37),n)},F($n,"PartitionPreprocessor",1574),D(1575,1,li,QK),l.Mb=function(e){return Us(u(e,10),(Te(),T7))},F($n,"PartitionPreprocessor/lambda$0$Type",1575),D(1576,1,{},wN),l.Kb=function(e){return new Tn(null,new jw(new ar(lr(Ds(u(e,10)).a.Kc(),new z))))},F($n,"PartitionPreprocessor/lambda$1$Type",1576),D(1577,1,li,Z5),l.Mb=function(e){return xfn(u(e,17))},F($n,"PartitionPreprocessor/lambda$2$Type",1577),D(1578,1,Un,vN),l.td=function(e){Tun(u(e,17))},F($n,"PartitionPreprocessor/lambda$3$Type",1578),D(1579,1,os,wC),l.pf=function(e,n){$mn(u(e,37),n)};var TTt,c2e,u2e,l2e,CTt,_Tt;F($n,"PortListSorter",1579),D(1580,1,{},J5),l.Kb=function(e){return oE(),u(e,11).e},F($n,"PortListSorter/lambda$0$Type",1580),D(1581,1,{},ZK),l.Kb=function(e){return oE(),u(e,11).g},F($n,"PortListSorter/lambda$1$Type",1581),D(1582,1,Oi,OL),l.ue=function(e,n){return aJt(u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"PortListSorter/lambda$2$Type",1582),D(1583,1,Oi,JK),l.ue=function(e,n){return G1n(u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"PortListSorter/lambda$3$Type",1583),D(1584,1,Oi,tX),l.ue=function(e,n){return ple(u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"PortListSorter/lambda$4$Type",1584),D(1585,1,os,eX),l.pf=function(e,n){Jbn(u(e,37),n)},F($n,"PortSideProcessor",1585),D(1586,1,os,nX),l.pf=function(e,n){tmn(u(e,37),n)},F($n,"ReversedEdgeRestorer",1586),D(1591,1,os,Tqt),l.pf=function(e,n){L1n(this,u(e,37),n)},F($n,"SelfLoopPortRestorer",1591),D(1592,1,{},mN),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"SelfLoopPortRestorer/lambda$0$Type",1592),D(1593,1,li,rX),l.Mb=function(e){return u(e,10).k==(Vn(),Os)},F($n,"SelfLoopPortRestorer/lambda$1$Type",1593),D(1594,1,li,iX),l.Mb=function(e){return Us(u(e,10),(ae(),x7))},F($n,"SelfLoopPortRestorer/lambda$2$Type",1594),D(1595,1,{},sX),l.Kb=function(e){return u(Q(u(e,10),(ae(),x7)),403)},F($n,"SelfLoopPortRestorer/lambda$3$Type",1595),D(1596,1,Un,Lm),l.td=function(e){Rgn(this.a,u(e,403))},F($n,"SelfLoopPortRestorer/lambda$4$Type",1596),D(794,1,Un,yN),l.td=function(e){Jgn(u(e,101))},F($n,"SelfLoopPortRestorer/lambda$5$Type",794),D(1597,1,os,aX),l.pf=function(e,n){Rfn(u(e,37),n)},F($n,"SelfLoopPostProcessor",1597),D(1598,1,{},oX),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"SelfLoopPostProcessor/lambda$0$Type",1598),D(1599,1,li,cX),l.Mb=function(e){return u(e,10).k==(Vn(),Os)},F($n,"SelfLoopPostProcessor/lambda$1$Type",1599),D(1600,1,li,xN),l.Mb=function(e){return Us(u(e,10),(ae(),x7))},F($n,"SelfLoopPostProcessor/lambda$2$Type",1600),D(1601,1,Un,uX),l.td=function(e){Gdn(u(e,10))},F($n,"SelfLoopPostProcessor/lambda$3$Type",1601),D(1602,1,{},lX),l.Kb=function(e){return new Tn(null,new _n(u(e,101).f,1))},F($n,"SelfLoopPostProcessor/lambda$4$Type",1602),D(1603,1,Un,xx),l.td=function(e){Psn(this.a,u(e,409))},F($n,"SelfLoopPostProcessor/lambda$5$Type",1603),D(1604,1,li,kN),l.Mb=function(e){return!!u(e,101).i},F($n,"SelfLoopPostProcessor/lambda$6$Type",1604),D(1605,1,Un,F3),l.td=function(e){vKe(this.a,u(e,101))},F($n,"SelfLoopPostProcessor/lambda$7$Type",1605),D(1587,1,os,EN),l.pf=function(e,n){D2n(u(e,37),n)},F($n,"SelfLoopPreProcessor",1587),D(1588,1,{},TN),l.Kb=function(e){return new Tn(null,new _n(u(e,101).f,1))},F($n,"SelfLoopPreProcessor/lambda$0$Type",1588),D(1589,1,{},hX),l.Kb=function(e){return u(e,409).a},F($n,"SelfLoopPreProcessor/lambda$1$Type",1589),D(1590,1,Un,fX),l.td=function(e){EQe(u(e,17))},F($n,"SelfLoopPreProcessor/lambda$2$Type",1590),D(1606,1,os,iYt),l.pf=function(e,n){Agn(this,u(e,37),n)},F($n,"SelfLoopRouter",1606),D(1607,1,{},Mk),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"SelfLoopRouter/lambda$0$Type",1607),D(1608,1,li,tx),l.Mb=function(e){return u(e,10).k==(Vn(),Os)},F($n,"SelfLoopRouter/lambda$1$Type",1608),D(1609,1,li,$T),l.Mb=function(e){return Us(u(e,10),(ae(),x7))},F($n,"SelfLoopRouter/lambda$2$Type",1609),D(1610,1,{},dX),l.Kb=function(e){return u(Q(u(e,10),(ae(),x7)),403)},F($n,"SelfLoopRouter/lambda$3$Type",1610),D(1611,1,Un,tGt),l.td=function(e){crn(this.a,this.b,u(e,403))},F($n,"SelfLoopRouter/lambda$4$Type",1611),D(1612,1,os,PL),l.pf=function(e,n){Qwn(u(e,37),n)},F($n,"SemiInteractiveCrossMinProcessor",1612),D(1613,1,li,zT),l.Mb=function(e){return u(e,10).k==(Vn(),Os)},F($n,"SemiInteractiveCrossMinProcessor/lambda$0$Type",1613),D(1614,1,li,FL),l.Mb=function(e){return yKt(u(e,10))._b((Te(),Uy))},F($n,"SemiInteractiveCrossMinProcessor/lambda$1$Type",1614),D(1615,1,Oi,CN),l.ue=function(e,n){return _cn(u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"SemiInteractiveCrossMinProcessor/lambda$2$Type",1615),D(1616,1,{},_N),l.Ce=function(e,n){return Crn(u(e,10),u(n,10))},F($n,"SemiInteractiveCrossMinProcessor/lambda$3$Type",1616),D(1618,1,os,gX),l.pf=function(e,n){Uyn(u(e,37),n)},F($n,"SortByInputModelProcessor",1618),D(1619,1,li,pX),l.Mb=function(e){return u(e,11).g.c.length!=0},F($n,"SortByInputModelProcessor/lambda$0$Type",1619),D(1620,1,Un,kx),l.td=function(e){ipn(this.a,u(e,11))},F($n,"SortByInputModelProcessor/lambda$1$Type",1620),D(1693,803,{},pne),l.Me=function(e){var n,r,s,o;switch(this.c=e,this.a.g){case 2:n=new he,ls(Ri(new Tn(null,new _n(this.c.a.b,16)),new MN),new sGt(this,n)),hI(this,new AN),xu(n,new wX),n.c=Nt(Qn,De,1,0,5,1),ls(Ri(new Tn(null,new _n(this.c.a.b,16)),new vX),new N3(n)),hI(this,new mX),xu(n,new yX),n.c=Nt(Qn,De,1,0,5,1),r=RUt(Ane(l$(new Tn(null,new _n(this.c.a.b,16)),new Hd(this))),new xX),ls(new Tn(null,new _n(this.c.a.a,16)),new nGt(r,n)),hI(this,new kX),xu(n,new bX),n.c=Nt(Qn,De,1,0,5,1);break;case 3:s=new he,hI(this,new SN),o=RUt(Ane(l$(new Tn(null,new _n(this.c.a.b,16)),new SC(this))),new LN),ls(Ri(new Tn(null,new _n(this.c.a.b,16)),new EX),new iGt(o,s)),hI(this,new TX),xu(s,new CX),s.c=Nt(Qn,De,1,0,5,1);break;default:throw it(new uqt)}},l.b=0,F(_s,"EdgeAwareScanlineConstraintCalculation",1693),D(1694,1,xd,SN),l.Lb=function(e){return _t(u(e,57).g,145)},l.Fb=function(e){return this===e},l.Mb=function(e){return _t(u(e,57).g,145)},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$0$Type",1694),D(1695,1,{},SC),l.Fe=function(e){return Bpn(this.a,u(e,57))},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$1$Type",1695),D(1703,1,Vq,eGt),l.Vd=function(){h_(this.a,this.b,-1)},l.b=0,F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$10$Type",1703),D(1705,1,xd,AN),l.Lb=function(e){return _t(u(e,57).g,145)},l.Fb=function(e){return this===e},l.Mb=function(e){return _t(u(e,57).g,145)},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$11$Type",1705),D(1706,1,Un,wX),l.td=function(e){u(e,365).Vd()},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$12$Type",1706),D(1707,1,li,vX),l.Mb=function(e){return _t(u(e,57).g,10)},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$13$Type",1707),D(1709,1,Un,N3),l.td=function(e){lhn(this.a,u(e,57))},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$14$Type",1709),D(1708,1,Vq,uGt),l.Vd=function(){h_(this.b,this.a,-1)},l.a=0,F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$15$Type",1708),D(1710,1,xd,mX),l.Lb=function(e){return _t(u(e,57).g,10)},l.Fb=function(e){return this===e},l.Mb=function(e){return _t(u(e,57).g,10)},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$16$Type",1710),D(1711,1,Un,yX),l.td=function(e){u(e,365).Vd()},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$17$Type",1711),D(1712,1,{},Hd),l.Fe=function(e){return Rpn(this.a,u(e,57))},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$18$Type",1712),D(1713,1,{},xX),l.De=function(){return 0},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$19$Type",1713),D(1696,1,{},LN),l.De=function(){return 0},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$2$Type",1696),D(1715,1,Un,nGt),l.td=function(e){Gen(this.a,this.b,u(e,307))},l.a=0,F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$20$Type",1715),D(1714,1,Vq,rGt),l.Vd=function(){Cce(this.a,this.b,-1)},l.b=0,F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$21$Type",1714),D(1716,1,xd,kX),l.Lb=function(e){return u(e,57),!0},l.Fb=function(e){return this===e},l.Mb=function(e){return u(e,57),!0},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$22$Type",1716),D(1717,1,Un,bX),l.td=function(e){u(e,365).Vd()},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$23$Type",1717),D(1697,1,li,EX),l.Mb=function(e){return _t(u(e,57).g,10)},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$3$Type",1697),D(1699,1,Un,iGt),l.td=function(e){Uen(this.a,this.b,u(e,57))},l.a=0,F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$4$Type",1699),D(1698,1,Vq,lGt),l.Vd=function(){h_(this.b,this.a,-1)},l.a=0,F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$5$Type",1698),D(1700,1,xd,TX),l.Lb=function(e){return u(e,57),!0},l.Fb=function(e){return this===e},l.Mb=function(e){return u(e,57),!0},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$6$Type",1700),D(1701,1,Un,CX),l.td=function(e){u(e,365).Vd()},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$7$Type",1701),D(1702,1,li,MN),l.Mb=function(e){return _t(u(e,57).g,145)},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$8$Type",1702),D(1704,1,Un,sGt),l.td=function(e){Hon(this.a,this.b,u(e,57))},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$9$Type",1704),D(1521,1,os,yWt),l.pf=function(e,n){B3n(this,u(e,37),n)};var h2e;F(_s,"HorizontalGraphCompactor",1521),D(1522,1,{},y1),l.Oe=function(e,n){var r,s,o;return qmt(e,n)||(r=t4(e),s=t4(n),r&&r.k==(Vn(),ks)||s&&s.k==(Vn(),ks))?0:(o=u(Q(this.a.a,(ae(),Q4)),304),QQe(o,r?r.k:(Vn(),ta),s?s.k:(Vn(),ta)))},l.Pe=function(e,n){var r,s,o;return qmt(e,n)?1:(r=t4(e),s=t4(n),o=u(Q(this.a.a,(ae(),Q4)),304),B2t(o,r?r.k:(Vn(),ta),s?s.k:(Vn(),ta)))},F(_s,"HorizontalGraphCompactor/1",1522),D(1523,1,{},qT),l.Ne=function(e,n){return GC(),e.a.i==0},F(_s,"HorizontalGraphCompactor/lambda$0$Type",1523),D(1524,1,{},Vd),l.Ne=function(e,n){return xrn(this.a,e,n)},F(_s,"HorizontalGraphCompactor/lambda$1$Type",1524),D(1664,1,{},tee);var f2e,d2e;F(_s,"LGraphToCGraphTransformer",1664),D(1672,1,li,_X),l.Mb=function(e){return e!=null},F(_s,"LGraphToCGraphTransformer/0methodref$nonNull$Type",1672),D(1665,1,{},SX),l.Kb=function(e){return df(),$o(Q(u(u(e,57).g,10),(ae(),_i)))},F(_s,"LGraphToCGraphTransformer/lambda$0$Type",1665),D(1666,1,{},DN),l.Kb=function(e){return df(),rie(u(u(e,57).g,145))},F(_s,"LGraphToCGraphTransformer/lambda$1$Type",1666),D(1675,1,li,AX),l.Mb=function(e){return df(),_t(u(e,57).g,10)},F(_s,"LGraphToCGraphTransformer/lambda$10$Type",1675),D(1676,1,Un,LX),l.td=function(e){yrn(u(e,57))},F(_s,"LGraphToCGraphTransformer/lambda$11$Type",1676),D(1677,1,li,MX),l.Mb=function(e){return df(),_t(u(e,57).g,145)},F(_s,"LGraphToCGraphTransformer/lambda$12$Type",1677),D(1681,1,Un,DX),l.td=function(e){Cln(u(e,57))},F(_s,"LGraphToCGraphTransformer/lambda$13$Type",1681),D(1678,1,Un,AC),l.td=function(e){KXe(this.a,u(e,8))},l.a=0,F(_s,"LGraphToCGraphTransformer/lambda$14$Type",1678),D(1679,1,Un,Yb),l.td=function(e){QXe(this.a,u(e,110))},l.a=0,F(_s,"LGraphToCGraphTransformer/lambda$15$Type",1679),D(1680,1,Un,dR),l.td=function(e){XXe(this.a,u(e,8))},l.a=0,F(_s,"LGraphToCGraphTransformer/lambda$16$Type",1680),D(1682,1,{},IX),l.Kb=function(e){return df(),new Tn(null,new jw(new ar(lr(Ds(u(e,10)).a.Kc(),new z))))},F(_s,"LGraphToCGraphTransformer/lambda$17$Type",1682),D(1683,1,li,OX),l.Mb=function(e){return df(),Ga(u(e,17))},F(_s,"LGraphToCGraphTransformer/lambda$18$Type",1683),D(1684,1,Un,Htt),l.td=function(e){Don(this.a,u(e,17))},F(_s,"LGraphToCGraphTransformer/lambda$19$Type",1684),D(1668,1,Un,Vtt),l.td=function(e){hsn(this.a,u(e,145))},F(_s,"LGraphToCGraphTransformer/lambda$2$Type",1668),D(1685,1,{},IN),l.Kb=function(e){return df(),new Tn(null,new _n(u(e,29).a,16))},F(_s,"LGraphToCGraphTransformer/lambda$20$Type",1685),D(1686,1,{},PX),l.Kb=function(e){return df(),new Tn(null,new jw(new ar(lr(Ds(u(e,10)).a.Kc(),new z))))},F(_s,"LGraphToCGraphTransformer/lambda$21$Type",1686),D(1687,1,{},ON),l.Kb=function(e){return df(),u(Q(u(e,17),(ae(),R2)),15)},F(_s,"LGraphToCGraphTransformer/lambda$22$Type",1687),D(1688,1,li,FX),l.Mb=function(e){return JQe(u(e,15))},F(_s,"LGraphToCGraphTransformer/lambda$23$Type",1688),D(1689,1,Un,Gtt),l.td=function(e){Apn(this.a,u(e,15))},F(_s,"LGraphToCGraphTransformer/lambda$24$Type",1689),D(1667,1,Un,aGt),l.td=function(e){Zsn(this.a,this.b,u(e,145))},F(_s,"LGraphToCGraphTransformer/lambda$3$Type",1667),D(1669,1,{},NX),l.Kb=function(e){return df(),new Tn(null,new _n(u(e,29).a,16))},F(_s,"LGraphToCGraphTransformer/lambda$4$Type",1669),D(1670,1,{},BX),l.Kb=function(e){return df(),new Tn(null,new jw(new ar(lr(Ds(u(e,10)).a.Kc(),new z))))},F(_s,"LGraphToCGraphTransformer/lambda$5$Type",1670),D(1671,1,{},HT),l.Kb=function(e){return df(),u(Q(u(e,17),(ae(),R2)),15)},F(_s,"LGraphToCGraphTransformer/lambda$6$Type",1671),D(1673,1,Un,Utt),l.td=function(e){abn(this.a,u(e,15))},F(_s,"LGraphToCGraphTransformer/lambda$8$Type",1673),D(1674,1,Un,oGt),l.td=function(e){mQe(this.a,this.b,u(e,145))},F(_s,"LGraphToCGraphTransformer/lambda$9$Type",1674),D(1663,1,{},RX),l.Le=function(e){var n,r,s,o,h;for(this.a=e,this.d=new eet,this.c=Nt(a7t,De,121,this.a.a.a.c.length,0,1),this.b=0,r=new S(this.a.a.a);r.a=tt&&(le(h,pe(M)),St=b.Math.max(St,Rt[M-1]-j),v+=K,gt+=Rt[M-1]-gt,j=Rt[M-1],K=k[M]),K=b.Math.max(K,k[M]),++M;v+=K}G=b.Math.min(1/St,1/n.b/v),G>s&&(s=G,r=h)}return r},l.Wf=function(){return!1},F(Cd,"MSDCutIndexHeuristic",802),D(1617,1,os,lQ),l.pf=function(e,n){Ryn(u(e,37),n)},F(Cd,"SingleEdgeGraphWrapper",1617),D(227,22,{3:1,35:1,22:1,227:1},ZC);var V4,g7,p7,Ny,bS,G4,b7=jr(kc,"CenterEdgeLabelPlacementStrategy",227,Hr,Kan,SJe),C2e;D(422,22,{3:1,35:1,22:1,422:1},Bbt);var ATt,Alt,LTt=jr(kc,"ConstraintCalculationStrategy",422,Hr,jrn,AJe),_2e;D(314,22,{3:1,35:1,22:1,314:1,246:1,234:1},Pet),l.Kf=function(){return Noe(this)},l.Xf=function(){return Noe(this)};var EO,P6,MTt,DTt=jr(kc,"CrossingMinimizationStrategy",314,Hr,Din,LJe),S2e;D(337,22,{3:1,35:1,22:1,337:1},Fet);var ITt,Llt,VV,OTt=jr(kc,"CuttingStrategy",337,Hr,Iin,IJe),A2e;D(335,22,{3:1,35:1,22:1,335:1,246:1,234:1},AM),l.Kf=function(){return kce(this)},l.Xf=function(){return kce(this)};var PTt,Mlt,wS,Dlt,vS,FTt=jr(kc,"CycleBreakingStrategy",335,Hr,xan,OJe),L2e;D(419,22,{3:1,35:1,22:1,419:1},Rbt);var GV,NTt,BTt=jr(kc,"DirectionCongruency",419,Hr,Rrn,PJe),M2e;D(450,22,{3:1,35:1,22:1,450:1},Net);var w7,Ilt,U4,D2e=jr(kc,"EdgeConstraint",450,Hr,Oin,FJe),I2e;D(276,22,{3:1,35:1,22:1,276:1},JC);var Olt,Plt,Flt,Nlt,UV,Blt,RTt=jr(kc,"EdgeLabelSideSelection",276,Hr,Jan,NJe),O2e;D(479,22,{3:1,35:1,22:1,479:1},jbt);var WV,jTt,$Tt=jr(kc,"EdgeStraighteningStrategy",479,Hr,Brn,BJe),P2e;D(274,22,{3:1,35:1,22:1,274:1},t9);var Rlt,zTt,qTt,YV,HTt,VTt,GTt=jr(kc,"FixedAlignment",274,Hr,Qan,RJe),F2e;D(275,22,{3:1,35:1,22:1,275:1},e9);var UTt,WTt,YTt,KTt,mS,XTt,QTt=jr(kc,"GraphCompactionStrategy",275,Hr,Xan,jJe),N2e;D(256,22,{3:1,35:1,22:1,256:1},Fm);var v7,KV,m7,vh,yS,XV,y7,W4,QV,xS,jlt=jr(kc,"GraphProperties",256,Hr,Rcn,$Je),B2e;D(292,22,{3:1,35:1,22:1,292:1},Bet);var TO,$lt,zlt,qlt=jr(kc,"GreedySwitchType",292,Hr,Nin,zJe),R2e;D(303,22,{3:1,35:1,22:1,303:1},Ret);var F6,CO,Y4,j2e=jr(kc,"InLayerConstraint",303,Hr,Fin,qJe),$2e;D(420,22,{3:1,35:1,22:1,420:1},$bt);var Hlt,ZTt,JTt=jr(kc,"InteractiveReferencePoint",420,Hr,$rn,HJe),z2e,tCt,N6,Iv,ZV,eCt,nCt,JV,rCt,_O,tG,kS,B6,By,Vlt,eG,oc,iCt,Ov,Vc,Glt,Ult,SO,B2,Pv,R6,sCt,j6,AO,Ry,r1,$h,Wlt,K4,Tc,_i,aCt,oCt,cCt,uCt,lCt,Ylt,nG,Ju,Fv,Klt,$6,LO,q1,X4,x7,Q4,Z4,k7,R2,hCt,Xlt,Qlt,z6;D(163,22,{3:1,35:1,22:1,163:1},MM);var ES,bb,TS,jy,MO,fCt=jr(kc,"LayerConstraint",163,Hr,Tan,VJe),q2e;D(848,1,Oh,rtt),l.Qe=function(e){an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,C6t),""),"Direction Congruency"),"Specifies how drawings of the same graph with different layout directions compare to each other: either a natural reading direction is preserved or the drawings are rotated versions of each other."),kCt),(Ug(),us)),BTt),un((Qf(),qn))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,_6t),""),"Feedback Edges"),"Whether feedback edges should be highlighted by routing around the nodes."),(Nn(),!1)),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,sH),""),"Interactive Reference Point"),"Determines which point of a node is considered by interactive layout phases."),ACt),us),JTt),un(qn)))),ca(e,sH,Qot,Owe),ca(e,sH,H_,Iwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,S6t),""),"Merge Edges"),"Edges that have no ports are merged so they touch the connected nodes at the same points. When this option is disabled, one port is created for each edge directly connected to a node. When it is enabled, all such incoming edges share an input port, and all outgoing edges share an output port."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,A6t),""),"Merge Hierarchy-Crossing Edges"),"If hierarchical layout is active, hierarchy-crossing edges use as few hierarchical ports as possible. They are broken by the algorithm, with hierarchical ports inserted as required. Usually, one such port is created for each edge at each hierarchy crossing point. With this option set to true, we try to create as few hierarchical ports as possible in the process. In particular, all edges that form a hyperedge can share a port."),!0),La),Rs),un(qn)))),an(e,new Xe(XKe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,L6t),""),"Allow Non-Flow Ports To Switch Sides"),"Specifies whether non-flow ports may switch sides if their node's port constraints are either FIXED_SIDE or FIXED_ORDER. A non-flow port is a port on a side that is not part of the currently configured layout flow. For instance, given a left-to-right layout direction, north and south ports would be considered non-flow ports. Further note that the underlying criterium whether to switch sides or not solely relies on the minimization of edge crossings. Hence, edge length and other aesthetics criteria are not addressed."),!1),La),Rs),un(V2)),lt(ct(Ae,1),ee,2,6,["org.eclipse.elk.layered.northOrSouthPort"])))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,M6t),""),"Port Sorting Strategy"),"Only relevant for nodes with FIXED_SIDE port constraints. Determines the way a node's ports are distributed on the sides of a node if their order is not prescribed. The option is set on parent nodes."),NCt),us),V9t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,D6t),""),"Thoroughness"),"How much effort should be spent to produce a nice layout."),pe(7)),gc),ja),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,I6t),""),"Add Unnecessary Bendpoints"),"Adds bend points even if an edge does not change direction. If true, each long edge dummy will contribute a bend point to its edges and hierarchy-crossing edges will always get a bend point where they cross hierarchy boundaries. By default, bend points are only added where an edge changes direction."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,O6t),""),"Generate Position and Layer IDs"),"If enabled position id and layer id are generated, which are usually only used internally when setting the interactiveLayout option. This option should be specified on the root node."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Qot),"cycleBreaking"),"Cycle Breaking Strategy"),"Strategy for cycle breaking. Cycle breaking looks for cycles in the graph and determines which edges to reverse to break the cycles. Reversed edges will end up pointing to the opposite direction of regular edges (that is, reversed edges will point left if edges usually point right)."),xCt),us),FTt),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,KI),xct),"Node Layering Strategy"),"Strategy for node layering."),DCt),us),I9t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,P6t),xct),"Layer Constraint"),"Determines a constraint on the placement of the node regarding the layering."),LCt),us),fCt),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,F6t),xct),"Layer Choice Constraint"),"Allows to set a constraint regarding the layer placement of a node. Let i be the value of teh constraint. Assumed the drawing has n layers and i < n. If set to i, it expresses that the node should be placed in i-th layer. Should i>=n be true then the node is placed in the last layer of the drawing. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),pe(-1)),gc),ja),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,N6t),xct),"Layer ID"),"Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),pe(-1)),gc),ja),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Zot),I1e),"Upper Bound On Width [MinWidth Layerer]"),"Defines a loose upper bound on the width of the MinWidth layerer. If set to '-1' multiple values are tested and the best result is selected."),pe(4)),gc),ja),un(qn)))),ca(e,Zot,KI,$we),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Jot),I1e),"Upper Layer Estimation Scaling Factor [MinWidth Layerer]"),"Multiplied with Upper Bound On Width for defining an upper bound on the width of layers which haven't been determined yet, but whose maximum width had been (roughly) estimated by the MinWidth algorithm. Compensates for too high estimations. If set to '-1' multiple values are tested and the best result is selected."),pe(2)),gc),ja),un(qn)))),ca(e,Jot,KI,qwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,tct),O1e),"Node Promotion Strategy"),"Reduces number of dummy nodes after layering phase (if possible)."),MCt),us),z9t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,ect),O1e),"Max Node Promotion Iterations"),"Limits the number of iterations for node promotion."),pe(0)),gc),ja),un(qn)))),ca(e,ect,tct,null),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,nct),"layering.coffmanGraham"),"Layer Bound"),"The maximum number of nodes allowed per layer."),pe(wi)),gc),ja),un(qn)))),ca(e,nct,KI,Fwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,H_),XI),"Crossing Minimization Strategy"),"Strategy for crossing minimization."),yCt),us),DTt),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,B6t),XI),"Force Node Model Order"),"The node order given by the model does not change to produce a better layout. E.g. if node A is before node B in the model this is not changed during crossing minimization. This assumes that the node model order is already respected before crossing minimization. This can be achieved by setting considerModelOrder.strategy to NODES_AND_EDGES."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,rct),XI),"Hierarchical Sweepiness"),"How likely it is to use cross-hierarchy (1) vs bottom-up (-1)."),.1),Oo),la),un(qn)))),ca(e,rct,vH,owe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,ict),XI),"Semi-Interactive Crossing Minimization"),"Preserves the order of nodes within a layer but still minimizes crossings between edges connecting long edge dummies. Derives the desired order from positions specified by the 'org.eclipse.elk.position' layout option. Requires a crossing minimization strategy that is able to process 'in-layer' constraints."),!1),La),Rs),un(qn)))),ca(e,ict,H_,hwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,R6t),XI),"Position Choice Constraint"),"Allows to set a constraint regarding the position placement of a node in a layer. Assumed the layer in which the node placed includes n other nodes and i < n. If set to i, it expresses that the node should be placed at the i-th position. Should i>=n be true then the node is placed at the last position in the layer. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),pe(-1)),gc),ja),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,j6t),XI),"Position ID"),"Position within a layer that was determined by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),pe(-1)),gc),ja),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,$6t),P1e),"Greedy Switch Activation Threshold"),"By default it is decided automatically if the greedy switch is activated or not. The decision is based on whether the size of the input graph (without dummy nodes) is smaller than the value of this option. A '0' enforces the activation."),pe(40)),gc),ja),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,sct),P1e),"Greedy Switch Crossing Minimization"),"Greedy Switch strategy for crossing minimization. The greedy switch heuristic is executed after the regular crossing minimization as a post-processor. Note that if 'hierarchyHandling' is set to 'INCLUDE_CHILDREN', the 'greedySwitchHierarchical.type' option must be used."),mCt),us),qlt),un(qn)))),ca(e,sct,H_,swe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,aH),"crossingMinimization.greedySwitchHierarchical"),"Greedy Switch Crossing Minimization (hierarchical)"),"Activates the greedy switch heuristic in case hierarchical layout is used. The differences to the non-hierarchical case (see 'greedySwitch.type') are: 1) greedy switch is inactive by default, 3) only the option value set on the node at which hierarchical layout starts is relevant, and 2) if it's activated by the user, it properly addresses hierarchy-crossing edges."),vCt),us),qlt),un(qn)))),ca(e,aH,H_,nwe),ca(e,aH,vH,rwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,I4),F1e),"Node Placement Strategy"),"Strategy for node placement."),FCt),us),N9t),un(qn)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,oH),F1e),"Favor Straight Edges Over Balancing"),"Favor straight edges over a balanced node placement. The default behavior is determined automatically based on the used 'edgeRouting'. For an orthogonal style it is set to true, for all other styles to false."),La),Rs),un(qn)))),ca(e,oH,I4,Jwe),ca(e,oH,I4,tve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,act),N1e),"BK Edge Straightening"),"Specifies whether the Brandes Koepf node placer tries to increase the number of straight edges at the expense of diagram size. There is a subtle difference to the 'favorStraightEdges' option, which decides whether a balanced placement of the nodes is desired, or not. In bk terms this means combining the four alignments into a single balanced one, or not. This option on the other hand tries to straighten additional edges during the creation of each of the four alignments."),ICt),us),$Tt),un(qn)))),ca(e,act,I4,Kwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,oct),N1e),"BK Fixed Alignment"),"Tells the BK node placer to use a certain alignment (out of its four) instead of the one producing the smallest height, or the combination of all four."),OCt),us),GTt),un(qn)))),ca(e,oct,I4,Qwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,cct),"nodePlacement.linearSegments"),"Linear Segments Deflection Dampening"),"Dampens the movement of nodes to keep the diagram from getting too large."),.3),Oo),la),un(qn)))),ca(e,cct,I4,nve),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,uct),"nodePlacement.networkSimplex"),"Node Flexibility"),"Aims at shorter and straighter edges. Two configurations are possible: (a) allow ports to move freely on the side they are assigned to (the order is always defined beforehand), (b) additionally allow to enlarge a node wherever it helps. If this option is not configured for a node, the 'nodeFlexibility.default' value is used, which is specified for the node's parent."),us),yht),un(ea)))),ca(e,uct,I4,ave),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,lct),"nodePlacement.networkSimplex.nodeFlexibility"),"Node Flexibility Default"),"Default value of the 'nodeFlexibility' option for the children of a hierarchical node."),PCt),us),yht),un(qn)))),ca(e,lct,I4,sve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,z6t),B1e),"Self-Loop Distribution"),"Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE."),CCt),us),W9t),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,q6t),B1e),"Self-Loop Ordering"),"Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE."),_Ct),us),Y9t),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,cH),"edgeRouting.splines"),"Spline Routing Mode"),"Specifies the way control points are assembled for each individual edge. CONSERVATIVE ensures that edges are properly routed around the nodes but feels rather orthogonal at times. SLOPPY uses fewer control points to obtain curvier edge routes but may result in edges overlapping nodes."),SCt),us),X9t),un(qn)))),ca(e,cH,QI,kwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,uH),"edgeRouting.splines.sloppy"),"Sloppy Spline Layer Spacing Factor"),"Spacing factor for routing area between layers when using sloppy spline routing."),.2),Oo),la),un(qn)))),ca(e,uH,QI,Twe),ca(e,uH,cH,Cwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,hct),"edgeRouting.polyline"),"Sloped Edge Zone Width"),"Width of the strip to the left and to the right of each layer where the polyline edge router is allowed to refrain from ensuring that edges are routed horizontally. This prevents awkward bend points for nodes that extent almost to the edge of their layer."),2),Oo),la),un(qn)))),ca(e,hct,QI,vwe),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,H6t),R1),"Spacing Base Value"),"An optional base value for all other layout options of the 'spacing' group. It can be used to conveniently alter the overall 'spaciousness' of the drawing. Whenever an explicit value is set for the other layout options, this base value will have no effect. The base value is not inherited, i.e. it must be set for each hierarchical node."),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,V6t),R1),"Edge Node Between Layers Spacing"),"The spacing to be preserved between nodes and edges that are routed next to the node's layer. For the spacing between nodes and edges that cross the node's layer 'spacing.edgeNode' is used."),10),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,G6t),R1),"Edge Edge Between Layer Spacing"),"Spacing to be preserved between pairs of edges that are routed between the same pair of layers. Note that 'spacing.edgeEdge' is used for the spacing between pairs of edges crossing the same layer."),10),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,U6t),R1),"Node Node Between Layers Spacing"),"The spacing to be preserved between any pair of nodes of two adjacent layers. Note that 'spacing.nodeNode' is used for the spacing between nodes within the layer itself."),20),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,W6t),nkt),"Direction Priority"),"Defines how important it is to have a certain edge point into the direction of the overall layout. This option is evaluated during the cycle breaking phase."),pe(0)),gc),ja),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Y6t),nkt),"Shortness Priority"),"Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase."),pe(0)),gc),ja),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,K6t),nkt),"Straightness Priority"),"Defines how important it is to keep an edge straight, i.e. aligned with one of the two axes. This option is evaluated during node placement."),pe(0)),gc),ja),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,fct),rkt),Jfe),"Tries to further compact components (disconnected sub-graphs)."),!1),La),Rs),un(qn)))),ca(e,fct,R_,!0),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,X6t),R1e),"Post Compaction Strategy"),j1e),gCt),us),QTt),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Q6t),R1e),"Post Compaction Constraint Calculation"),j1e),dCt),us),LTt),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,lH),ikt),"High Degree Node Treatment"),"Makes room around high degree nodes to place leafs and trees."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,dct),ikt),"High Degree Node Threshold"),"Whether a node is considered to have a high degree."),pe(16)),gc),ja),un(qn)))),ca(e,dct,lH,!0),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,gct),ikt),"High Degree Node Maximum Tree Height"),"Maximum height of a subtree connected to a high degree node to be moved to separate layers."),pe(5)),gc),ja),un(qn)))),ca(e,gct,lH,!0),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,tg),skt),"Graph Wrapping Strategy"),"For certain graphs and certain prescribed drawing areas it may be desirable to split the laid out graph into chunks that are placed side by side. The edges that connect different chunks are 'wrapped' around from the end of one chunk to the start of the other chunk. The points between the chunks are referred to as 'cuts'."),jCt),us),t_t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,hH),skt),"Additional Wrapped Edges Spacing"),"To visually separate edges that are wrapped from regularly routed edges an additional spacing value can be specified in form of this layout option. The spacing is added to the regular edgeNode spacing."),10),Oo),la),un(qn)))),ca(e,hH,tg,mve),ca(e,hH,tg,yve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,fH),skt),"Correction Factor for Wrapping"),"At times and for certain types of graphs the executed wrapping may produce results that are consistently biased in the same fashion: either wrapping to often or to rarely. This factor can be used to correct the bias. Internally, it is simply multiplied with the 'aspect ratio' layout option."),1),Oo),la),un(qn)))),ca(e,fH,tg,kve),ca(e,fH,tg,Eve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,V_),$1e),"Cutting Strategy"),"The strategy by which the layer indexes are determined at which the layering crumbles into chunks."),RCt),us),OTt),un(qn)))),ca(e,V_,tg,Lve),ca(e,V_,tg,Mve),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,pct),$1e),"Manually Specified Cuts"),"Allows the user to specify her own cuts for a certain graph."),V1),wh),un(qn)))),ca(e,pct,V_,Cve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,bct),"wrapping.cutting.msd"),"MSD Freedom"),"The MSD cutting strategy starts with an initial guess on the number of chunks the graph should be split into. The freedom specifies how much the strategy may deviate from this guess. E.g. if an initial number of 3 is computed, a freedom of 1 allows 2, 3, and 4 cuts."),BCt),gc),ja),un(qn)))),ca(e,bct,V_,Sve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,dH),z1e),"Validification Strategy"),"When wrapping graphs, one can specify indices that are not allowed as split points. The validification strategy makes sure every computed split point is allowed."),$Ct),us),J9t),un(qn)))),ca(e,dH,tg,qve),ca(e,dH,tg,Hve),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,gH),z1e),"Valid Indices for Wrapping"),null),V1),wh),un(qn)))),ca(e,gH,tg,jve),ca(e,gH,tg,$ve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,pH),akt),"Improve Cuts"),"For general graphs it is important that not too many edges wrap backwards. Thus a compromise between evenly-distributed cuts and the total number of cut edges is sought."),!0),La),Rs),un(qn)))),ca(e,pH,tg,Pve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,bH),akt),"Distance Penalty When Improving Cuts"),null),2),Oo),la),un(qn)))),ca(e,bH,tg,Ive),ca(e,bH,pH,!0),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,wct),akt),"Improve Wrapped Edges"),"The initial wrapping is performed in a very simple way. As a consequence, edges that wrap from one chunk to another may be unnecessarily long. Activating this option tries to shorten such edges."),!0),La),Rs),un(qn)))),ca(e,wct,tg,Nve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Z6t),kct),"Edge Label Side Selection"),"Method to decide on edge label sides."),TCt),us),RTt),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,J6t),kct),"Edge Center Label Placement Strategy"),"Determines in which layer center labels of long edges should be placed."),ECt),us),b7),ji(qn,lt(ct(ip,1),oe,175,0,[rp]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,wH),ZI),"Consider Model Order"),"Preserves the order of nodes and edges in the model file if this does not lead to additional edge crossings. Depending on the strategy this is not always possible since the node and edge order might be conflicting."),wCt),us),H9t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,tkt),ZI),"No Model Order"),"Set on a node to not set a model order for this node even though it is a real node."),!1),La),Rs),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,vct),ZI),"Consider Model Order for Components"),"If set to NONE the usual ordering strategy (by cumulative node priority and size of nodes) is used. INSIDE_PORT_SIDES orders the components with external ports only inside the groups with the same port side. FORCE_MODEL_ORDER enforces the mode order on components. This option might produce bad alignments and sub optimal drawings in terms of used area since the ordering should be respected."),pCt),us),F7t),un(qn)))),ca(e,vct,R_,null),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,ekt),ZI),"Long Edge Ordering Strategy"),"Indicates whether long edges are sorted under, over, or equal to nodes that have no connection to a previous layer in a left-to-right or right-to-left layout. Under and over changes to right and left in a vertical layout."),bCt),us),P9t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,mct),ZI),"Crossing Counter Node Order Influence"),"Indicates with what percentage (1 for 100%) violations of the node model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal node order. Defaults to no influence (0)."),0),Oo),la),un(qn)))),ca(e,mct,wH,null),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,yct),ZI),"Crossing Counter Port Order Influence"),"Indicates with what percentage (1 for 100%) violations of the port model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal port order. Defaults to no influence (0)."),0),Oo),la),un(qn)))),ca(e,yct,wH,null),ife((new HB,e))};var H2e,V2e,G2e,dCt,U2e,gCt,W2e,pCt,Y2e,K2e,X2e,bCt,Q2e,Z2e,wCt,J2e,twe,ewe,vCt,nwe,rwe,iwe,mCt,swe,awe,owe,cwe,uwe,lwe,hwe,fwe,yCt,dwe,xCt,gwe,kCt,pwe,ECt,bwe,TCt,wwe,vwe,mwe,CCt,ywe,_Ct,xwe,SCt,kwe,Ewe,Twe,Cwe,_we,Swe,Awe,Lwe,Mwe,Dwe,ACt,Iwe,Owe,Pwe,Fwe,Nwe,Bwe,LCt,Rwe,jwe,$we,zwe,qwe,Hwe,Vwe,MCt,Gwe,DCt,Uwe,Wwe,Ywe,ICt,Kwe,Xwe,OCt,Qwe,Zwe,Jwe,tve,eve,nve,rve,ive,PCt,sve,ave,ove,FCt,cve,NCt,uve,lve,hve,fve,dve,gve,pve,bve,wve,vve,mve,yve,xve,kve,Eve,Tve,Cve,_ve,BCt,Sve,Ave,RCt,Lve,Mve,Dve,Ive,Ove,Pve,Fve,Nve,Bve,jCt,Rve,jve,$ve,zve,$Ct,qve,Hve;F(kc,"LayeredMetaDataProvider",848),D(986,1,Oh,HB),l.Qe=function(e){ife(e)};var Id,Zlt,rG,CS,iG,zCt,sG,q6,aG,qCt,HCt,Jlt,wb,tht,$y,VCt,DO,eht,GCt,Vve,oG,nht,_S,zy,Gve,Wl,UCt,WCt,cG,rht,Od,uG,eg,YCt,KCt,XCt,iht,sht,QCt,Jg,aht,ZCt,qy,JCt,t9t,e9t,lG,Hy,j2,n9t,r9t,So,i9t,Uve,uu,hG,s9t,a9t,o9t,oht,c9t,fG,u9t,l9t,dG,Nv,h9t,cht,SS,f9t,Bv,AS,gG,$2,uht,E7,pG,z2,d9t,g9t,p9t,T7,b9t,Wve,Yve,Kve,Xve,Rv,Vy,cs,tp,Qve,Gy,w9t,C7,v9t,Uy,Zve,_7,m9t,H6,Jve,tme,IO,lht,y9t,OO,Tf,J4,V6,jv,q2,bG,Wy,hht,S7,A7,$v,t5,fht,PO,LS,MS,dht,x9t,k9t,E9t,T9t,ght,C9t,_9t,S9t,A9t,pht,wG;F(kc,"LayeredOptions",986),D(987,1,{},fQ),l.$e=function(){var e;return e=new gqt,e},l._e=function(e){},F(kc,"LayeredOptions/LayeredFactory",987),D(1372,1,{}),l.a=0;var eme;F(Ec,"ElkSpacings/AbstractSpacingsBuilder",1372),D(779,1372,{},w3t);var vG,nme;F(kc,"LayeredSpacings/LayeredSpacingsBuilder",779),D(313,22,{3:1,35:1,22:1,313:1,246:1,234:1},n9),l.Kf=function(){return Bce(this)},l.Xf=function(){return Bce(this)};var bht,L9t,M9t,mG,wht,D9t,I9t=jr(kc,"LayeringStrategy",313,Hr,Zan,GJe),rme;D(378,22,{3:1,35:1,22:1,378:1},jet);var vht,O9t,yG,P9t=jr(kc,"LongEdgeOrderingStrategy",378,Hr,Min,UJe),ime;D(197,22,{3:1,35:1,22:1,197:1},nj);var e5,n5,xG,mht,yht=jr(kc,"NodeFlexibility",197,Hr,Bsn,WJe),sme;D(315,22,{3:1,35:1,22:1,315:1,246:1,234:1},LM),l.Kf=function(){return xce(this)},l.Xf=function(){return xce(this)};var DS,xht,kht,IS,F9t,N9t=jr(kc,"NodePlacementStrategy",315,Hr,yan,JJe),ame;D(260,22,{3:1,35:1,22:1,260:1},Ix);var B9t,FO,R9t,j9t,NO,$9t,kG,EG,z9t=jr(kc,"NodePromotionStrategy",260,Hr,Qon,KJe),ome;D(339,22,{3:1,35:1,22:1,339:1},$et);var q9t,vb,Eht,H9t=jr(kc,"OrderingStrategy",339,Hr,Rin,XJe),cme;D(421,22,{3:1,35:1,22:1,421:1},zbt);var Tht,Cht,V9t=jr(kc,"PortSortingStrategy",421,Hr,zrn,QJe),ume;D(452,22,{3:1,35:1,22:1,452:1},zet);var tl,nu,OS,lme=jr(kc,"PortType",452,Hr,Bin,YJe),hme;D(375,22,{3:1,35:1,22:1,375:1},qet);var G9t,_ht,U9t,W9t=jr(kc,"SelfLoopDistributionStrategy",375,Hr,jin,ZJe),fme;D(376,22,{3:1,35:1,22:1,376:1},qbt);var BO,Sht,Y9t=jr(kc,"SelfLoopOrderingStrategy",376,Hr,Nrn,ttn),dme;D(304,1,{304:1},ahe),F(kc,"Spacings",304),D(336,22,{3:1,35:1,22:1,336:1},Het);var Aht,K9t,PS,X9t=jr(kc,"SplineRoutingMode",336,Hr,zin,etn),gme;D(338,22,{3:1,35:1,22:1,338:1},Vet);var Lht,Q9t,Z9t,J9t=jr(kc,"ValidifyStrategy",338,Hr,qin,ntn),pme;D(377,22,{3:1,35:1,22:1,377:1},Get);var Yy,Mht,L7,t_t=jr(kc,"WrappingStrategy",377,Hr,$in,rtn),bme;D(1383,1,zc,att),l.Yf=function(e){return u(e,37),wme},l.pf=function(e,n){I3n(this,u(e,37),n)};var wme;F(xH,"DepthFirstCycleBreaker",1383),D(782,1,zc,evt),l.Yf=function(e){return u(e,37),vme},l.pf=function(e,n){Mxn(this,u(e,37),n)},l.Zf=function(e){return u(Ne(e,Zz(this.d,e.c.length)),10)};var vme;F(xH,"GreedyCycleBreaker",782),D(1386,782,zc,WGt),l.Zf=function(e){var n,r,s,o;for(o=null,n=wi,s=new S(e);s.a1&&(je(Re(Q(Na((An(0,e.c.length),u(e.c[0],10))),(Te(),$y))))?Dce(e,this.d,u(this,660)):(wn(),Zs(e,this.d)),Qne(this.e,e))},l.Sf=function(e,n,r,s){var o,h,d,v,k,C,M;for(n!=kKt(r,e.length)&&(h=e[n-(r?1:-1)],_mt(this.f,h,r?(so(),nu):(so(),tl))),o=e[n][0],M=!s||o.k==(Vn(),ks),C=A1(e[n]),this.ag(C,M,!1,r),d=0,k=new S(C);k.a"),e0?Crt(this.a,e[n-1],e[n]):!r&&n1&&(je(Re(Q(Na((An(0,e.c.length),u(e.c[0],10))),(Te(),$y))))?Dce(e,this.d,this):(wn(),Zs(e,this.d)),je(Re(Q(Na((An(0,e.c.length),u(e.c[0],10))),$y)))||Qne(this.e,e))},F(qu,"ModelOrderBarycenterHeuristic",660),D(1803,1,Oi,D$t),l.ue=function(e,n){return Ugn(this.a,u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(qu,"ModelOrderBarycenterHeuristic/lambda$0$Type",1803),D(1403,1,zc,ltt),l.Yf=function(e){var n;return u(e,37),n=pj(Dme),bi(n,(Wa(),cu),(ro(),IV)),n},l.pf=function(e,n){Drn((u(e,37),n))};var Dme;F(qu,"NoCrossingMinimizer",1403),D(796,402,qkt,hbt),l.$f=function(e,n,r){var s,o,h,d,v,k,C,M,j,H,G;switch(j=this.g,r.g){case 1:{for(o=0,h=0,M=new S(e.j);M.a1&&(o.j==(ve(),Hn)?this.b[e]=!0:o.j==Bn&&e>0&&(this.b[e-1]=!0))},l.f=0,F(c0,"AllCrossingsCounter",1798),D(587,1,{},gz),l.b=0,l.d=0,F(c0,"BinaryIndexedTree",587),D(524,1,{},YM);var r_t,CG;F(c0,"CrossingsCounter",524),D(1906,1,Oi,I$t),l.ue=function(e,n){return Pen(this.a,u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(c0,"CrossingsCounter/lambda$0$Type",1906),D(1907,1,Oi,O$t),l.ue=function(e,n){return Fen(this.a,u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(c0,"CrossingsCounter/lambda$1$Type",1907),D(1908,1,Oi,P$t),l.ue=function(e,n){return Nen(this.a,u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(c0,"CrossingsCounter/lambda$2$Type",1908),D(1909,1,Oi,F$t),l.ue=function(e,n){return Ben(this.a,u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(c0,"CrossingsCounter/lambda$3$Type",1909),D(1910,1,Un,N$t),l.td=function(e){von(this.a,u(e,11))},F(c0,"CrossingsCounter/lambda$4$Type",1910),D(1911,1,li,B$t),l.Mb=function(e){return IXe(this.a,u(e,11))},F(c0,"CrossingsCounter/lambda$5$Type",1911),D(1912,1,Un,R$t),l.td=function(e){HGt(this,e)},F(c0,"CrossingsCounter/lambda$6$Type",1912),D(1913,1,Un,pGt),l.td=function(e){var n;k8(),Up(this.b,(n=this.a,u(e,11),n))},F(c0,"CrossingsCounter/lambda$7$Type",1913),D(826,1,xd,YN),l.Lb=function(e){return k8(),Us(u(e,11),(ae(),Ju))},l.Fb=function(e){return this===e},l.Mb=function(e){return k8(),Us(u(e,11),(ae(),Ju))},F(c0,"CrossingsCounter/lambda$8$Type",826),D(1905,1,{},j$t),F(c0,"HyperedgeCrossingsCounter",1905),D(467,1,{35:1,467:1},sYt),l.wd=function(e){return pfn(this,u(e,467))},l.b=0,l.c=0,l.e=0,l.f=0;var h6n=F(c0,"HyperedgeCrossingsCounter/Hyperedge",467);D(362,1,{35:1,362:1},f$),l.wd=function(e){return d2n(this,u(e,362))},l.b=0,l.c=0;var Ime=F(c0,"HyperedgeCrossingsCounter/HyperedgeCorner",362);D(523,22,{3:1,35:1,22:1,523:1},Hbt);var NS,BS,Ome=jr(c0,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",523,Hr,qrn,stn),Pme;D(1405,1,zc,stt),l.Yf=function(e){return u(Q(u(e,37),(ae(),Vc)),21).Hc((oo(),vh))?Fme:null},l.pf=function(e,n){Pdn(this,u(e,37),n)};var Fme;F(uo,"InteractiveNodePlacer",1405),D(1406,1,zc,itt),l.Yf=function(e){return u(Q(u(e,37),(ae(),Vc)),21).Hc((oo(),vh))?Nme:null},l.pf=function(e,n){v1n(this,u(e,37),n)};var Nme,_G,SG;F(uo,"LinearSegmentsNodePlacer",1406),D(257,1,{35:1,257:1},zpt),l.wd=function(e){return VKe(this,u(e,257))},l.Fb=function(e){var n;return _t(e,257)?(n=u(e,257),this.b==n.b):!1},l.Hb=function(){return this.b},l.Ib=function(){return"ls"+eb(this.e)},l.a=0,l.b=0,l.c=-1,l.d=-1,l.g=0;var Bme=F(uo,"LinearSegmentsNodePlacer/LinearSegment",257);D(1408,1,zc,IKt),l.Yf=function(e){return u(Q(u(e,37),(ae(),Vc)),21).Hc((oo(),vh))?Rme:null},l.pf=function(e,n){kxn(this,u(e,37),n)},l.b=0,l.g=0;var Rme;F(uo,"NetworkSimplexPlacer",1408),D(1427,1,Oi,wQ),l.ue=function(e,n){return pu(u(e,19).a,u(n,19).a)},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(uo,"NetworkSimplexPlacer/0methodref$compare$Type",1427),D(1429,1,Oi,vQ),l.ue=function(e,n){return pu(u(e,19).a,u(n,19).a)},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(uo,"NetworkSimplexPlacer/1methodref$compare$Type",1429),D(649,1,{649:1},bGt);var f6n=F(uo,"NetworkSimplexPlacer/EdgeRep",649);D(401,1,{401:1},Ovt),l.b=!1;var d6n=F(uo,"NetworkSimplexPlacer/NodeRep",401);D(508,12,{3:1,4:1,20:1,28:1,52:1,12:1,14:1,15:1,54:1,508:1},Cqt),F(uo,"NetworkSimplexPlacer/Path",508),D(1409,1,{},mQ),l.Kb=function(e){return u(e,17).d.i.k},F(uo,"NetworkSimplexPlacer/Path/lambda$0$Type",1409),D(1410,1,li,yQ),l.Mb=function(e){return u(e,267)==(Vn(),ta)},F(uo,"NetworkSimplexPlacer/Path/lambda$1$Type",1410),D(1411,1,{},xQ),l.Kb=function(e){return u(e,17).d.i},F(uo,"NetworkSimplexPlacer/Path/lambda$2$Type",1411),D(1412,1,li,$$t),l.Mb=function(e){return HWt(Aie(u(e,10)))},F(uo,"NetworkSimplexPlacer/Path/lambda$3$Type",1412),D(1413,1,li,kQ),l.Mb=function(e){return Een(u(e,11))},F(uo,"NetworkSimplexPlacer/lambda$0$Type",1413),D(1414,1,Un,wGt),l.td=function(e){yQe(this.a,this.b,u(e,11))},F(uo,"NetworkSimplexPlacer/lambda$1$Type",1414),D(1423,1,Un,z$t),l.td=function(e){$pn(this.a,u(e,17))},F(uo,"NetworkSimplexPlacer/lambda$10$Type",1423),D(1424,1,{},EQ),l.Kb=function(e){return Fl(),new Tn(null,new _n(u(e,29).a,16))},F(uo,"NetworkSimplexPlacer/lambda$11$Type",1424),D(1425,1,Un,q$t),l.td=function(e){Nvn(this.a,u(e,10))},F(uo,"NetworkSimplexPlacer/lambda$12$Type",1425),D(1426,1,{},TQ),l.Kb=function(e){return Fl(),pe(u(e,121).e)},F(uo,"NetworkSimplexPlacer/lambda$13$Type",1426),D(1428,1,{},CQ),l.Kb=function(e){return Fl(),pe(u(e,121).e)},F(uo,"NetworkSimplexPlacer/lambda$15$Type",1428),D(1430,1,li,_Q),l.Mb=function(e){return Fl(),u(e,401).c.k==(Vn(),Os)},F(uo,"NetworkSimplexPlacer/lambda$17$Type",1430),D(1431,1,li,SQ),l.Mb=function(e){return Fl(),u(e,401).c.j.c.length>1},F(uo,"NetworkSimplexPlacer/lambda$18$Type",1431),D(1432,1,Un,jXt),l.td=function(e){_hn(this.c,this.b,this.d,this.a,u(e,401))},l.c=0,l.d=0,F(uo,"NetworkSimplexPlacer/lambda$19$Type",1432),D(1415,1,{},AQ),l.Kb=function(e){return Fl(),new Tn(null,new _n(u(e,29).a,16))},F(uo,"NetworkSimplexPlacer/lambda$2$Type",1415),D(1433,1,Un,H$t),l.td=function(e){vQe(this.a,u(e,11))},l.a=0,F(uo,"NetworkSimplexPlacer/lambda$20$Type",1433),D(1434,1,{},nx),l.Kb=function(e){return Fl(),new Tn(null,new _n(u(e,29).a,16))},F(uo,"NetworkSimplexPlacer/lambda$21$Type",1434),D(1435,1,Un,V$t),l.td=function(e){OQe(this.a,u(e,10))},F(uo,"NetworkSimplexPlacer/lambda$22$Type",1435),D(1436,1,li,KN),l.Mb=function(e){return HWt(e)},F(uo,"NetworkSimplexPlacer/lambda$23$Type",1436),D(1437,1,{},LQ),l.Kb=function(e){return Fl(),new Tn(null,new _n(u(e,29).a,16))},F(uo,"NetworkSimplexPlacer/lambda$24$Type",1437),D(1438,1,li,G$t),l.Mb=function(e){return jXe(this.a,u(e,10))},F(uo,"NetworkSimplexPlacer/lambda$25$Type",1438),D(1439,1,Un,vGt),l.td=function(e){cpn(this.a,this.b,u(e,10))},F(uo,"NetworkSimplexPlacer/lambda$26$Type",1439),D(1440,1,li,MQ),l.Mb=function(e){return Fl(),!Ga(u(e,17))},F(uo,"NetworkSimplexPlacer/lambda$27$Type",1440),D(1441,1,li,DQ),l.Mb=function(e){return Fl(),!Ga(u(e,17))},F(uo,"NetworkSimplexPlacer/lambda$28$Type",1441),D(1442,1,{},U$t),l.Ce=function(e,n){return MQe(this.a,u(e,29),u(n,29))},F(uo,"NetworkSimplexPlacer/lambda$29$Type",1442),D(1416,1,{},XN),l.Kb=function(e){return Fl(),new Tn(null,new jw(new ar(lr(Ds(u(e,10)).a.Kc(),new z))))},F(uo,"NetworkSimplexPlacer/lambda$3$Type",1416),D(1417,1,li,IQ),l.Mb=function(e){return Fl(),wsn(u(e,17))},F(uo,"NetworkSimplexPlacer/lambda$4$Type",1417),D(1418,1,Un,W$t),l.td=function(e){Fyn(this.a,u(e,17))},F(uo,"NetworkSimplexPlacer/lambda$5$Type",1418),D(1419,1,{},WT),l.Kb=function(e){return Fl(),new Tn(null,new _n(u(e,29).a,16))},F(uo,"NetworkSimplexPlacer/lambda$6$Type",1419),D(1420,1,li,OQ),l.Mb=function(e){return Fl(),u(e,10).k==(Vn(),Os)},F(uo,"NetworkSimplexPlacer/lambda$7$Type",1420),D(1421,1,{},PQ),l.Kb=function(e){return Fl(),new Tn(null,new jw(new ar(lr(U0(u(e,10)).a.Kc(),new z))))},F(uo,"NetworkSimplexPlacer/lambda$8$Type",1421),D(1422,1,li,FQ),l.Mb=function(e){return Fl(),wen(u(e,17))},F(uo,"NetworkSimplexPlacer/lambda$9$Type",1422),D(1404,1,zc,vC),l.Yf=function(e){return u(Q(u(e,37),(ae(),Vc)),21).Hc((oo(),vh))?jme:null},l.pf=function(e,n){b3n(u(e,37),n)};var jme;F(uo,"SimpleNodePlacer",1404),D(180,1,{180:1},E4),l.Ib=function(){var e;return e="",this.c==(bd(),zv)?e+=x6:this.c==ep&&(e+=y6),this.o==(C1(),H2)?e+=Dot:this.o==H1?e+="UP":e+="BALANCED",e},F(ub,"BKAlignedLayout",180),D(516,22,{3:1,35:1,22:1,516:1},Gbt);var ep,zv,$me=jr(ub,"BKAlignedLayout/HDirection",516,Hr,Vrn,atn),zme;D(515,22,{3:1,35:1,22:1,515:1},Vbt);var H2,H1,qme=jr(ub,"BKAlignedLayout/VDirection",515,Hr,Grn,otn),Hme;D(1634,1,{},mGt),F(ub,"BKAligner",1634),D(1637,1,{},Zse),F(ub,"BKCompactor",1637),D(654,1,{654:1},NQ),l.a=0,F(ub,"BKCompactor/ClassEdge",654),D(458,1,{458:1},Eqt),l.a=null,l.b=0,F(ub,"BKCompactor/ClassNode",458),D(1407,1,zc,GGt),l.Yf=function(e){return u(Q(u(e,37),(ae(),Vc)),21).Hc((oo(),vh))?Vme:null},l.pf=function(e,n){Bxn(this,u(e,37),n)},l.d=!1;var Vme;F(ub,"BKNodePlacer",1407),D(1635,1,{},BQ),l.d=0,F(ub,"NeighborhoodInformation",1635),D(1636,1,Oi,Y$t),l.ue=function(e,n){return Von(this,u(e,46),u(n,46))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(ub,"NeighborhoodInformation/NeighborComparator",1636),D(808,1,{}),F(ub,"ThresholdStrategy",808),D(1763,808,{},Aqt),l.bg=function(e,n,r){return this.a.o==(C1(),H1)?as:Cs},l.cg=function(){},F(ub,"ThresholdStrategy/NullThresholdStrategy",1763),D(579,1,{579:1},yGt),l.c=!1,l.d=!1,F(ub,"ThresholdStrategy/Postprocessable",579),D(1764,808,{},Lqt),l.bg=function(e,n,r){var s,o,h;return o=n==r,s=this.a.a[r.p]==n,o||s?(h=e,this.a.c==(bd(),zv)?(o&&(h=Dat(this,n,!0)),!isNaN(h)&&!isFinite(h)&&s&&(h=Dat(this,r,!1))):(o&&(h=Dat(this,n,!0)),!isNaN(h)&&!isFinite(h)&&s&&(h=Dat(this,r,!1))),h):e},l.cg=function(){for(var e,n,r,s,o;this.d.b!=0;)o=u(oin(this.d),579),s=mle(this,o),s.a&&(e=s.a,r=je(this.a.f[this.a.g[o.b.p].p]),!(!r&&!Ga(e)&&e.c.i.c==e.d.i.c)&&(n=_ce(this,o),n||WXe(this.e,o)));for(;this.e.a.c.length!=0;)_ce(this,u(Nre(this.e),579))},F(ub,"ThresholdStrategy/SimpleThresholdStrategy",1764),D(635,1,{635:1,246:1,234:1},RQ),l.Kf=function(){return Une(this)},l.Xf=function(){return Une(this)};var Dht;F(Sct,"EdgeRouterFactory",635),D(1458,1,zc,od),l.Yf=function(e){return pvn(u(e,37))},l.pf=function(e,n){E3n(u(e,37),n)};var Gme,Ume,Wme,Yme,Kme,i_t,Xme,Qme;F(Sct,"OrthogonalEdgeRouter",1458),D(1451,1,zc,UGt),l.Yf=function(e){return jdn(u(e,37))},l.pf=function(e,n){H5n(this,u(e,37),n)};var Zme,Jme,tye,eye,jO,nye;F(Sct,"PolylineEdgeRouter",1451),D(1452,1,xd,jQ),l.Lb=function(e){return yyt(u(e,10))},l.Fb=function(e){return this===e},l.Mb=function(e){return yyt(u(e,10))},F(Sct,"PolylineEdgeRouter/1",1452),D(1809,1,li,$Q),l.Mb=function(e){return u(e,129).c==(Uf(),mb)},F(t1,"HyperEdgeCycleDetector/lambda$0$Type",1809),D(1810,1,{},zQ),l.Ge=function(e){return u(e,129).d},F(t1,"HyperEdgeCycleDetector/lambda$1$Type",1810),D(1811,1,li,qQ),l.Mb=function(e){return u(e,129).c==(Uf(),mb)},F(t1,"HyperEdgeCycleDetector/lambda$2$Type",1811),D(1812,1,{},rx),l.Ge=function(e){return u(e,129).d},F(t1,"HyperEdgeCycleDetector/lambda$3$Type",1812),D(1813,1,{},HQ),l.Ge=function(e){return u(e,129).d},F(t1,"HyperEdgeCycleDetector/lambda$4$Type",1813),D(1814,1,{},VQ),l.Ge=function(e){return u(e,129).d},F(t1,"HyperEdgeCycleDetector/lambda$5$Type",1814),D(112,1,{35:1,112:1},PD),l.wd=function(e){return GKe(this,u(e,112))},l.Fb=function(e){var n;return _t(e,112)?(n=u(e,112),this.g==n.g):!1},l.Hb=function(){return this.g},l.Ib=function(){var e,n,r,s;for(e=new Ol("{"),s=new S(this.n);s.a"+this.b+" ("+nZe(this.c)+")"},l.d=0,F(t1,"HyperEdgeSegmentDependency",129),D(520,22,{3:1,35:1,22:1,520:1},Ubt);var mb,Ky,rye=jr(t1,"HyperEdgeSegmentDependency/DependencyType",520,Hr,Hrn,ctn),iye;D(1815,1,{},K$t),F(t1,"HyperEdgeSegmentSplitter",1815),D(1816,1,{},_Ht),l.a=0,l.b=0,F(t1,"HyperEdgeSegmentSplitter/AreaRating",1816),D(329,1,{329:1},Dnt),l.a=0,l.b=0,l.c=0,F(t1,"HyperEdgeSegmentSplitter/FreeArea",329),D(1817,1,Oi,QQ),l.ue=function(e,n){return ZZe(u(e,112),u(n,112))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(t1,"HyperEdgeSegmentSplitter/lambda$0$Type",1817),D(1818,1,Un,$Xt),l.td=function(e){ran(this.a,this.d,this.c,this.b,u(e,112))},l.b=0,F(t1,"HyperEdgeSegmentSplitter/lambda$1$Type",1818),D(1819,1,{},ZQ),l.Kb=function(e){return new Tn(null,new _n(u(e,112).e,16))},F(t1,"HyperEdgeSegmentSplitter/lambda$2$Type",1819),D(1820,1,{},JQ),l.Kb=function(e){return new Tn(null,new _n(u(e,112).j,16))},F(t1,"HyperEdgeSegmentSplitter/lambda$3$Type",1820),D(1821,1,{},tZ),l.Fe=function(e){return Xt(ye(e))},F(t1,"HyperEdgeSegmentSplitter/lambda$4$Type",1821),D(655,1,{},ert),l.a=0,l.b=0,l.c=0,F(t1,"OrthogonalRoutingGenerator",655),D(1638,1,{},eZ),l.Kb=function(e){return new Tn(null,new _n(u(e,112).e,16))},F(t1,"OrthogonalRoutingGenerator/lambda$0$Type",1638),D(1639,1,{},nZ),l.Kb=function(e){return new Tn(null,new _n(u(e,112).j,16))},F(t1,"OrthogonalRoutingGenerator/lambda$1$Type",1639),D(661,1,{}),F(Act,"BaseRoutingDirectionStrategy",661),D(1807,661,{},Mqt),l.dg=function(e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt;if(!(e.r&&!e.q))for(M=n+e.o*r,C=new S(e.n);C.aEd&&(h=M,o=e,s=new $e(j,h),ri(d.a,s),pv(this,d,o,s,!1),H=e.r,H&&(G=Xt(ye(Zf(H.e,0))),s=new $e(G,h),ri(d.a,s),pv(this,d,o,s,!1),h=n+H.o*r,o=H,s=new $e(G,h),ri(d.a,s),pv(this,d,o,s,!1)),s=new $e(tt,h),ri(d.a,s),pv(this,d,o,s,!1)))},l.eg=function(e){return e.i.n.a+e.n.a+e.a.a},l.fg=function(){return ve(),mr},l.gg=function(){return ve(),Pn},F(Act,"NorthToSouthRoutingStrategy",1807),D(1808,661,{},Dqt),l.dg=function(e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt;if(!(e.r&&!e.q))for(M=n-e.o*r,C=new S(e.n);C.aEd&&(h=M,o=e,s=new $e(j,h),ri(d.a,s),pv(this,d,o,s,!1),H=e.r,H&&(G=Xt(ye(Zf(H.e,0))),s=new $e(G,h),ri(d.a,s),pv(this,d,o,s,!1),h=n-H.o*r,o=H,s=new $e(G,h),ri(d.a,s),pv(this,d,o,s,!1)),s=new $e(tt,h),ri(d.a,s),pv(this,d,o,s,!1)))},l.eg=function(e){return e.i.n.a+e.n.a+e.a.a},l.fg=function(){return ve(),Pn},l.gg=function(){return ve(),mr},F(Act,"SouthToNorthRoutingStrategy",1808),D(1806,661,{},Iqt),l.dg=function(e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt;if(!(e.r&&!e.q))for(M=n+e.o*r,C=new S(e.n);C.aEd&&(h=M,o=e,s=new $e(h,j),ri(d.a,s),pv(this,d,o,s,!0),H=e.r,H&&(G=Xt(ye(Zf(H.e,0))),s=new $e(h,G),ri(d.a,s),pv(this,d,o,s,!0),h=n+H.o*r,o=H,s=new $e(h,G),ri(d.a,s),pv(this,d,o,s,!0)),s=new $e(h,tt),ri(d.a,s),pv(this,d,o,s,!0)))},l.eg=function(e){return e.i.n.b+e.n.b+e.a.b},l.fg=function(){return ve(),Hn},l.gg=function(){return ve(),Bn},F(Act,"WestToEastRoutingStrategy",1806),D(813,1,{},fxt),l.Ib=function(){return eb(this.a)},l.b=0,l.c=!1,l.d=!1,l.f=0,F(Sy,"NubSpline",813),D(407,1,{407:1},eue,yQt),F(Sy,"NubSpline/PolarCP",407),D(1453,1,zc,Vse),l.Yf=function(e){return A0n(u(e,37))},l.pf=function(e,n){cxn(this,u(e,37),n)};var sye,aye,oye,cye,uye;F(Sy,"SplineEdgeRouter",1453),D(268,1,{268:1},R$),l.Ib=function(){return this.a+" ->("+this.c+") "+this.b},l.c=0,F(Sy,"SplineEdgeRouter/Dependency",268),D(455,22,{3:1,35:1,22:1,455:1},Wbt);var yb,r5,lye=jr(Sy,"SplineEdgeRouter/SideToProcess",455,Hr,Urn,utn),hye;D(1454,1,li,XQ),l.Mb=function(e){return m_(),!u(e,128).o},F(Sy,"SplineEdgeRouter/lambda$0$Type",1454),D(1455,1,{},KQ),l.Ge=function(e){return m_(),u(e,128).v+1},F(Sy,"SplineEdgeRouter/lambda$1$Type",1455),D(1456,1,Un,xGt),l.td=function(e){men(this.a,this.b,u(e,46))},F(Sy,"SplineEdgeRouter/lambda$2$Type",1456),D(1457,1,Un,kGt),l.td=function(e){yen(this.a,this.b,u(e,46))},F(Sy,"SplineEdgeRouter/lambda$3$Type",1457),D(128,1,{35:1,128:1},voe,vxt),l.wd=function(e){return UKe(this,u(e,128))},l.b=0,l.e=!1,l.f=0,l.g=0,l.j=!1,l.k=!1,l.n=0,l.o=!1,l.p=!1,l.q=!1,l.s=0,l.u=0,l.v=0,l.F=0,F(Sy,"SplineSegment",128),D(459,1,{459:1},YT),l.a=0,l.b=!1,l.c=!1,l.d=!1,l.e=!1,l.f=0,F(Sy,"SplineSegment/EdgeInformation",459),D(1234,1,{},GQ),F(G_,d6t,1234),D(1235,1,Oi,UQ),l.ue=function(e,n){return nbn(u(e,135),u(n,135))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(G_,n1e,1235),D(1233,1,{},qHt),F(G_,"MrTree",1233),D(393,22,{3:1,35:1,22:1,393:1,246:1,234:1},rj),l.Kf=function(){return Hoe(this)},l.Xf=function(){return Hoe(this)};var AG,RS,$O,jS,s_t=jr(G_,"TreeLayoutPhases",393,Hr,Rsn,ltn),fye;D(1130,209,S2,cYt),l.Ze=function(e,n){var r,s,o,h,d,v,k;for(je(Re(qe(e,(gv(),h_t))))||y$((r=new rr((Pm(),new Mm(e))),r)),d=(v=new j$,Mo(v,e),Jt(v,(fc(),qS),e),k=new _r,Wmn(e,v,k),lyn(e,v,k),v),h=ryn(this.a,d),o=new S(h);o.a"+S$(this.c):"e_"+Hi(this)},F(U_,"TEdge",188),D(135,134,{3:1,135:1,94:1,134:1},j$),l.Ib=function(){var e,n,r,s,o;for(o=null,s=ei(this.b,0);s.b!=s.d.c;)r=u(ti(s),86),o+=(r.c==null||r.c.length==0?"n_"+r.g:"n_"+r.c)+` +`;for(n=ei(this.a,0);n.b!=n.d.c;)e=u(ti(n),188),o+=(e.b&&e.c?S$(e.b)+"->"+S$(e.c):"e_"+Hi(e))+` +`;return o};var g6n=F(U_,"TGraph",135);D(633,502,{3:1,502:1,633:1,94:1,134:1}),F(U_,"TShape",633),D(86,633,{3:1,502:1,86:1,633:1,94:1,134:1},Dit),l.Ib=function(){return S$(this)};var p6n=F(U_,"TNode",86);D(255,1,r0,Lp),l.Jc=function(e){va(this,e)},l.Kc=function(){var e;return e=ei(this.a.d,0),new Ex(e)},F(U_,"TNode/2",255),D(358,1,sa,Ex),l.Nb=function(e){ba(this,e)},l.Pb=function(){return u(ti(this.a),188).c},l.Ob=function(){return OR(this.a)},l.Qb=function(){tz(this.a)},F(U_,"TNode/2/1",358),D(1840,1,os,oYt),l.pf=function(e,n){_yn(this,u(e,135),n)},F(A6,"FanProcessor",1840),D(327,22,{3:1,35:1,22:1,327:1,234:1},r9),l.Kf=function(){switch(this.g){case 0:return new Wqt;case 1:return new oYt;case 2:return new ix;case 3:return new rZ;case 4:return new sZ;case 5:return new RL;default:throw it(new Fn(Yot+(this.f!=null?this.f:""+this.g)))}};var Iht,Oht,Pht,Fht,Nht,LG,dye=jr(A6,T6t,327,Hr,ton,htn),gye;D(1843,1,os,rZ),l.pf=function(e,n){c2n(this,u(e,135),n)},l.a=0,F(A6,"LevelHeightProcessor",1843),D(1844,1,r0,iZ),l.Jc=function(e){va(this,e)},l.Kc=function(){return wn(),h8(),a7},F(A6,"LevelHeightProcessor/1",1844),D(1841,1,os,ix),l.pf=function(e,n){ppn(this,u(e,135),n)},l.a=0,F(A6,"NeighborsProcessor",1841),D(1842,1,r0,QN),l.Jc=function(e){va(this,e)},l.Kc=function(){return wn(),h8(),a7},F(A6,"NeighborsProcessor/1",1842),D(1845,1,os,sZ),l.pf=function(e,n){o2n(this,u(e,135),n)},l.a=0,F(A6,"NodePositionProcessor",1845),D(1839,1,os,Wqt),l.pf=function(e,n){O3n(this,u(e,135))},F(A6,"RootProcessor",1839),D(1846,1,os,RL),l.pf=function(e,n){qln(u(e,135))},F(A6,"Untreeifyer",1846);var zO,$S,pye,Bht,MG,zS,Rht,DG,IG,M7,qS,OG,np,a_t,bye,jht,Xy,$ht,o_t;D(851,1,Oh,D3),l.Qe=function(e){an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Hkt),""),"Weighting of Nodes"),"Which weighting to use when computing a node order."),u_t),(Ug(),us)),b_t),un((Qf(),qn))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Vkt),""),"Search Order"),"Which search order to use when computing a spanning tree."),c_t),us),v_t),un(qn)))),phe((new JL,e))};var wye,c_t,vye,u_t;F(EH,"MrTreeMetaDataProvider",851),D(994,1,Oh,JL),l.Qe=function(e){phe(e)};var mye,l_t,yye,xye,kye,Eye,h_t,Tye,f_t,Cye,PG,d_t,_ye,g_t,Sye;F(EH,"MrTreeOptions",994),D(995,1,{},aZ),l.$e=function(){var e;return e=new cYt,e},l._e=function(e){},F(EH,"MrTreeOptions/MrtreeFactory",995),D(480,22,{3:1,35:1,22:1,480:1},Ybt);var zht,p_t,b_t=jr(EH,"OrderWeighting",480,Hr,Yrn,ftn),Aye;D(425,22,{3:1,35:1,22:1,425:1},Kbt);var w_t,qht,v_t=jr(EH,"TreeifyingOrder",425,Hr,Wrn,gtn),Lye;D(1459,1,zc,ZL),l.Yf=function(e){return u(e,135),Mye},l.pf=function(e,n){zcn(this,u(e,135),n)};var Mye;F("org.eclipse.elk.alg.mrtree.p1treeify","DFSTreeifyer",1459),D(1460,1,zc,ctt),l.Yf=function(e){return u(e,135),Dye},l.pf=function(e,n){Cpn(this,u(e,135),n)};var Dye;F("org.eclipse.elk.alg.mrtree.p2order","NodeOrderer",1460),D(1461,1,zc,ott),l.Yf=function(e){return u(e,135),Iye},l.pf=function(e,n){qvn(this,u(e,135),n)},l.a=0;var Iye;F("org.eclipse.elk.alg.mrtree.p3place","NodePlacer",1461),D(1462,1,zc,GB),l.Yf=function(e){return u(e,135),Oye},l.pf=function(e,n){gdn(u(e,135),n)};var Oye;F("org.eclipse.elk.alg.mrtree.p4route","EdgeRouter",1462);var HS;D(495,22,{3:1,35:1,22:1,495:1,246:1,234:1},Xbt),l.Kf=function(){return xie(this)},l.Xf=function(){return xie(this)};var FG,D7,m_t=jr(Gkt,"RadialLayoutPhases",495,Hr,Krn,dtn),Pye;D(1131,209,S2,zHt),l.Ze=function(e,n){var r,s,o,h,d,v;if(r=Toe(this,e),vr(n,"Radial layout",r.c.length),je(Re(qe(e,(uy(),L_t))))||y$((s=new rr((Pm(),new Mm(e))),s)),v=D0n(e),wo(e,(m9(),HS),v),!v)throw it(new Fn("The given graph is not a tree!"));for(o=Xt(ye(qe(e,RG))),o==0&&(o=Roe(e)),wo(e,RG,o),d=new S(Toe(this,e));d.a0&&Ure((Rr(n-1,e.length),e.charCodeAt(n-1)),d1e);)--n;if(s>=n)throw it(new Fn("The given string does not contain any numbers."));if(o=vy(e.substr(s,n-s),`,|;|\r| +`),o.length!=2)throw it(new Fn("Exactly two numbers are expected, "+o.length+" were found."));try{this.a=dy(fy(o[0])),this.b=dy(fy(o[1]))}catch(h){throw h=Wi(h),_t(h,127)?(r=h,it(new Fn(g1e+r))):it(h)}},l.Ib=function(){return"("+this.a+","+this.b+")"},l.a=0,l.b=0;var Ws=F(WI,"KVector",8);D(74,68,{3:1,4:1,20:1,28:1,52:1,14:1,68:1,15:1,74:1,414:1},Pu,DR,MWt),l.Pc=function(){return tln(this)},l.Jf=function(e){var n,r,s,o,h,d;s=vy(e,`,|;|\\(|\\)|\\[|\\]|\\{|\\}| | | +`),Ah(this);try{for(r=0,h=0,o=0,d=0;r0&&(h%2==0?o=dy(s[r]):d=dy(s[r]),h>0&&h%2!=0&&ri(this,new $e(o,d)),++h),++r}catch(v){throw v=Wi(v),_t(v,127)?(n=v,it(new Fn("The given string does not match the expected format for vectors."+n))):it(v)}},l.Ib=function(){var e,n,r;for(e=new Ol("("),n=ei(this,0);n.b!=n.d.c;)r=u(ti(n),8),Gr(e,r.a+","+r.b),n.b!=n.d.c&&(e.a+="; ");return(e.a+=")",e).a};var ASt=F(WI,"KVectorChain",74);D(248,22,{3:1,35:1,22:1,248:1},i9);var uft,GG,UG,GO,UO,WG,LSt=jr(Fh,"Alignment",248,Hr,Yan,Dtn),J3e;D(979,1,Oh,htt),l.Qe=function(e){lle(e)};var MSt,lft,t4e,DSt,ISt,e4e,OSt,n4e,r4e,PSt,FSt,i4e;F(Fh,"BoxLayouterOptions",979),D(980,1,{},qZ),l.$e=function(){var e;return e=new YZ,e},l._e=function(e){},F(Fh,"BoxLayouterOptions/BoxFactory",980),D(291,22,{3:1,35:1,22:1,291:1},s9);var WO,hft,YO,KO,XO,fft,dft=jr(Fh,"ContentAlignment",291,Hr,Wan,Itn),s4e;D(684,1,Oh,Tp),l.Qe=function(e){an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,ude),""),"Layout Algorithm"),"Select a specific layout algorithm."),(Ug(),I7)),Ae),un((Qf(),qn))))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,lde),""),"Resolved Layout Algorithm"),"Meta data associated with the selected algorithm."),V1),v6n),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,xkt),""),"Alignment"),"Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm."),NSt),us),LSt),un(ea)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,E6),""),"Aspect Ratio"),"The desired aspect ratio of the drawing, that is the quotient of width by height."),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,p8t),""),"Bend Points"),"A fixed list of bend points for the edge. This is used by the 'Fixed Layout' algorithm to specify a pre-defined routing for an edge. The vector chain must include the source point, any bend points, and the target point, so it must have at least two points."),V1),ASt),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,mH),""),"Content Alignment"),"Specifies how the content of a node are aligned. Each node can individually control the alignment of its contents. I.e. if a node should be aligned top left in its parent node, the parent node should specify that option."),RSt),U6),dft),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,JI),""),"Debug Mode"),"Whether additional debug information shall be generated."),(Nn(),!1)),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Tkt),""),i6t),"Overall direction of edges: horizontal (right / left) or vertical (down / up)."),jSt),us),XS),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,QI),""),"Edge Routing"),"What kind of edge routing style should be applied for the content of a parent node. Algorithms may also set this option to single edges in order to mark them as splines. The bend point list of edges with this option set to SPLINES must be interpreted as control points for a piecewise cubic spline."),qSt),us),_ft),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,CH),""),"Expand Nodes"),"If active, nodes are expanded to fill the area of their parent."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,vH),""),"Hierarchy Handling"),"Determines whether separate layout runs are triggered for different compound nodes in a hierarchical graph. Setting a node's hierarchy handling to `INCLUDE_CHILDREN` will lay out that node and all of its descendants in a single layout run, until a descendant is encountered which has its hierarchy handling set to `SEPARATE_CHILDREN`. In general, `SEPARATE_CHILDREN` will ensure that a new layout run is triggered for a node with that setting. Including multiple levels of hierarchy in a single layout run may allow cross-hierarchical edges to be laid out properly. If the root node is set to `INHERIT` (or not set at all), the default behavior is `SEPARATE_CHILDREN`."),USt),us),DAt),ji(qn,lt(ct(ip,1),oe,175,0,[ea]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,xv),""),"Padding"),"The padding to be left to a parent element's border when placing child elements. This can also serve as an output option of a layout algorithm if node size calculation is setup appropriately."),nAt),V1),B7t),ji(qn,lt(ct(ip,1),oe,175,0,[ea]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,GI),""),"Interactive"),"Whether the algorithm should be run in interactive mode for the content of a parent node. What this means exactly depends on how the specific algorithm interprets this option. Usually in the interactive mode algorithms try to modify the current layout as little as possible."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,_ct),""),"interactive Layout"),"Whether the graph should be changeable interactively and by setting constraints"),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,j_),""),"Omit Node Micro Layout"),"Node micro layout comprises the computation of node dimensions (if requested), the placement of ports and their labels, and the placement of node labels. The functionality is implemented independent of any specific layout algorithm and shouldn't have any negative impact on the layout algorithm's performance itself. Yet, if any unforeseen behavior occurs, this option allows to deactivate the micro layout."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Got),""),"Port Constraints"),"Defines constraints of the position of the ports of a node."),oAt),us),PAt),un(ea)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,yH),""),"Position"),"The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position."),V1),Ws),ji(ea,lt(ct(ip,1),oe,175,0,[V2,rp]))))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,VI),""),"Priority"),"Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used."),gc),ja),ji(ea,lt(ct(ip,1),oe,175,0,[Pd]))))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,tH),""),"Randomization Seed"),"Seed used for pseudo-random number generators to control the layout algorithm. If the value is 0, the seed shall be determined pseudo-randomly (e.g. from the system time)."),gc),ja),un(qn)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,R_),""),"Separate Connected Components"),"Whether each connected component should be processed separately."),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Okt),""),"Junction Points"),"This option is not used as option, but as output of the layout algorithms. It is attached to edges and determines the points where junction symbols should be drawn in order to represent hyperedges with orthogonal routing. Whether such points are computed depends on the chosen layout algorithm and edge routing style. The points are put into the vector chain with no specific order."),YSt),V1),ASt),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Nkt),""),"Comment Box"),"Whether the node should be regarded as a comment box instead of a regular node. In that case its placement should be similar to how labels are handled. Any edges incident to a comment box specify to which graph elements the comment is related."),!1),La),Rs),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Bkt),""),"Hypernode"),"Whether the node should be handled as a hypernode."),!1),La),Rs),un(ea)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Uxn),""),"Label Manager"),"Label managers can shorten labels upon a layout algorithm's request."),V1),E6n),ji(qn,lt(ct(ip,1),oe,175,0,[rp]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,jkt),""),"Margins"),"Margins define additional space around the actual bounds of a graph element. For instance, ports or labels being placed on the outside of a node's border might introduce such a margin. The margin is used to guarantee non-overlap of other graph elements with those ports or labels."),KSt),V1),N7t),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,mkt),""),"No Layout"),"No layout is done for the associated element. This is used to mark parts of a diagram to avoid their inclusion in the layout graph, or to mark parts of the layout graph to prevent layout engines from processing them. If you wish to exclude the contents of a compound node from automatic layout, while the node itself is still considered on its own layer, use the 'Fixed Layout' algorithm for that node."),!1),La),Rs),ji(ea,lt(ct(ip,1),oe,175,0,[Pd,V2,rp]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,hde),""),"Scale Factor"),"The scaling factor to be applied to the corresponding node in recursive layout. It causes the corresponding node's size to be adjusted, and its ports and labels to be sized and placed accordingly after the layout of that node has been determined (and before the node itself and its siblings are arranged). The scaling is not reverted afterwards, so the resulting layout graph contains the adjusted size and position data. This option is currently not supported if 'Layout Hierarchy' is set."),1),Oo),la),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,fde),""),"Animate"),"Whether the shift from the old layout to the new computed layout shall be animated."),!0),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,dde),""),"Animation Time Factor"),"Factor for computation of animation time. The higher the value, the longer the animation time. If the value is 0, the resulting time is always equal to the minimum defined by 'Minimal Animation Time'."),pe(100)),gc),ja),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,gde),""),"Layout Ancestors"),"Whether the hierarchy levels on the path from the selected element to the root of the diagram shall be included in the layout process."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,pde),""),"Maximal Animation Time"),"The maximal time for animations, in milliseconds."),pe(4e3)),gc),ja),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,bde),""),"Minimal Animation Time"),"The minimal time for animations, in milliseconds."),pe(400)),gc),ja),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,wde),""),"Progress Bar"),"Whether a progress bar shall be displayed during layout computations."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,vde),""),"Validate Graph"),"Whether the graph shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,mde),""),"Validate Options"),"Whether layout options shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!0),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,yde),""),"Zoom to Fit"),"Whether the zoom level shall be set to view the whole diagram after layout."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,g8t),"box"),"Box Layout Mode"),"Configures the packing mode used by the {@link BoxLayoutProvider}. If SIMPLE is not required (neither priorities are used nor the interactive mode), GROUP_DEC can improve the packing and decrease the area. GROUP_MIXED and GROUP_INC may, in very specific scenarios, work better."),BSt),us),$At),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,okt),R1),"Comment Comment Spacing"),"Spacing to be preserved between a comment box and other comment boxes connected to the same node. The space left between comment boxes of different nodes is controlled by the node-node spacing."),10),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,ckt),R1),"Comment Node Spacing"),"Spacing to be preserved between a node and its connected comment boxes. The space left between a node and the comments of another node is controlled by the node-node spacing."),10),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,jot),R1),"Components Spacing"),"Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated."),20),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,ukt),R1),"Edge Spacing"),"Spacing to be preserved between any two edges. Note that while this can somewhat easily be satisfied for the segments of orthogonally drawn edges, it is harder for general polylines or splines."),10),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Vot),R1),"Edge Label Spacing"),"The minimal distance to be preserved between a label and the edge it is associated with. Note that the placement of a label is influenced by the 'edgelabels.placement' option."),2),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,lkt),R1),"Edge Node Spacing"),"Spacing to be preserved between nodes and edges."),10),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,hkt),R1),"Label Spacing"),"Determines the amount of space to be left between two labels of the same graph element."),0),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,gkt),R1),"Label Node Spacing"),"Spacing to be preserved between labels and the border of node they are associated with. Note that the placement of a label is influenced by the 'nodelabels.placement' option."),5),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,fkt),R1),"Horizontal spacing between Label and Port"),"Horizontal spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,dkt),R1),"Vertical spacing between Label and Port"),"Vertical spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Cy),R1),"Node Spacing"),"The minimal distance to be preserved between each two nodes."),20),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,pkt),R1),"Node Self Loop Spacing"),"Spacing to be preserved between a node and its self loops."),10),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,bkt),R1),"Port Spacing"),"Spacing between pairs of ports of the same node."),10),Oo),la),ji(qn,lt(ct(ip,1),oe,175,0,[ea]))))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,wkt),R1),"Individual Spacing"),"Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent."),V1),$4e),ji(ea,lt(ct(ip,1),oe,175,0,[Pd,V2,rp]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,$kt),R1),"Additional Port Space"),"Additional space around the sets of ports on each node side. For each side of a node, this option can reserve additional space before and after the ports on each side. For example, a top spacing of 20 makes sure that the first port on the western and eastern side is 20 units away from the northern border."),wAt),V1),N7t),un(qn)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Cct),Ede),"Layout Partition"),"Partition to which the node belongs. This requires Layout Partitioning to be active. Nodes with lower partition IDs will appear to the left of nodes with higher partition IDs (assuming a left-to-right layout direction)."),gc),ja),ji(qn,lt(ct(ip,1),oe,175,0,[ea]))))),ca(e,Cct,Tct,d4e),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Tct),Ede),"Layout Partitioning"),"Whether to activate partitioned layout. This will allow to group nodes through the Layout Partition option. a pair of nodes with different partition indices is then placed such that the node with lower index is placed to the left of the other node (with left-to-right layout direction). Depending on the layout algorithm, this may only be guaranteed to work if all nodes have a layout partition configured, or at least if edges that cross partitions are not part of a partition-crossing cycle."),rAt),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Ckt),Tde),"Node Label Padding"),"Define padding for node labels that are placed inside of a node."),QSt),V1),B7t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,UE),Tde),"Node Label Placement"),"Hints for where node labels are to be placed; if empty, the node label's position is not modified."),ZSt),U6),lo),ji(ea,lt(ct(ip,1),oe,175,0,[rp]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Akt),SH),"Port Alignment"),"Defines the default port distribution for a node. May be overridden for each side individually."),sAt),us),tA),un(ea)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Lkt),SH),"Port Alignment (North)"),"Defines how ports on the northern side are placed, overriding the node's general port alignment."),us),tA),un(ea)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Mkt),SH),"Port Alignment (South)"),"Defines how ports on the southern side are placed, overriding the node's general port alignment."),us),tA),un(ea)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Dkt),SH),"Port Alignment (West)"),"Defines how ports on the western side are placed, overriding the node's general port alignment."),us),tA),un(ea)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Ikt),SH),"Port Alignment (East)"),"Defines how ports on the eastern side are placed, overriding the node's general port alignment."),us),tA),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,D4),Gct),"Node Size Constraints"),"What should be taken into account when calculating a node's size. Empty size constraints specify that a node's size is already fixed and should not be changed."),JSt),U6),rA),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,T6),Gct),"Node Size Options"),"Options modifying the behavior of the size constraints set on a node. Each member of the set specifies something that should be taken into account when calculating node sizes. The empty set corresponds to no further modifications."),eAt),U6),NAt),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,C6),Gct),"Node Size Minimum"),"The minimal size to which a node can be reduced."),tAt),V1),Ws),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Ect),Gct),"Fixed Graph Size"),"By default, the fixed layout provider will enlarge a graph until it is large enough to contain its children. If this option is set, it won't do so."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Pkt),kct),"Edge Label Placement"),"Gives a hint on where to put edge labels."),$St),us),mAt),un(rp)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,eH),kct),"Inline Edge Labels"),"If true, an edge label is placed directly on its edge. May only apply to center edge labels. This kind of label placement is only advisable if the label's rendering is such that it is not crossed by its edge and thus stays legible."),!1),La),Rs),un(rp)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Wxn),"font"),"Font Name"),"Font name used for a label."),I7),Ae),un(rp)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,xde),"font"),"Font Size"),"Font size used for a label."),gc),ja),un(rp)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Rkt),Uct),"Port Anchor Offset"),"The offset to the port position where connections shall be attached."),V1),Ws),un(V2)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Fkt),Uct),"Port Index"),"The index of a port in the fixed order around a node. The order is assumed as clockwise, starting with the leftmost port on the top side. This option must be set if 'Port Constraints' is set to FIXED_ORDER and no specific positions are given for the ports. Additionally, the option 'Port Side' must be defined in this case."),gc),ja),un(V2)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,ykt),Uct),"Port Side"),"The side of a node on which a port is situated. This option must be set if 'Port Constraints' is set to FIXED_SIDE or FIXED_ORDER and no specific positions are given for the ports."),lAt),us),Xa),un(V2)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,vkt),Uct),"Port Border Offset"),"The offset of ports on the node border. With a positive offset the port is moved outside of the node, while with a negative offset the port is moved towards the inside. An offset of 0 means that the port is placed directly on the node border, i.e. if the port side is north, the port's south border touches the nodes's north border; if the port side is east, the port's west border touches the nodes's east border; if the port side is south, the port's north border touches the node's south border; if the port side is west, the port's east border touches the node's west border."),Oo),la),un(V2)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,WE),b8t),"Port Label Placement"),"Decides on a placement method for port labels; if empty, the node label's position is not modified."),cAt),U6),eU),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,_kt),b8t),"Port Labels Next to Port"),"Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE."),!1),La),Rs),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Skt),b8t),"Treat Port Labels as Group"),"If this option is true (default), the labels of a port will be treated as a group when it comes to centering them next to their port. If this option is false, only the first label will be centered next to the port, with the others being placed below. This only applies to labels of eastern and western ports and will have no effect if labels are not placed next to their port."),!0),La),Rs),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,kkt),Cde),"Activate Inside Self Loops"),"Whether this node allows to route self loops inside of it instead of around it. If set to true, this will make the node a compound node if it isn't already, and will require the layout algorithm to support compound nodes with hierarchical ports."),!1),La),Rs),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Ekt),Cde),"Inside Self Loop"),"Whether a self loop should be routed inside a node instead of around that node."),!1),La),Rs),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,$ot),"edge"),"Edge Thickness"),"The thickness of an edge. This is a hint on the line width used to draw an edge, possibly requiring more space to be reserved for it."),1),Oo),la),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,kde),"edge"),"Edge Type"),"The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations."),VSt),us),CAt),un(Pd)))),WC(e,new Yx(zC(o8(a8(new xm,Gn),"Layered"),'The layer-based method was introduced by Sugiyama, Tagawa and Toda in 1981. It emphasizes the direction of edges by pointing as many edges as possible into the same direction. The nodes are arranged in layers, which are sometimes called "hierarchies", and then reordered such that the number of edge crossings is minimized. Afterwards, concrete coordinates are computed for the nodes and edge bend points.'))),WC(e,new Yx(zC(o8(a8(new xm,"org.eclipse.elk.orthogonal"),"Orthogonal"),`Orthogonal methods that follow the "topology-shape-metrics" approach by Batini, Nardelli and Tamassia '86. The first phase determines the topology of the drawing by applying a planarization technique, which results in a planar representation of the graph. The orthogonal shape is computed in the second phase, which aims at minimizing the number of edge bends, and is called orthogonalization. The third phase leads to concrete coordinates for nodes and edge bend points by applying a compaction method, thus defining the metrics.`))),WC(e,new Yx(zC(o8(a8(new xm,Vl),"Force"),"Layout algorithms that follow physical analogies by simulating a system of attractive and repulsive forces. The first successful method of this kind was proposed by Eades in 1984."))),WC(e,new Yx(zC(o8(a8(new xm,"org.eclipse.elk.circle"),"Circle"),"Circular layout algorithms emphasize cycles or biconnected components of a graph by arranging them in circles. This is useful if a drawing is desired where such components are clearly grouped, or where cycles are shown as prominent OPTIONS of the graph."))),WC(e,new Yx(zC(o8(a8(new xm,K1e),"Tree"),"Specialized layout methods for trees, i.e. acyclic graphs. The regular structure of graphs that have no undirected cycles can be emphasized using an algorithm of this type."))),WC(e,new Yx(zC(o8(a8(new xm,"org.eclipse.elk.planar"),"Planar"),"Algorithms that require a planar or upward planar graph. Most of these algorithms are theoretically interesting, but not practically usable."))),WC(e,new Yx(zC(o8(a8(new xm,Sd),"Radial"),"Radial layout algorithms usually position the nodes of the graph on concentric circles."))),Kue((new QB,e)),lle((new htt,e)),Cue((new ZB,e))};var YS,a4e,NSt,W6,o4e,c4e,BSt,u4e,YG,RSt,QO,qv,jSt,gft,pft,$St,zSt,qSt,HSt,VSt,GSt,s5,USt,l4e,ZO,bft,KG,WSt,a5,YSt,JO,KSt,XSt,QSt,o5,ZSt,G2,JSt,XG,c5,tAt,xb,eAt,QG,tP,U2,nAt,h4e,rAt,f4e,d4e,iAt,sAt,wft,vft,mft,yft,aAt,dl,KS,oAt,xft,kft,Qy,cAt,uAt,u5,lAt,Y6,ZG,Eft,O7,g4e,Tft,p4e,b4e,hAt,w4e,fAt,v4e,K6,dAt,JG,gAt,pAt,W2,m4e,bAt,wAt,vAt;F(Fh,"CoreOptions",684),D(103,22,{3:1,35:1,22:1,103:1},PM);var ng,zh,Cf,h0,rg,XS=jr(Fh,i6t,103,Hr,ban,Ftn),y4e;D(272,22,{3:1,35:1,22:1,272:1},Zet);var P7,Zy,F7,mAt=jr(Fh,"EdgeLabelPlacement",272,Hr,Xin,Ntn),x4e;D(218,22,{3:1,35:1,22:1,218:1},sj);var N7,eP,X6,Cft,_ft=jr(Fh,"EdgeRouting",218,Hr,qsn,Btn),k4e;D(312,22,{3:1,35:1,22:1,312:1},a9);var yAt,xAt,kAt,EAt,Sft,TAt,CAt=jr(Fh,"EdgeType",312,Hr,non,Rtn),E4e;D(977,1,Oh,QB),l.Qe=function(e){Kue(e)};var _At,SAt,AAt,LAt,T4e,MAt,QS;F(Fh,"FixedLayouterOptions",977),D(978,1,{},qL),l.$e=function(){var e;return e=new UZ,e},l._e=function(e){},F(Fh,"FixedLayouterOptions/FixedFactory",978),D(334,22,{3:1,35:1,22:1,334:1},Jet);var sp,tU,ZS,DAt=jr(Fh,"HierarchyHandling",334,Hr,Kin,jtn),C4e;D(285,22,{3:1,35:1,22:1,285:1},aj);var f0,kb,nP,rP,_4e=jr(Fh,"LabelSide",285,Hr,zsn,$tn),S4e;D(93,22,{3:1,35:1,22:1,93:1},q3);var ig,_f,qh,Sf,Yl,Af,Hh,d0,Lf,lo=jr(Fh,"NodeLabelPlacement",93,Hr,scn,ztn),A4e;D(249,22,{3:1,35:1,22:1,249:1},FM);var IAt,JS,Eb,OAt,iP,tA=jr(Fh,"PortAlignment",249,Hr,wan,qtn),L4e;D(98,22,{3:1,35:1,22:1,98:1},o9);var Y2,Gc,g0,B7,G1,Tb,PAt=jr(Fh,"PortConstraints",98,Hr,jan,Htn),M4e;D(273,22,{3:1,35:1,22:1,273:1},c9);var eA,nA,sg,sP,Cb,Q6,eU=jr(Fh,"PortLabelPlacement",273,Hr,eon,Vtn),D4e;D(61,22,{3:1,35:1,22:1,61:1},NM);var Hn,Pn,mh,yh,Su,lu,U1,Mf,el,Vu,Uc,nl,Au,Lu,Df,Kl,Xl,Vh,mr,Zo,Bn,Xa=jr(Fh,"PortSide",61,Hr,dan,Wtn),I4e;D(981,1,Oh,ZB),l.Qe=function(e){Cue(e)};var O4e,P4e,FAt,F4e,N4e;F(Fh,"RandomLayouterOptions",981),D(982,1,{},ZZ),l.$e=function(){var e;return e=new tJ,e},l._e=function(e){},F(Fh,"RandomLayouterOptions/RandomFactory",982),D(374,22,{3:1,35:1,22:1,374:1},oj);var Jy,aP,oP,K2,rA=jr(Fh,"SizeConstraint",374,Hr,$sn,Gtn),B4e;D(259,22,{3:1,35:1,22:1,259:1},H3);var cP,nU,R7,Aft,uP,iA,rU,iU,sU,NAt=jr(Fh,"SizeOptions",259,Hr,fcn,Utn),R4e;D(370,1,{1949:1},r8),l.b=!1,l.c=0,l.d=-1,l.e=null,l.f=null,l.g=-1,l.j=!1,l.k=!1,l.n=!1,l.o=0,l.q=0,l.r=0,F(Ec,"BasicProgressMonitor",370),D(972,209,S2,YZ),l.Ze=function(e,n){var r,s,o,h,d,v,k,C,M;switch(vr(n,"Box layout",2),o=pM(ye(qe(e,(fq(),i4e)))),h=u(qe(e,r4e),116),r=je(Re(qe(e,DSt))),s=je(Re(qe(e,ISt))),u(qe(e,lft),311).g){case 0:d=(v=new Bu((!e.a&&(e.a=new fe(rs,e,10,11)),e.a)),wn(),Zs(v,new ozt(s)),v),k=Q4t(e),C=ye(qe(e,MSt)),(C==null||(On(C),C<=0))&&(C=1.3),M=Q5n(d,o,h,k.a,k.b,r,(On(C),C)),wv(e,M.a,M.b,!1,!0);break;default:W3n(e,o,h,r)}or(n)},F(Ec,"BoxLayoutProvider",972),D(973,1,Oi,ozt),l.ue=function(e,n){return pwn(this,u(e,33),u(n,33))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},l.a=!1,F(Ec,"BoxLayoutProvider/1",973),D(157,1,{157:1},rz,LWt),l.Ib=function(){return this.c?X5t(this.c):eb(this.b)},F(Ec,"BoxLayoutProvider/Group",157),D(311,22,{3:1,35:1,22:1,311:1},cj);var BAt,RAt,jAt,Lft,$At=jr(Ec,"BoxLayoutProvider/PackingMode",311,Hr,Hsn,Ytn),j4e;D(974,1,Oi,KZ),l.ue=function(e,n){return vrn(u(e,157),u(n,157))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(Ec,"BoxLayoutProvider/lambda$0$Type",974),D(975,1,Oi,sB),l.ue=function(e,n){return hrn(u(e,157),u(n,157))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(Ec,"BoxLayoutProvider/lambda$1$Type",975),D(976,1,Oi,XZ),l.ue=function(e,n){return frn(u(e,157),u(n,157))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(Ec,"BoxLayoutProvider/lambda$2$Type",976),D(1365,1,{831:1},QZ),l.qg=function(e,n){return HR(),!_t(n,160)||jHt((i6(),u(e,160)),n)},F(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$0$Type",1365),D(1366,1,Un,czt),l.td=function(e){nln(this.a,u(e,146))},F(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$1$Type",1366),D(1367,1,Un,WZ),l.td=function(e){u(e,94),HR()},F(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$2$Type",1367),D(1371,1,Un,uzt),l.td=function(e){Scn(this.a,u(e,94))},F(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$3$Type",1371),D(1369,1,li,CGt),l.Mb=function(e){return qun(this.a,this.b,u(e,146))},F(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$4$Type",1369),D(1368,1,li,_Gt),l.Mb=function(e){return sZe(this.a,this.b,u(e,831))},F(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$5$Type",1368),D(1370,1,Un,SGt),l.td=function(e){snn(this.a,this.b,u(e,146))},F(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$6$Type",1370),D(935,1,{},GZ),l.Kb=function(e){return SUt(e)},l.Fb=function(e){return this===e},F(Ec,"ElkUtil/lambda$0$Type",935),D(936,1,Un,AGt),l.td=function(e){wbn(this.a,this.b,u(e,79))},l.a=0,l.b=0,F(Ec,"ElkUtil/lambda$1$Type",936),D(937,1,Un,LGt),l.td=function(e){wKe(this.a,this.b,u(e,202))},l.a=0,l.b=0,F(Ec,"ElkUtil/lambda$2$Type",937),D(938,1,Un,MGt),l.td=function(e){cQe(this.a,this.b,u(e,137))},l.a=0,l.b=0,F(Ec,"ElkUtil/lambda$3$Type",938),D(939,1,Un,lzt),l.td=function(e){xen(this.a,u(e,469))},F(Ec,"ElkUtil/lambda$4$Type",939),D(342,1,{35:1,342:1},WYe),l.wd=function(e){return NQe(this,u(e,236))},l.Fb=function(e){var n;return _t(e,342)?(n=u(e,342),this.a==n.a):!1},l.Hb=function(){return ps(this.a)},l.Ib=function(){return this.a+" (exclusive)"},l.a=0,F(Ec,"ExclusiveBounds/ExclusiveLowerBound",342),D(1138,209,S2,UZ),l.Ze=function(e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe;for(vr(n,"Fixed Layout",1),h=u(qe(e,(ui(),zSt)),218),j=0,H=0,St=new nr((!e.a&&(e.a=new fe(rs,e,10,11)),e.a));St.e!=St.i.gc();){for(gt=u(dr(St),33),Qe=u(qe(gt,(Sz(),QS)),8),Qe&&(x1(gt,Qe.a,Qe.b),u(qe(gt,SAt),174).Hc((Al(),Jy))&&(G=u(qe(gt,LAt),8),G.a>0&&G.b>0&&wv(gt,G.a,G.b,!0,!0))),j=b.Math.max(j,gt.i+gt.g),H=b.Math.max(H,gt.j+gt.f),C=new nr((!gt.n&&(gt.n=new fe(qo,gt,1,7)),gt.n));C.e!=C.i.gc();)v=u(dr(C),137),Qe=u(qe(v,QS),8),Qe&&x1(v,Qe.a,Qe.b),j=b.Math.max(j,gt.i+v.i+v.g),H=b.Math.max(H,gt.j+v.j+v.f);for(ue=new nr((!gt.c&&(gt.c=new fe(gl,gt,9,9)),gt.c));ue.e!=ue.i.gc();)for(Kt=u(dr(ue),118),Qe=u(qe(Kt,QS),8),Qe&&x1(Kt,Qe.a,Qe.b),_e=gt.i+Kt.i,We=gt.j+Kt.j,j=b.Math.max(j,_e+Kt.g),H=b.Math.max(H,We+Kt.f),k=new nr((!Kt.n&&(Kt.n=new fe(qo,Kt,1,7)),Kt.n));k.e!=k.i.gc();)v=u(dr(k),137),Qe=u(qe(v,QS),8),Qe&&x1(v,Qe.a,Qe.b),j=b.Math.max(j,_e+v.i+v.g),H=b.Math.max(H,We+v.j+v.f);for(o=new ar(lr(K0(gt).a.Kc(),new z));zr(o);)r=u(Mr(o),79),M=$he(r),j=b.Math.max(j,M.a),H=b.Math.max(H,M.b);for(s=new ar(lr(wI(gt).a.Kc(),new z));zr(s);)r=u(Mr(s),79),es(e0(r))!=e&&(M=$he(r),j=b.Math.max(j,M.a),H=b.Math.max(H,M.b))}if(h==(W0(),N7))for(Mt=new nr((!e.a&&(e.a=new fe(rs,e,10,11)),e.a));Mt.e!=Mt.i.gc();)for(gt=u(dr(Mt),33),s=new ar(lr(K0(gt).a.Kc(),new z));zr(s);)r=u(Mr(s),79),d=gyn(r),d.b==0?wo(r,a5,null):wo(r,a5,d);je(Re(qe(e,(Sz(),AAt))))||(Rt=u(qe(e,T4e),116),tt=j+Rt.b+Rt.c,K=H+Rt.d+Rt.a,wv(e,tt,K,!0,!0)),or(n)},F(Ec,"FixedLayoutProvider",1138),D(373,134,{3:1,414:1,373:1,94:1,134:1},Yu,ree),l.Jf=function(e){var n,r,s,o,h,d,v,k,C;if(e)try{for(k=vy(e,";,;"),h=k,d=0,v=h.length;d>16&ys|n^s<<16},l.Kc=function(){return new hzt(this)},l.Ib=function(){return this.a==null&&this.b==null?"pair(null,null)":this.a==null?"pair(null,"+$o(this.b)+")":this.b==null?"pair("+$o(this.a)+",null)":"pair("+$o(this.a)+","+$o(this.b)+")"},F(Ec,"Pair",46),D(983,1,sa,hzt),l.Nb=function(e){ba(this,e)},l.Ob=function(){return!this.c&&(!this.b&&this.a.a!=null||this.a.b!=null)},l.Pb=function(){if(!this.c&&!this.b&&this.a.a!=null)return this.b=!0,this.a.a;if(!this.c&&this.a.b!=null)return this.c=!0,this.a.b;throw it(new lc)},l.Qb=function(){throw this.c&&this.a.b!=null?this.a.b=null:this.b&&this.a.a!=null&&(this.a.a=null),it(new Ou)},l.b=!1,l.c=!1,F(Ec,"Pair/1",983),D(448,1,{448:1},zXt),l.Fb=function(e){return Fc(this.a,u(e,448).a)&&Fc(this.c,u(e,448).c)&&Fc(this.d,u(e,448).d)&&Fc(this.b,u(e,448).b)},l.Hb=function(){return Az(lt(ct(Qn,1),De,1,5,[this.a,this.c,this.d,this.b]))},l.Ib=function(){return"("+this.a+Ya+this.c+Ya+this.d+Ya+this.b+")"},F(Ec,"Quadruple",448),D(1126,209,S2,tJ),l.Ze=function(e,n){var r,s,o,h,d;if(vr(n,"Random Layout",1),(!e.a&&(e.a=new fe(rs,e,10,11)),e.a).i==0){or(n);return}h=u(qe(e,(S3t(),F4e)),19),h&&h.a!=0?o=new F$(h.a):o=new Zit,r=pM(ye(qe(e,O4e))),d=pM(ye(qe(e,N4e))),s=u(qe(e,P4e),116),A5n(e,o,r,d,s),or(n)},F(Ec,"RandomLayoutProvider",1126);var H4e;D(553,1,{}),l.qf=function(){return new $e(this.f.i,this.f.j)},l.We=function(e){return dQt(e,(ui(),dl))?qe(this.f,V4e):qe(this.f,e)},l.rf=function(){return new $e(this.f.g,this.f.f)},l.sf=function(){return this.g},l.Xe=function(e){return o2(this.f,e)},l.tf=function(e){ku(this.f,e.a),Eu(this.f,e.b)},l.uf=function(e){tv(this.f,e.a),Jw(this.f,e.b)},l.vf=function(e){this.g=e},l.g=0;var V4e;F(K_,"ElkGraphAdapters/AbstractElkGraphElementAdapter",553),D(554,1,{839:1},wR),l.wf=function(){var e,n;if(!this.b)for(this.b=D$(u$(this.a).i),n=new nr(u$(this.a));n.e!=n.i.gc();)e=u(dr(n),137),le(this.b,new get(e));return this.b},l.b=null,F(K_,"ElkGraphAdapters/ElkEdgeAdapter",554),D(301,553,{},Mm),l.xf=function(){return zse(this)},l.a=null,F(K_,"ElkGraphAdapters/ElkGraphAdapter",301),D(630,553,{181:1},get),F(K_,"ElkGraphAdapters/ElkLabelAdapter",630),D(629,553,{680:1},gnt),l.wf=function(){return M1n(this)},l.Af=function(){var e;return e=u(qe(this.f,(ui(),JO)),142),!e&&(e=new OC),e},l.Cf=function(){return D1n(this)},l.Ef=function(e){var n;n=new Lnt(e),wo(this.f,(ui(),JO),n)},l.Ff=function(e){wo(this.f,(ui(),U2),new kwt(e))},l.yf=function(){return this.d},l.zf=function(){var e,n;if(!this.a)for(this.a=new he,n=new ar(lr(wI(u(this.f,33)).a.Kc(),new z));zr(n);)e=u(Mr(n),79),le(this.a,new wR(e));return this.a},l.Bf=function(){var e,n;if(!this.c)for(this.c=new he,n=new ar(lr(K0(u(this.f,33)).a.Kc(),new z));zr(n);)e=u(Mr(n),79),le(this.c,new wR(e));return this.c},l.Df=function(){return p$(u(this.f,33)).i!=0||je(Re(u(this.f,33).We((ui(),ZO))))},l.Gf=function(){xon(this,(Pm(),H4e))},l.a=null,l.b=null,l.c=null,l.d=null,l.e=null,F(K_,"ElkGraphAdapters/ElkNodeAdapter",629),D(1266,553,{838:1},$zt),l.wf=function(){return j1n(this)},l.zf=function(){var e,n;if(!this.a)for(this.a=Ud(u(this.f,118).xg().i),n=new nr(u(this.f,118).xg());n.e!=n.i.gc();)e=u(dr(n),79),le(this.a,new wR(e));return this.a},l.Bf=function(){var e,n;if(!this.c)for(this.c=Ud(u(this.f,118).yg().i),n=new nr(u(this.f,118).yg());n.e!=n.i.gc();)e=u(dr(n),79),le(this.c,new wR(e));return this.c},l.Hf=function(){return u(u(this.f,118).We((ui(),u5)),61)},l.If=function(){var e,n,r,s,o,h,d,v;for(s=T1(u(this.f,118)),r=new nr(u(this.f,118).yg());r.e!=r.i.gc();)for(e=u(dr(r),79),v=new nr((!e.c&&(e.c=new Cn(br,e,5,8)),e.c));v.e!=v.i.gc();){if(d=u(dr(v),82),ey(Do(d),s))return!0;if(Do(d)==s&&je(Re(qe(e,(ui(),bft)))))return!0}for(n=new nr(u(this.f,118).xg());n.e!=n.i.gc();)for(e=u(dr(n),79),h=new nr((!e.b&&(e.b=new Cn(br,e,4,7)),e.b));h.e!=h.i.gc();)if(o=u(dr(h),82),ey(Do(o),s))return!0;return!1},l.a=null,l.b=null,l.c=null,F(K_,"ElkGraphAdapters/ElkPortAdapter",1266),D(1267,1,Oi,eJ),l.ue=function(e,n){return omn(u(e,118),u(n,118))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(K_,"ElkGraphAdapters/PortComparator",1267);var _b=Ki(ph,"EObject"),j7=Ki(F4,Ade),Gh=Ki(F4,Lde),lP=Ki(F4,Mde),hP=Ki(F4,"ElkShape"),br=Ki(F4,Dde),Ys=Ki(F4,w8t),Ji=Ki(F4,Ide),fP=Ki(ph,Ode),sA=Ki(ph,"EFactory"),G4e,Mft=Ki(ph,Pde),i1=Ki(ph,"EPackage"),na,U4e,W4e,VAt,aU,Y4e,GAt,UAt,WAt,Sb,K4e,X4e,qo=Ki(F4,v8t),rs=Ki(F4,m8t),gl=Ki(F4,y8t);D(90,1,Fde),l.Jg=function(){return this.Kg(),null},l.Kg=function(){return null},l.Lg=function(){return this.Kg(),!1},l.Mg=function(){return!1},l.Ng=function(e){mi(this,e)},F(L6,"BasicNotifierImpl",90),D(97,90,jde),l.nh=function(){return xl(this)},l.Og=function(e,n){return e},l.Pg=function(){throw it(new Or)},l.Qg=function(e){var n;return n=no(u(yn(this.Tg(),this.Vg()),18)),this.eh().ih(this,n.n,n.f,e)},l.Rg=function(e,n){throw it(new Or)},l.Sg=function(e,n,r){return Hl(this,e,n,r)},l.Tg=function(){var e;return this.Pg()&&(e=this.Pg().ck(),e)?e:this.zh()},l.Ug=function(){return eat(this)},l.Vg=function(){throw it(new Or)},l.Wg=function(){var e,n;return n=this.ph().dk(),!n&&this.Pg().ik(n=(YC(),e=jvt(vd(this.Tg())),e==null?Rft:new jM(this,e))),n},l.Xg=function(e,n){return e},l.Yg=function(e){var n;return n=e.Gj(),n?e.aj():Gi(this.Tg(),e)},l.Zg=function(){var e;return e=this.Pg(),e?e.fk():null},l.$g=function(){return this.Pg()?this.Pg().ck():null},l._g=function(e,n,r){return Xz(this,e,n,r)},l.ah=function(e){return j8(this,e)},l.bh=function(e,n){return Urt(this,e,n)},l.dh=function(){var e;return e=this.Pg(),!!e&&e.gk()},l.eh=function(){throw it(new Or)},l.fh=function(){return Hz(this)},l.gh=function(e,n,r,s){return c6(this,e,n,s)},l.hh=function(e,n,r){var s;return s=u(yn(this.Tg(),n),66),s.Nj().Qj(this,this.yh(),n-this.Ah(),e,r)},l.ih=function(e,n,r,s){return m$(this,e,n,s)},l.jh=function(e,n,r){var s;return s=u(yn(this.Tg(),n),66),s.Nj().Rj(this,this.yh(),n-this.Ah(),e,r)},l.kh=function(){return!!this.Pg()&&!!this.Pg().ek()},l.lh=function(e){return fst(this,e)},l.mh=function(e){return MQt(this,e)},l.oh=function(e){return ehe(this,e)},l.ph=function(){throw it(new Or)},l.qh=function(){return this.Pg()?this.Pg().ek():null},l.rh=function(){return Hz(this)},l.sh=function(e,n){Xst(this,e,n)},l.th=function(e){this.ph().hk(e)},l.uh=function(e){this.ph().kk(e)},l.vh=function(e){this.ph().jk(e)},l.wh=function(e,n){var r,s,o,h;return h=this.Zg(),h&&e&&(n=Ba(h.Vk(),this,n),h.Zk(this)),s=this.eh(),s&&(wat(this,this.eh(),this.Vg()).Bb&Ka?(o=s.fh(),o&&(e?!h&&o.Zk(this):o.Yk(this))):(n=(r=this.Vg(),r>=0?this.Qg(n):this.eh().ih(this,-1-r,null,n)),n=this.Sg(null,-1,n))),this.uh(e),n},l.xh=function(e){var n,r,s,o,h,d,v,k;if(r=this.Tg(),h=Gi(r,e),n=this.Ah(),h>=n)return u(e,66).Nj().Uj(this,this.yh(),h-n);if(h<=-1)if(d=C4(($u(),ya),r,e),d){if(to(),u(d,66).Oj()||(d=Kx(To(ya,d))),o=(s=this.Yg(d),u(s>=0?this._g(s,!0,!0):dv(this,d,!0),153)),k=d.Zj(),k>1||k==-1)return u(u(o,215).hl(e,!1),76)}else throw it(new Fn(lb+e.ne()+Wct));else if(e.$j())return s=this.Yg(e),u(s>=0?this._g(s,!1,!0):dv(this,e,!1),76);return v=new XGt(this,e),v},l.yh=function(){return $mt(this)},l.zh=function(){return(Hp(),Ln).S},l.Ah=function(){return Jn(this.zh())},l.Bh=function(e){Gst(this,e)},l.Ib=function(){return mf(this)},F(Mn,"BasicEObjectImpl",97);var Q4e;D(114,97,{105:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1}),l.Ch=function(e){var n;return n=zmt(this),n[e]},l.Dh=function(e,n){var r;r=zmt(this),ts(r,e,n)},l.Eh=function(e){var n;n=zmt(this),ts(n,e,null)},l.Jg=function(){return u(Dn(this,4),126)},l.Kg=function(){throw it(new Or)},l.Lg=function(){return(this.Db&4)!=0},l.Pg=function(){throw it(new Or)},l.Fh=function(e){o6(this,2,e)},l.Rg=function(e,n){this.Db=n<<16|this.Db&255,this.Fh(e)},l.Tg=function(){return vu(this)},l.Vg=function(){return this.Db>>16},l.Wg=function(){var e,n;return YC(),n=jvt(vd((e=u(Dn(this,16),26),e||this.zh()))),n==null?Rft:new jM(this,n)},l.Mg=function(){return(this.Db&1)==0},l.Zg=function(){return u(Dn(this,128),1935)},l.$g=function(){return u(Dn(this,16),26)},l.dh=function(){return(this.Db&32)!=0},l.eh=function(){return u(Dn(this,2),49)},l.kh=function(){return(this.Db&64)!=0},l.ph=function(){throw it(new Or)},l.qh=function(){return u(Dn(this,64),281)},l.th=function(e){o6(this,16,e)},l.uh=function(e){o6(this,128,e)},l.vh=function(e){o6(this,64,e)},l.yh=function(){return su(this)},l.Db=0,F(Mn,"MinimalEObjectImpl",114),D(115,114,{105:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),l.Fh=function(e){this.Cb=e},l.eh=function(){return this.Cb},F(Mn,"MinimalEObjectImpl/Container",115),D(1985,115,{105:1,413:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),l._g=function(e,n,r){return Z3t(this,e,n,r)},l.jh=function(e,n,r){return $4t(this,e,n,r)},l.lh=function(e){return Qvt(this,e)},l.sh=function(e,n){Byt(this,e,n)},l.zh=function(){return Jc(),X4e},l.Bh=function(e){_yt(this,e)},l.Ve=function(){return cse(this)},l.We=function(e){return qe(this,e)},l.Xe=function(e){return o2(this,e)},l.Ye=function(e,n){return wo(this,e,n)},F(M2,"EMapPropertyHolderImpl",1985),D(567,115,{105:1,469:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},xp),l._g=function(e,n,r){switch(e){case 0:return this.a;case 1:return this.b}return Xz(this,e,n,r)},l.lh=function(e){switch(e){case 0:return this.a!=0;case 1:return this.b!=0}return fst(this,e)},l.sh=function(e,n){switch(e){case 0:iz(this,Xt(ye(n)));return;case 1:sz(this,Xt(ye(n)));return}Xst(this,e,n)},l.zh=function(){return Jc(),U4e},l.Bh=function(e){switch(e){case 0:iz(this,0);return;case 1:sz(this,0);return}Gst(this,e)},l.Ib=function(){var e;return this.Db&64?mf(this):(e=new _h(mf(this)),e.a+=" (x: ",$3(e,this.a),e.a+=", y: ",$3(e,this.b),e.a+=")",e.a)},l.a=0,l.b=0,F(M2,"ElkBendPointImpl",567),D(723,1985,{105:1,413:1,160:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),l._g=function(e,n,r){return n3t(this,e,n,r)},l.hh=function(e,n,r){return jst(this,e,n,r)},l.jh=function(e,n,r){return Eit(this,e,n,r)},l.lh=function(e){return vyt(this,e)},l.sh=function(e,n){w4t(this,e,n)},l.zh=function(){return Jc(),Y4e},l.Bh=function(e){Zyt(this,e)},l.zg=function(){return this.k},l.Ag=function(){return u$(this)},l.Ib=function(){return Xit(this)},l.k=null,F(M2,"ElkGraphElementImpl",723),D(724,723,{105:1,413:1,160:1,470:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),l._g=function(e,n,r){return f3t(this,e,n,r)},l.lh=function(e){return m3t(this,e)},l.sh=function(e,n){v4t(this,e,n)},l.zh=function(){return Jc(),K4e},l.Bh=function(e){T3t(this,e)},l.Bg=function(){return this.f},l.Cg=function(){return this.g},l.Dg=function(){return this.i},l.Eg=function(){return this.j},l.Fg=function(e,n){bj(this,e,n)},l.Gg=function(e,n){x1(this,e,n)},l.Hg=function(e){ku(this,e)},l.Ig=function(e){Eu(this,e)},l.Ib=function(){return Vst(this)},l.f=0,l.g=0,l.i=0,l.j=0,F(M2,"ElkShapeImpl",724),D(725,724,{105:1,413:1,82:1,160:1,470:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),l._g=function(e,n,r){return U3t(this,e,n,r)},l.hh=function(e,n,r){return h4t(this,e,n,r)},l.jh=function(e,n,r){return f4t(this,e,n,r)},l.lh=function(e){return Fyt(this,e)},l.sh=function(e,n){x5t(this,e,n)},l.zh=function(){return Jc(),W4e},l.Bh=function(e){R3t(this,e)},l.xg=function(){return!this.d&&(this.d=new Cn(Ys,this,8,5)),this.d},l.yg=function(){return!this.e&&(this.e=new Cn(Ys,this,7,4)),this.e},F(M2,"ElkConnectableShapeImpl",725),D(352,723,{105:1,413:1,79:1,160:1,352:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},pw),l.Qg=function(e){return o4t(this,e)},l._g=function(e,n,r){switch(e){case 3:return cD(this);case 4:return!this.b&&(this.b=new Cn(br,this,4,7)),this.b;case 5:return!this.c&&(this.c=new Cn(br,this,5,8)),this.c;case 6:return!this.a&&(this.a=new fe(Ji,this,6,6)),this.a;case 7:return Nn(),!this.b&&(this.b=new Cn(br,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new Cn(br,this,5,8)),this.c.i<=1));case 8:return Nn(),!!w_(this);case 9:return Nn(),!!fv(this);case 10:return Nn(),!this.b&&(this.b=new Cn(br,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new Cn(br,this,5,8)),this.c.i!=0)}return n3t(this,e,n,r)},l.hh=function(e,n,r){var s;switch(n){case 3:return this.Cb&&(r=(s=this.Db>>16,s>=0?o4t(this,r):this.Cb.ih(this,-1-s,null,r))),twt(this,u(e,33),r);case 4:return!this.b&&(this.b=new Cn(br,this,4,7)),Zc(this.b,e,r);case 5:return!this.c&&(this.c=new Cn(br,this,5,8)),Zc(this.c,e,r);case 6:return!this.a&&(this.a=new fe(Ji,this,6,6)),Zc(this.a,e,r)}return jst(this,e,n,r)},l.jh=function(e,n,r){switch(n){case 3:return twt(this,null,r);case 4:return!this.b&&(this.b=new Cn(br,this,4,7)),Ba(this.b,e,r);case 5:return!this.c&&(this.c=new Cn(br,this,5,8)),Ba(this.c,e,r);case 6:return!this.a&&(this.a=new fe(Ji,this,6,6)),Ba(this.a,e,r)}return Eit(this,e,n,r)},l.lh=function(e){switch(e){case 3:return!!cD(this);case 4:return!!this.b&&this.b.i!=0;case 5:return!!this.c&&this.c.i!=0;case 6:return!!this.a&&this.a.i!=0;case 7:return!this.b&&(this.b=new Cn(br,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new Cn(br,this,5,8)),this.c.i<=1));case 8:return w_(this);case 9:return fv(this);case 10:return!this.b&&(this.b=new Cn(br,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new Cn(br,this,5,8)),this.c.i!=0)}return vyt(this,e)},l.sh=function(e,n){switch(e){case 3:oat(this,u(n,33));return;case 4:!this.b&&(this.b=new Cn(br,this,4,7)),xr(this.b),!this.b&&(this.b=new Cn(br,this,4,7)),is(this.b,u(n,14));return;case 5:!this.c&&(this.c=new Cn(br,this,5,8)),xr(this.c),!this.c&&(this.c=new Cn(br,this,5,8)),is(this.c,u(n,14));return;case 6:!this.a&&(this.a=new fe(Ji,this,6,6)),xr(this.a),!this.a&&(this.a=new fe(Ji,this,6,6)),is(this.a,u(n,14));return}w4t(this,e,n)},l.zh=function(){return Jc(),VAt},l.Bh=function(e){switch(e){case 3:oat(this,null);return;case 4:!this.b&&(this.b=new Cn(br,this,4,7)),xr(this.b);return;case 5:!this.c&&(this.c=new Cn(br,this,5,8)),xr(this.c);return;case 6:!this.a&&(this.a=new fe(Ji,this,6,6)),xr(this.a);return}Zyt(this,e)},l.Ib=function(){return $le(this)},F(M2,"ElkEdgeImpl",352),D(439,1985,{105:1,413:1,202:1,439:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},ad),l.Qg=function(e){return r4t(this,e)},l._g=function(e,n,r){switch(e){case 1:return this.j;case 2:return this.k;case 3:return this.b;case 4:return this.c;case 5:return!this.a&&(this.a=new As(Gh,this,5)),this.a;case 6:return SQt(this);case 7:return n?wst(this):this.i;case 8:return n?bst(this):this.f;case 9:return!this.g&&(this.g=new Cn(Ji,this,9,10)),this.g;case 10:return!this.e&&(this.e=new Cn(Ji,this,10,9)),this.e;case 11:return this.d}return Z3t(this,e,n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?r4t(this,r):this.Cb.ih(this,-1-o,null,r))),ewt(this,u(e,79),r);case 9:return!this.g&&(this.g=new Cn(Ji,this,9,10)),Zc(this.g,e,r);case 10:return!this.e&&(this.e=new Cn(Ji,this,10,9)),Zc(this.e,e,r)}return h=u(yn((s=u(Dn(this,16),26),s||(Jc(),aU)),n),66),h.Nj().Qj(this,su(this),n-Jn((Jc(),aU)),e,r)},l.jh=function(e,n,r){switch(n){case 5:return!this.a&&(this.a=new As(Gh,this,5)),Ba(this.a,e,r);case 6:return ewt(this,null,r);case 9:return!this.g&&(this.g=new Cn(Ji,this,9,10)),Ba(this.g,e,r);case 10:return!this.e&&(this.e=new Cn(Ji,this,10,9)),Ba(this.e,e,r)}return $4t(this,e,n,r)},l.lh=function(e){switch(e){case 1:return this.j!=0;case 2:return this.k!=0;case 3:return this.b!=0;case 4:return this.c!=0;case 5:return!!this.a&&this.a.i!=0;case 6:return!!SQt(this);case 7:return!!this.i;case 8:return!!this.f;case 9:return!!this.g&&this.g.i!=0;case 10:return!!this.e&&this.e.i!=0;case 11:return this.d!=null}return Qvt(this,e)},l.sh=function(e,n){switch(e){case 1:G8(this,Xt(ye(n)));return;case 2:W8(this,Xt(ye(n)));return;case 3:V8(this,Xt(ye(n)));return;case 4:U8(this,Xt(ye(n)));return;case 5:!this.a&&(this.a=new As(Gh,this,5)),xr(this.a),!this.a&&(this.a=new As(Gh,this,5)),is(this.a,u(n,14));return;case 6:zce(this,u(n,79));return;case 7:lz(this,u(n,82));return;case 8:uz(this,u(n,82));return;case 9:!this.g&&(this.g=new Cn(Ji,this,9,10)),xr(this.g),!this.g&&(this.g=new Cn(Ji,this,9,10)),is(this.g,u(n,14));return;case 10:!this.e&&(this.e=new Cn(Ji,this,10,9)),xr(this.e),!this.e&&(this.e=new Cn(Ji,this,10,9)),is(this.e,u(n,14));return;case 11:uyt(this,Br(n));return}Byt(this,e,n)},l.zh=function(){return Jc(),aU},l.Bh=function(e){switch(e){case 1:G8(this,0);return;case 2:W8(this,0);return;case 3:V8(this,0);return;case 4:U8(this,0);return;case 5:!this.a&&(this.a=new As(Gh,this,5)),xr(this.a);return;case 6:zce(this,null);return;case 7:lz(this,null);return;case 8:uz(this,null);return;case 9:!this.g&&(this.g=new Cn(Ji,this,9,10)),xr(this.g);return;case 10:!this.e&&(this.e=new Cn(Ji,this,10,9)),xr(this.e);return;case 11:uyt(this,null);return}_yt(this,e)},l.Ib=function(){return sce(this)},l.b=0,l.c=0,l.d=null,l.j=0,l.k=0,F(M2,"ElkEdgeSectionImpl",439),D(150,115,{105:1,92:1,90:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1}),l._g=function(e,n,r){var s;return e==0?(!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab):uh(this,e-Jn(this.zh()),yn((s=u(Dn(this,16),26),s||this.zh()),e),n,r)},l.hh=function(e,n,r){var s,o;return n==0?(!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r)):(o=u(yn((s=u(Dn(this,16),26),s||this.zh()),n),66),o.Nj().Qj(this,su(this),n-Jn(this.zh()),e,r))},l.jh=function(e,n,r){var s,o;return n==0?(!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r)):(o=u(yn((s=u(Dn(this,16),26),s||this.zh()),n),66),o.Nj().Rj(this,su(this),n-Jn(this.zh()),e,r))},l.lh=function(e){var n;return e==0?!!this.Ab&&this.Ab.i!=0:oh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.oh=function(e){return Lxt(this,e)},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return}gh(this,e-Jn(this.zh()),yn((r=u(Dn(this,16),26),r||this.zh()),e),n)},l.uh=function(e){o6(this,128,e)},l.zh=function(){return dn(),p5e},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return}fh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.Gh=function(){this.Bb|=1},l.Hh=function(e){return k_(this,e)},l.Bb=0,F(Mn,"EModelElementImpl",150),D(704,150,{105:1,92:1,90:1,471:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1},JB),l.Ih=function(e,n){return bhe(this,e,n)},l.Jh=function(e){var n,r,s,o,h;if(this.a!=Rl(e)||e.Bb&256)throw it(new Fn(Kct+e.zb+Cv));for(s=Ao(e);Lc(s.a).i!=0;){if(r=u(AI(s,0,(n=u(At(Lc(s.a),0),87),h=n.c,_t(h,88)?u(h,26):(dn(),Kh))),26),hv(r))return o=Rl(r).Nh().Jh(r),u(o,49).th(e),o;s=Ao(r)}return(e.D!=null?e.D:e.B)=="java.util.Map$Entry"?new hKt(e):new zwt(e)},l.Kh=function(e,n){return vv(this,e,n)},l._g=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.a}return uh(this,e-Jn((dn(),Db)),yn((s=u(Dn(this,16),26),s||Db),e),n,r)},l.hh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 1:return this.a&&(r=u(this.a,49).ih(this,4,i1,r)),Xyt(this,u(e,235),r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),Db)),n),66),o.Nj().Qj(this,su(this),n-Jn((dn(),Db)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 1:return Xyt(this,null,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),Db)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),Db)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return!!this.a}return oh(this,e-Jn((dn(),Db)),yn((n=u(Dn(this,16),26),n||Db),e))},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:zae(this,u(n,235));return}gh(this,e-Jn((dn(),Db)),yn((r=u(Dn(this,16),26),r||Db),e),n)},l.zh=function(){return dn(),Db},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:zae(this,null);return}fh(this,e-Jn((dn(),Db)),yn((n=u(Dn(this,16),26),n||Db),e))};var aA,YAt,Z4e;F(Mn,"EFactoryImpl",704),D(xf,704,{105:1,2014:1,92:1,90:1,471:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1},ax),l.Ih=function(e,n){switch(e.yj()){case 12:return u(n,146).tg();case 13:return $o(n);default:throw it(new Fn(QE+e.ne()+Cv))}},l.Jh=function(e){var n,r,s,o,h,d,v,k;switch(e.G==-1&&(e.G=(n=Rl(e),n?Hg(n.Mh(),e):-1)),e.G){case 4:return h=new ZT,h;case 6:return d=new Vpt,d;case 7:return v=new Gpt,v;case 8:return s=new pw,s;case 9:return r=new xp,r;case 10:return o=new ad,o;case 11:return k=new aB,k;default:throw it(new Fn(Kct+e.zb+Cv))}},l.Kh=function(e,n){switch(e.yj()){case 13:case 12:return null;default:throw it(new Fn(QE+e.ne()+Cv))}},F(M2,"ElkGraphFactoryImpl",xf),D(438,150,{105:1,92:1,90:1,147:1,191:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1}),l.Wg=function(){var e,n;return n=(e=u(Dn(this,16),26),jvt(vd(e||this.zh()))),n==null?(YC(),YC(),Rft):new IWt(this,n)},l._g=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.ne()}return uh(this,e-Jn(this.zh()),yn((s=u(Dn(this,16),26),s||this.zh()),e),n,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null}return oh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:this.Lh(Br(n));return}gh(this,e-Jn(this.zh()),yn((r=u(Dn(this,16),26),r||this.zh()),e),n)},l.zh=function(){return dn(),b5e},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:this.Lh(null);return}fh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.ne=function(){return this.zb},l.Lh=function(e){Qc(this,e)},l.Ib=function(){return J9(this)},l.zb=null,F(Mn,"ENamedElementImpl",438),D(179,438,{105:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,49:1,97:1,150:1,179:1,114:1,115:1,675:1},fQt),l.Qg=function(e){return eae(this,e)},l._g=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.yb;case 3:return this.xb;case 4:return this.sb;case 5:return!this.rb&&(this.rb=new Gm(this,s1,this)),this.rb;case 6:return!this.vb&&(this.vb=new Rx(i1,this,6,7)),this.vb;case 7:return n?this.Db>>16==7?u(this.Cb,235):null:AQt(this)}return uh(this,e-Jn((dn(),up)),yn((s=u(Dn(this,16),26),s||up),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 4:return this.sb&&(r=u(this.sb,49).ih(this,1,sA,r)),t3t(this,u(e,471),r);case 5:return!this.rb&&(this.rb=new Gm(this,s1,this)),Zc(this.rb,e,r);case 6:return!this.vb&&(this.vb=new Rx(i1,this,6,7)),Zc(this.vb,e,r);case 7:return this.Cb&&(r=(o=this.Db>>16,o>=0?eae(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,7,r)}return h=u(yn((s=u(Dn(this,16),26),s||(dn(),up)),n),66),h.Nj().Qj(this,su(this),n-Jn((dn(),up)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 4:return t3t(this,null,r);case 5:return!this.rb&&(this.rb=new Gm(this,s1,this)),Ba(this.rb,e,r);case 6:return!this.vb&&(this.vb=new Rx(i1,this,6,7)),Ba(this.vb,e,r);case 7:return Hl(this,null,7,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),up)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),up)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.yb!=null;case 3:return this.xb!=null;case 4:return!!this.sb;case 5:return!!this.rb&&this.rb.i!=0;case 6:return!!this.vb&&this.vb.i!=0;case 7:return!!AQt(this)}return oh(this,e-Jn((dn(),up)),yn((n=u(Dn(this,16),26),n||up),e))},l.oh=function(e){var n;return n=Lwn(this,e),n||Lxt(this,e)},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Qc(this,Br(n));return;case 2:wz(this,Br(n));return;case 3:bz(this,Br(n));return;case 4:Hst(this,u(n,471));return;case 5:!this.rb&&(this.rb=new Gm(this,s1,this)),xr(this.rb),!this.rb&&(this.rb=new Gm(this,s1,this)),is(this.rb,u(n,14));return;case 6:!this.vb&&(this.vb=new Rx(i1,this,6,7)),xr(this.vb),!this.vb&&(this.vb=new Rx(i1,this,6,7)),is(this.vb,u(n,14));return}gh(this,e-Jn((dn(),up)),yn((r=u(Dn(this,16),26),r||up),e),n)},l.vh=function(e){var n,r;if(e&&this.rb)for(r=new nr(this.rb);r.e!=r.i.gc();)n=dr(r),_t(n,351)&&(u(n,351).w=null);o6(this,64,e)},l.zh=function(){return dn(),up},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:Qc(this,null);return;case 2:wz(this,null);return;case 3:bz(this,null);return;case 4:Hst(this,null);return;case 5:!this.rb&&(this.rb=new Gm(this,s1,this)),xr(this.rb);return;case 6:!this.vb&&(this.vb=new Rx(i1,this,6,7)),xr(this.vb);return}fh(this,e-Jn((dn(),up)),yn((n=u(Dn(this,16),26),n||up),e))},l.Gh=function(){Mst(this)},l.Mh=function(){return!this.rb&&(this.rb=new Gm(this,s1,this)),this.rb},l.Nh=function(){return this.sb},l.Oh=function(){return this.ub},l.Ph=function(){return this.xb},l.Qh=function(){return this.yb},l.Rh=function(e){this.ub=e},l.Ib=function(){var e;return this.Db&64?J9(this):(e=new _h(J9(this)),e.a+=" (nsURI: ",go(e,this.yb),e.a+=", nsPrefix: ",go(e,this.xb),e.a+=")",e.a)},l.xb=null,l.yb=null,F(Mn,"EPackageImpl",179),D(555,179,{105:1,2016:1,555:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,49:1,97:1,150:1,179:1,114:1,115:1,675:1},gce),l.q=!1,l.r=!1;var J4e=!1;F(M2,"ElkGraphPackageImpl",555),D(354,724,{105:1,413:1,160:1,137:1,470:1,354:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},ZT),l.Qg=function(e){return i4t(this,e)},l._g=function(e,n,r){switch(e){case 7:return LQt(this);case 8:return this.a}return f3t(this,e,n,r)},l.hh=function(e,n,r){var s;switch(n){case 7:return this.Cb&&(r=(s=this.Db>>16,s>=0?i4t(this,r):this.Cb.ih(this,-1-s,null,r))),nvt(this,u(e,160),r)}return jst(this,e,n,r)},l.jh=function(e,n,r){return n==7?nvt(this,null,r):Eit(this,e,n,r)},l.lh=function(e){switch(e){case 7:return!!LQt(this);case 8:return!hn("",this.a)}return m3t(this,e)},l.sh=function(e,n){switch(e){case 7:F5t(this,u(n,160));return;case 8:nyt(this,Br(n));return}v4t(this,e,n)},l.zh=function(){return Jc(),GAt},l.Bh=function(e){switch(e){case 7:F5t(this,null);return;case 8:nyt(this,"");return}T3t(this,e)},l.Ib=function(){return eoe(this)},l.a="",F(M2,"ElkLabelImpl",354),D(239,725,{105:1,413:1,82:1,160:1,33:1,470:1,239:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},Vpt),l.Qg=function(e){return c4t(this,e)},l._g=function(e,n,r){switch(e){case 9:return!this.c&&(this.c=new fe(gl,this,9,9)),this.c;case 10:return!this.a&&(this.a=new fe(rs,this,10,11)),this.a;case 11:return es(this);case 12:return!this.b&&(this.b=new fe(Ys,this,12,3)),this.b;case 13:return Nn(),!this.a&&(this.a=new fe(rs,this,10,11)),this.a.i>0}return U3t(this,e,n,r)},l.hh=function(e,n,r){var s;switch(n){case 9:return!this.c&&(this.c=new fe(gl,this,9,9)),Zc(this.c,e,r);case 10:return!this.a&&(this.a=new fe(rs,this,10,11)),Zc(this.a,e,r);case 11:return this.Cb&&(r=(s=this.Db>>16,s>=0?c4t(this,r):this.Cb.ih(this,-1-s,null,r))),lwt(this,u(e,33),r);case 12:return!this.b&&(this.b=new fe(Ys,this,12,3)),Zc(this.b,e,r)}return h4t(this,e,n,r)},l.jh=function(e,n,r){switch(n){case 9:return!this.c&&(this.c=new fe(gl,this,9,9)),Ba(this.c,e,r);case 10:return!this.a&&(this.a=new fe(rs,this,10,11)),Ba(this.a,e,r);case 11:return lwt(this,null,r);case 12:return!this.b&&(this.b=new fe(Ys,this,12,3)),Ba(this.b,e,r)}return f4t(this,e,n,r)},l.lh=function(e){switch(e){case 9:return!!this.c&&this.c.i!=0;case 10:return!!this.a&&this.a.i!=0;case 11:return!!es(this);case 12:return!!this.b&&this.b.i!=0;case 13:return!this.a&&(this.a=new fe(rs,this,10,11)),this.a.i>0}return Fyt(this,e)},l.sh=function(e,n){switch(e){case 9:!this.c&&(this.c=new fe(gl,this,9,9)),xr(this.c),!this.c&&(this.c=new fe(gl,this,9,9)),is(this.c,u(n,14));return;case 10:!this.a&&(this.a=new fe(rs,this,10,11)),xr(this.a),!this.a&&(this.a=new fe(rs,this,10,11)),is(this.a,u(n,14));return;case 11:I5t(this,u(n,33));return;case 12:!this.b&&(this.b=new fe(Ys,this,12,3)),xr(this.b),!this.b&&(this.b=new fe(Ys,this,12,3)),is(this.b,u(n,14));return}x5t(this,e,n)},l.zh=function(){return Jc(),UAt},l.Bh=function(e){switch(e){case 9:!this.c&&(this.c=new fe(gl,this,9,9)),xr(this.c);return;case 10:!this.a&&(this.a=new fe(rs,this,10,11)),xr(this.a);return;case 11:I5t(this,null);return;case 12:!this.b&&(this.b=new fe(Ys,this,12,3)),xr(this.b);return}R3t(this,e)},l.Ib=function(){return X5t(this)},F(M2,"ElkNodeImpl",239),D(186,725,{105:1,413:1,82:1,160:1,118:1,470:1,186:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},Gpt),l.Qg=function(e){return s4t(this,e)},l._g=function(e,n,r){return e==9?T1(this):U3t(this,e,n,r)},l.hh=function(e,n,r){var s;switch(n){case 9:return this.Cb&&(r=(s=this.Db>>16,s>=0?s4t(this,r):this.Cb.ih(this,-1-s,null,r))),nwt(this,u(e,33),r)}return h4t(this,e,n,r)},l.jh=function(e,n,r){return n==9?nwt(this,null,r):f4t(this,e,n,r)},l.lh=function(e){return e==9?!!T1(this):Fyt(this,e)},l.sh=function(e,n){switch(e){case 9:D5t(this,u(n,33));return}x5t(this,e,n)},l.zh=function(){return Jc(),WAt},l.Bh=function(e){switch(e){case 9:D5t(this,null);return}R3t(this,e)},l.Ib=function(){return zue(this)},F(M2,"ElkPortImpl",186);var t5e=Ki(Ra,"BasicEMap/Entry");D(1092,115,{105:1,42:1,92:1,90:1,133:1,56:1,108:1,49:1,97:1,114:1,115:1},aB),l.Fb=function(e){return this===e},l.cd=function(){return this.b},l.Hb=function(){return Pw(this)},l.Uh=function(e){ryt(this,u(e,146))},l._g=function(e,n,r){switch(e){case 0:return this.b;case 1:return this.c}return Xz(this,e,n,r)},l.lh=function(e){switch(e){case 0:return!!this.b;case 1:return this.c!=null}return fst(this,e)},l.sh=function(e,n){switch(e){case 0:ryt(this,u(n,146));return;case 1:ayt(this,n);return}Xst(this,e,n)},l.zh=function(){return Jc(),Sb},l.Bh=function(e){switch(e){case 0:ryt(this,null);return;case 1:ayt(this,null);return}Gst(this,e)},l.Sh=function(){var e;return this.a==-1&&(e=this.b,this.a=e?Hi(e):0),this.a},l.dd=function(){return this.c},l.Th=function(e){this.a=e},l.ed=function(e){var n;return n=this.c,ayt(this,e),n},l.Ib=function(){var e;return this.Db&64?mf(this):(e=new Mp,Gr(Gr(Gr(e,this.b?this.b.tg():_u),Uot),b9(this.c)),e.a)},l.a=-1,l.c=null;var Hv=F(M2,"ElkPropertyToValueMapEntryImpl",1092);D(984,1,{},oB),F(ma,"JsonAdapter",984),D(210,60,Q0,ud),F(ma,"JsonImportException",210),D(857,1,{},nae),F(ma,"JsonImporter",857),D(891,1,{},DGt),F(ma,"JsonImporter/lambda$0$Type",891),D(892,1,{},IGt),F(ma,"JsonImporter/lambda$1$Type",892),D(900,1,{},fzt),F(ma,"JsonImporter/lambda$10$Type",900),D(902,1,{},OGt),F(ma,"JsonImporter/lambda$11$Type",902),D(903,1,{},PGt),F(ma,"JsonImporter/lambda$12$Type",903),D(909,1,{},UXt),F(ma,"JsonImporter/lambda$13$Type",909),D(908,1,{},GXt),F(ma,"JsonImporter/lambda$14$Type",908),D(904,1,{},FGt),F(ma,"JsonImporter/lambda$15$Type",904),D(905,1,{},NGt),F(ma,"JsonImporter/lambda$16$Type",905),D(906,1,{},BGt),F(ma,"JsonImporter/lambda$17$Type",906),D(907,1,{},RGt),F(ma,"JsonImporter/lambda$18$Type",907),D(912,1,{},dzt),F(ma,"JsonImporter/lambda$19$Type",912),D(893,1,{},gzt),F(ma,"JsonImporter/lambda$2$Type",893),D(910,1,{},pzt),F(ma,"JsonImporter/lambda$20$Type",910),D(911,1,{},bzt),F(ma,"JsonImporter/lambda$21$Type",911),D(915,1,{},wzt),F(ma,"JsonImporter/lambda$22$Type",915),D(913,1,{},vzt),F(ma,"JsonImporter/lambda$23$Type",913),D(914,1,{},mzt),F(ma,"JsonImporter/lambda$24$Type",914),D(917,1,{},yzt),F(ma,"JsonImporter/lambda$25$Type",917),D(916,1,{},xzt),F(ma,"JsonImporter/lambda$26$Type",916),D(918,1,Un,jGt),l.td=function(e){ion(this.b,this.a,Br(e))},F(ma,"JsonImporter/lambda$27$Type",918),D(919,1,Un,$Gt),l.td=function(e){son(this.b,this.a,Br(e))},F(ma,"JsonImporter/lambda$28$Type",919),D(920,1,{},zGt),F(ma,"JsonImporter/lambda$29$Type",920),D(896,1,{},kzt),F(ma,"JsonImporter/lambda$3$Type",896),D(921,1,{},qGt),F(ma,"JsonImporter/lambda$30$Type",921),D(922,1,{},Ezt),F(ma,"JsonImporter/lambda$31$Type",922),D(923,1,{},Tzt),F(ma,"JsonImporter/lambda$32$Type",923),D(924,1,{},Czt),F(ma,"JsonImporter/lambda$33$Type",924),D(925,1,{},_zt),F(ma,"JsonImporter/lambda$34$Type",925),D(859,1,{},Szt),F(ma,"JsonImporter/lambda$35$Type",859),D(929,1,{},BYt),F(ma,"JsonImporter/lambda$36$Type",929),D(926,1,Un,Azt),l.td=function(e){can(this.a,u(e,469))},F(ma,"JsonImporter/lambda$37$Type",926),D(927,1,Un,YGt),l.td=function(e){NXe(this.a,this.b,u(e,202))},F(ma,"JsonImporter/lambda$38$Type",927),D(928,1,Un,KGt),l.td=function(e){BXe(this.a,this.b,u(e,202))},F(ma,"JsonImporter/lambda$39$Type",928),D(894,1,{},Lzt),F(ma,"JsonImporter/lambda$4$Type",894),D(930,1,Un,Mzt),l.td=function(e){uan(this.a,u(e,8))},F(ma,"JsonImporter/lambda$40$Type",930),D(895,1,{},Dzt),F(ma,"JsonImporter/lambda$5$Type",895),D(899,1,{},Izt),F(ma,"JsonImporter/lambda$6$Type",899),D(897,1,{},Ozt),F(ma,"JsonImporter/lambda$7$Type",897),D(898,1,{},Pzt),F(ma,"JsonImporter/lambda$8$Type",898),D(901,1,{},Fzt),F(ma,"JsonImporter/lambda$9$Type",901),D(948,1,Un,Nzt),l.td=function(e){Vx(this.a,new Um(Br(e)))},F(ma,"JsonMetaDataConverter/lambda$0$Type",948),D(949,1,Un,Bzt),l.td=function(e){Cnn(this.a,u(e,237))},F(ma,"JsonMetaDataConverter/lambda$1$Type",949),D(950,1,Un,Rzt),l.td=function(e){kin(this.a,u(e,149))},F(ma,"JsonMetaDataConverter/lambda$2$Type",950),D(951,1,Un,jzt),l.td=function(e){_nn(this.a,u(e,175))},F(ma,"JsonMetaDataConverter/lambda$3$Type",951),D(237,22,{3:1,35:1,22:1,237:1},Px);var oU,cU,Dft,uU,lU,hU,Ift,Oft,fU=jr(qI,"GraphFeature",237,Hr,Yon,Xtn),e5e;D(13,1,{35:1,146:1},Vi,Ps,mn,eo),l.wd=function(e){return FQe(this,u(e,146))},l.Fb=function(e){return dQt(this,e)},l.wg=function(){return Ie(this)},l.tg=function(){return this.b},l.Hb=function(){return Vg(this.b)},l.Ib=function(){return this.b},F(qI,"Property",13),D(818,1,Oi,Ept),l.ue=function(e,n){return Jln(this,u(e,94),u(n,94))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(qI,"PropertyHolderComparator",818),D(695,1,sa,Tpt),l.Nb=function(e){ba(this,e)},l.Pb=function(){return uon(this)},l.Qb=function(){IHt()},l.Ob=function(){return!!this.a},F(DH,"ElkGraphUtil/AncestorIterator",695);var KAt=Ki(Ra,"EList");D(67,52,{20:1,28:1,52:1,14:1,15:1,67:1,58:1}),l.Vc=function(e,n){n_(this,e,n)},l.Fc=function(e){return Dr(this,e)},l.Wc=function(e,n){return Syt(this,e,n)},l.Gc=function(e){return is(this,e)},l.Zh=function(){return new Bx(this)},l.$h=function(){return new $M(this)},l._h=function(e){return DD(this,e)},l.ai=function(){return!0},l.bi=function(e,n){},l.ci=function(){},l.di=function(e,n){Yrt(this,e,n)},l.ei=function(e,n,r){},l.fi=function(e,n){},l.gi=function(e,n,r){},l.Fb=function(e){return Sue(this,e)},l.Hb=function(){return kyt(this)},l.hi=function(){return!1},l.Kc=function(){return new nr(this)},l.Yc=function(){return new Nx(this)},l.Zc=function(e){var n;if(n=this.gc(),e<0||e>n)throw it(new qm(e,n));return new Jnt(this,e)},l.ji=function(e,n){this.ii(e,this.Xc(n))},l.Mc=function(e){return X$(this,e)},l.li=function(e,n){return n},l._c=function(e,n){return h4(this,e,n)},l.Ib=function(){return g3t(this)},l.ni=function(){return!0},l.oi=function(e,n){return sE(this,n)},F(Ra,"AbstractEList",67),D(63,67,Ld,ox,Qw,gyt),l.Vh=function(e,n){return $st(this,e,n)},l.Wh=function(e){return Lse(this,e)},l.Xh=function(e,n){UD(this,e,n)},l.Yh=function(e){gD(this,e)},l.pi=function(e){return Fmt(this,e)},l.$b=function(){z9(this)},l.Hc=function(e){return yE(this,e)},l.Xb=function(e){return At(this,e)},l.qi=function(e){var n,r,s;++this.j,r=this.g==null?0:this.g.length,e>r&&(s=this.g,n=r+(r/2|0)+4,n=0?(this.$c(n),!0):!1},l.mi=function(e,n){return this.Ui(e,this.oi(e,n))},l.gc=function(){return this.Vi()},l.Pc=function(){return this.Wi()},l.Qc=function(e){return this.Xi(e)},l.Ib=function(){return this.Yi()},F(Ra,"DelegatingEList",1995),D(1996,1995,E0e),l.Vh=function(e,n){return sxt(this,e,n)},l.Wh=function(e){return this.Vh(this.Vi(),e)},l.Xh=function(e,n){fce(this,e,n)},l.Yh=function(e){rce(this,e)},l.ai=function(){return!this.bj()},l.$b=function(){A_(this)},l.Zi=function(e,n,r,s,o){return new pQt(this,e,n,r,s,o)},l.$i=function(e){mi(this.Ai(),e)},l._i=function(){return null},l.aj=function(){return-1},l.Ai=function(){return null},l.bj=function(){return!1},l.cj=function(e,n){return n},l.dj=function(e,n){return n},l.ej=function(){return!1},l.fj=function(){return!this.Ri()},l.ii=function(e,n){var r,s;return this.ej()?(s=this.fj(),r=B4t(this,e,n),this.$i(this.Zi(7,pe(n),r,e,s)),r):B4t(this,e,n)},l.$c=function(e){var n,r,s,o;return this.ej()?(r=null,s=this.fj(),n=this.Zi(4,o=Hj(this,e),null,e,s),this.bj()&&o?(r=this.dj(o,r),r?(r.Ei(n),r.Fi()):this.$i(n)):r?(r.Ei(n),r.Fi()):this.$i(n),o):(o=Hj(this,e),this.bj()&&o&&(r=this.dj(o,null),r&&r.Fi()),o)},l.mi=function(e,n){return yle(this,e,n)},F(L6,"DelegatingNotifyingListImpl",1996),D(143,1,nO),l.Ei=function(e){return T4t(this,e)},l.Fi=function(){rit(this)},l.xi=function(){return this.d},l._i=function(){return null},l.gj=function(){return null},l.yi=function(e){return-1},l.zi=function(){return aue(this)},l.Ai=function(){return null},l.Bi=function(){return $5t(this)},l.Ci=function(){return this.o<0?this.o<-2?-2-this.o-1:-1:this.o},l.hj=function(){return!1},l.Di=function(e){var n,r,s,o,h,d,v,k,C,M,j;switch(this.d){case 1:case 2:switch(o=e.xi(),o){case 1:case 2:if(h=e.Ai(),Vt(h)===Vt(this.Ai())&&this.yi(null)==e.yi(null))return this.g=e.zi(),e.xi()==1&&(this.d=1),!0}case 4:{switch(o=e.xi(),o){case 4:{if(h=e.Ai(),Vt(h)===Vt(this.Ai())&&this.yi(null)==e.yi(null))return C=kxt(this),k=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,d=e.Ci(),this.d=6,j=new Qw(2),k<=d?(Dr(j,this.n),Dr(j,e.Bi()),this.g=lt(ct(Cr,1),Xr,25,15,[this.o=k,d+1])):(Dr(j,e.Bi()),Dr(j,this.n),this.g=lt(ct(Cr,1),Xr,25,15,[this.o=d,k])),this.n=j,C||(this.o=-2-this.o-1),!0;break}}break}case 6:{switch(o=e.xi(),o){case 4:{if(h=e.Ai(),Vt(h)===Vt(this.Ai())&&this.yi(null)==e.yi(null)){for(C=kxt(this),d=e.Ci(),M=u(this.g,48),s=Nt(Cr,Xr,25,M.length+1,15,1),n=0;n>>0,n.toString(16))),s.a+=" (eventType: ",this.d){case 1:{s.a+="SET";break}case 2:{s.a+="UNSET";break}case 3:{s.a+="ADD";break}case 5:{s.a+="ADD_MANY";break}case 4:{s.a+="REMOVE";break}case 6:{s.a+="REMOVE_MANY";break}case 7:{s.a+="MOVE";break}case 8:{s.a+="REMOVING_ADAPTER";break}case 9:{s.a+="RESOLVE";break}default:{xet(s,this.d);break}}if(Yue(this)&&(s.a+=", touch: true"),s.a+=", position: ",xet(s,this.o<0?this.o<-2?-2-this.o-1:-1:this.o),s.a+=", notifier: ",l9(s,this.Ai()),s.a+=", feature: ",l9(s,this._i()),s.a+=", oldValue: ",l9(s,$5t(this)),s.a+=", newValue: ",this.d==6&&_t(this.g,48)){for(r=u(this.g,48),s.a+="[",e=0;e10?((!this.b||this.c.j!=this.a)&&(this.b=new E9(this),this.a=this.j),I0(this.b,e)):yE(this,e)},l.ni=function(){return!0},l.a=0,F(Ra,"AbstractEList/1",953),D(295,73,bot,qm),F(Ra,"AbstractEList/BasicIndexOutOfBoundsException",295),D(40,1,sa,nr),l.Nb=function(e){ba(this,e)},l.mj=function(){if(this.i.j!=this.f)throw it(new rh)},l.nj=function(){return dr(this)},l.Ob=function(){return this.e!=this.i.gc()},l.Pb=function(){return this.nj()},l.Qb=function(){f_(this)},l.e=0,l.f=0,l.g=-1,F(Ra,"AbstractEList/EIterator",40),D(278,40,n0,Nx,Jnt),l.Qb=function(){f_(this)},l.Rb=function(e){Die(this,e)},l.oj=function(){var e;try{return e=this.d.Xb(--this.e),this.mj(),this.g=this.e,e}catch(n){throw n=Wi(n),_t(n,73)?(this.mj(),it(new lc)):it(n)}},l.pj=function(e){Ise(this,e)},l.Sb=function(){return this.e!=0},l.Tb=function(){return this.e},l.Ub=function(){return this.oj()},l.Vb=function(){return this.e-1},l.Wb=function(e){this.pj(e)},F(Ra,"AbstractEList/EListIterator",278),D(341,40,sa,Bx),l.nj=function(){return dst(this)},l.Qb=function(){throw it(new Or)},F(Ra,"AbstractEList/NonResolvingEIterator",341),D(385,278,n0,$M,wwt),l.Rb=function(e){throw it(new Or)},l.nj=function(){var e;try{return e=this.c.ki(this.e),this.mj(),this.g=this.e++,e}catch(n){throw n=Wi(n),_t(n,73)?(this.mj(),it(new lc)):it(n)}},l.oj=function(){var e;try{return e=this.c.ki(--this.e),this.mj(),this.g=this.e,e}catch(n){throw n=Wi(n),_t(n,73)?(this.mj(),it(new lc)):it(n)}},l.Qb=function(){throw it(new Or)},l.Wb=function(e){throw it(new Or)},F(Ra,"AbstractEList/NonResolvingEListIterator",385),D(1982,67,T0e),l.Vh=function(e,n){var r,s,o,h,d,v,k,C,M,j,H;if(o=n.gc(),o!=0){for(C=u(Dn(this.a,4),126),M=C==null?0:C.length,H=M+o,s=Fit(this,H),j=M-e,j>0&&Dc(C,e,s,e+o,j),k=n.Kc(),d=0;dr)throw it(new qm(e,r));return new _Xt(this,e)},l.$b=function(){var e,n;++this.j,e=u(Dn(this.a,4),126),n=e==null?0:e.length,bE(this,null),Yrt(this,n,e)},l.Hc=function(e){var n,r,s,o,h;if(n=u(Dn(this.a,4),126),n!=null){if(e!=null){for(s=n,o=0,h=s.length;o=r)throw it(new qm(e,r));return n[e]},l.Xc=function(e){var n,r,s;if(n=u(Dn(this.a,4),126),n!=null){if(e!=null){for(r=0,s=n.length;rr)throw it(new qm(e,r));return new CXt(this,e)},l.ii=function(e,n){var r,s,o;if(r=jie(this),o=r==null?0:r.length,e>=o)throw it(new yo(iut+e+D2+o));if(n>=o)throw it(new yo(sut+n+D2+o));return s=r[n],e!=n&&(e0&&Dc(e,0,n,0,r),n},l.Qc=function(e){var n,r,s;return n=u(Dn(this.a,4),126),s=n==null?0:n.length,s>0&&(e.lengths&&ts(e,s,null),e};var n5e;F(Ra,"ArrayDelegatingEList",1982),D(1038,40,sa,FJt),l.mj=function(){if(this.b.j!=this.f||Vt(u(Dn(this.b.a,4),126))!==Vt(this.a))throw it(new rh)},l.Qb=function(){f_(this),this.a=u(Dn(this.b.a,4),126)},F(Ra,"ArrayDelegatingEList/EIterator",1038),D(706,278,n0,KKt,CXt),l.mj=function(){if(this.b.j!=this.f||Vt(u(Dn(this.b.a,4),126))!==Vt(this.a))throw it(new rh)},l.pj=function(e){Ise(this,e),this.a=u(Dn(this.b.a,4),126)},l.Qb=function(){f_(this),this.a=u(Dn(this.b.a,4),126)},F(Ra,"ArrayDelegatingEList/EListIterator",706),D(1039,341,sa,NJt),l.mj=function(){if(this.b.j!=this.f||Vt(u(Dn(this.b.a,4),126))!==Vt(this.a))throw it(new rh)},F(Ra,"ArrayDelegatingEList/NonResolvingEIterator",1039),D(707,385,n0,XKt,_Xt),l.mj=function(){if(this.b.j!=this.f||Vt(u(Dn(this.b.a,4),126))!==Vt(this.a))throw it(new rh)},F(Ra,"ArrayDelegatingEList/NonResolvingEListIterator",707),D(606,295,bot,nnt),F(Ra,"BasicEList/BasicIndexOutOfBoundsException",606),D(696,63,Ld,n2t),l.Vc=function(e,n){throw it(new Or)},l.Fc=function(e){throw it(new Or)},l.Wc=function(e,n){throw it(new Or)},l.Gc=function(e){throw it(new Or)},l.$b=function(){throw it(new Or)},l.qi=function(e){throw it(new Or)},l.Kc=function(){return this.Zh()},l.Yc=function(){return this.$h()},l.Zc=function(e){return this._h(e)},l.ii=function(e,n){throw it(new Or)},l.ji=function(e,n){throw it(new Or)},l.$c=function(e){throw it(new Or)},l.Mc=function(e){throw it(new Or)},l._c=function(e,n){throw it(new Or)},F(Ra,"BasicEList/UnmodifiableEList",696),D(705,1,{3:1,20:1,14:1,15:1,58:1,589:1}),l.Vc=function(e,n){CQe(this,e,u(n,42))},l.Fc=function(e){return hZe(this,u(e,42))},l.Jc=function(e){va(this,e)},l.Xb=function(e){return u(At(this.c,e),133)},l.ii=function(e,n){return u(this.c.ii(e,n),42)},l.ji=function(e,n){_Qe(this,e,u(n,42))},l.Lc=function(){return new Tn(null,new _n(this,16))},l.$c=function(e){return u(this.c.$c(e),42)},l._c=function(e,n){return mnn(this,e,u(n,42))},l.ad=function(e){r4(this,e)},l.Nc=function(){return new _n(this,16)},l.Oc=function(){return new Tn(null,new _n(this,16))},l.Wc=function(e,n){return this.c.Wc(e,n)},l.Gc=function(e){return this.c.Gc(e)},l.$b=function(){this.c.$b()},l.Hc=function(e){return this.c.Hc(e)},l.Ic=function(e){return ND(this.c,e)},l.qj=function(){var e,n,r;if(this.d==null){for(this.d=Nt(XAt,R8t,63,2*this.f+1,0,1),r=this.e,this.f=0,n=this.c.Kc();n.e!=n.i.gc();)e=u(n.nj(),133),Jz(this,e);this.e=r}},l.Fb=function(e){return xYt(this,e)},l.Hb=function(){return kyt(this.c)},l.Xc=function(e){return this.c.Xc(e)},l.rj=function(){this.c=new zzt(this)},l.dc=function(){return this.f==0},l.Kc=function(){return this.c.Kc()},l.Yc=function(){return this.c.Yc()},l.Zc=function(e){return this.c.Zc(e)},l.sj=function(){return wD(this)},l.tj=function(e,n,r){return new RYt(e,n,r)},l.uj=function(){return new kp},l.Mc=function(e){return tne(this,e)},l.gc=function(){return this.f},l.bd=function(e,n){return new Qd(this.c,e,n)},l.Pc=function(){return this.c.Pc()},l.Qc=function(e){return this.c.Qc(e)},l.Ib=function(){return g3t(this.c)},l.e=0,l.f=0,F(Ra,"BasicEMap",705),D(1033,63,Ld,zzt),l.bi=function(e,n){cKe(this,u(n,133))},l.ei=function(e,n,r){var s;++(s=this,u(n,133),s).a.e},l.fi=function(e,n){uKe(this,u(n,133))},l.gi=function(e,n,r){ZQe(this,u(n,133),u(r,133))},l.di=function(e,n){Vne(this.a)},F(Ra,"BasicEMap/1",1033),D(1034,63,Ld,kp),l.ri=function(e){return Nt(y6n,C0e,612,e,0,1)},F(Ra,"BasicEMap/2",1034),D(1035,N1,zu,qzt),l.$b=function(){this.a.c.$b()},l.Hc=function(e){return ist(this.a,e)},l.Kc=function(){return this.a.f==0?(y8(),pP.a):new EHt(this.a)},l.Mc=function(e){var n;return n=this.a.f,qz(this.a,e),this.a.f!=n},l.gc=function(){return this.a.f},F(Ra,"BasicEMap/3",1035),D(1036,28,xy,Hzt),l.$b=function(){this.a.c.$b()},l.Hc=function(e){return Aue(this.a,e)},l.Kc=function(){return this.a.f==0?(y8(),pP.a):new THt(this.a)},l.gc=function(){return this.a.f},F(Ra,"BasicEMap/4",1036),D(1037,N1,zu,Vzt),l.$b=function(){this.a.c.$b()},l.Hc=function(e){var n,r,s,o,h,d,v,k,C;if(this.a.f>0&&_t(e,42)&&(this.a.qj(),k=u(e,42),v=k.cd(),o=v==null?0:Hi(v),h=rwt(this.a,o),n=this.a.d[h],n)){for(r=u(n.g,367),C=n.i,d=0;d"+this.c},l.a=0;var y6n=F(Ra,"BasicEMap/EntryImpl",612);D(536,1,{},Ik),F(Ra,"BasicEMap/View",536);var pP;D(768,1,{}),l.Fb=function(e){return k5t((wn(),io),e)},l.Hb=function(){return Pyt((wn(),io))},l.Ib=function(){return eb((wn(),io))},F(Ra,"ECollections/BasicEmptyUnmodifiableEList",768),D(1312,1,n0,cB),l.Nb=function(e){ba(this,e)},l.Rb=function(e){throw it(new Or)},l.Ob=function(){return!1},l.Sb=function(){return!1},l.Pb=function(){throw it(new lc)},l.Tb=function(){return 0},l.Ub=function(){throw it(new lc)},l.Vb=function(){return-1},l.Qb=function(){throw it(new Or)},l.Wb=function(e){throw it(new Or)},F(Ra,"ECollections/BasicEmptyUnmodifiableEList/1",1312),D(1310,768,{20:1,14:1,15:1,58:1},Pqt),l.Vc=function(e,n){GHt()},l.Fc=function(e){return UHt()},l.Wc=function(e,n){return WHt()},l.Gc=function(e){return YHt()},l.$b=function(){KHt()},l.Hc=function(e){return!1},l.Ic=function(e){return!1},l.Jc=function(e){va(this,e)},l.Xb=function(e){return s2t((wn(),e)),null},l.Xc=function(e){return-1},l.dc=function(){return!0},l.Kc=function(){return this.a},l.Yc=function(){return this.a},l.Zc=function(e){return this.a},l.ii=function(e,n){return XHt()},l.ji=function(e,n){QHt()},l.Lc=function(){return new Tn(null,new _n(this,16))},l.$c=function(e){return ZHt()},l.Mc=function(e){return JHt()},l._c=function(e,n){return tVt()},l.gc=function(){return 0},l.ad=function(e){r4(this,e)},l.Nc=function(){return new _n(this,16)},l.Oc=function(){return new Tn(null,new _n(this,16))},l.bd=function(e,n){return wn(),new Qd(io,e,n)},l.Pc=function(){return svt((wn(),io))},l.Qc=function(e){return wn(),eI(io,e)},F(Ra,"ECollections/EmptyUnmodifiableEList",1310),D(1311,768,{20:1,14:1,15:1,58:1,589:1},Fqt),l.Vc=function(e,n){GHt()},l.Fc=function(e){return UHt()},l.Wc=function(e,n){return WHt()},l.Gc=function(e){return YHt()},l.$b=function(){KHt()},l.Hc=function(e){return!1},l.Ic=function(e){return!1},l.Jc=function(e){va(this,e)},l.Xb=function(e){return s2t((wn(),e)),null},l.Xc=function(e){return-1},l.dc=function(){return!0},l.Kc=function(){return this.a},l.Yc=function(){return this.a},l.Zc=function(e){return this.a},l.ii=function(e,n){return XHt()},l.ji=function(e,n){QHt()},l.Lc=function(){return new Tn(null,new _n(this,16))},l.$c=function(e){return ZHt()},l.Mc=function(e){return JHt()},l._c=function(e,n){return tVt()},l.gc=function(){return 0},l.ad=function(e){r4(this,e)},l.Nc=function(){return new _n(this,16)},l.Oc=function(){return new Tn(null,new _n(this,16))},l.bd=function(e,n){return wn(),new Qd(io,e,n)},l.Pc=function(){return svt((wn(),io))},l.Qc=function(e){return wn(),eI(io,e)},l.sj=function(){return wn(),wn(),u0},F(Ra,"ECollections/EmptyUnmodifiableEMap",1311);var ZAt=Ki(Ra,"Enumerator"),dU;D(281,1,{281:1},fat),l.Fb=function(e){var n;return this===e?!0:_t(e,281)?(n=u(e,281),this.f==n.f&&$en(this.i,n.i)&&jnt(this.a,this.f&256?n.f&256?n.a:null:n.f&256?null:n.a)&&jnt(this.d,n.d)&&jnt(this.g,n.g)&&jnt(this.e,n.e)&&Pfn(this,n)):!1},l.Hb=function(){return this.f},l.Ib=function(){return sle(this)},l.f=0;var r5e=0,i5e=0,s5e=0,a5e=0,JAt=0,tLt=0,eLt=0,nLt=0,rLt=0,o5e,oA=0,cA=0,c5e=0,u5e=0,gU,iLt;F(Ra,"URI",281),D(1091,43,A4,Nqt),l.zc=function(e,n){return u(ko(this,Br(e),u(n,281)),281)},F(Ra,"URI/URICache",1091),D(497,63,Ld,Ok,Gj),l.hi=function(){return!0},F(Ra,"UniqueEList",497),D(581,60,Q0,W$),F(Ra,"WrappedException",581);var Zr=Ki(ph,A0e),t3=Ki(ph,L0e),Mu=Ki(ph,M0e),e3=Ki(ph,D0e),s1=Ki(ph,I0e),Uh=Ki(ph,"EClass"),Nft=Ki(ph,"EDataType"),l5e;D(1183,43,A4,Bqt),l.xc=function(e){return ra(e)?Nc(this,e):ec(Lo(this.f,e))},F(ph,"EDataType/Internal/ConversionDelegate/Factory/Registry/Impl",1183);var pU=Ki(ph,"EEnum"),ag=Ki(ph,O0e),ho=Ki(ph,P0e),Wh=Ki(ph,F0e),Yh,Vv=Ki(ph,N0e),n3=Ki(ph,B0e);D(1029,1,{},nJ),l.Ib=function(){return"NIL"},F(ph,"EStructuralFeature/Internal/DynamicValueHolder/1",1029);var h5e;D(1028,43,A4,Rqt),l.xc=function(e){return ra(e)?Nc(this,e):ec(Lo(this.f,e))},F(ph,"EStructuralFeature/Internal/SettingDelegate/Factory/Registry/Impl",1028);var hu=Ki(ph,R0e),Z6=Ki(ph,"EValidator/PatternMatcher"),sLt,aLt,Ln,ap,r3,Lb,f5e,d5e,g5e,Mb,op,Db,Gv,W1,p5e,b5e,Kh,cp,w5e,up,i3,l5,Qa,v5e,m5e,Uv,bU=Ki($i,"FeatureMap/Entry");D(535,1,{72:1},lj),l.ak=function(){return this.a},l.dd=function(){return this.b},F(Mn,"BasicEObjectImpl/1",535),D(1027,1,hut,XGt),l.Wj=function(e){return Urt(this.a,this.b,e)},l.fj=function(){return MQt(this.a,this.b)},l.Wb=function(e){zvt(this.a,this.b,e)},l.Xj=function(){Nnn(this.a,this.b)},F(Mn,"BasicEObjectImpl/4",1027),D(1983,1,{108:1}),l.bk=function(e){this.e=e==0?y5e:Nt(Qn,De,1,e,5,1)},l.Ch=function(e){return this.e[e]},l.Dh=function(e,n){this.e[e]=n},l.Eh=function(e){this.e[e]=null},l.ck=function(){return this.c},l.dk=function(){throw it(new Or)},l.ek=function(){throw it(new Or)},l.fk=function(){return this.d},l.gk=function(){return this.e!=null},l.hk=function(e){this.c=e},l.ik=function(e){throw it(new Or)},l.jk=function(e){throw it(new Or)},l.kk=function(e){this.d=e};var y5e;F(Mn,"BasicEObjectImpl/EPropertiesHolderBaseImpl",1983),D(185,1983,{108:1},nh),l.dk=function(){return this.a},l.ek=function(){return this.b},l.ik=function(e){this.a=e},l.jk=function(e){this.b=e},F(Mn,"BasicEObjectImpl/EPropertiesHolderImpl",185),D(506,97,jde,Pk),l.Kg=function(){return this.f},l.Pg=function(){return this.k},l.Rg=function(e,n){this.g=e,this.i=n},l.Tg=function(){return this.j&2?this.ph().ck():this.zh()},l.Vg=function(){return this.i},l.Mg=function(){return(this.j&1)!=0},l.eh=function(){return this.g},l.kh=function(){return(this.j&4)!=0},l.ph=function(){return!this.k&&(this.k=new nh),this.k},l.th=function(e){this.ph().hk(e),e?this.j|=2:this.j&=-3},l.vh=function(e){this.ph().jk(e),e?this.j|=4:this.j&=-5},l.zh=function(){return(Hp(),Ln).S},l.i=0,l.j=1,F(Mn,"EObjectImpl",506),D(780,506,{105:1,92:1,90:1,56:1,108:1,49:1,97:1},zwt),l.Ch=function(e){return this.e[e]},l.Dh=function(e,n){this.e[e]=n},l.Eh=function(e){this.e[e]=null},l.Tg=function(){return this.d},l.Yg=function(e){return Gi(this.d,e)},l.$g=function(){return this.d},l.dh=function(){return this.e!=null},l.ph=function(){return!this.k&&(this.k=new uB),this.k},l.th=function(e){this.d=e},l.yh=function(){var e;return this.e==null&&(e=Jn(this.d),this.e=e==0?x5e:Nt(Qn,De,1,e,5,1)),this},l.Ah=function(){return 0};var x5e;F(Mn,"DynamicEObjectImpl",780),D(1376,780,{105:1,42:1,92:1,90:1,133:1,56:1,108:1,49:1,97:1},hKt),l.Fb=function(e){return this===e},l.Hb=function(){return Pw(this)},l.th=function(e){this.d=e,this.b=mI(e,"key"),this.c=mI(e,Z_)},l.Sh=function(){var e;return this.a==-1&&(e=iit(this,this.b),this.a=e==null?0:Hi(e)),this.a},l.cd=function(){return iit(this,this.b)},l.dd=function(){return iit(this,this.c)},l.Th=function(e){this.a=e},l.Uh=function(e){zvt(this,this.b,e)},l.ed=function(e){var n;return n=iit(this,this.c),zvt(this,this.c,e),n},l.a=0,F(Mn,"DynamicEObjectImpl/BasicEMapEntry",1376),D(1377,1,{108:1},uB),l.bk=function(e){throw it(new Or)},l.Ch=function(e){throw it(new Or)},l.Dh=function(e,n){throw it(new Or)},l.Eh=function(e){throw it(new Or)},l.ck=function(){throw it(new Or)},l.dk=function(){return this.a},l.ek=function(){return this.b},l.fk=function(){return this.c},l.gk=function(){throw it(new Or)},l.hk=function(e){throw it(new Or)},l.ik=function(e){this.a=e},l.jk=function(e){this.b=e},l.kk=function(e){this.c=e},F(Mn,"DynamicEObjectImpl/DynamicEPropertiesHolderImpl",1377),D(510,150,{105:1,92:1,90:1,590:1,147:1,56:1,108:1,49:1,97:1,510:1,150:1,114:1,115:1},lB),l.Qg=function(e){return a4t(this,e)},l._g=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.d;case 2:return r?(!this.b&&(this.b=new kl((dn(),Qa),cc,this)),this.b):(!this.b&&(this.b=new kl((dn(),Qa),cc,this)),wD(this.b));case 3:return FQt(this);case 4:return!this.a&&(this.a=new As(_b,this,4)),this.a;case 5:return!this.c&&(this.c=new Y3(_b,this,5)),this.c}return uh(this,e-Jn((dn(),ap)),yn((s=u(Dn(this,16),26),s||ap),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 3:return this.Cb&&(r=(o=this.Db>>16,o>=0?a4t(this,r):this.Cb.ih(this,-1-o,null,r))),rvt(this,u(e,147),r)}return h=u(yn((s=u(Dn(this,16),26),s||(dn(),ap)),n),66),h.Nj().Qj(this,su(this),n-Jn((dn(),ap)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 2:return!this.b&&(this.b=new kl((dn(),Qa),cc,this)),Oj(this.b,e,r);case 3:return rvt(this,null,r);case 4:return!this.a&&(this.a=new As(_b,this,4)),Ba(this.a,e,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),ap)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),ap)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.d!=null;case 2:return!!this.b&&this.b.f!=0;case 3:return!!FQt(this);case 4:return!!this.a&&this.a.i!=0;case 5:return!!this.c&&this.c.i!=0}return oh(this,e-Jn((dn(),ap)),yn((n=u(Dn(this,16),26),n||ap),e))},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Cen(this,Br(n));return;case 2:!this.b&&(this.b=new kl((dn(),Qa),cc,this)),xz(this.b,n);return;case 3:Kce(this,u(n,147));return;case 4:!this.a&&(this.a=new As(_b,this,4)),xr(this.a),!this.a&&(this.a=new As(_b,this,4)),is(this.a,u(n,14));return;case 5:!this.c&&(this.c=new Y3(_b,this,5)),xr(this.c),!this.c&&(this.c=new Y3(_b,this,5)),is(this.c,u(n,14));return}gh(this,e-Jn((dn(),ap)),yn((r=u(Dn(this,16),26),r||ap),e),n)},l.zh=function(){return dn(),ap},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:oyt(this,null);return;case 2:!this.b&&(this.b=new kl((dn(),Qa),cc,this)),this.b.c.$b();return;case 3:Kce(this,null);return;case 4:!this.a&&(this.a=new As(_b,this,4)),xr(this.a);return;case 5:!this.c&&(this.c=new Y3(_b,this,5)),xr(this.c);return}fh(this,e-Jn((dn(),ap)),yn((n=u(Dn(this,16),26),n||ap),e))},l.Ib=function(){return lie(this)},l.d=null,F(Mn,"EAnnotationImpl",510),D(151,705,j8t,_l),l.Xh=function(e,n){oQe(this,e,u(n,42))},l.lk=function(e,n){return eJe(this,u(e,42),n)},l.pi=function(e){return u(u(this.c,69).pi(e),133)},l.Zh=function(){return u(this.c,69).Zh()},l.$h=function(){return u(this.c,69).$h()},l._h=function(e){return u(this.c,69)._h(e)},l.mk=function(e,n){return Oj(this,e,n)},l.Wj=function(e){return u(this.c,76).Wj(e)},l.rj=function(){},l.fj=function(){return u(this.c,76).fj()},l.tj=function(e,n,r){var s;return s=u(Rl(this.b).Nh().Jh(this.b),133),s.Th(e),s.Uh(n),s.ed(r),s},l.uj=function(){return new _pt(this)},l.Wb=function(e){xz(this,e)},l.Xj=function(){u(this.c,76).Xj()},F($i,"EcoreEMap",151),D(158,151,j8t,kl),l.qj=function(){var e,n,r,s,o,h;if(this.d==null){for(h=Nt(XAt,R8t,63,2*this.f+1,0,1),r=this.c.Kc();r.e!=r.i.gc();)n=u(r.nj(),133),s=n.Sh(),o=(s&wi)%h.length,e=h[o],!e&&(e=h[o]=new _pt(this)),e.Fc(n);this.d=h}},F(Mn,"EAnnotationImpl/1",158),D(284,438,{105:1,92:1,90:1,147:1,191:1,56:1,108:1,472:1,49:1,97:1,150:1,284:1,114:1,115:1}),l._g=function(e,n,r){var s,o;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return pe(this.s);case 5:return pe(this.t);case 6:return Nn(),!!this.$j();case 7:return Nn(),o=this.s,o>=1;case 8:return n?Dh(this):this.r;case 9:return this.q}return uh(this,e-Jn(this.zh()),yn((s=u(Dn(this,16),26),s||this.zh()),e),n,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 9:return nrt(this,r)}return o=u(yn((s=u(Dn(this,16),26),s||this.zh()),n),66),o.Nj().Rj(this,su(this),n-Jn(this.zh()),e,r)},l.lh=function(e){var n,r;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.$j();case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&qw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&qw(this.q).i==0)}return oh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.sh=function(e,n){var r,s;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:this.Lh(Br(n));return;case 2:zg(this,je(Re(n)));return;case 3:qg(this,je(Re(n)));return;case 4:Rg(this,u(n,19).a);return;case 5:this.ok(u(n,19).a);return;case 8:b2(this,u(n,138));return;case 9:s=F1(this,u(n,87),null),s&&s.Fi();return}gh(this,e-Jn(this.zh()),yn((r=u(Dn(this,16),26),r||this.zh()),e),n)},l.zh=function(){return dn(),m5e},l.Bh=function(e){var n,r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:this.Lh(null);return;case 2:zg(this,!0);return;case 3:qg(this,!0);return;case 4:Rg(this,0);return;case 5:this.ok(1);return;case 8:b2(this,null);return;case 9:r=F1(this,null,null),r&&r.Fi();return}fh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.Gh=function(){Dh(this),this.Bb|=1},l.Yj=function(){return Dh(this)},l.Zj=function(){return this.t},l.$j=function(){var e;return e=this.t,e>1||e==-1},l.hi=function(){return(this.Bb&512)!=0},l.nk=function(e,n){return e3t(this,e,n)},l.ok=function(e){ry(this,e)},l.Ib=function(){return f5t(this)},l.s=0,l.t=1,F(Mn,"ETypedElementImpl",284),D(449,284,{105:1,92:1,90:1,147:1,191:1,56:1,170:1,66:1,108:1,472:1,49:1,97:1,150:1,449:1,284:1,114:1,115:1,677:1}),l.Qg=function(e){return Use(this,e)},l._g=function(e,n,r){var s,o;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return pe(this.s);case 5:return pe(this.t);case 6:return Nn(),!!this.$j();case 7:return Nn(),o=this.s,o>=1;case 8:return n?Dh(this):this.r;case 9:return this.q;case 10:return Nn(),!!(this.Bb&xf);case 11:return Nn(),!!(this.Bb&Dy);case 12:return Nn(),!!(this.Bb&Ey);case 13:return this.j;case 14:return SE(this);case 15:return Nn(),!!(this.Bb&Hu);case 16:return Nn(),!!(this.Bb&md);case 17:return Ym(this)}return uh(this,e-Jn(this.zh()),yn((s=u(Dn(this,16),26),s||this.zh()),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 17:return this.Cb&&(r=(o=this.Db>>16,o>=0?Use(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,17,r)}return h=u(yn((s=u(Dn(this,16),26),s||this.zh()),n),66),h.Nj().Qj(this,su(this),n-Jn(this.zh()),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 9:return nrt(this,r);case 17:return Hl(this,null,17,r)}return o=u(yn((s=u(Dn(this,16),26),s||this.zh()),n),66),o.Nj().Rj(this,su(this),n-Jn(this.zh()),e,r)},l.lh=function(e){var n,r;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.$j();case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&qw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&qw(this.q).i==0);case 10:return(this.Bb&xf)==0;case 11:return(this.Bb&Dy)!=0;case 12:return(this.Bb&Ey)!=0;case 13:return this.j!=null;case 14:return SE(this)!=null;case 15:return(this.Bb&Hu)!=0;case 16:return(this.Bb&md)!=0;case 17:return!!Ym(this)}return oh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.sh=function(e,n){var r,s;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Mrt(this,Br(n));return;case 2:zg(this,je(Re(n)));return;case 3:qg(this,je(Re(n)));return;case 4:Rg(this,u(n,19).a);return;case 5:this.ok(u(n,19).a);return;case 8:b2(this,u(n,138));return;case 9:s=F1(this,u(n,87),null),s&&s.Fi();return;case 10:lE(this,je(Re(n)));return;case 11:dE(this,je(Re(n)));return;case 12:hE(this,je(Re(n)));return;case 13:r2t(this,Br(n));return;case 15:fE(this,je(Re(n)));return;case 16:gE(this,je(Re(n)));return}gh(this,e-Jn(this.zh()),yn((r=u(Dn(this,16),26),r||this.zh()),e),n)},l.zh=function(){return dn(),v5e},l.Bh=function(e){var n,r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:_t(this.Cb,88)&&gy(sl(u(this.Cb,88)),4),Qc(this,null);return;case 2:zg(this,!0);return;case 3:qg(this,!0);return;case 4:Rg(this,0);return;case 5:this.ok(1);return;case 8:b2(this,null);return;case 9:r=F1(this,null,null),r&&r.Fi();return;case 10:lE(this,!0);return;case 11:dE(this,!1);return;case 12:hE(this,!1);return;case 13:this.i=null,fz(this,null);return;case 15:fE(this,!1);return;case 16:gE(this,!1);return}fh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.Gh=function(){M8(To(($u(),ya),this)),Dh(this),this.Bb|=1},l.Gj=function(){return this.f},l.zj=function(){return SE(this)},l.Hj=function(){return Ym(this)},l.Lj=function(){return null},l.pk=function(){return this.k},l.aj=function(){return this.n},l.Mj=function(){return cq(this)},l.Nj=function(){var e,n,r,s,o,h,d,v,k;return this.p||(r=Ym(this),(r.i==null&&vd(r),r.i).length,s=this.Lj(),s&&Jn(Ym(s)),o=Dh(this),d=o.Bj(),e=d?d.i&1?d==pl?Rs:d==Cr?ja:d==a3?i7:d==aa?la:d==Ob?Sv:d==g5?Av:d==Gu?M6:uS:d:null,n=SE(this),v=o.zj(),shn(this),this.Bb&md&&((h=d4t(($u(),ya),r))&&h!=this||(h=Kx(To(ya,this))))?this.p=new ZGt(this,h):this.$j()?this.rk()?s?this.Bb&Hu?e?this.sk()?this.p=new n2(47,e,this,s):this.p=new n2(5,e,this,s):this.sk()?this.p=new s2(46,this,s):this.p=new s2(4,this,s):e?this.sk()?this.p=new n2(49,e,this,s):this.p=new n2(7,e,this,s):this.sk()?this.p=new s2(48,this,s):this.p=new s2(6,this,s):this.Bb&Hu?e?e==P2?this.p=new Ig(50,t5e,this):this.sk()?this.p=new Ig(43,e,this):this.p=new Ig(1,e,this):this.sk()?this.p=new Pg(42,this):this.p=new Pg(0,this):e?e==P2?this.p=new Ig(41,t5e,this):this.sk()?this.p=new Ig(45,e,this):this.p=new Ig(3,e,this):this.sk()?this.p=new Pg(44,this):this.p=new Pg(2,this):_t(o,148)?e==bU?this.p=new Pg(40,this):this.Bb&512?this.Bb&Hu?e?this.p=new Ig(9,e,this):this.p=new Pg(8,this):e?this.p=new Ig(11,e,this):this.p=new Pg(10,this):this.Bb&Hu?e?this.p=new Ig(13,e,this):this.p=new Pg(12,this):e?this.p=new Ig(15,e,this):this.p=new Pg(14,this):s?(k=s.t,k>1||k==-1?this.sk()?this.Bb&Hu?e?this.p=new n2(25,e,this,s):this.p=new s2(24,this,s):e?this.p=new n2(27,e,this,s):this.p=new s2(26,this,s):this.Bb&Hu?e?this.p=new n2(29,e,this,s):this.p=new s2(28,this,s):e?this.p=new n2(31,e,this,s):this.p=new s2(30,this,s):this.sk()?this.Bb&Hu?e?this.p=new n2(33,e,this,s):this.p=new s2(32,this,s):e?this.p=new n2(35,e,this,s):this.p=new s2(34,this,s):this.Bb&Hu?e?this.p=new n2(37,e,this,s):this.p=new s2(36,this,s):e?this.p=new n2(39,e,this,s):this.p=new s2(38,this,s)):this.sk()?this.Bb&Hu?e?this.p=new Ig(17,e,this):this.p=new Pg(16,this):e?this.p=new Ig(19,e,this):this.p=new Pg(18,this):this.Bb&Hu?e?this.p=new Ig(21,e,this):this.p=new Pg(20,this):e?this.p=new Ig(23,e,this):this.p=new Pg(22,this):this.qk()?this.sk()?this.p=new jYt(u(o,26),this,s):this.p=new $vt(u(o,26),this,s):_t(o,148)?e==bU?this.p=new Pg(40,this):this.Bb&Hu?e?this.p=new BKt(n,v,this,(rst(),d==Cr?dLt:d==pl?cLt:d==Ob?gLt:d==a3?fLt:d==aa?hLt:d==g5?pLt:d==Gu?uLt:d==xh?lLt:jft)):this.p=new KXt(u(o,148),n,v,this):e?this.p=new NKt(n,v,this,(rst(),d==Cr?dLt:d==pl?cLt:d==Ob?gLt:d==a3?fLt:d==aa?hLt:d==g5?pLt:d==Gu?uLt:d==xh?lLt:jft)):this.p=new YXt(u(o,148),n,v,this):this.rk()?s?this.Bb&Hu?this.sk()?this.p=new zYt(u(o,26),this,s):this.p=new Dwt(u(o,26),this,s):this.sk()?this.p=new $Yt(u(o,26),this,s):this.p=new Int(u(o,26),this,s):this.Bb&Hu?this.sk()?this.p=new NWt(u(o,26),this):this.p=new G2t(u(o,26),this):this.sk()?this.p=new FWt(u(o,26),this):this.p=new vnt(u(o,26),this):this.sk()?s?this.Bb&Hu?this.p=new qYt(u(o,26),this,s):this.p=new Lwt(u(o,26),this,s):this.Bb&Hu?this.p=new BWt(u(o,26),this):this.p=new U2t(u(o,26),this):s?this.Bb&Hu?this.p=new HYt(u(o,26),this,s):this.p=new Mwt(u(o,26),this,s):this.Bb&Hu?this.p=new RWt(u(o,26),this):this.p=new Uj(u(o,26),this)),this.p},l.Ij=function(){return(this.Bb&xf)!=0},l.qk=function(){return!1},l.rk=function(){return!1},l.Jj=function(){return(this.Bb&md)!=0},l.Oj=function(){return ait(this)},l.sk=function(){return!1},l.Kj=function(){return(this.Bb&Hu)!=0},l.tk=function(e){this.k=e},l.Lh=function(e){Mrt(this,e)},l.Ib=function(){return _q(this)},l.e=!1,l.n=0,F(Mn,"EStructuralFeatureImpl",449),D(322,449,{105:1,92:1,90:1,34:1,147:1,191:1,56:1,170:1,66:1,108:1,472:1,49:1,97:1,322:1,150:1,449:1,284:1,114:1,115:1,677:1},ret),l._g=function(e,n,r){var s,o;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return pe(this.s);case 5:return pe(this.t);case 6:return Nn(),!!c5t(this);case 7:return Nn(),o=this.s,o>=1;case 8:return n?Dh(this):this.r;case 9:return this.q;case 10:return Nn(),!!(this.Bb&xf);case 11:return Nn(),!!(this.Bb&Dy);case 12:return Nn(),!!(this.Bb&Ey);case 13:return this.j;case 14:return SE(this);case 15:return Nn(),!!(this.Bb&Hu);case 16:return Nn(),!!(this.Bb&md);case 17:return Ym(this);case 18:return Nn(),!!(this.Bb&dc);case 19:return n?Tit(this):KJt(this)}return uh(this,e-Jn((dn(),r3)),yn((s=u(Dn(this,16),26),s||r3),e),n,r)},l.lh=function(e){var n,r;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return c5t(this);case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&qw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&qw(this.q).i==0);case 10:return(this.Bb&xf)==0;case 11:return(this.Bb&Dy)!=0;case 12:return(this.Bb&Ey)!=0;case 13:return this.j!=null;case 14:return SE(this)!=null;case 15:return(this.Bb&Hu)!=0;case 16:return(this.Bb&md)!=0;case 17:return!!Ym(this);case 18:return(this.Bb&dc)!=0;case 19:return!!KJt(this)}return oh(this,e-Jn((dn(),r3)),yn((n=u(Dn(this,16),26),n||r3),e))},l.sh=function(e,n){var r,s;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Mrt(this,Br(n));return;case 2:zg(this,je(Re(n)));return;case 3:qg(this,je(Re(n)));return;case 4:Rg(this,u(n,19).a);return;case 5:SHt(this,u(n,19).a);return;case 8:b2(this,u(n,138));return;case 9:s=F1(this,u(n,87),null),s&&s.Fi();return;case 10:lE(this,je(Re(n)));return;case 11:dE(this,je(Re(n)));return;case 12:hE(this,je(Re(n)));return;case 13:r2t(this,Br(n));return;case 15:fE(this,je(Re(n)));return;case 16:gE(this,je(Re(n)));return;case 18:Kit(this,je(Re(n)));return}gh(this,e-Jn((dn(),r3)),yn((r=u(Dn(this,16),26),r||r3),e),n)},l.zh=function(){return dn(),r3},l.Bh=function(e){var n,r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:_t(this.Cb,88)&&gy(sl(u(this.Cb,88)),4),Qc(this,null);return;case 2:zg(this,!0);return;case 3:qg(this,!0);return;case 4:Rg(this,0);return;case 5:this.b=0,ry(this,1);return;case 8:b2(this,null);return;case 9:r=F1(this,null,null),r&&r.Fi();return;case 10:lE(this,!0);return;case 11:dE(this,!1);return;case 12:hE(this,!1);return;case 13:this.i=null,fz(this,null);return;case 15:fE(this,!1);return;case 16:gE(this,!1);return;case 18:Kit(this,!1);return}fh(this,e-Jn((dn(),r3)),yn((n=u(Dn(this,16),26),n||r3),e))},l.Gh=function(){Tit(this),M8(To(($u(),ya),this)),Dh(this),this.Bb|=1},l.$j=function(){return c5t(this)},l.nk=function(e,n){return this.b=0,this.a=null,e3t(this,e,n)},l.ok=function(e){SHt(this,e)},l.Ib=function(){var e;return this.Db&64?_q(this):(e=new _h(_q(this)),e.a+=" (iD: ",Lg(e,(this.Bb&dc)!=0),e.a+=")",e.a)},l.b=0,F(Mn,"EAttributeImpl",322),D(351,438,{105:1,92:1,90:1,138:1,147:1,191:1,56:1,108:1,49:1,97:1,351:1,150:1,114:1,115:1,676:1}),l.uk=function(e){return e.Tg()==this},l.Qg=function(e){return Lst(this,e)},l.Rg=function(e,n){this.w=null,this.Db=n<<16|this.Db&255,this.Cb=e},l._g=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return hv(this);case 4:return this.zj();case 5:return this.F;case 6:return n?Rl(this):O8(this);case 7:return!this.A&&(this.A=new Fu(hu,this,7)),this.A}return uh(this,e-Jn(this.zh()),yn((s=u(Dn(this,16),26),s||this.zh()),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?Lst(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,6,r)}return h=u(yn((s=u(Dn(this,16),26),s||this.zh()),n),66),h.Nj().Qj(this,su(this),n-Jn(this.zh()),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 6:return Hl(this,null,6,r);case 7:return!this.A&&(this.A=new Fu(hu,this,7)),Ba(this.A,e,r)}return o=u(yn((s=u(Dn(this,16),26),s||this.zh()),n),66),o.Nj().Rj(this,su(this),n-Jn(this.zh()),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!hv(this);case 4:return this.zj()!=null;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!O8(this);case 7:return!!this.A&&this.A.i!=0}return oh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:_$(this,Br(n));return;case 2:snt(this,Br(n));return;case 5:OE(this,Br(n));return;case 7:!this.A&&(this.A=new Fu(hu,this,7)),xr(this.A),!this.A&&(this.A=new Fu(hu,this,7)),is(this.A,u(n,14));return}gh(this,e-Jn(this.zh()),yn((r=u(Dn(this,16),26),r||this.zh()),e),n)},l.zh=function(){return dn(),f5e},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:_t(this.Cb,179)&&(u(this.Cb,179).tb=null),Qc(this,null);return;case 2:aE(this,null),Y8(this,this.D);return;case 5:OE(this,null);return;case 7:!this.A&&(this.A=new Fu(hu,this,7)),xr(this.A);return}fh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.yj=function(){var e;return this.G==-1&&(this.G=(e=Rl(this),e?Hg(e.Mh(),this):-1)),this.G},l.zj=function(){return null},l.Aj=function(){return Rl(this)},l.vk=function(){return this.v},l.Bj=function(){return hv(this)},l.Cj=function(){return this.D!=null?this.D:this.B},l.Dj=function(){return this.F},l.wj=function(e){return xat(this,e)},l.wk=function(e){this.v=e},l.xk=function(e){Cne(this,e)},l.yk=function(e){this.C=e},l.Lh=function(e){_$(this,e)},l.Ib=function(){return Rz(this)},l.C=null,l.D=null,l.G=-1,F(Mn,"EClassifierImpl",351),D(88,351,{105:1,92:1,90:1,26:1,138:1,147:1,191:1,56:1,108:1,49:1,97:1,88:1,351:1,150:1,473:1,114:1,115:1,676:1},eM),l.uk=function(e){return zZe(this,e.Tg())},l._g=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return hv(this);case 4:return null;case 5:return this.F;case 6:return n?Rl(this):O8(this);case 7:return!this.A&&(this.A=new Fu(hu,this,7)),this.A;case 8:return Nn(),!!(this.Bb&256);case 9:return Nn(),!!(this.Bb&512);case 10:return Ao(this);case 11:return!this.q&&(this.q=new fe(Wh,this,11,10)),this.q;case 12:return T4(this);case 13:return C_(this);case 14:return C_(this),this.r;case 15:return T4(this),this.k;case 16:return Z4t(this);case 17:return _at(this);case 18:return vd(this);case 19:return mq(this);case 20:return T4(this),this.o;case 21:return!this.s&&(this.s=new fe(Mu,this,21,17)),this.s;case 22:return Lc(this);case 23:return hat(this)}return uh(this,e-Jn((dn(),Lb)),yn((s=u(Dn(this,16),26),s||Lb),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?Lst(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,6,r);case 11:return!this.q&&(this.q=new fe(Wh,this,11,10)),Zc(this.q,e,r);case 21:return!this.s&&(this.s=new fe(Mu,this,21,17)),Zc(this.s,e,r)}return h=u(yn((s=u(Dn(this,16),26),s||(dn(),Lb)),n),66),h.Nj().Qj(this,su(this),n-Jn((dn(),Lb)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 6:return Hl(this,null,6,r);case 7:return!this.A&&(this.A=new Fu(hu,this,7)),Ba(this.A,e,r);case 11:return!this.q&&(this.q=new fe(Wh,this,11,10)),Ba(this.q,e,r);case 21:return!this.s&&(this.s=new fe(Mu,this,21,17)),Ba(this.s,e,r);case 22:return Ba(Lc(this),e,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),Lb)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),Lb)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!hv(this);case 4:return!1;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!O8(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)!=0;case 9:return(this.Bb&512)!=0;case 10:return!!this.u&&Lc(this.u.a).i!=0&&!(this.n&&vst(this.n));case 11:return!!this.q&&this.q.i!=0;case 12:return T4(this).i!=0;case 13:return C_(this).i!=0;case 14:return C_(this),this.r.i!=0;case 15:return T4(this),this.k.i!=0;case 16:return Z4t(this).i!=0;case 17:return _at(this).i!=0;case 18:return vd(this).i!=0;case 19:return mq(this).i!=0;case 20:return T4(this),!!this.o;case 21:return!!this.s&&this.s.i!=0;case 22:return!!this.n&&vst(this.n);case 23:return hat(this).i!=0}return oh(this,e-Jn((dn(),Lb)),yn((n=u(Dn(this,16),26),n||Lb),e))},l.oh=function(e){var n;return n=this.i==null||this.q&&this.q.i!=0?null:mI(this,e),n||Lxt(this,e)},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:_$(this,Br(n));return;case 2:snt(this,Br(n));return;case 5:OE(this,Br(n));return;case 7:!this.A&&(this.A=new Fu(hu,this,7)),xr(this.A),!this.A&&(this.A=new Fu(hu,this,7)),is(this.A,u(n,14));return;case 8:r3t(this,je(Re(n)));return;case 9:i3t(this,je(Re(n)));return;case 10:A_(Ao(this)),is(Ao(this),u(n,14));return;case 11:!this.q&&(this.q=new fe(Wh,this,11,10)),xr(this.q),!this.q&&(this.q=new fe(Wh,this,11,10)),is(this.q,u(n,14));return;case 21:!this.s&&(this.s=new fe(Mu,this,21,17)),xr(this.s),!this.s&&(this.s=new fe(Mu,this,21,17)),is(this.s,u(n,14));return;case 22:xr(Lc(this)),is(Lc(this),u(n,14));return}gh(this,e-Jn((dn(),Lb)),yn((r=u(Dn(this,16),26),r||Lb),e),n)},l.zh=function(){return dn(),Lb},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:_t(this.Cb,179)&&(u(this.Cb,179).tb=null),Qc(this,null);return;case 2:aE(this,null),Y8(this,this.D);return;case 5:OE(this,null);return;case 7:!this.A&&(this.A=new Fu(hu,this,7)),xr(this.A);return;case 8:r3t(this,!1);return;case 9:i3t(this,!1);return;case 10:this.u&&A_(this.u);return;case 11:!this.q&&(this.q=new fe(Wh,this,11,10)),xr(this.q);return;case 21:!this.s&&(this.s=new fe(Mu,this,21,17)),xr(this.s);return;case 22:this.n&&xr(this.n);return}fh(this,e-Jn((dn(),Lb)),yn((n=u(Dn(this,16),26),n||Lb),e))},l.Gh=function(){var e,n;if(T4(this),C_(this),Z4t(this),_at(this),vd(this),mq(this),hat(this),z9(ien(sl(this))),this.s)for(e=0,n=this.s.i;e=0;--n)At(this,n);return _3t(this,e)},l.Xj=function(){xr(this)},l.oi=function(e,n){return Yee(this,e,n)},F($i,"EcoreEList",622),D(496,622,zo,ZM),l.ai=function(){return!1},l.aj=function(){return this.c},l.bj=function(){return!1},l.Fk=function(){return!0},l.hi=function(){return!0},l.li=function(e,n){return n},l.ni=function(){return!1},l.c=0,F($i,"EObjectEList",496),D(85,496,zo,As),l.bj=function(){return!0},l.Dk=function(){return!1},l.rk=function(){return!0},F($i,"EObjectContainmentEList",85),D(545,85,zo,kj),l.ci=function(){this.b=!0},l.fj=function(){return this.b},l.Xj=function(){var e;xr(this),xl(this.e)?(e=this.b,this.b=!1,mi(this.e,new bf(this.e,2,this.c,e,!1))):this.b=!1},l.b=!1,F($i,"EObjectContainmentEList/Unsettable",545),D(1140,545,zo,PKt),l.ii=function(e,n){var r,s;return r=u(r_(this,e,n),87),xl(this.e)&&n8(this,new mD(this.a,7,(dn(),d5e),pe(n),(s=r.c,_t(s,88)?u(s,26):Kh),e)),r},l.jj=function(e,n){return Uhn(this,u(e,87),n)},l.kj=function(e,n){return Ghn(this,u(e,87),n)},l.lj=function(e,n,r){return Wdn(this,u(e,87),u(n,87),r)},l.Zi=function(e,n,r,s,o){switch(e){case 3:return F9(this,e,n,r,s,this.i>1);case 5:return F9(this,e,n,r,s,this.i-u(r,15).gc()>0);default:return new z0(this.e,e,this.c,n,r,s,!0)}},l.ij=function(){return!0},l.fj=function(){return vst(this)},l.Xj=function(){xr(this)},F(Mn,"EClassImpl/1",1140),D(1154,1153,B8t),l.ui=function(e){var n,r,s,o,h,d,v;if(r=e.xi(),r!=8){if(s=Lfn(e),s==0)switch(r){case 1:case 9:{v=e.Bi(),v!=null&&(n=sl(u(v,473)),!n.c&&(n.c=new Tm),X$(n.c,e.Ai())),d=e.zi(),d!=null&&(o=u(d,473),o.Bb&1||(n=sl(o),!n.c&&(n.c=new Tm),Dr(n.c,u(e.Ai(),26))));break}case 3:{d=e.zi(),d!=null&&(o=u(d,473),o.Bb&1||(n=sl(o),!n.c&&(n.c=new Tm),Dr(n.c,u(e.Ai(),26))));break}case 5:{if(d=e.zi(),d!=null)for(h=u(d,14).Kc();h.Ob();)o=u(h.Pb(),473),o.Bb&1||(n=sl(o),!n.c&&(n.c=new Tm),Dr(n.c,u(e.Ai(),26)));break}case 4:{v=e.Bi(),v!=null&&(o=u(v,473),o.Bb&1||(n=sl(o),!n.c&&(n.c=new Tm),X$(n.c,e.Ai())));break}case 6:{if(v=e.Bi(),v!=null)for(h=u(v,14).Kc();h.Ob();)o=u(h.Pb(),473),o.Bb&1||(n=sl(o),!n.c&&(n.c=new Tm),X$(n.c,e.Ai()));break}}this.Hk(s)}},l.Hk=function(e){Oue(this,e)},l.b=63,F(Mn,"ESuperAdapter",1154),D(1155,1154,B8t,Uzt),l.Hk=function(e){gy(this,e)},F(Mn,"EClassImpl/10",1155),D(1144,696,zo),l.Vh=function(e,n){return $st(this,e,n)},l.Wh=function(e){return Lse(this,e)},l.Xh=function(e,n){UD(this,e,n)},l.Yh=function(e){gD(this,e)},l.pi=function(e){return Fmt(this,e)},l.mi=function(e,n){return sit(this,e,n)},l.lk=function(e,n){throw it(new Or)},l.Zh=function(){return new Bx(this)},l.$h=function(){return new $M(this)},l._h=function(e){return DD(this,e)},l.mk=function(e,n){throw it(new Or)},l.Wj=function(e){return this},l.fj=function(){return this.i!=0},l.Wb=function(e){throw it(new Or)},l.Xj=function(){throw it(new Or)},F($i,"EcoreEList/UnmodifiableEList",1144),D(319,1144,zo,V3),l.ni=function(){return!1},F($i,"EcoreEList/UnmodifiableEList/FastCompare",319),D(1147,319,zo,wre),l.Xc=function(e){var n,r,s;if(_t(e,170)&&(n=u(e,170),r=n.aj(),r!=-1)){for(s=this.i;r4)if(this.wj(e)){if(this.rk()){if(s=u(e,49),r=s.Ug(),v=r==this.b&&(this.Dk()?s.Og(s.Vg(),u(yn(vu(this.b),this.aj()).Yj(),26).Bj())==no(u(yn(vu(this.b),this.aj()),18)).n:-1-s.Vg()==this.aj()),this.Ek()&&!v&&!r&&s.Zg()){for(o=0;o1||s==-1)):!1},l.Dk=function(){var e,n,r;return n=yn(vu(this.b),this.aj()),_t(n,99)?(e=u(n,18),r=no(e),!!r):!1},l.Ek=function(){var e,n;return n=yn(vu(this.b),this.aj()),_t(n,99)?(e=u(n,18),(e.Bb&Ka)!=0):!1},l.Xc=function(e){var n,r,s,o;if(s=this.Qi(e),s>=0)return s;if(this.Fk()){for(r=0,o=this.Vi();r=0;--e)AI(this,e,this.Oi(e));return this.Wi()},l.Qc=function(e){var n;if(this.Ek())for(n=this.Vi()-1;n>=0;--n)AI(this,n,this.Oi(n));return this.Xi(e)},l.Xj=function(){A_(this)},l.oi=function(e,n){return Ite(this,e,n)},F($i,"DelegatingEcoreEList",742),D(1150,742,z8t,KWt),l.Hi=function(e,n){pZe(this,e,u(n,26))},l.Ii=function(e){uQe(this,u(e,26))},l.Oi=function(e){var n,r;return n=u(At(Lc(this.a),e),87),r=n.c,_t(r,88)?u(r,26):(dn(),Kh)},l.Ti=function(e){var n,r;return n=u(by(Lc(this.a),e),87),r=n.c,_t(r,88)?u(r,26):(dn(),Kh)},l.Ui=function(e,n){return b1n(this,e,u(n,26))},l.ai=function(){return!1},l.Zi=function(e,n,r,s,o){return null},l.Ji=function(){return new Yzt(this)},l.Ki=function(){xr(Lc(this.a))},l.Li=function(e){return cie(this,e)},l.Mi=function(e){var n,r;for(r=e.Kc();r.Ob();)if(n=r.Pb(),!cie(this,n))return!1;return!0},l.Ni=function(e){var n,r,s;if(_t(e,15)&&(s=u(e,15),s.gc()==Lc(this.a).i)){for(n=s.Kc(),r=new nr(this);n.Ob();)if(Vt(n.Pb())!==Vt(dr(r)))return!1;return!0}return!1},l.Pi=function(){var e,n,r,s,o;for(r=1,n=new nr(Lc(this.a));n.e!=n.i.gc();)e=u(dr(n),87),s=(o=e.c,_t(o,88)?u(o,26):(dn(),Kh)),r=31*r+(s?Pw(s):0);return r},l.Qi=function(e){var n,r,s,o;for(s=0,r=new nr(Lc(this.a));r.e!=r.i.gc();){if(n=u(dr(r),87),Vt(e)===Vt((o=n.c,_t(o,88)?u(o,26):(dn(),Kh))))return s;++s}return-1},l.Ri=function(){return Lc(this.a).i==0},l.Si=function(){return null},l.Vi=function(){return Lc(this.a).i},l.Wi=function(){var e,n,r,s,o,h;for(h=Lc(this.a).i,o=Nt(Qn,De,1,h,5,1),r=0,n=new nr(Lc(this.a));n.e!=n.i.gc();)e=u(dr(n),87),o[r++]=(s=e.c,_t(s,88)?u(s,26):(dn(),Kh));return o},l.Xi=function(e){var n,r,s,o,h,d,v;for(v=Lc(this.a).i,e.lengthv&&ts(e,v,null),s=0,r=new nr(Lc(this.a));r.e!=r.i.gc();)n=u(dr(r),87),h=(d=n.c,_t(d,88)?u(d,26):(dn(),Kh)),ts(e,s++,h);return e},l.Yi=function(){var e,n,r,s,o;for(o=new Ag,o.a+="[",e=Lc(this.a),n=0,s=Lc(this.a).i;n>16,o>=0?Lst(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,6,r);case 9:return!this.a&&(this.a=new fe(ag,this,9,5)),Zc(this.a,e,r)}return h=u(yn((s=u(Dn(this,16),26),s||(dn(),Mb)),n),66),h.Nj().Qj(this,su(this),n-Jn((dn(),Mb)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 6:return Hl(this,null,6,r);case 7:return!this.A&&(this.A=new Fu(hu,this,7)),Ba(this.A,e,r);case 9:return!this.a&&(this.a=new fe(ag,this,9,5)),Ba(this.a,e,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),Mb)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),Mb)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!hv(this);case 4:return!!Hyt(this);case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!O8(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)==0;case 9:return!!this.a&&this.a.i!=0}return oh(this,e-Jn((dn(),Mb)),yn((n=u(Dn(this,16),26),n||Mb),e))},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:_$(this,Br(n));return;case 2:snt(this,Br(n));return;case 5:OE(this,Br(n));return;case 7:!this.A&&(this.A=new Fu(hu,this,7)),xr(this.A),!this.A&&(this.A=new Fu(hu,this,7)),is(this.A,u(n,14));return;case 8:Iz(this,je(Re(n)));return;case 9:!this.a&&(this.a=new fe(ag,this,9,5)),xr(this.a),!this.a&&(this.a=new fe(ag,this,9,5)),is(this.a,u(n,14));return}gh(this,e-Jn((dn(),Mb)),yn((r=u(Dn(this,16),26),r||Mb),e),n)},l.zh=function(){return dn(),Mb},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:_t(this.Cb,179)&&(u(this.Cb,179).tb=null),Qc(this,null);return;case 2:aE(this,null),Y8(this,this.D);return;case 5:OE(this,null);return;case 7:!this.A&&(this.A=new Fu(hu,this,7)),xr(this.A);return;case 8:Iz(this,!0);return;case 9:!this.a&&(this.a=new fe(ag,this,9,5)),xr(this.a);return}fh(this,e-Jn((dn(),Mb)),yn((n=u(Dn(this,16),26),n||Mb),e))},l.Gh=function(){var e,n;if(this.a)for(e=0,n=this.a.i;e>16==5?u(this.Cb,671):null}return uh(this,e-Jn((dn(),op)),yn((s=u(Dn(this,16),26),s||op),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 5:return this.Cb&&(r=(o=this.Db>>16,o>=0?tae(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,5,r)}return h=u(yn((s=u(Dn(this,16),26),s||(dn(),op)),n),66),h.Nj().Qj(this,su(this),n-Jn((dn(),op)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 5:return Hl(this,null,5,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),op)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),op)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.d!=0;case 3:return!!this.b;case 4:return this.c!=null;case 5:return!!(this.Db>>16==5&&u(this.Cb,671))}return oh(this,e-Jn((dn(),op)),yn((n=u(Dn(this,16),26),n||op),e))},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Qc(this,Br(n));return;case 2:hit(this,u(n,19).a);return;case 3:Koe(this,u(n,1940));return;case 4:dit(this,Br(n));return}gh(this,e-Jn((dn(),op)),yn((r=u(Dn(this,16),26),r||op),e),n)},l.zh=function(){return dn(),op},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:Qc(this,null);return;case 2:hit(this,0);return;case 3:Koe(this,null);return;case 4:dit(this,null);return}fh(this,e-Jn((dn(),op)),yn((n=u(Dn(this,16),26),n||op),e))},l.Ib=function(){var e;return e=this.c,e??this.zb},l.b=null,l.c=null,l.d=0,F(Mn,"EEnumLiteralImpl",573);var x6n=Ki(Mn,"EFactoryImpl/InternalEDateTimeFormat");D(489,1,{2015:1},fM),F(Mn,"EFactoryImpl/1ClientInternalEDateTimeFormat",489),D(241,115,{105:1,92:1,90:1,87:1,56:1,108:1,49:1,97:1,241:1,114:1,115:1},xw),l.Sg=function(e,n,r){var s;return r=Hl(this,e,n,r),this.e&&_t(e,170)&&(s=vq(this,this.e),s!=this.c&&(r=PE(this,s,r))),r},l._g=function(e,n,r){var s;switch(e){case 0:return this.f;case 1:return!this.d&&(this.d=new As(ho,this,1)),this.d;case 2:return n?Lq(this):this.c;case 3:return this.b;case 4:return this.e;case 5:return n?xst(this):this.a}return uh(this,e-Jn((dn(),Gv)),yn((s=u(Dn(this,16),26),s||Gv),e),n,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return Zre(this,null,r);case 1:return!this.d&&(this.d=new As(ho,this,1)),Ba(this.d,e,r);case 3:return Qre(this,null,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),Gv)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),Gv)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.f;case 1:return!!this.d&&this.d.i!=0;case 2:return!!this.c;case 3:return!!this.b;case 4:return!!this.e;case 5:return!!this.a}return oh(this,e-Jn((dn(),Gv)),yn((n=u(Dn(this,16),26),n||Gv),e))},l.sh=function(e,n){var r;switch(e){case 0:vae(this,u(n,87));return;case 1:!this.d&&(this.d=new As(ho,this,1)),xr(this.d),!this.d&&(this.d=new As(ho,this,1)),is(this.d,u(n,14));return;case 3:k4t(this,u(n,87));return;case 4:j4t(this,u(n,836));return;case 5:H8(this,u(n,138));return}gh(this,e-Jn((dn(),Gv)),yn((r=u(Dn(this,16),26),r||Gv),e),n)},l.zh=function(){return dn(),Gv},l.Bh=function(e){var n;switch(e){case 0:vae(this,null);return;case 1:!this.d&&(this.d=new As(ho,this,1)),xr(this.d);return;case 3:k4t(this,null);return;case 4:j4t(this,null);return;case 5:H8(this,null);return}fh(this,e-Jn((dn(),Gv)),yn((n=u(Dn(this,16),26),n||Gv),e))},l.Ib=function(){var e;return e=new Ol(mf(this)),e.a+=" (expression: ",Mat(this,e),e.a+=")",e.a};var oLt;F(Mn,"EGenericTypeImpl",241),D(1969,1964,NH),l.Xh=function(e,n){UWt(this,e,n)},l.lk=function(e,n){return UWt(this,this.gc(),e),n},l.pi=function(e){return Zf(this.Gi(),e)},l.Zh=function(){return this.$h()},l.Gi=function(){return new Zzt(this)},l.$h=function(){return this._h(0)},l._h=function(e){return this.Gi().Zc(e)},l.mk=function(e,n){return ay(this,e,!0),n},l.ii=function(e,n){var r,s;return s=Dst(this,n),r=this.Zc(e),r.Rb(s),s},l.ji=function(e,n){var r;ay(this,n,!0),r=this.Zc(e),r.Rb(n)},F($i,"AbstractSequentialInternalEList",1969),D(486,1969,NH,jM),l.pi=function(e){return Zf(this.Gi(),e)},l.Zh=function(){return this.b==null?(Mg(),Mg(),bP):this.Jk()},l.Gi=function(){return new wUt(this.a,this.b)},l.$h=function(){return this.b==null?(Mg(),Mg(),bP):this.Jk()},l._h=function(e){var n,r;if(this.b==null){if(e<0||e>1)throw it(new yo(J_+e+", size=0"));return Mg(),Mg(),bP}for(r=this.Jk(),n=0;n0;)if(n=this.c[--this.d],(!this.e||n.Gj()!=j7||n.aj()!=0)&&(!this.Mk()||this.b.mh(n))){if(h=this.b.bh(n,this.Lk()),this.f=(to(),u(n,66).Oj()),this.f||n.$j()){if(this.Lk()?(s=u(h,15),this.k=s):(s=u(h,69),this.k=this.j=s),_t(this.k,54)?(this.o=this.k.gc(),this.n=this.o):this.p=this.j?this.j._h(this.k.gc()):this.k.Zc(this.k.gc()),this.p?loe(this,this.p):koe(this))return o=this.p?this.p.Ub():this.j?this.j.pi(--this.n):this.k.Xb(--this.n),this.f?(e=u(o,72),e.ak(),r=e.dd(),this.i=r):(r=o,this.i=r),this.g=-3,!0}else if(h!=null)return this.k=null,this.p=null,r=h,this.i=r,this.g=-2,!0}return this.k=null,this.p=null,this.g=-1,!1}else return o=this.p?this.p.Ub():this.j?this.j.pi(--this.n):this.k.Xb(--this.n),this.f?(e=u(o,72),e.ak(),r=e.dd(),this.i=r):(r=o,this.i=r),this.g=-3,!0}},l.Pb=function(){return kz(this)},l.Tb=function(){return this.a},l.Ub=function(){var e;if(this.g<-1||this.Sb())return--this.a,this.g=0,e=this.i,this.Sb(),e;throw it(new lc)},l.Vb=function(){return this.a-1},l.Qb=function(){throw it(new Or)},l.Lk=function(){return!1},l.Wb=function(e){throw it(new Or)},l.Mk=function(){return!0},l.a=0,l.d=0,l.f=!1,l.g=0,l.n=0,l.o=0;var bP;F($i,"EContentsEList/FeatureIteratorImpl",279),D(697,279,BH,V2t),l.Lk=function(){return!0},F($i,"EContentsEList/ResolvingFeatureIteratorImpl",697),D(1157,697,BH,PWt),l.Mk=function(){return!1},F(Mn,"ENamedElementImpl/1/1",1157),D(1158,279,BH,OWt),l.Mk=function(){return!1},F(Mn,"ENamedElementImpl/1/2",1158),D(36,143,nO,Qm,Rrt,Js,Jrt,z0,bf,Ymt,cZt,Kmt,uZt,mmt,lZt,Zmt,hZt,ymt,fZt,Xmt,dZt,A9,mD,brt,Qmt,gZt,xmt,pZt),l._i=function(){return Imt(this)},l.gj=function(){var e;return e=Imt(this),e?e.zj():null},l.yi=function(e){return this.b==-1&&this.a&&(this.b=this.c.Xg(this.a.aj(),this.a.Gj())),this.c.Og(this.b,e)},l.Ai=function(){return this.c},l.hj=function(){var e;return e=Imt(this),e?e.Kj():!1},l.b=-1,F(Mn,"ENotificationImpl",36),D(399,284,{105:1,92:1,90:1,147:1,191:1,56:1,59:1,108:1,472:1,49:1,97:1,150:1,399:1,284:1,114:1,115:1},iet),l.Qg=function(e){return rae(this,e)},l._g=function(e,n,r){var s,o,h;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return pe(this.s);case 5:return pe(this.t);case 6:return Nn(),h=this.t,h>1||h==-1;case 7:return Nn(),o=this.s,o>=1;case 8:return n?Dh(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?u(this.Cb,26):null;case 11:return!this.d&&(this.d=new Fu(hu,this,11)),this.d;case 12:return!this.c&&(this.c=new fe(Vv,this,12,10)),this.c;case 13:return!this.a&&(this.a=new GM(this,this)),this.a;case 14:return al(this)}return uh(this,e-Jn((dn(),cp)),yn((s=u(Dn(this,16),26),s||cp),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 10:return this.Cb&&(r=(o=this.Db>>16,o>=0?rae(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,10,r);case 12:return!this.c&&(this.c=new fe(Vv,this,12,10)),Zc(this.c,e,r)}return h=u(yn((s=u(Dn(this,16),26),s||(dn(),cp)),n),66),h.Nj().Qj(this,su(this),n-Jn((dn(),cp)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 9:return nrt(this,r);case 10:return Hl(this,null,10,r);case 11:return!this.d&&(this.d=new Fu(hu,this,11)),Ba(this.d,e,r);case 12:return!this.c&&(this.c=new fe(Vv,this,12,10)),Ba(this.c,e,r);case 14:return Ba(al(this),e,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),cp)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),cp)),e,r)},l.lh=function(e){var n,r,s;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return s=this.t,s>1||s==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&qw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&qw(this.q).i==0);case 10:return!!(this.Db>>16==10&&u(this.Cb,26));case 11:return!!this.d&&this.d.i!=0;case 12:return!!this.c&&this.c.i!=0;case 13:return!!this.a&&al(this.a.a).i!=0&&!(this.b&&mst(this.b));case 14:return!!this.b&&mst(this.b)}return oh(this,e-Jn((dn(),cp)),yn((n=u(Dn(this,16),26),n||cp),e))},l.sh=function(e,n){var r,s;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Qc(this,Br(n));return;case 2:zg(this,je(Re(n)));return;case 3:qg(this,je(Re(n)));return;case 4:Rg(this,u(n,19).a);return;case 5:ry(this,u(n,19).a);return;case 8:b2(this,u(n,138));return;case 9:s=F1(this,u(n,87),null),s&&s.Fi();return;case 11:!this.d&&(this.d=new Fu(hu,this,11)),xr(this.d),!this.d&&(this.d=new Fu(hu,this,11)),is(this.d,u(n,14));return;case 12:!this.c&&(this.c=new fe(Vv,this,12,10)),xr(this.c),!this.c&&(this.c=new fe(Vv,this,12,10)),is(this.c,u(n,14));return;case 13:!this.a&&(this.a=new GM(this,this)),A_(this.a),!this.a&&(this.a=new GM(this,this)),is(this.a,u(n,14));return;case 14:xr(al(this)),is(al(this),u(n,14));return}gh(this,e-Jn((dn(),cp)),yn((r=u(Dn(this,16),26),r||cp),e),n)},l.zh=function(){return dn(),cp},l.Bh=function(e){var n,r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:Qc(this,null);return;case 2:zg(this,!0);return;case 3:qg(this,!0);return;case 4:Rg(this,0);return;case 5:ry(this,1);return;case 8:b2(this,null);return;case 9:r=F1(this,null,null),r&&r.Fi();return;case 11:!this.d&&(this.d=new Fu(hu,this,11)),xr(this.d);return;case 12:!this.c&&(this.c=new fe(Vv,this,12,10)),xr(this.c);return;case 13:this.a&&A_(this.a);return;case 14:this.b&&xr(this.b);return}fh(this,e-Jn((dn(),cp)),yn((n=u(Dn(this,16),26),n||cp),e))},l.Gh=function(){var e,n;if(this.c)for(e=0,n=this.c.i;ev&&ts(e,v,null),s=0,r=new nr(al(this.a));r.e!=r.i.gc();)n=u(dr(r),87),h=(d=n.c,d||(dn(),W1)),ts(e,s++,h);return e},l.Yi=function(){var e,n,r,s,o;for(o=new Ag,o.a+="[",e=al(this.a),n=0,s=al(this.a).i;n1);case 5:return F9(this,e,n,r,s,this.i-u(r,15).gc()>0);default:return new z0(this.e,e,this.c,n,r,s,!0)}},l.ij=function(){return!0},l.fj=function(){return mst(this)},l.Xj=function(){xr(this)},F(Mn,"EOperationImpl/2",1341),D(498,1,{1938:1,498:1},QGt),F(Mn,"EPackageImpl/1",498),D(16,85,zo,fe),l.zk=function(){return this.d},l.Ak=function(){return this.b},l.Dk=function(){return!0},l.b=0,F($i,"EObjectContainmentWithInverseEList",16),D(353,16,zo,Rx),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectContainmentWithInverseEList/Resolving",353),D(298,353,zo,Gm),l.ci=function(){this.a.tb=null},F(Mn,"EPackageImpl/2",298),D(1228,1,{},hB),F(Mn,"EPackageImpl/3",1228),D(718,43,A4,Upt),l._b=function(e){return ra(e)?wrt(this,e):!!Lo(this.f,e)},F(Mn,"EPackageRegistryImpl",718),D(509,284,{105:1,92:1,90:1,147:1,191:1,56:1,2017:1,108:1,472:1,49:1,97:1,150:1,509:1,284:1,114:1,115:1},set),l.Qg=function(e){return iae(this,e)},l._g=function(e,n,r){var s,o,h;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return pe(this.s);case 5:return pe(this.t);case 6:return Nn(),h=this.t,h>1||h==-1;case 7:return Nn(),o=this.s,o>=1;case 8:return n?Dh(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?u(this.Cb,59):null}return uh(this,e-Jn((dn(),i3)),yn((s=u(Dn(this,16),26),s||i3),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 10:return this.Cb&&(r=(o=this.Db>>16,o>=0?iae(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,10,r)}return h=u(yn((s=u(Dn(this,16),26),s||(dn(),i3)),n),66),h.Nj().Qj(this,su(this),n-Jn((dn(),i3)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 9:return nrt(this,r);case 10:return Hl(this,null,10,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),i3)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),i3)),e,r)},l.lh=function(e){var n,r,s;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return s=this.t,s>1||s==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&qw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&qw(this.q).i==0);case 10:return!!(this.Db>>16==10&&u(this.Cb,59))}return oh(this,e-Jn((dn(),i3)),yn((n=u(Dn(this,16),26),n||i3),e))},l.zh=function(){return dn(),i3},F(Mn,"EParameterImpl",509),D(99,449,{105:1,92:1,90:1,147:1,191:1,56:1,18:1,170:1,66:1,108:1,472:1,49:1,97:1,150:1,99:1,449:1,284:1,114:1,115:1,677:1},K2t),l._g=function(e,n,r){var s,o,h,d;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return pe(this.s);case 5:return pe(this.t);case 6:return Nn(),d=this.t,d>1||d==-1;case 7:return Nn(),o=this.s,o>=1;case 8:return n?Dh(this):this.r;case 9:return this.q;case 10:return Nn(),!!(this.Bb&xf);case 11:return Nn(),!!(this.Bb&Dy);case 12:return Nn(),!!(this.Bb&Ey);case 13:return this.j;case 14:return SE(this);case 15:return Nn(),!!(this.Bb&Hu);case 16:return Nn(),!!(this.Bb&md);case 17:return Ym(this);case 18:return Nn(),!!(this.Bb&dc);case 19:return Nn(),h=no(this),!!(h&&h.Bb&dc);case 20:return Nn(),!!(this.Bb&Ka);case 21:return n?no(this):this.b;case 22:return n?Iyt(this):BJt(this);case 23:return!this.a&&(this.a=new Y3(e3,this,23)),this.a}return uh(this,e-Jn((dn(),l5)),yn((s=u(Dn(this,16),26),s||l5),e),n,r)},l.lh=function(e){var n,r,s,o;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return o=this.t,o>1||o==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&qw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&qw(this.q).i==0);case 10:return(this.Bb&xf)==0;case 11:return(this.Bb&Dy)!=0;case 12:return(this.Bb&Ey)!=0;case 13:return this.j!=null;case 14:return SE(this)!=null;case 15:return(this.Bb&Hu)!=0;case 16:return(this.Bb&md)!=0;case 17:return!!Ym(this);case 18:return(this.Bb&dc)!=0;case 19:return s=no(this),!!s&&(s.Bb&dc)!=0;case 20:return(this.Bb&Ka)==0;case 21:return!!this.b;case 22:return!!BJt(this);case 23:return!!this.a&&this.a.i!=0}return oh(this,e-Jn((dn(),l5)),yn((n=u(Dn(this,16),26),n||l5),e))},l.sh=function(e,n){var r,s;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Mrt(this,Br(n));return;case 2:zg(this,je(Re(n)));return;case 3:qg(this,je(Re(n)));return;case 4:Rg(this,u(n,19).a);return;case 5:ry(this,u(n,19).a);return;case 8:b2(this,u(n,138));return;case 9:s=F1(this,u(n,87),null),s&&s.Fi();return;case 10:lE(this,je(Re(n)));return;case 11:dE(this,je(Re(n)));return;case 12:hE(this,je(Re(n)));return;case 13:r2t(this,Br(n));return;case 15:fE(this,je(Re(n)));return;case 16:gE(this,je(Re(n)));return;case 18:xin(this,je(Re(n)));return;case 20:u3t(this,je(Re(n)));return;case 21:cyt(this,u(n,18));return;case 23:!this.a&&(this.a=new Y3(e3,this,23)),xr(this.a),!this.a&&(this.a=new Y3(e3,this,23)),is(this.a,u(n,14));return}gh(this,e-Jn((dn(),l5)),yn((r=u(Dn(this,16),26),r||l5),e),n)},l.zh=function(){return dn(),l5},l.Bh=function(e){var n,r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:_t(this.Cb,88)&&gy(sl(u(this.Cb,88)),4),Qc(this,null);return;case 2:zg(this,!0);return;case 3:qg(this,!0);return;case 4:Rg(this,0);return;case 5:ry(this,1);return;case 8:b2(this,null);return;case 9:r=F1(this,null,null),r&&r.Fi();return;case 10:lE(this,!0);return;case 11:dE(this,!1);return;case 12:hE(this,!1);return;case 13:this.i=null,fz(this,null);return;case 15:fE(this,!1);return;case 16:gE(this,!1);return;case 18:c3t(this,!1),_t(this.Cb,88)&&gy(sl(u(this.Cb,88)),2);return;case 20:u3t(this,!0);return;case 21:cyt(this,null);return;case 23:!this.a&&(this.a=new Y3(e3,this,23)),xr(this.a);return}fh(this,e-Jn((dn(),l5)),yn((n=u(Dn(this,16),26),n||l5),e))},l.Gh=function(){Iyt(this),M8(To(($u(),ya),this)),Dh(this),this.Bb|=1},l.Lj=function(){return no(this)},l.qk=function(){var e;return e=no(this),!!e&&(e.Bb&dc)!=0},l.rk=function(){return(this.Bb&dc)!=0},l.sk=function(){return(this.Bb&Ka)!=0},l.nk=function(e,n){return this.c=null,e3t(this,e,n)},l.Ib=function(){var e;return this.Db&64?_q(this):(e=new _h(_q(this)),e.a+=" (containment: ",Lg(e,(this.Bb&dc)!=0),e.a+=", resolveProxies: ",Lg(e,(this.Bb&Ka)!=0),e.a+=")",e.a)},F(Mn,"EReferenceImpl",99),D(548,115,{105:1,42:1,92:1,90:1,133:1,56:1,108:1,49:1,97:1,548:1,114:1,115:1},iJ),l.Fb=function(e){return this===e},l.cd=function(){return this.b},l.dd=function(){return this.c},l.Hb=function(){return Pw(this)},l.Uh=function(e){_en(this,Br(e))},l.ed=function(e){return gen(this,Br(e))},l._g=function(e,n,r){var s;switch(e){case 0:return this.b;case 1:return this.c}return uh(this,e-Jn((dn(),Qa)),yn((s=u(Dn(this,16),26),s||Qa),e),n,r)},l.lh=function(e){var n;switch(e){case 0:return this.b!=null;case 1:return this.c!=null}return oh(this,e-Jn((dn(),Qa)),yn((n=u(Dn(this,16),26),n||Qa),e))},l.sh=function(e,n){var r;switch(e){case 0:Sen(this,Br(n));return;case 1:syt(this,Br(n));return}gh(this,e-Jn((dn(),Qa)),yn((r=u(Dn(this,16),26),r||Qa),e),n)},l.zh=function(){return dn(),Qa},l.Bh=function(e){var n;switch(e){case 0:iyt(this,null);return;case 1:syt(this,null);return}fh(this,e-Jn((dn(),Qa)),yn((n=u(Dn(this,16),26),n||Qa),e))},l.Sh=function(){var e;return this.a==-1&&(e=this.b,this.a=e==null?0:Vg(e)),this.a},l.Th=function(e){this.a=e},l.Ib=function(){var e;return this.Db&64?mf(this):(e=new _h(mf(this)),e.a+=" (key: ",go(e,this.b),e.a+=", value: ",go(e,this.c),e.a+=")",e.a)},l.a=-1,l.b=null,l.c=null;var cc=F(Mn,"EStringToStringMapEntryImpl",548),E5e=Ki($i,"FeatureMap/Entry/Internal");D(565,1,RH),l.Ok=function(e){return this.Pk(u(e,49))},l.Pk=function(e){return this.Ok(e)},l.Fb=function(e){var n,r;return this===e?!0:_t(e,72)?(n=u(e,72),n.ak()==this.c?(r=this.dd(),r==null?n.dd()==null:yi(r,n.dd())):!1):!1},l.ak=function(){return this.c},l.Hb=function(){var e;return e=this.dd(),Hi(this.c)^(e==null?0:Hi(e))},l.Ib=function(){var e,n;return e=this.c,n=Rl(e.Hj()).Ph(),e.ne(),(n!=null&&n.length!=0?n+":"+e.ne():e.ne())+"="+this.dd()},F(Mn,"EStructuralFeatureImpl/BasicFeatureMapEntry",565),D(776,565,RH,iwt),l.Pk=function(e){return new iwt(this.c,e)},l.dd=function(){return this.a},l.Qk=function(e,n,r){return Hcn(this,e,this.a,n,r)},l.Rk=function(e,n,r){return Vcn(this,e,this.a,n,r)},F(Mn,"EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry",776),D(1314,1,{},ZGt),l.Pj=function(e,n,r,s,o){var h;return h=u(j8(e,this.b),215),h.nl(this.a).Wj(s)},l.Qj=function(e,n,r,s,o){var h;return h=u(j8(e,this.b),215),h.el(this.a,s,o)},l.Rj=function(e,n,r,s,o){var h;return h=u(j8(e,this.b),215),h.fl(this.a,s,o)},l.Sj=function(e,n,r){var s;return s=u(j8(e,this.b),215),s.nl(this.a).fj()},l.Tj=function(e,n,r,s){var o;o=u(j8(e,this.b),215),o.nl(this.a).Wb(s)},l.Uj=function(e,n,r){return u(j8(e,this.b),215).nl(this.a)},l.Vj=function(e,n,r){var s;s=u(j8(e,this.b),215),s.nl(this.a).Xj()},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator",1314),D(89,1,{},Ig,n2,Pg,s2),l.Pj=function(e,n,r,s,o){var h;if(h=n.Ch(r),h==null&&n.Dh(r,h=jq(this,e)),!o)switch(this.e){case 50:case 41:return u(h,589).sj();case 40:return u(h,215).kl()}return h},l.Qj=function(e,n,r,s,o){var h,d;return d=n.Ch(r),d==null&&n.Dh(r,d=jq(this,e)),h=u(d,69).lk(s,o),h},l.Rj=function(e,n,r,s,o){var h;return h=n.Ch(r),h!=null&&(o=u(h,69).mk(s,o)),o},l.Sj=function(e,n,r){var s;return s=n.Ch(r),s!=null&&u(s,76).fj()},l.Tj=function(e,n,r,s){var o;o=u(n.Ch(r),76),!o&&n.Dh(r,o=jq(this,e)),o.Wb(s)},l.Uj=function(e,n,r){var s,o;return o=n.Ch(r),o==null&&n.Dh(r,o=jq(this,e)),_t(o,76)?u(o,76):(s=u(n.Ch(r),15),new Qzt(s))},l.Vj=function(e,n,r){var s;s=u(n.Ch(r),76),!s&&n.Dh(r,s=jq(this,e)),s.Xj()},l.b=0,l.e=0,F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateMany",89),D(504,1,{}),l.Qj=function(e,n,r,s,o){throw it(new Or)},l.Rj=function(e,n,r,s,o){throw it(new Or)},l.Uj=function(e,n,r){return new WXt(this,e,n,r)};var p0;F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingle",504),D(1331,1,hut,WXt),l.Wj=function(e){return this.a.Pj(this.c,this.d,this.b,e,!0)},l.fj=function(){return this.a.Sj(this.c,this.d,this.b)},l.Wb=function(e){this.a.Tj(this.c,this.d,this.b,e)},l.Xj=function(){this.a.Vj(this.c,this.d,this.b)},l.b=0,F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingle/1",1331),D(769,504,{},$vt),l.Pj=function(e,n,r,s,o){return wat(e,e.eh(),e.Vg())==this.b?this.sk()&&s?eat(e):e.eh():null},l.Qj=function(e,n,r,s,o){var h,d;return e.eh()&&(o=(h=e.Vg(),h>=0?e.Qg(o):e.eh().ih(e,-1-h,null,o))),d=Gi(e.Tg(),this.e),e.Sg(s,d,o)},l.Rj=function(e,n,r,s,o){var h;return h=Gi(e.Tg(),this.e),e.Sg(null,h,o)},l.Sj=function(e,n,r){var s;return s=Gi(e.Tg(),this.e),!!e.eh()&&e.Vg()==s},l.Tj=function(e,n,r,s){var o,h,d,v,k;if(s!=null&&!xat(this.a,s))throw it(new i8(jH+(_t(s,56)?y4t(u(s,56).Tg()):Vmt(ol(s)))+$H+this.a+"'"));if(o=e.eh(),d=Gi(e.Tg(),this.e),Vt(s)!==Vt(o)||e.Vg()!=d&&s!=null){if(vE(e,u(s,56)))throw it(new Fn(Q_+e.Ib()));k=null,o&&(k=(h=e.Vg(),h>=0?e.Qg(k):e.eh().ih(e,-1-h,null,k))),v=u(s,49),v&&(k=v.gh(e,Gi(v.Tg(),this.b),null,k)),k=e.Sg(v,d,k),k&&k.Fi()}else e.Lg()&&e.Mg()&&mi(e,new Js(e,1,d,s,s))},l.Vj=function(e,n,r){var s,o,h,d;s=e.eh(),s?(d=(o=e.Vg(),o>=0?e.Qg(null):e.eh().ih(e,-1-o,null,null)),h=Gi(e.Tg(),this.e),d=e.Sg(null,h,d),d&&d.Fi()):e.Lg()&&e.Mg()&&mi(e,new A9(e,1,this.e,null,null))},l.sk=function(){return!1},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainer",769),D(1315,769,{},jYt),l.sk=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving",1315),D(563,504,{}),l.Pj=function(e,n,r,s,o){var h;return h=n.Ch(r),h==null?this.b:Vt(h)===Vt(p0)?null:h},l.Sj=function(e,n,r){var s;return s=n.Ch(r),s!=null&&(Vt(s)===Vt(p0)||!yi(s,this.b))},l.Tj=function(e,n,r,s){var o,h;e.Lg()&&e.Mg()?(o=(h=n.Ch(r),h==null?this.b:Vt(h)===Vt(p0)?null:h),s==null?this.c!=null?(n.Dh(r,null),s=this.b):this.b!=null?n.Dh(r,p0):n.Dh(r,null):(this.Sk(s),n.Dh(r,s)),mi(e,this.d.Tk(e,1,this.e,o,s))):s==null?this.c!=null?n.Dh(r,null):this.b!=null?n.Dh(r,p0):n.Dh(r,null):(this.Sk(s),n.Dh(r,s))},l.Vj=function(e,n,r){var s,o;e.Lg()&&e.Mg()?(s=(o=n.Ch(r),o==null?this.b:Vt(o)===Vt(p0)?null:o),n.Eh(r),mi(e,this.d.Tk(e,1,this.e,s,this.b))):n.Eh(r)},l.Sk=function(e){throw it(new oqt)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData",563),D(R4,1,{},fB),l.Tk=function(e,n,r,s,o){return new A9(e,n,r,s,o)},l.Uk=function(e,n,r,s,o,h){return new brt(e,n,r,s,o,h)};var cLt,uLt,lLt,hLt,fLt,dLt,gLt,jft,pLt;F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator",R4),D(1332,R4,{},dB),l.Tk=function(e,n,r,s,o){return new xmt(e,n,r,je(Re(s)),je(Re(o)))},l.Uk=function(e,n,r,s,o,h){return new pZt(e,n,r,je(Re(s)),je(Re(o)),h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1",1332),D(1333,R4,{},gB),l.Tk=function(e,n,r,s,o){return new Ymt(e,n,r,u(s,217).a,u(o,217).a)},l.Uk=function(e,n,r,s,o,h){return new cZt(e,n,r,u(s,217).a,u(o,217).a,h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2",1333),D(1334,R4,{},Nk),l.Tk=function(e,n,r,s,o){return new Kmt(e,n,r,u(s,172).a,u(o,172).a)},l.Uk=function(e,n,r,s,o,h){return new uZt(e,n,r,u(s,172).a,u(o,172).a,h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3",1334),D(1335,R4,{},pB),l.Tk=function(e,n,r,s,o){return new mmt(e,n,r,Xt(ye(s)),Xt(ye(o)))},l.Uk=function(e,n,r,s,o,h){return new lZt(e,n,r,Xt(ye(s)),Xt(ye(o)),h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4",1335),D(1336,R4,{},bB),l.Tk=function(e,n,r,s,o){return new Zmt(e,n,r,u(s,155).a,u(o,155).a)},l.Uk=function(e,n,r,s,o,h){return new hZt(e,n,r,u(s,155).a,u(o,155).a,h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5",1336),D(1337,R4,{},sJ),l.Tk=function(e,n,r,s,o){return new ymt(e,n,r,u(s,19).a,u(o,19).a)},l.Uk=function(e,n,r,s,o,h){return new fZt(e,n,r,u(s,19).a,u(o,19).a,h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6",1337),D(1338,R4,{},Bk),l.Tk=function(e,n,r,s,o){return new Xmt(e,n,r,u(s,162).a,u(o,162).a)},l.Uk=function(e,n,r,s,o,h){return new dZt(e,n,r,u(s,162).a,u(o,162).a,h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7",1338),D(1339,R4,{},Rk),l.Tk=function(e,n,r,s,o){return new Qmt(e,n,r,u(s,184).a,u(o,184).a)},l.Uk=function(e,n,r,s,o,h){return new gZt(e,n,r,u(s,184).a,u(o,184).a,h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8",1339),D(1317,563,{},YXt),l.Sk=function(e){if(!this.a.wj(e))throw it(new i8(jH+ol(e)+$H+this.a+"'"))},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic",1317),D(1318,563,{},NKt),l.Sk=function(e){},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic",1318),D(770,563,{}),l.Sj=function(e,n,r){var s;return s=n.Ch(r),s!=null},l.Tj=function(e,n,r,s){var o,h;e.Lg()&&e.Mg()?(o=!0,h=n.Ch(r),h==null?(o=!1,h=this.b):Vt(h)===Vt(p0)&&(h=null),s==null?this.c!=null?(n.Dh(r,null),s=this.b):n.Dh(r,p0):(this.Sk(s),n.Dh(r,s)),mi(e,this.d.Uk(e,1,this.e,h,s,!o))):s==null?this.c!=null?n.Dh(r,null):n.Dh(r,p0):(this.Sk(s),n.Dh(r,s))},l.Vj=function(e,n,r){var s,o;e.Lg()&&e.Mg()?(s=!0,o=n.Ch(r),o==null?(s=!1,o=this.b):Vt(o)===Vt(p0)&&(o=null),n.Eh(r),mi(e,this.d.Uk(e,2,this.e,o,this.b,s))):n.Eh(r)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable",770),D(1319,770,{},KXt),l.Sk=function(e){if(!this.a.wj(e))throw it(new i8(jH+ol(e)+$H+this.a+"'"))},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic",1319),D(1320,770,{},BKt),l.Sk=function(e){},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic",1320),D(398,504,{},Uj),l.Pj=function(e,n,r,s,o){var h,d,v,k,C;if(C=n.Ch(r),this.Kj()&&Vt(C)===Vt(p0))return null;if(this.sk()&&s&&C!=null){if(v=u(C,49),v.kh()&&(k=Zp(e,v),v!=k)){if(!xat(this.a,k))throw it(new i8(jH+ol(k)+$H+this.a+"'"));n.Dh(r,C=k),this.rk()&&(h=u(k,49),d=v.ih(e,this.b?Gi(v.Tg(),this.b):-1-Gi(e.Tg(),this.e),null,null),!h.eh()&&(d=h.gh(e,this.b?Gi(h.Tg(),this.b):-1-Gi(e.Tg(),this.e),null,d)),d&&d.Fi()),e.Lg()&&e.Mg()&&mi(e,new A9(e,9,this.e,v,k))}return C}else return C},l.Qj=function(e,n,r,s,o){var h,d;return d=n.Ch(r),Vt(d)===Vt(p0)&&(d=null),n.Dh(r,s),this.bj()?Vt(d)!==Vt(s)&&d!=null&&(h=u(d,49),o=h.ih(e,Gi(h.Tg(),this.b),null,o)):this.rk()&&d!=null&&(o=u(d,49).ih(e,-1-Gi(e.Tg(),this.e),null,o)),e.Lg()&&e.Mg()&&(!o&&(o=new Dp(4)),o.Ei(new A9(e,1,this.e,d,s))),o},l.Rj=function(e,n,r,s,o){var h;return h=n.Ch(r),Vt(h)===Vt(p0)&&(h=null),n.Eh(r),e.Lg()&&e.Mg()&&(!o&&(o=new Dp(4)),this.Kj()?o.Ei(new A9(e,2,this.e,h,null)):o.Ei(new A9(e,1,this.e,h,null))),o},l.Sj=function(e,n,r){var s;return s=n.Ch(r),s!=null},l.Tj=function(e,n,r,s){var o,h,d,v,k;if(s!=null&&!xat(this.a,s))throw it(new i8(jH+(_t(s,56)?y4t(u(s,56).Tg()):Vmt(ol(s)))+$H+this.a+"'"));k=n.Ch(r),v=k!=null,this.Kj()&&Vt(k)===Vt(p0)&&(k=null),d=null,this.bj()?Vt(k)!==Vt(s)&&(k!=null&&(o=u(k,49),d=o.ih(e,Gi(o.Tg(),this.b),null,d)),s!=null&&(o=u(s,49),d=o.gh(e,Gi(o.Tg(),this.b),null,d))):this.rk()&&Vt(k)!==Vt(s)&&(k!=null&&(d=u(k,49).ih(e,-1-Gi(e.Tg(),this.e),null,d)),s!=null&&(d=u(s,49).gh(e,-1-Gi(e.Tg(),this.e),null,d))),s==null&&this.Kj()?n.Dh(r,p0):n.Dh(r,s),e.Lg()&&e.Mg()?(h=new brt(e,1,this.e,k,s,this.Kj()&&!v),d?(d.Ei(h),d.Fi()):mi(e,h)):d&&d.Fi()},l.Vj=function(e,n,r){var s,o,h,d,v;v=n.Ch(r),d=v!=null,this.Kj()&&Vt(v)===Vt(p0)&&(v=null),h=null,v!=null&&(this.bj()?(s=u(v,49),h=s.ih(e,Gi(s.Tg(),this.b),null,h)):this.rk()&&(h=u(v,49).ih(e,-1-Gi(e.Tg(),this.e),null,h))),n.Eh(r),e.Lg()&&e.Mg()?(o=new brt(e,this.Kj()?2:1,this.e,v,null,d),h?(h.Ei(o),h.Fi()):mi(e,o)):h&&h.Fi()},l.bj=function(){return!1},l.rk=function(){return!1},l.sk=function(){return!1},l.Kj=function(){return!1},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObject",398),D(564,398,{},vnt),l.rk=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment",564),D(1323,564,{},FWt),l.sk=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving",1323),D(772,564,{},G2t),l.Kj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable",772),D(1325,772,{},NWt),l.sk=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving",1325),D(640,564,{},Int),l.bj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse",640),D(1324,640,{},$Yt),l.sk=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving",1324),D(773,640,{},Dwt),l.Kj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable",773),D(1326,773,{},zYt),l.sk=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving",1326),D(641,398,{},U2t),l.sk=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving",641),D(1327,641,{},BWt),l.Kj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable",1327),D(774,641,{},Lwt),l.bj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse",774),D(1328,774,{},qYt),l.Kj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable",1328),D(1321,398,{},RWt),l.Kj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable",1321),D(771,398,{},Mwt),l.bj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse",771),D(1322,771,{},HYt),l.Kj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable",1322),D(775,565,RH,_vt),l.Pk=function(e){return new _vt(this.a,this.c,e)},l.dd=function(){return this.b},l.Qk=function(e,n,r){return Van(this,e,this.b,r)},l.Rk=function(e,n,r){return Gan(this,e,this.b,r)},F(Mn,"EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry",775),D(1329,1,hut,Qzt),l.Wj=function(e){return this.a},l.fj=function(){return _t(this.a,95)?u(this.a,95).fj():!this.a.dc()},l.Wb=function(e){this.a.$b(),this.a.Gc(u(e,15))},l.Xj=function(){_t(this.a,95)?u(this.a,95).Xj():this.a.$b()},F(Mn,"EStructuralFeatureImpl/SettingMany",1329),D(1330,565,RH,rJt),l.Ok=function(e){return new xnt((Ii(),fA),this.b.Ih(this.a,e))},l.dd=function(){return null},l.Qk=function(e,n,r){return r},l.Rk=function(e,n,r){return r},F(Mn,"EStructuralFeatureImpl/SimpleContentFeatureMapEntry",1330),D(642,565,RH,xnt),l.Ok=function(e){return new xnt(this.c,e)},l.dd=function(){return this.a},l.Qk=function(e,n,r){return r},l.Rk=function(e,n,r){return r},F(Mn,"EStructuralFeatureImpl/SimpleFeatureMapEntry",642),D(391,497,Ld,Tm),l.ri=function(e){return Nt(Uh,De,26,e,0,1)},l.ni=function(){return!1},F(Mn,"ESuperAdapter/1",391),D(444,438,{105:1,92:1,90:1,147:1,191:1,56:1,108:1,836:1,49:1,97:1,150:1,444:1,114:1,115:1},HL),l._g=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return!this.a&&(this.a=new T9(this,ho,this)),this.a}return uh(this,e-Jn((dn(),Uv)),yn((s=u(Dn(this,16),26),s||Uv),e),n,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 2:return!this.a&&(this.a=new T9(this,ho,this)),Ba(this.a,e,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),Uv)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),Uv)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return!!this.a&&this.a.i!=0}return oh(this,e-Jn((dn(),Uv)),yn((n=u(Dn(this,16),26),n||Uv),e))},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Qc(this,Br(n));return;case 2:!this.a&&(this.a=new T9(this,ho,this)),xr(this.a),!this.a&&(this.a=new T9(this,ho,this)),is(this.a,u(n,14));return}gh(this,e-Jn((dn(),Uv)),yn((r=u(Dn(this,16),26),r||Uv),e),n)},l.zh=function(){return dn(),Uv},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:Qc(this,null);return;case 2:!this.a&&(this.a=new T9(this,ho,this)),xr(this.a);return}fh(this,e-Jn((dn(),Uv)),yn((n=u(Dn(this,16),26),n||Uv),e))},F(Mn,"ETypeParameterImpl",444),D(445,85,zo,T9),l.cj=function(e,n){return G0n(this,u(e,87),n)},l.dj=function(e,n){return U0n(this,u(e,87),n)},F(Mn,"ETypeParameterImpl/1",445),D(634,43,A4,aet),l.ec=function(){return new mR(this)},F(Mn,"ETypeParameterImpl/2",634),D(556,N1,zu,mR),l.Fc=function(e){return lYt(this,u(e,87))},l.Gc=function(e){var n,r,s;for(s=!1,r=e.Kc();r.Ob();)n=u(r.Pb(),87),ki(this.a,n,"")==null&&(s=!0);return s},l.$b=function(){Xu(this.a)},l.Hc=function(e){return Tl(this.a,e)},l.Kc=function(){var e;return e=new p2(new Cg(this.a).a),new yR(e)},l.Mc=function(e){return XJt(this,e)},l.gc=function(){return HC(this.a)},F(Mn,"ETypeParameterImpl/2/1",556),D(557,1,sa,yR),l.Nb=function(e){ba(this,e)},l.Pb=function(){return u(Zw(this.a).cd(),87)},l.Ob=function(){return this.a.b},l.Qb=function(){Ste(this.a)},F(Mn,"ETypeParameterImpl/2/1/1",557),D(1276,43,A4,zqt),l._b=function(e){return ra(e)?wrt(this,e):!!Lo(this.f,e)},l.xc=function(e){var n,r;return n=ra(e)?Nc(this,e):ec(Lo(this.f,e)),_t(n,837)?(r=u(n,837),n=r._j(),ki(this,u(e,235),n),n):n??(e==null?(Tet(),C5e):null)},F(Mn,"EValidatorRegistryImpl",1276),D(1313,704,{105:1,92:1,90:1,471:1,147:1,56:1,108:1,1941:1,49:1,97:1,150:1,114:1,115:1},aJ),l.Ih=function(e,n){switch(e.yj()){case 21:case 22:case 23:case 24:case 26:case 31:case 32:case 37:case 38:case 39:case 40:case 43:case 44:case 48:case 49:case 20:return n==null?null:$o(n);case 25:return Jon(n);case 27:return bon(n);case 28:return won(n);case 29:return n==null?null:VUt(aA[0],u(n,199));case 41:return n==null?"":Ip(u(n,290));case 42:return $o(n);case 50:return Br(n);default:throw it(new Fn(QE+e.ne()+Cv))}},l.Jh=function(e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt;switch(e.G==-1&&(e.G=(H=Rl(e),H?Hg(H.Mh(),e):-1)),e.G){case 0:return r=new ret,r;case 1:return n=new lB,n;case 2:return s=new eM,s;case 4:return o=new xR,o;case 5:return h=new $qt,h;case 6:return d=new lqt,d;case 7:return v=new JB,v;case 10:return C=new Pk,C;case 11:return M=new iet,M;case 12:return j=new fQt,j;case 13:return G=new set,G;case 14:return K=new K2t,K;case 17:return tt=new iJ,tt;case 18:return k=new xw,k;case 19:return gt=new HL,gt;default:throw it(new Fn(Kct+e.zb+Cv))}},l.Kh=function(e,n){switch(e.yj()){case 20:return n==null?null:new gbt(n);case 21:return n==null?null:new Rp(n);case 23:case 22:return n==null?null:ifn(n);case 26:case 24:return n==null?null:AD(ql(n,-128,127)<<24>>24);case 25:return p2n(n);case 27:return z1n(n);case 28:return q1n(n);case 29:return lgn(n);case 32:case 31:return n==null?null:dy(n);case 38:case 37:return n==null?null:new Ppt(n);case 40:case 39:return n==null?null:pe(ql(n,Sa,wi));case 41:return null;case 42:return n==null,null;case 44:case 43:return n==null?null:v2(Rq(n));case 49:case 48:return n==null?null:uE(ql(n,zH,32767)<<16>>16);case 50:return n;default:throw it(new Fn(QE+e.ne()+Cv))}},F(Mn,"EcoreFactoryImpl",1313),D(547,179,{105:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,1939:1,49:1,97:1,150:1,179:1,547:1,114:1,115:1,675:1},LXt),l.gb=!1,l.hb=!1;var bLt,T5e=!1;F(Mn,"EcorePackageImpl",547),D(1184,1,{837:1},oJ),l._j=function(){return gWt(),_5e},F(Mn,"EcorePackageImpl/1",1184),D(1193,1,si,cJ),l.wj=function(e){return _t(e,147)},l.xj=function(e){return Nt(fP,De,147,e,0,1)},F(Mn,"EcorePackageImpl/10",1193),D(1194,1,si,uJ),l.wj=function(e){return _t(e,191)},l.xj=function(e){return Nt(Mft,De,191,e,0,1)},F(Mn,"EcorePackageImpl/11",1194),D(1195,1,si,lJ),l.wj=function(e){return _t(e,56)},l.xj=function(e){return Nt(_b,De,56,e,0,1)},F(Mn,"EcorePackageImpl/12",1195),D(1196,1,si,hJ),l.wj=function(e){return _t(e,399)},l.xj=function(e){return Nt(Wh,$8t,59,e,0,1)},F(Mn,"EcorePackageImpl/13",1196),D(1197,1,si,fJ),l.wj=function(e){return _t(e,235)},l.xj=function(e){return Nt(i1,De,235,e,0,1)},F(Mn,"EcorePackageImpl/14",1197),D(1198,1,si,dJ),l.wj=function(e){return _t(e,509)},l.xj=function(e){return Nt(Vv,De,2017,e,0,1)},F(Mn,"EcorePackageImpl/15",1198),D(1199,1,si,wB),l.wj=function(e){return _t(e,99)},l.xj=function(e){return Nt(n3,B4,18,e,0,1)},F(Mn,"EcorePackageImpl/16",1199),D(1200,1,si,gJ),l.wj=function(e){return _t(e,170)},l.xj=function(e){return Nt(Mu,B4,170,e,0,1)},F(Mn,"EcorePackageImpl/17",1200),D(1201,1,si,pJ),l.wj=function(e){return _t(e,472)},l.xj=function(e){return Nt(t3,De,472,e,0,1)},F(Mn,"EcorePackageImpl/18",1201),D(1202,1,si,bJ),l.wj=function(e){return _t(e,548)},l.xj=function(e){return Nt(cc,C0e,548,e,0,1)},F(Mn,"EcorePackageImpl/19",1202),D(1185,1,si,vB),l.wj=function(e){return _t(e,322)},l.xj=function(e){return Nt(e3,B4,34,e,0,1)},F(Mn,"EcorePackageImpl/2",1185),D(1203,1,si,jk),l.wj=function(e){return _t(e,241)},l.xj=function(e){return Nt(ho,q0e,87,e,0,1)},F(Mn,"EcorePackageImpl/20",1203),D(1204,1,si,eC),l.wj=function(e){return _t(e,444)},l.xj=function(e){return Nt(hu,De,836,e,0,1)},F(Mn,"EcorePackageImpl/21",1204),D(1205,1,si,mB),l.wj=function(e){return Nm(e)},l.xj=function(e){return Nt(Rs,ee,476,e,8,1)},F(Mn,"EcorePackageImpl/22",1205),D(1206,1,si,wJ),l.wj=function(e){return _t(e,190)},l.xj=function(e){return Nt(Gu,ee,190,e,0,2)},F(Mn,"EcorePackageImpl/23",1206),D(1207,1,si,yB),l.wj=function(e){return _t(e,217)},l.xj=function(e){return Nt(M6,ee,217,e,0,1)},F(Mn,"EcorePackageImpl/24",1207),D(1208,1,si,xB),l.wj=function(e){return _t(e,172)},l.xj=function(e){return Nt(uS,ee,172,e,0,1)},F(Mn,"EcorePackageImpl/25",1208),D(1209,1,si,vJ),l.wj=function(e){return _t(e,199)},l.xj=function(e){return Nt(tV,ee,199,e,0,1)},F(Mn,"EcorePackageImpl/26",1209),D(1210,1,si,nC),l.wj=function(e){return!1},l.xj=function(e){return Nt(PLt,De,2110,e,0,1)},F(Mn,"EcorePackageImpl/27",1210),D(1211,1,si,Cm),l.wj=function(e){return Bm(e)},l.xj=function(e){return Nt(la,ee,333,e,7,1)},F(Mn,"EcorePackageImpl/28",1211),D(1212,1,si,kB),l.wj=function(e){return _t(e,58)},l.xj=function(e){return Nt(KAt,Ty,58,e,0,1)},F(Mn,"EcorePackageImpl/29",1212),D(1186,1,si,EB),l.wj=function(e){return _t(e,510)},l.xj=function(e){return Nt(Zr,{3:1,4:1,5:1,1934:1},590,e,0,1)},F(Mn,"EcorePackageImpl/3",1186),D(1213,1,si,mJ),l.wj=function(e){return _t(e,573)},l.xj=function(e){return Nt(ZAt,De,1940,e,0,1)},F(Mn,"EcorePackageImpl/30",1213),D(1214,1,si,yJ),l.wj=function(e){return _t(e,153)},l.xj=function(e){return Nt(xLt,Ty,153,e,0,1)},F(Mn,"EcorePackageImpl/31",1214),D(1215,1,si,rC),l.wj=function(e){return _t(e,72)},l.xj=function(e){return Nt(bU,Q0e,72,e,0,1)},F(Mn,"EcorePackageImpl/32",1215),D(1216,1,si,TB),l.wj=function(e){return _t(e,155)},l.xj=function(e){return Nt(i7,ee,155,e,0,1)},F(Mn,"EcorePackageImpl/33",1216),D(1217,1,si,CB),l.wj=function(e){return _t(e,19)},l.xj=function(e){return Nt(ja,ee,19,e,0,1)},F(Mn,"EcorePackageImpl/34",1217),D(1218,1,si,uc),l.wj=function(e){return _t(e,290)},l.xj=function(e){return Nt(J8t,De,290,e,0,1)},F(Mn,"EcorePackageImpl/35",1218),D(1219,1,si,xJ),l.wj=function(e){return _t(e,162)},l.xj=function(e){return Nt(Sv,ee,162,e,0,1)},F(Mn,"EcorePackageImpl/36",1219),D(1220,1,si,_B),l.wj=function(e){return _t(e,83)},l.xj=function(e){return Nt(tEt,De,83,e,0,1)},F(Mn,"EcorePackageImpl/37",1220),D(1221,1,si,iC),l.wj=function(e){return _t(e,591)},l.xj=function(e){return Nt(wLt,De,591,e,0,1)},F(Mn,"EcorePackageImpl/38",1221),D(1222,1,si,kJ),l.wj=function(e){return!1},l.xj=function(e){return Nt(FLt,De,2111,e,0,1)},F(Mn,"EcorePackageImpl/39",1222),D(1187,1,si,EJ),l.wj=function(e){return _t(e,88)},l.xj=function(e){return Nt(Uh,De,26,e,0,1)},F(Mn,"EcorePackageImpl/4",1187),D(1223,1,si,sC),l.wj=function(e){return _t(e,184)},l.xj=function(e){return Nt(Av,ee,184,e,0,1)},F(Mn,"EcorePackageImpl/40",1223),D(1224,1,si,SB),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(Mn,"EcorePackageImpl/41",1224),D(1225,1,si,aC),l.wj=function(e){return _t(e,588)},l.xj=function(e){return Nt(QAt,De,588,e,0,1)},F(Mn,"EcorePackageImpl/42",1225),D(1226,1,si,oC),l.wj=function(e){return!1},l.xj=function(e){return Nt(NLt,ee,2112,e,0,1)},F(Mn,"EcorePackageImpl/43",1226),D(1227,1,si,jf),l.wj=function(e){return _t(e,42)},l.xj=function(e){return Nt(P2,Hq,42,e,0,1)},F(Mn,"EcorePackageImpl/44",1227),D(1188,1,si,VL),l.wj=function(e){return _t(e,138)},l.xj=function(e){return Nt(s1,De,138,e,0,1)},F(Mn,"EcorePackageImpl/5",1188),D(1189,1,si,GL),l.wj=function(e){return _t(e,148)},l.xj=function(e){return Nt(Nft,De,148,e,0,1)},F(Mn,"EcorePackageImpl/6",1189),D(1190,1,si,lx),l.wj=function(e){return _t(e,457)},l.xj=function(e){return Nt(pU,De,671,e,0,1)},F(Mn,"EcorePackageImpl/7",1190),D(1191,1,si,TJ),l.wj=function(e){return _t(e,573)},l.xj=function(e){return Nt(ag,De,678,e,0,1)},F(Mn,"EcorePackageImpl/8",1191),D(1192,1,si,CJ),l.wj=function(e){return _t(e,471)},l.xj=function(e){return Nt(sA,De,471,e,0,1)},F(Mn,"EcorePackageImpl/9",1192),D(1025,1982,T0e,sHt),l.bi=function(e,n){Mln(this,u(n,415))},l.fi=function(e,n){moe(this,e,u(n,415))},F(Mn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList",1025),D(1026,143,nO,yXt),l.Ai=function(){return this.a.a},F(Mn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList/1",1026),D(1053,1052,{},NUt),F("org.eclipse.emf.ecore.plugin","EcorePlugin",1053);var wLt=Ki(Z0e,"Resource");D(781,1378,J0e),l.Yk=function(e){},l.Zk=function(e){},l.Vk=function(){return!this.a&&(this.a=new Ztt(this)),this.a},l.Wk=function(e){var n,r,s,o,h;if(s=e.length,s>0)if(Rr(0,e.length),e.charCodeAt(0)==47){for(h=new Xc(4),o=1,n=1;n0&&(e=e.substr(0,r)));return Zpn(this,e)},l.Xk=function(){return this.c},l.Ib=function(){var e;return Ip(this.gm)+"@"+(e=Hi(this)>>>0,e.toString(16))+" uri='"+this.d+"'"},l.b=!1,F(fut,"ResourceImpl",781),D(1379,781,J0e,Jzt),F(fut,"BinaryResourceImpl",1379),D(1169,694,aut),l.si=function(e){return _t(e,56)?Orn(this,u(e,56)):_t(e,591)?new nr(u(e,591).Vk()):Vt(e)===Vt(this.f)?u(e,14).Kc():(y8(),pP.a)},l.Ob=function(){return h5t(this)},l.a=!1,F($i,"EcoreUtil/ContentTreeIterator",1169),D(1380,1169,aut,QKt),l.si=function(e){return Vt(e)===Vt(this.f)?u(e,15).Kc():new PZt(u(e,56))},F(fut,"ResourceImpl/5",1380),D(648,1994,z0e,Ztt),l.Hc=function(e){return this.i<=4?yE(this,e):_t(e,49)&&u(e,49).Zg()==this.a},l.bi=function(e,n){e==this.i-1&&(this.a.b||(this.a.b=!0))},l.di=function(e,n){e==0?this.a.b||(this.a.b=!0):Yrt(this,e,n)},l.fi=function(e,n){},l.gi=function(e,n,r){},l.aj=function(){return 2},l.Ai=function(){return this.a},l.bj=function(){return!0},l.cj=function(e,n){var r;return r=u(e,49),n=r.wh(this.a,n),n},l.dj=function(e,n){var r;return r=u(e,49),r.wh(null,n)},l.ej=function(){return!1},l.hi=function(){return!0},l.ri=function(e){return Nt(_b,De,56,e,0,1)},l.ni=function(){return!1},F(fut,"ResourceImpl/ContentsEList",648),D(957,1964,jE,Zzt),l.Zc=function(e){return this.a._h(e)},l.gc=function(){return this.a.gc()},F($i,"AbstractSequentialInternalEList/1",957);var vLt,mLt,ya,yLt;D(624,1,{},JYt);var wU,vU;F($i,"BasicExtendedMetaData",624),D(1160,1,{},JGt),l.$k=function(){return null},l._k=function(){return this.a==-2&&Tg(this,sgn(this.d,this.b)),this.a},l.al=function(){return null},l.bl=function(){return wn(),wn(),io},l.ne=function(){return this.c==t7&&O3(this,Xie(this.d,this.b)),this.c},l.cl=function(){return 0},l.a=-2,l.c=t7,F($i,"BasicExtendedMetaData/EClassExtendedMetaDataImpl",1160),D(1161,1,{},yZt),l.$k=function(){return this.a==(B8(),wU)&&ypt(this,xwn(this.f,this.b)),this.a},l._k=function(){return 0},l.al=function(){return this.c==(B8(),wU)&&Ftt(this,kwn(this.f,this.b)),this.c},l.bl=function(){return!this.d&&Ntt(this,xmn(this.f,this.b)),this.d},l.ne=function(){return this.e==t7&&cR(this,Xie(this.f,this.b)),this.e},l.cl=function(){return this.g==-2&&uR(this,T0n(this.f,this.b)),this.g},l.e=t7,l.g=-2,F($i,"BasicExtendedMetaData/EDataTypeExtendedMetaDataImpl",1161),D(1159,1,{},eUt),l.b=!1,l.c=!1,F($i,"BasicExtendedMetaData/EPackageExtendedMetaDataImpl",1159),D(1162,1,{},mZt),l.c=-2,l.e=t7,l.f=t7,F($i,"BasicExtendedMetaData/EStructuralFeatureExtendedMetaDataImpl",1162),D(585,622,zo,Rj),l.aj=function(){return this.c},l.Fk=function(){return!1},l.li=function(e,n){return n},l.c=0,F($i,"EDataTypeEList",585);var xLt=Ki($i,"FeatureMap");D(75,585,{3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1,76:1,153:1,215:1,1937:1,69:1,95:1},ss),l.Vc=function(e,n){wwn(this,e,u(n,72))},l.Fc=function(e){return N2n(this,u(e,72))},l.Yh=function(e){knn(this,u(e,72))},l.cj=function(e,n){return nJe(this,u(e,72),n)},l.dj=function(e,n){return vwt(this,u(e,72),n)},l.ii=function(e,n){return jmn(this,e,n)},l.li=function(e,n){return v4n(this,e,u(n,72))},l._c=function(e,n){return ovn(this,e,u(n,72))},l.jj=function(e,n){return rJe(this,u(e,72),n)},l.kj=function(e,n){return TYt(this,u(e,72),n)},l.lj=function(e,n,r){return o0n(this,u(e,72),u(n,72),r)},l.oi=function(e,n){return Rst(this,e,u(n,72))},l.dl=function(e,n){return J5t(this,e,n)},l.Wc=function(e,n){var r,s,o,h,d,v,k,C,M;for(C=new Qw(n.gc()),o=n.Kc();o.Ob();)if(s=u(o.Pb(),72),h=s.ak(),X0(this.e,h))(!h.hi()||!O$(this,h,s.dd())&&!yE(C,s))&&Dr(C,s);else{for(M=ou(this.e.Tg(),h),r=u(this.g,119),d=!0,v=0;v=0;)if(n=e[this.c],this.k.rl(n.ak()))return this.j=this.f?n:n.dd(),this.i=-2,!0;return this.i=-1,this.g=-1,!1},F($i,"BasicFeatureMap/FeatureEIterator",410),D(662,410,n0,rnt),l.Lk=function(){return!0},F($i,"BasicFeatureMap/ResolvingFeatureEIterator",662),D(955,486,NH,UUt),l.Gi=function(){return this},F($i,"EContentsEList/1",955),D(956,486,NH,wUt),l.Lk=function(){return!1},F($i,"EContentsEList/2",956),D(954,279,BH,WUt),l.Nk=function(e){},l.Ob=function(){return!1},l.Sb=function(){return!1},F($i,"EContentsEList/FeatureIteratorImpl/1",954),D(825,585,zo,E2t),l.ci=function(){this.a=!0},l.fj=function(){return this.a},l.Xj=function(){var e;xr(this),xl(this.e)?(e=this.a,this.a=!1,mi(this.e,new bf(this.e,2,this.c,e,!1))):this.a=!1},l.a=!1,F($i,"EDataTypeEList/Unsettable",825),D(1849,585,zo,eWt),l.hi=function(){return!0},F($i,"EDataTypeUniqueEList",1849),D(1850,825,zo,nWt),l.hi=function(){return!0},F($i,"EDataTypeUniqueEList/Unsettable",1850),D(139,85,zo,Fu),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectContainmentEList/Resolving",139),D(1163,545,zo,tWt),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectContainmentEList/Unsettable/Resolving",1163),D(748,16,zo,hwt),l.ci=function(){this.a=!0},l.fj=function(){return this.a},l.Xj=function(){var e;xr(this),xl(this.e)?(e=this.a,this.a=!1,mi(this.e,new bf(this.e,2,this.c,e,!1))):this.a=!1},l.a=!1,F($i,"EObjectContainmentWithInverseEList/Unsettable",748),D(1173,748,zo,hYt),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectContainmentWithInverseEList/Unsettable/Resolving",1173),D(743,496,zo,k2t),l.ci=function(){this.a=!0},l.fj=function(){return this.a},l.Xj=function(){var e;xr(this),xl(this.e)?(e=this.a,this.a=!1,mi(this.e,new bf(this.e,2,this.c,e,!1))):this.a=!1},l.a=!1,F($i,"EObjectEList/Unsettable",743),D(328,496,zo,Y3),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectResolvingEList",328),D(1641,743,zo,rWt),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectResolvingEList/Unsettable",1641),D(1381,1,{},_J);var C5e;F($i,"EObjectValidator",1381),D(546,496,zo,r$),l.zk=function(){return this.d},l.Ak=function(){return this.b},l.bj=function(){return!0},l.Dk=function(){return!0},l.b=0,F($i,"EObjectWithInverseEList",546),D(1176,546,zo,fYt),l.Ck=function(){return!0},F($i,"EObjectWithInverseEList/ManyInverse",1176),D(625,546,zo,Ent),l.ci=function(){this.a=!0},l.fj=function(){return this.a},l.Xj=function(){var e;xr(this),xl(this.e)?(e=this.a,this.a=!1,mi(this.e,new bf(this.e,2,this.c,e,!1))):this.a=!1},l.a=!1,F($i,"EObjectWithInverseEList/Unsettable",625),D(1175,625,zo,dYt),l.Ck=function(){return!0},F($i,"EObjectWithInverseEList/Unsettable/ManyInverse",1175),D(749,546,zo,fwt),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectWithInverseResolvingEList",749),D(31,749,zo,Cn),l.Ck=function(){return!0},F($i,"EObjectWithInverseResolvingEList/ManyInverse",31),D(750,625,zo,dwt),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectWithInverseResolvingEList/Unsettable",750),D(1174,750,zo,gYt),l.Ck=function(){return!0},F($i,"EObjectWithInverseResolvingEList/Unsettable/ManyInverse",1174),D(1164,622,zo),l.ai=function(){return(this.b&1792)==0},l.ci=function(){this.b|=1},l.Bk=function(){return(this.b&4)!=0},l.bj=function(){return(this.b&40)!=0},l.Ck=function(){return(this.b&16)!=0},l.Dk=function(){return(this.b&8)!=0},l.Ek=function(){return(this.b&Dy)!=0},l.rk=function(){return(this.b&32)!=0},l.Fk=function(){return(this.b&xf)!=0},l.wj=function(e){return this.d?KZt(this.d,e):this.ak().Yj().wj(e)},l.fj=function(){return this.b&2?(this.b&1)!=0:this.i!=0},l.hi=function(){return(this.b&128)!=0},l.Xj=function(){var e;xr(this),this.b&2&&(xl(this.e)?(e=(this.b&1)!=0,this.b&=-2,n8(this,new bf(this.e,2,Gi(this.e.Tg(),this.ak()),e,!1))):this.b&=-2)},l.ni=function(){return(this.b&1536)==0},l.b=0,F($i,"EcoreEList/Generic",1164),D(1165,1164,zo,iQt),l.ak=function(){return this.a},F($i,"EcoreEList/Dynamic",1165),D(747,63,Ld,_pt),l.ri=function(e){return MD(this.a.a,e)},F($i,"EcoreEMap/1",747),D(746,85,zo,hvt),l.bi=function(e,n){Jz(this.b,u(n,133))},l.di=function(e,n){Vne(this.b)},l.ei=function(e,n,r){var s;++(s=this.b,u(n,133),s).e},l.fi=function(e,n){Wit(this.b,u(n,133))},l.gi=function(e,n,r){Wit(this.b,u(r,133)),Vt(r)===Vt(n)&&u(r,133).Th(hQe(u(n,133).cd())),Jz(this.b,u(n,133))},F($i,"EcoreEMap/DelegateEObjectContainmentEList",746),D(1171,151,j8t,rne),F($i,"EcoreEMap/Unsettable",1171),D(1172,746,zo,pYt),l.ci=function(){this.a=!0},l.fj=function(){return this.a},l.Xj=function(){var e;xr(this),xl(this.e)?(e=this.a,this.a=!1,mi(this.e,new bf(this.e,2,this.c,e,!1))):this.a=!1},l.a=!1,F($i,"EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList",1172),D(1168,228,A4,oXt),l.a=!1,l.b=!1,F($i,"EcoreUtil/Copier",1168),D(745,1,sa,PZt),l.Nb=function(e){ba(this,e)},l.Ob=function(){return Mie(this)},l.Pb=function(){var e;return Mie(this),e=this.b,this.b=null,e},l.Qb=function(){this.a.Qb()},F($i,"EcoreUtil/ProperContentIterator",745),D(1382,1381,{},tR);var _5e;F($i,"EcoreValidator",1382);var S5e;Ki($i,"FeatureMapUtil/Validator"),D(1260,1,{1942:1},SJ),l.rl=function(e){return!0},F($i,"FeatureMapUtil/1",1260),D(757,1,{1942:1},Axt),l.rl=function(e){var n;return this.c==e?!0:(n=Re(tr(this.a,e)),n==null?nmn(this,e)?(qJt(this.a,e,(Nn(),r7)),!0):(qJt(this.a,e,(Nn(),F2)),!1):n==(Nn(),r7))},l.e=!1;var $ft;F($i,"FeatureMapUtil/BasicValidator",757),D(758,43,A4,v2t),F($i,"FeatureMapUtil/BasicValidator/Cache",758),D(501,52,{20:1,28:1,52:1,14:1,15:1,58:1,76:1,69:1,95:1},BM),l.Vc=function(e,n){sue(this.c,this.b,e,n)},l.Fc=function(e){return J5t(this.c,this.b,e)},l.Wc=function(e,n){return w3n(this.c,this.b,e,n)},l.Gc=function(e){return g9(this,e)},l.Xh=function(e,n){Ron(this.c,this.b,e,n)},l.lk=function(e,n){return W5t(this.c,this.b,e,n)},l.pi=function(e){return Iq(this.c,this.b,e,!1)},l.Zh=function(){return AUt(this.c,this.b)},l.$h=function(){return ZXe(this.c,this.b)},l._h=function(e){return Han(this.c,this.b,e)},l.mk=function(e,n){return WWt(this,e,n)},l.$b=function(){Tx(this)},l.Hc=function(e){return O$(this.c,this.b,e)},l.Ic=function(e){return qcn(this.c,this.b,e)},l.Xb=function(e){return Iq(this.c,this.b,e,!0)},l.Wj=function(e){return this},l.Xc=function(e){return tan(this.c,this.b,e)},l.dc=function(){return hj(this)},l.fj=function(){return!XD(this.c,this.b)},l.Kc=function(){return _on(this.c,this.b)},l.Yc=function(){return Son(this.c,this.b)},l.Zc=function(e){return jln(this.c,this.b,e)},l.ii=function(e,n){return Ele(this.c,this.b,e,n)},l.ji=function(e,n){Ban(this.c,this.b,e,n)},l.$c=function(e){return noe(this.c,this.b,e)},l.Mc=function(e){return Emn(this.c,this.b,e)},l._c=function(e,n){return Lle(this.c,this.b,e,n)},l.Wb=function(e){pq(this.c,this.b),g9(this,u(e,15))},l.gc=function(){return Zln(this.c,this.b)},l.Pc=function(){return Qin(this.c,this.b)},l.Qc=function(e){return ean(this.c,this.b,e)},l.Ib=function(){var e,n;for(n=new Ag,n.a+="[",e=AUt(this.c,this.b);Bit(e);)go(n,b9(Qz(e))),Bit(e)&&(n.a+=Ya);return n.a+="]",n.a},l.Xj=function(){pq(this.c,this.b)},F($i,"FeatureMapUtil/FeatureEList",501),D(627,36,nO,jrt),l.yi=function(e){return e_(this,e)},l.Di=function(e){var n,r,s,o,h,d,v;switch(this.d){case 1:case 2:{if(h=e.Ai(),Vt(h)===Vt(this.c)&&e_(this,null)==e.yi(null))return this.g=e.zi(),e.xi()==1&&(this.d=1),!0;break}case 3:{switch(o=e.xi(),o){case 3:{if(h=e.Ai(),Vt(h)===Vt(this.c)&&e_(this,null)==e.yi(null))return this.d=5,n=new Qw(2),Dr(n,this.g),Dr(n,e.zi()),this.g=n,!0;break}}break}case 5:{switch(o=e.xi(),o){case 3:{if(h=e.Ai(),Vt(h)===Vt(this.c)&&e_(this,null)==e.yi(null))return r=u(this.g,14),r.Fc(e.zi()),!0;break}}break}case 4:{switch(o=e.xi(),o){case 3:{if(h=e.Ai(),Vt(h)===Vt(this.c)&&e_(this,null)==e.yi(null))return this.d=1,this.g=e.zi(),!0;break}case 4:{if(h=e.Ai(),Vt(h)===Vt(this.c)&&e_(this,null)==e.yi(null))return this.d=6,v=new Qw(2),Dr(v,this.n),Dr(v,e.Bi()),this.n=v,d=lt(ct(Cr,1),Xr,25,15,[this.o,e.Ci()]),this.g=d,!0;break}}break}case 6:{switch(o=e.xi(),o){case 4:{if(h=e.Ai(),Vt(h)===Vt(this.c)&&e_(this,null)==e.yi(null))return r=u(this.n,14),r.Fc(e.Bi()),d=u(this.g,48),s=Nt(Cr,Xr,25,d.length+1,15,1),Dc(d,0,s,0,d.length),s[d.length]=e.Ci(),this.g=s,!0;break}}break}}return!1},F($i,"FeatureMapUtil/FeatureENotificationImpl",627),D(552,501,{20:1,28:1,52:1,14:1,15:1,58:1,76:1,153:1,215:1,1937:1,69:1,95:1},qj),l.dl=function(e,n){return J5t(this.c,e,n)},l.el=function(e,n,r){return W5t(this.c,e,n,r)},l.fl=function(e,n,r){return bxt(this.c,e,n,r)},l.gl=function(){return this},l.hl=function(e,n){return SI(this.c,e,n)},l.il=function(e){return u(Iq(this.c,this.b,e,!1),72).ak()},l.jl=function(e){return u(Iq(this.c,this.b,e,!1),72).dd()},l.kl=function(){return this.a},l.ll=function(e){return!XD(this.c,e)},l.ml=function(e,n){Oq(this.c,e,n)},l.nl=function(e){return lne(this.c,e)},l.ol=function(e){Pse(this.c,e)},F($i,"FeatureMapUtil/FeatureFeatureMap",552),D(1259,1,hut,nUt),l.Wj=function(e){return Iq(this.b,this.a,-1,e)},l.fj=function(){return!XD(this.b,this.a)},l.Wb=function(e){Oq(this.b,this.a,e)},l.Xj=function(){pq(this.b,this.a)},F($i,"FeatureMapUtil/FeatureValue",1259);var J6,zft,qft,tk,A5e,wP=Ki(GH,"AnyType");D(666,60,Q0,pet),F(GH,"InvalidDatatypeValueException",666);var mU=Ki(GH,ege),vP=Ki(GH,nge),kLt=Ki(GH,rge),L5e,pc,ELt,X2,M5e,D5e,I5e,O5e,P5e,F5e,N5e,B5e,R5e,j5e,$5e,h5,z5e,f5,lA,q5e,Wv,mP,yP,H5e,hA,fA;D(830,506,{105:1,92:1,90:1,56:1,49:1,97:1,843:1},Wpt),l._g=function(e,n,r){switch(e){case 0:return r?(!this.c&&(this.c=new ss(this,0)),this.c):(!this.c&&(this.c=new ss(this,0)),this.c.b);case 1:return r?(!this.c&&(this.c=new ss(this,0)),u(Bc(this.c,(Ii(),X2)),153)):(!this.c&&(this.c=new ss(this,0)),u(u(Bc(this.c,(Ii(),X2)),153),215)).kl();case 2:return r?(!this.b&&(this.b=new ss(this,2)),this.b):(!this.b&&(this.b=new ss(this,2)),this.b.b)}return uh(this,e-Jn(this.zh()),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():this.zh(),e),n,r)},l.jh=function(e,n,r){var s;switch(n){case 0:return!this.c&&(this.c=new ss(this,0)),EI(this.c,e,r);case 1:return(!this.c&&(this.c=new ss(this,0)),u(u(Bc(this.c,(Ii(),X2)),153),69)).mk(e,r);case 2:return!this.b&&(this.b=new ss(this,2)),EI(this.b,e,r)}return s=u(yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():this.zh(),n),66),s.Nj().Rj(this,$mt(this),n-Jn(this.zh()),e,r)},l.lh=function(e){switch(e){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new ss(this,0)),u(Bc(this.c,(Ii(),X2)),153)).dc();case 2:return!!this.b&&this.b.i!=0}return oh(this,e-Jn(this.zh()),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():this.zh(),e))},l.sh=function(e,n){switch(e){case 0:!this.c&&(this.c=new ss(this,0)),nD(this.c,n);return;case 1:(!this.c&&(this.c=new ss(this,0)),u(u(Bc(this.c,(Ii(),X2)),153),215)).Wb(n);return;case 2:!this.b&&(this.b=new ss(this,2)),nD(this.b,n);return}gh(this,e-Jn(this.zh()),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():this.zh(),e),n)},l.zh=function(){return Ii(),ELt},l.Bh=function(e){switch(e){case 0:!this.c&&(this.c=new ss(this,0)),xr(this.c);return;case 1:(!this.c&&(this.c=new ss(this,0)),u(Bc(this.c,(Ii(),X2)),153)).$b();return;case 2:!this.b&&(this.b=new ss(this,2)),xr(this.b);return}fh(this,e-Jn(this.zh()),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():this.zh(),e))},l.Ib=function(){var e;return this.j&4?mf(this):(e=new _h(mf(this)),e.a+=" (mixed: ",l9(e,this.c),e.a+=", anyAttribute: ",l9(e,this.b),e.a+=")",e.a)},F(xs,"AnyTypeImpl",830),D(667,506,{105:1,92:1,90:1,56:1,49:1,97:1,2021:1,667:1},AB),l._g=function(e,n,r){switch(e){case 0:return this.a;case 1:return this.b}return uh(this,e-Jn((Ii(),h5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():h5,e),n,r)},l.lh=function(e){switch(e){case 0:return this.a!=null;case 1:return this.b!=null}return oh(this,e-Jn((Ii(),h5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():h5,e))},l.sh=function(e,n){switch(e){case 0:$tt(this,Br(n));return;case 1:kpt(this,Br(n));return}gh(this,e-Jn((Ii(),h5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():h5,e),n)},l.zh=function(){return Ii(),h5},l.Bh=function(e){switch(e){case 0:this.a=null;return;case 1:this.b=null;return}fh(this,e-Jn((Ii(),h5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():h5,e))},l.Ib=function(){var e;return this.j&4?mf(this):(e=new _h(mf(this)),e.a+=" (data: ",go(e,this.a),e.a+=", target: ",go(e,this.b),e.a+=")",e.a)},l.a=null,l.b=null,F(xs,"ProcessingInstructionImpl",667),D(668,830,{105:1,92:1,90:1,56:1,49:1,97:1,843:1,2022:1,668:1},Hqt),l._g=function(e,n,r){switch(e){case 0:return r?(!this.c&&(this.c=new ss(this,0)),this.c):(!this.c&&(this.c=new ss(this,0)),this.c.b);case 1:return r?(!this.c&&(this.c=new ss(this,0)),u(Bc(this.c,(Ii(),X2)),153)):(!this.c&&(this.c=new ss(this,0)),u(u(Bc(this.c,(Ii(),X2)),153),215)).kl();case 2:return r?(!this.b&&(this.b=new ss(this,2)),this.b):(!this.b&&(this.b=new ss(this,2)),this.b.b);case 3:return!this.c&&(this.c=new ss(this,0)),Br(SI(this.c,(Ii(),lA),!0));case 4:return gwt(this.a,(!this.c&&(this.c=new ss(this,0)),Br(SI(this.c,(Ii(),lA),!0))));case 5:return this.a}return uh(this,e-Jn((Ii(),f5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():f5,e),n,r)},l.lh=function(e){switch(e){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new ss(this,0)),u(Bc(this.c,(Ii(),X2)),153)).dc();case 2:return!!this.b&&this.b.i!=0;case 3:return!this.c&&(this.c=new ss(this,0)),Br(SI(this.c,(Ii(),lA),!0))!=null;case 4:return gwt(this.a,(!this.c&&(this.c=new ss(this,0)),Br(SI(this.c,(Ii(),lA),!0))))!=null;case 5:return!!this.a}return oh(this,e-Jn((Ii(),f5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():f5,e))},l.sh=function(e,n){switch(e){case 0:!this.c&&(this.c=new ss(this,0)),nD(this.c,n);return;case 1:(!this.c&&(this.c=new ss(this,0)),u(u(Bc(this.c,(Ii(),X2)),153),215)).Wb(n);return;case 2:!this.b&&(this.b=new ss(this,2)),nD(this.b,n);return;case 3:Jvt(this,Br(n));return;case 4:Jvt(this,pwt(this.a,n));return;case 5:vc(this,u(n,148));return}gh(this,e-Jn((Ii(),f5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():f5,e),n)},l.zh=function(){return Ii(),f5},l.Bh=function(e){switch(e){case 0:!this.c&&(this.c=new ss(this,0)),xr(this.c);return;case 1:(!this.c&&(this.c=new ss(this,0)),u(Bc(this.c,(Ii(),X2)),153)).$b();return;case 2:!this.b&&(this.b=new ss(this,2)),xr(this.b);return;case 3:!this.c&&(this.c=new ss(this,0)),Oq(this.c,(Ii(),lA),null);return;case 4:Jvt(this,pwt(this.a,null));return;case 5:this.a=null;return}fh(this,e-Jn((Ii(),f5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():f5,e))},F(xs,"SimpleAnyTypeImpl",668),D(669,506,{105:1,92:1,90:1,56:1,49:1,97:1,2023:1,669:1},qqt),l._g=function(e,n,r){switch(e){case 0:return r?(!this.a&&(this.a=new ss(this,0)),this.a):(!this.a&&(this.a=new ss(this,0)),this.a.b);case 1:return r?(!this.b&&(this.b=new _l((dn(),Qa),cc,this,1)),this.b):(!this.b&&(this.b=new _l((dn(),Qa),cc,this,1)),wD(this.b));case 2:return r?(!this.c&&(this.c=new _l((dn(),Qa),cc,this,2)),this.c):(!this.c&&(this.c=new _l((dn(),Qa),cc,this,2)),wD(this.c));case 3:return!this.a&&(this.a=new ss(this,0)),Bc(this.a,(Ii(),mP));case 4:return!this.a&&(this.a=new ss(this,0)),Bc(this.a,(Ii(),yP));case 5:return!this.a&&(this.a=new ss(this,0)),Bc(this.a,(Ii(),hA));case 6:return!this.a&&(this.a=new ss(this,0)),Bc(this.a,(Ii(),fA))}return uh(this,e-Jn((Ii(),Wv)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():Wv,e),n,r)},l.jh=function(e,n,r){var s;switch(n){case 0:return!this.a&&(this.a=new ss(this,0)),EI(this.a,e,r);case 1:return!this.b&&(this.b=new _l((dn(),Qa),cc,this,1)),Oj(this.b,e,r);case 2:return!this.c&&(this.c=new _l((dn(),Qa),cc,this,2)),Oj(this.c,e,r);case 5:return!this.a&&(this.a=new ss(this,0)),WWt(Bc(this.a,(Ii(),hA)),e,r)}return s=u(yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():(Ii(),Wv),n),66),s.Nj().Rj(this,$mt(this),n-Jn((Ii(),Wv)),e,r)},l.lh=function(e){switch(e){case 0:return!!this.a&&this.a.i!=0;case 1:return!!this.b&&this.b.f!=0;case 2:return!!this.c&&this.c.f!=0;case 3:return!this.a&&(this.a=new ss(this,0)),!hj(Bc(this.a,(Ii(),mP)));case 4:return!this.a&&(this.a=new ss(this,0)),!hj(Bc(this.a,(Ii(),yP)));case 5:return!this.a&&(this.a=new ss(this,0)),!hj(Bc(this.a,(Ii(),hA)));case 6:return!this.a&&(this.a=new ss(this,0)),!hj(Bc(this.a,(Ii(),fA)))}return oh(this,e-Jn((Ii(),Wv)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():Wv,e))},l.sh=function(e,n){switch(e){case 0:!this.a&&(this.a=new ss(this,0)),nD(this.a,n);return;case 1:!this.b&&(this.b=new _l((dn(),Qa),cc,this,1)),xz(this.b,n);return;case 2:!this.c&&(this.c=new _l((dn(),Qa),cc,this,2)),xz(this.c,n);return;case 3:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),mP))),!this.a&&(this.a=new ss(this,0)),g9(Bc(this.a,mP),u(n,14));return;case 4:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),yP))),!this.a&&(this.a=new ss(this,0)),g9(Bc(this.a,yP),u(n,14));return;case 5:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),hA))),!this.a&&(this.a=new ss(this,0)),g9(Bc(this.a,hA),u(n,14));return;case 6:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),fA))),!this.a&&(this.a=new ss(this,0)),g9(Bc(this.a,fA),u(n,14));return}gh(this,e-Jn((Ii(),Wv)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():Wv,e),n)},l.zh=function(){return Ii(),Wv},l.Bh=function(e){switch(e){case 0:!this.a&&(this.a=new ss(this,0)),xr(this.a);return;case 1:!this.b&&(this.b=new _l((dn(),Qa),cc,this,1)),this.b.c.$b();return;case 2:!this.c&&(this.c=new _l((dn(),Qa),cc,this,2)),this.c.c.$b();return;case 3:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),mP)));return;case 4:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),yP)));return;case 5:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),hA)));return;case 6:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),fA)));return}fh(this,e-Jn((Ii(),Wv)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():Wv,e))},l.Ib=function(){var e;return this.j&4?mf(this):(e=new _h(mf(this)),e.a+=" (mixed: ",l9(e,this.a),e.a+=")",e.a)},F(xs,"XMLTypeDocumentRootImpl",669),D(1919,704,{105:1,92:1,90:1,471:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1,2024:1},_m),l.Ih=function(e,n){switch(e.yj()){case 7:case 8:case 9:case 10:case 16:case 22:case 23:case 24:case 25:case 26:case 32:case 33:case 34:case 36:case 37:case 44:case 45:case 50:case 51:case 53:case 55:case 56:case 57:case 58:case 60:case 61:case 4:return n==null?null:$o(n);case 19:case 28:case 29:case 35:case 38:case 39:case 41:case 46:case 52:case 54:case 5:return Br(n);case 6:return bZe(u(n,190));case 12:case 47:case 49:case 11:return bhe(this,e,n);case 13:return n==null?null:r3n(u(n,240));case 15:case 14:return n==null?null:dnn(Xt(ye(n)));case 17:return mae((Ii(),n));case 18:return mae(n);case 21:case 20:return n==null?null:gnn(u(n,155).a);case 27:return wZe(u(n,190));case 30:return Fse((Ii(),u(n,15)));case 31:return Fse(u(n,15));case 40:return mZe((Ii(),n));case 42:return yae((Ii(),n));case 43:return yae(n);case 59:case 48:return vZe((Ii(),n));default:throw it(new Fn(QE+e.ne()+Cv))}},l.Jh=function(e){var n,r,s,o,h;switch(e.G==-1&&(e.G=(r=Rl(e),r?Hg(r.Mh(),e):-1)),e.G){case 0:return n=new Wpt,n;case 1:return s=new AB,s;case 2:return o=new Hqt,o;case 3:return h=new qqt,h;default:throw it(new Fn(Kct+e.zb+Cv))}},l.Kh=function(e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt;switch(e.yj()){case 5:case 52:case 4:return n;case 6:return Ofn(n);case 8:case 7:return n==null?null:y0n(n);case 9:return n==null?null:AD(ql((s=$c(n,!0),s.length>0&&(Rr(0,s.length),s.charCodeAt(0)==43)?s.substr(1):s),-128,127)<<24>>24);case 10:return n==null?null:AD(ql((o=$c(n,!0),o.length>0&&(Rr(0,o.length),o.charCodeAt(0)==43)?o.substr(1):o),-128,127)<<24>>24);case 11:return Br(vv(this,(Ii(),I5e),n));case 12:return Br(vv(this,(Ii(),O5e),n));case 13:return n==null?null:new gbt($c(n,!0));case 15:case 14:return z2n(n);case 16:return Br(vv(this,(Ii(),P5e),n));case 17:return zie((Ii(),n));case 18:return zie(n);case 28:case 29:case 35:case 38:case 39:case 41:case 54:case 19:return $c(n,!0);case 21:case 20:return X2n(n);case 22:return Br(vv(this,(Ii(),F5e),n));case 23:return Br(vv(this,(Ii(),N5e),n));case 24:return Br(vv(this,(Ii(),B5e),n));case 25:return Br(vv(this,(Ii(),R5e),n));case 26:return Br(vv(this,(Ii(),j5e),n));case 27:return Afn(n);case 30:return qie((Ii(),n));case 31:return qie(n);case 32:return n==null?null:pe(ql((M=$c(n,!0),M.length>0&&(Rr(0,M.length),M.charCodeAt(0)==43)?M.substr(1):M),Sa,wi));case 33:return n==null?null:new Rp((j=$c(n,!0),j.length>0&&(Rr(0,j.length),j.charCodeAt(0)==43)?j.substr(1):j));case 34:return n==null?null:pe(ql((H=$c(n,!0),H.length>0&&(Rr(0,H.length),H.charCodeAt(0)==43)?H.substr(1):H),Sa,wi));case 36:return n==null?null:v2(Rq((G=$c(n,!0),G.length>0&&(Rr(0,G.length),G.charCodeAt(0)==43)?G.substr(1):G)));case 37:return n==null?null:v2(Rq((K=$c(n,!0),K.length>0&&(Rr(0,K.length),K.charCodeAt(0)==43)?K.substr(1):K)));case 40:return Vhn((Ii(),n));case 42:return Hie((Ii(),n));case 43:return Hie(n);case 44:return n==null?null:new Rp((tt=$c(n,!0),tt.length>0&&(Rr(0,tt.length),tt.charCodeAt(0)==43)?tt.substr(1):tt));case 45:return n==null?null:new Rp((gt=$c(n,!0),gt.length>0&&(Rr(0,gt.length),gt.charCodeAt(0)==43)?gt.substr(1):gt));case 46:return $c(n,!1);case 47:return Br(vv(this,(Ii(),$5e),n));case 59:case 48:return Hhn((Ii(),n));case 49:return Br(vv(this,(Ii(),z5e),n));case 50:return n==null?null:uE(ql((Mt=$c(n,!0),Mt.length>0&&(Rr(0,Mt.length),Mt.charCodeAt(0)==43)?Mt.substr(1):Mt),zH,32767)<<16>>16);case 51:return n==null?null:uE(ql((h=$c(n,!0),h.length>0&&(Rr(0,h.length),h.charCodeAt(0)==43)?h.substr(1):h),zH,32767)<<16>>16);case 53:return Br(vv(this,(Ii(),q5e),n));case 55:return n==null?null:uE(ql((d=$c(n,!0),d.length>0&&(Rr(0,d.length),d.charCodeAt(0)==43)?d.substr(1):d),zH,32767)<<16>>16);case 56:return n==null?null:uE(ql((v=$c(n,!0),v.length>0&&(Rr(0,v.length),v.charCodeAt(0)==43)?v.substr(1):v),zH,32767)<<16>>16);case 57:return n==null?null:v2(Rq((k=$c(n,!0),k.length>0&&(Rr(0,k.length),k.charCodeAt(0)==43)?k.substr(1):k)));case 58:return n==null?null:v2(Rq((C=$c(n,!0),C.length>0&&(Rr(0,C.length),C.charCodeAt(0)==43)?C.substr(1):C)));case 60:return n==null?null:pe(ql((r=$c(n,!0),r.length>0&&(Rr(0,r.length),r.charCodeAt(0)==43)?r.substr(1):r),Sa,wi));case 61:return n==null?null:pe(ql($c(n,!0),Sa,wi));default:throw it(new Fn(QE+e.ne()+Cv))}};var V5e,TLt,G5e,CLt;F(xs,"XMLTypeFactoryImpl",1919),D(586,179,{105:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,49:1,97:1,150:1,179:1,114:1,115:1,675:1,1945:1,586:1},AXt),l.N=!1,l.O=!1;var U5e=!1;F(xs,"XMLTypePackageImpl",586),D(1852,1,{837:1},hx),l._j=function(){return oxt(),exe},F(xs,"XMLTypePackageImpl/1",1852),D(1861,1,si,d1),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/10",1861),D(1862,1,si,LB),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/11",1862),D(1863,1,si,MB),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/12",1863),D(1864,1,si,DB),l.wj=function(e){return Bm(e)},l.xj=function(e){return Nt(la,ee,333,e,7,1)},F(xs,"XMLTypePackageImpl/13",1864),D(1865,1,si,IB),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/14",1865),D(1866,1,si,OB),l.wj=function(e){return _t(e,15)},l.xj=function(e){return Nt(wh,Ty,15,e,0,1)},F(xs,"XMLTypePackageImpl/15",1866),D(1867,1,si,PB),l.wj=function(e){return _t(e,15)},l.xj=function(e){return Nt(wh,Ty,15,e,0,1)},F(xs,"XMLTypePackageImpl/16",1867),D(1868,1,si,$f),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/17",1868),D(1869,1,si,du),l.wj=function(e){return _t(e,155)},l.xj=function(e){return Nt(i7,ee,155,e,0,1)},F(xs,"XMLTypePackageImpl/18",1869),D(1870,1,si,AJ),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/19",1870),D(1853,1,si,LJ),l.wj=function(e){return _t(e,843)},l.xj=function(e){return Nt(wP,De,843,e,0,1)},F(xs,"XMLTypePackageImpl/2",1853),D(1871,1,si,MJ),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/20",1871),D(1872,1,si,gu),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/21",1872),D(1873,1,si,cC),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/22",1873),D(1874,1,si,FB),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/23",1874),D(1875,1,si,NB),l.wj=function(e){return _t(e,190)},l.xj=function(e){return Nt(Gu,ee,190,e,0,2)},F(xs,"XMLTypePackageImpl/24",1875),D(1876,1,si,fx),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/25",1876),D(1877,1,si,DJ),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/26",1877),D(1878,1,si,$k),l.wj=function(e){return _t(e,15)},l.xj=function(e){return Nt(wh,Ty,15,e,0,1)},F(xs,"XMLTypePackageImpl/27",1878),D(1879,1,si,IJ),l.wj=function(e){return _t(e,15)},l.xj=function(e){return Nt(wh,Ty,15,e,0,1)},F(xs,"XMLTypePackageImpl/28",1879),D(1880,1,si,BB),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/29",1880),D(1854,1,si,OJ),l.wj=function(e){return _t(e,667)},l.xj=function(e){return Nt(mU,De,2021,e,0,1)},F(xs,"XMLTypePackageImpl/3",1854),D(1881,1,si,PJ),l.wj=function(e){return _t(e,19)},l.xj=function(e){return Nt(ja,ee,19,e,0,1)},F(xs,"XMLTypePackageImpl/30",1881),D(1882,1,si,uC),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/31",1882),D(1883,1,si,RB),l.wj=function(e){return _t(e,162)},l.xj=function(e){return Nt(Sv,ee,162,e,0,1)},F(xs,"XMLTypePackageImpl/32",1883),D(1884,1,si,UL),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/33",1884),D(1885,1,si,lC),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/34",1885),D(1886,1,si,FJ),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/35",1886),D(1887,1,si,NJ),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/36",1887),D(1888,1,si,WL),l.wj=function(e){return _t(e,15)},l.xj=function(e){return Nt(wh,Ty,15,e,0,1)},F(xs,"XMLTypePackageImpl/37",1888),D(1889,1,si,hC),l.wj=function(e){return _t(e,15)},l.xj=function(e){return Nt(wh,Ty,15,e,0,1)},F(xs,"XMLTypePackageImpl/38",1889),D(1890,1,si,g1),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/39",1890),D(1855,1,si,zk),l.wj=function(e){return _t(e,668)},l.xj=function(e){return Nt(vP,De,2022,e,0,1)},F(xs,"XMLTypePackageImpl/4",1855),D(1891,1,si,BJ),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/40",1891),D(1892,1,si,qk),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/41",1892),D(1893,1,si,YL),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/42",1893),D(1894,1,si,Wb),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/43",1894),D(1895,1,si,fC),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/44",1895),D(1896,1,si,KL),l.wj=function(e){return _t(e,184)},l.xj=function(e){return Nt(Av,ee,184,e,0,1)},F(xs,"XMLTypePackageImpl/45",1896),D(1897,1,si,zf),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/46",1897),D(1898,1,si,dC),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/47",1898),D(1899,1,si,p1),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/48",1899),D(ab,1,si,b1),l.wj=function(e){return _t(e,184)},l.xj=function(e){return Nt(Av,ee,184,e,0,1)},F(xs,"XMLTypePackageImpl/49",ab),D(1856,1,si,RJ),l.wj=function(e){return _t(e,669)},l.xj=function(e){return Nt(kLt,De,2023,e,0,1)},F(xs,"XMLTypePackageImpl/5",1856),D(1901,1,si,jJ),l.wj=function(e){return _t(e,162)},l.xj=function(e){return Nt(Sv,ee,162,e,0,1)},F(xs,"XMLTypePackageImpl/50",1901),D(1902,1,si,M3),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/51",1902),D(1903,1,si,Hk),l.wj=function(e){return _t(e,19)},l.xj=function(e){return Nt(ja,ee,19,e,0,1)},F(xs,"XMLTypePackageImpl/52",1903),D(1857,1,si,Vk),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/6",1857),D(1858,1,si,gC),l.wj=function(e){return _t(e,190)},l.xj=function(e){return Nt(Gu,ee,190,e,0,2)},F(xs,"XMLTypePackageImpl/7",1858),D(1859,1,si,$J),l.wj=function(e){return Nm(e)},l.xj=function(e){return Nt(Rs,ee,476,e,8,1)},F(xs,"XMLTypePackageImpl/8",1859),D(1860,1,si,dx),l.wj=function(e){return _t(e,217)},l.xj=function(e){return Nt(M6,ee,217,e,0,1)},F(xs,"XMLTypePackageImpl/9",1860);var Y1,lp,dA,yU,wt;D(50,60,Q0,Nr),F(Zg,"RegEx/ParseException",50),D(820,1,{},XL),l.sl=function(e){return er*16)throw it(new Nr(qr((Pr(),g0e))));r=r*16+o}while(!0);if(this.a!=125)throw it(new Nr(qr((Pr(),p0e))));if(r>e7)throw it(new Nr(qr((Pr(),b0e))));e=r}else{if(o=0,this.c!=0||(o=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(r=o,fi(this),this.c!=0||(o=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));r=r*16+o,e=r}break;case 117:if(s=0,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=n*16+s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=n*16+s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));n=n*16+s,e=n;break;case 118:if(fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=n*16+s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=n*16+s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=n*16+s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=n*16+s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=n*16+s,n>e7)throw it(new Nr(qr((Pr(),"parser.descappe.4"))));e=n;break;case 65:case 90:case 122:throw it(new Nr(qr((Pr(),w0e))))}return e},l.ul=function(e){var n,r;switch(e){case 100:r=(this.e&32)==32?ib("Nd",!0):(gi(),xU);break;case 68:r=(this.e&32)==32?ib("Nd",!1):(gi(),DLt);break;case 119:r=(this.e&32)==32?ib("IsWord",!0):(gi(),q7);break;case 87:r=(this.e&32)==32?ib("IsWord",!1):(gi(),OLt);break;case 115:r=(this.e&32)==32?ib("IsSpace",!0):(gi(),ek);break;case 83:r=(this.e&32)==32?ib("IsSpace",!1):(gi(),ILt);break;default:throw it(new Vo((n=e,wge+n.toString(16))))}return r},l.vl=function(e){var n,r,s,o,h,d,v,k,C,M,j,H;for(this.b=1,fi(this),n=null,this.c==0&&this.a==94?(fi(this),e?M=(gi(),gi(),new Nl(5)):(n=(gi(),gi(),new Nl(4)),jc(n,0,e7),M=new Nl(4))):M=(gi(),gi(),new Nl(4)),o=!0;(H=this.c)!=1&&!(H==0&&this.a==93&&!o);){if(o=!1,r=this.a,s=!1,H==10)switch(r){case 100:case 68:case 119:case 87:case 115:case 83:yy(M,this.ul(r)),s=!0;break;case 105:case 73:case 99:case 67:r=this.Ll(M,r),r<0&&(s=!0);break;case 112:case 80:if(j=u5t(this,r),!j)throw it(new Nr(qr((Pr(),cut))));yy(M,j),s=!0;break;default:r=this.tl()}else if(H==20){if(d=v8(this.i,58,this.d),d<0)throw it(new Nr(qr((Pr(),O8t))));if(v=!0,wa(this.i,this.d)==94&&(++this.d,v=!1),h=Pl(this.i,this.d,d),k=Lte(h,v,(this.e&512)==512),!k)throw it(new Nr(qr((Pr(),u0e))));if(yy(M,k),s=!0,d+1>=this.j||wa(this.i,d+1)!=93)throw it(new Nr(qr((Pr(),O8t))));this.d=d+2}if(fi(this),!s)if(this.c!=0||this.a!=45)jc(M,r,r);else{if(fi(this),(H=this.c)==1)throw it(new Nr(qr((Pr(),PH))));H==0&&this.a==93?(jc(M,r,r),jc(M,45,45)):(C=this.a,H==10&&(C=this.tl()),fi(this),jc(M,r,C))}(this.e&xf)==xf&&this.c==0&&this.a==44&&fi(this)}if(this.c==1)throw it(new Nr(qr((Pr(),PH))));return n&&(L_(n,M),M=n),v4(M),S_(M),this.b=0,fi(this),M},l.wl=function(){var e,n,r,s;for(r=this.vl(!1);(s=this.c)!=7;)if(e=this.a,s==0&&(e==45||e==38)||s==4){if(fi(this),this.c!=9)throw it(new Nr(qr((Pr(),h0e))));if(n=this.vl(!1),s==4)yy(r,n);else if(e==45)L_(r,n);else if(e==38)lhe(r,n);else throw it(new Vo("ASSERT"))}else throw it(new Nr(qr((Pr(),f0e))));return fi(this),r},l.xl=function(){var e,n;return e=this.a-48,n=(gi(),gi(),new krt(12,null,e)),!this.g&&(this.g=new ER),kR(this.g,new Spt(e)),fi(this),n},l.yl=function(){return fi(this),gi(),K5e},l.zl=function(){return fi(this),gi(),Y5e},l.Al=function(){throw it(new Nr(qr((Pr(),bh))))},l.Bl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Cl=function(){return fi(this),Gun()},l.Dl=function(){return fi(this),gi(),Q5e},l.El=function(){return fi(this),gi(),J5e},l.Fl=function(){var e;if(this.d>=this.j||((e=wa(this.i,this.d++))&65504)!=64)throw it(new Nr(qr((Pr(),a0e))));return fi(this),gi(),gi(),new Yd(0,e-64)},l.Gl=function(){return fi(this),Ayn()},l.Hl=function(){return fi(this),gi(),txe},l.Il=function(){var e;return e=(gi(),gi(),new Yd(0,105)),fi(this),e},l.Jl=function(){return fi(this),gi(),Z5e},l.Kl=function(){return fi(this),gi(),X5e},l.Ll=function(e,n){return this.tl()},l.Ml=function(){return fi(this),gi(),LLt},l.Nl=function(){var e,n,r,s,o;if(this.d+1>=this.j)throw it(new Nr(qr((Pr(),r0e))));if(s=-1,n=null,e=wa(this.i,this.d),49<=e&&e<=57){if(s=e-48,!this.g&&(this.g=new ER),kR(this.g,new Spt(s)),++this.d,wa(this.i,this.d)!=41)throw it(new Nr(qr((Pr(),I2))));++this.d}else switch(e==63&&--this.d,fi(this),n=Ixt(this),n.e){case 20:case 21:case 22:case 23:break;case 8:if(this.c!=7)throw it(new Nr(qr((Pr(),I2))));break;default:throw it(new Nr(qr((Pr(),i0e))))}if(fi(this),o=cv(this),r=null,o.e==2){if(o.em()!=2)throw it(new Nr(qr((Pr(),s0e))));r=o.am(1),o=o.am(0)}if(this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),gi(),gi(),new oee(s,n,o,r)},l.Ol=function(){return fi(this),gi(),MLt},l.Pl=function(){var e;if(fi(this),e=i$(24,cv(this)),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),e},l.Ql=function(){var e;if(fi(this),e=i$(20,cv(this)),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),e},l.Rl=function(){var e;if(fi(this),e=i$(22,cv(this)),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),e},l.Sl=function(){var e,n,r,s,o;for(e=0,r=0,n=-1;this.d=this.j)throw it(new Nr(qr((Pr(),D8t))));if(n==45){for(++this.d;this.d=this.j)throw it(new Nr(qr((Pr(),D8t))))}if(n==58){if(++this.d,fi(this),s=fXt(cv(this),e,r),this.c!=7)throw it(new Nr(qr((Pr(),I2))));fi(this)}else if(n==41)++this.d,fi(this),s=fXt(cv(this),e,r);else throw it(new Nr(qr((Pr(),n0e))));return s},l.Tl=function(){var e;if(fi(this),e=i$(21,cv(this)),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),e},l.Ul=function(){var e;if(fi(this),e=i$(23,cv(this)),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),e},l.Vl=function(){var e,n;if(fi(this),e=this.f++,n=Knt(cv(this),e),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),n},l.Wl=function(){var e;if(fi(this),e=Knt(cv(this),0),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),e},l.Xl=function(e){return fi(this),this.c==5?(fi(this),Yj(e,(gi(),gi(),new Xm(9,e)))):Yj(e,(gi(),gi(),new Xm(3,e)))},l.Yl=function(e){var n;return fi(this),n=(gi(),gi(),new d9(2)),this.c==5?(fi(this),E2(n,pA),E2(n,e)):(E2(n,e),E2(n,pA)),n},l.Zl=function(e){return fi(this),this.c==5?(fi(this),gi(),gi(),new Xm(9,e)):(gi(),gi(),new Xm(3,e))},l.a=0,l.b=0,l.c=0,l.d=0,l.e=0,l.f=1,l.g=null,l.j=0,F(Zg,"RegEx/RegexParser",820),D(1824,820,{},Vqt),l.sl=function(e){return!1},l.tl=function(){return H5t(this)},l.ul=function(e){return ME(e)},l.vl=function(e){return nfe(this)},l.wl=function(){throw it(new Nr(qr((Pr(),bh))))},l.xl=function(){throw it(new Nr(qr((Pr(),bh))))},l.yl=function(){throw it(new Nr(qr((Pr(),bh))))},l.zl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Al=function(){return fi(this),ME(67)},l.Bl=function(){return fi(this),ME(73)},l.Cl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Dl=function(){throw it(new Nr(qr((Pr(),bh))))},l.El=function(){throw it(new Nr(qr((Pr(),bh))))},l.Fl=function(){return fi(this),ME(99)},l.Gl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Hl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Il=function(){return fi(this),ME(105)},l.Jl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Kl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Ll=function(e,n){return yy(e,ME(n)),-1},l.Ml=function(){return fi(this),gi(),gi(),new Yd(0,94)},l.Nl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Ol=function(){return fi(this),gi(),gi(),new Yd(0,36)},l.Pl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Ql=function(){throw it(new Nr(qr((Pr(),bh))))},l.Rl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Sl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Tl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Ul=function(){throw it(new Nr(qr((Pr(),bh))))},l.Vl=function(){var e;if(fi(this),e=Knt(cv(this),0),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),e},l.Wl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Xl=function(e){return fi(this),Yj(e,(gi(),gi(),new Xm(3,e)))},l.Yl=function(e){var n;return fi(this),n=(gi(),gi(),new d9(2)),E2(n,e),E2(n,pA),n},l.Zl=function(e){return fi(this),gi(),gi(),new Xm(3,e)};var d5=null,$7=null;F(Zg,"RegEx/ParserForXMLSchema",1824),D(117,1,n7,yw),l.$l=function(e){throw it(new Vo("Not supported."))},l._l=function(){return-1},l.am=function(e){return null},l.bm=function(){return null},l.cm=function(e){},l.dm=function(e){},l.em=function(){return 0},l.Ib=function(){return this.fm(0)},l.fm=function(e){return this.e==11?".":""},l.e=0;var _Lt,z7,gA,W5e,SLt,s3=null,xU,Hft=null,ALt,pA,Vft=null,LLt,MLt,DLt,ILt,OLt,Y5e,ek,K5e,X5e,Q5e,Z5e,q7,J5e,txe,k6n=F(Zg,"RegEx/Token",117);D(136,117,{3:1,136:1,117:1},Nl),l.fm=function(e){var n,r,s;if(this.e==4)if(this==ALt)r=".";else if(this==xU)r="\\d";else if(this==q7)r="\\w";else if(this==ek)r="\\s";else{for(s=new Ag,s.a+="[",n=0;n0&&(s.a+=","),this.b[n]===this.b[n+1]?go(s,_I(this.b[n])):(go(s,_I(this.b[n])),s.a+="-",go(s,_I(this.b[n+1])));s.a+="]",r=s.a}else if(this==DLt)r="\\D";else if(this==OLt)r="\\W";else if(this==ILt)r="\\S";else{for(s=new Ag,s.a+="[^",n=0;n0&&(s.a+=","),this.b[n]===this.b[n+1]?go(s,_I(this.b[n])):(go(s,_I(this.b[n])),s.a+="-",go(s,_I(this.b[n+1])));s.a+="]",r=s.a}return r},l.a=!1,l.c=!1,F(Zg,"RegEx/RangeToken",136),D(584,1,{584:1},Spt),l.a=0,F(Zg,"RegEx/RegexParser/ReferencePosition",584),D(583,1,{3:1,583:1},eVt),l.Fb=function(e){var n;return e==null||!_t(e,583)?!1:(n=u(e,583),hn(this.b,n.b)&&this.a==n.a)},l.Hb=function(){return Vg(this.b+"/"+B5t(this.a))},l.Ib=function(){return this.c.fm(this.a)},l.a=0,F(Zg,"RegEx/RegularExpression",583),D(223,117,n7,Yd),l._l=function(){return this.a},l.fm=function(e){var n,r,s;switch(this.e){case 0:switch(this.a){case 124:case 42:case 43:case 63:case 40:case 41:case 46:case 91:case 123:case 92:s="\\"+knt(this.a&ys);break;case 12:s="\\f";break;case 10:s="\\n";break;case 13:s="\\r";break;case 9:s="\\t";break;case 27:s="\\e";break;default:this.a>=Ka?(r=(n=this.a>>>0,"0"+n.toString(16)),s="\\v"+Pl(r,r.length-6,r.length)):s=""+knt(this.a&ys)}break;case 8:this==LLt||this==MLt?s=""+knt(this.a&ys):s="\\"+knt(this.a&ys);break;default:s=null}return s},l.a=0,F(Zg,"RegEx/Token/CharToken",223),D(309,117,n7,Xm),l.am=function(e){return this.a},l.cm=function(e){this.b=e},l.dm=function(e){this.c=e},l.em=function(){return 1},l.fm=function(e){var n;if(this.e==3)if(this.c<0&&this.b<0)n=this.a.fm(e)+"*";else if(this.c==this.b)n=this.a.fm(e)+"{"+this.c+"}";else if(this.c>=0&&this.b>=0)n=this.a.fm(e)+"{"+this.c+","+this.b+"}";else if(this.c>=0&&this.b<0)n=this.a.fm(e)+"{"+this.c+",}";else throw it(new Vo("Token#toString(): CLOSURE "+this.c+Ya+this.b));else if(this.c<0&&this.b<0)n=this.a.fm(e)+"*?";else if(this.c==this.b)n=this.a.fm(e)+"{"+this.c+"}?";else if(this.c>=0&&this.b>=0)n=this.a.fm(e)+"{"+this.c+","+this.b+"}?";else if(this.c>=0&&this.b<0)n=this.a.fm(e)+"{"+this.c+",}?";else throw it(new Vo("Token#toString(): NONGREEDYCLOSURE "+this.c+Ya+this.b));return n},l.b=0,l.c=0,F(Zg,"RegEx/Token/ClosureToken",309),D(821,117,n7,mvt),l.am=function(e){return e==0?this.a:this.b},l.em=function(){return 2},l.fm=function(e){var n;return this.b.e==3&&this.b.am(0)==this.a?n=this.a.fm(e)+"+":this.b.e==9&&this.b.am(0)==this.a?n=this.a.fm(e)+"+?":n=this.a.fm(e)+(""+this.b.fm(e)),n},F(Zg,"RegEx/Token/ConcatToken",821),D(1822,117,n7,oee),l.am=function(e){if(e==0)return this.d;if(e==1)return this.b;throw it(new Vo("Internal Error: "+e))},l.em=function(){return this.b?2:1},l.fm=function(e){var n;return this.c>0?n="(?("+this.c+")":this.a.e==8?n="(?("+this.a+")":n="(?"+this.a,this.b?n+=this.d+"|"+this.b+")":n+=this.d+")",n},l.c=0,F(Zg,"RegEx/Token/ConditionToken",1822),D(1823,117,n7,oZt),l.am=function(e){return this.b},l.em=function(){return 1},l.fm=function(e){return"(?"+(this.a==0?"":B5t(this.a))+(this.c==0?"":B5t(this.c))+":"+this.b.fm(e)+")"},l.a=0,l.c=0,F(Zg,"RegEx/Token/ModifierToken",1823),D(822,117,n7,Cvt),l.am=function(e){return this.a},l.em=function(){return 1},l.fm=function(e){var n;switch(n=null,this.e){case 6:this.b==0?n="(?:"+this.a.fm(e)+")":n="("+this.a.fm(e)+")";break;case 20:n="(?="+this.a.fm(e)+")";break;case 21:n="(?!"+this.a.fm(e)+")";break;case 22:n="(?<="+this.a.fm(e)+")";break;case 23:n="(?"+this.a.fm(e)+")"}return n},l.b=0,F(Zg,"RegEx/Token/ParenToken",822),D(521,117,{3:1,117:1,521:1},krt),l.bm=function(){return this.b},l.fm=function(e){return this.e==12?"\\"+this.a:Nbn(this.b)},l.a=0,F(Zg,"RegEx/Token/StringToken",521),D(465,117,n7,d9),l.$l=function(e){E2(this,e)},l.am=function(e){return u(zw(this.a,e),117)},l.em=function(){return this.a?this.a.a.c.length:0},l.fm=function(e){var n,r,s,o,h;if(this.e==1){if(this.a.a.c.length==2)n=u(zw(this.a,0),117),r=u(zw(this.a,1),117),r.e==3&&r.am(0)==n?o=n.fm(e)+"+":r.e==9&&r.am(0)==n?o=n.fm(e)+"+?":o=n.fm(e)+(""+r.fm(e));else{for(h=new Ag,s=0;s=this.c.b:this.a<=this.c.b},l.Sb=function(){return this.b>0},l.Tb=function(){return this.b},l.Vb=function(){return this.b-1},l.Qb=function(){throw it(new Sg(Tge))},l.a=0,l.b=0,F(Z8t,"ExclusiveRange/RangeIterator",254);var xh=A8(FH,"C"),Cr=A8(rS,"I"),pl=A8(b6,"Z"),Ob=A8(iS,"J"),Gu=A8(tS,"B"),aa=A8(eS,"D"),a3=A8(nS,"F"),g5=A8(sS,"S"),E6n=Ki("org.eclipse.elk.core.labels","ILabelManager"),PLt=Ki(Ra,"DiagnosticChain"),FLt=Ki(Z0e,"ResourceSet"),NLt=F(Ra,"InvocationTargetException",null),nxe=(AR(),gan),rxe=rxe=r0n;ucn(nKe),Fcn("permProps",[[[YH,KH],[XH,"gecko1_8"]],[[YH,KH],[XH,"ie10"]],[[YH,KH],[XH,"ie8"]],[[YH,KH],[XH,"ie9"]],[[YH,KH],[XH,"safari"]]]),rxe(null,"elk",null)}).call(this)}).call(this,typeof b0<"u"?b0:typeof self<"u"?self:typeof window<"u"?window:{})},{}],3:[function(f,p,w){function m(I,B){if(!(I instanceof B))throw new TypeError("Cannot call a class as a function")}function b(I,B){if(!I)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return B&&(typeof B=="object"||typeof B=="function")?B:I}function E(I,B){if(typeof B!="function"&&B!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof B);I.prototype=Object.create(B&&B.prototype,{constructor:{value:I,enumerable:!1,writable:!0,configurable:!0}}),B&&(Object.setPrototypeOf?Object.setPrototypeOf(I,B):I.__proto__=B)}var _=f("./elk-api.js").default,A=function(I){E(B,I);function B(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};m(this,B);var R=Object.assign({},N),z=!1;try{f.resolve("web-worker"),z=!0}catch{}if(N.workerUrl)if(z){var W=f("web-worker");R.workerFactory=function(at){return new W(at)}}else console.warn(`Web worker requested but 'web-worker' package not installed. +Consider installing the package or pass your own 'workerFactory' to ELK's constructor. +... Falling back to non-web worker version.`);if(!R.workerFactory){var et=f("./elk-worker.min.js"),st=et.Worker;R.workerFactory=function(at){return new st(at)}}return b(this,(B.__proto__||Object.getPrototypeOf(B)).call(this,R))}return B}(_);Object.defineProperty(p.exports,"__esModule",{value:!0}),p.exports=A,A.default=A},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(f,p,w){p.exports=Worker},{}]},{},[3])(3)})})(Bjt);var oWe=Bjt.exports;const cWe=G7(oWe),Rjt=new cWe;let ow={};const uWe={};let q5={};const lWe=async function(i,a,f,p,w,m,b){const _=f.select(`[id="${a}"]`).insert("g").attr("class","nodes"),A=Object.keys(i);return await Promise.all(A.map(async function(I){const B=i[I];let N="default";B.classes.length>0&&(N=B.classes.join(" ")),N=N+" flowchart-label";const R=im(B.styles);let z=B.text!==void 0?B.text:B.id;const W={width:0,height:0},et=[{id:B.id+"-west",layoutOptions:{"port.side":"WEST"}},{id:B.id+"-east",layoutOptions:{"port.side":"EAST"}},{id:B.id+"-south",layoutOptions:{"port.side":"SOUTH"}},{id:B.id+"-north",layoutOptions:{"port.side":"NORTH"}}];let st=0,at="",bt={};switch(B.type){case"round":st=5,at="rect";break;case"square":at="rect";break;case"diamond":at="question",bt={portConstraints:"FIXED_SIDE"};break;case"hexagon":at="hexagon";break;case"odd":at="rect_left_inv_arrow";break;case"lean_right":at="lean_right";break;case"lean_left":at="lean_left";break;case"trapezoid":at="trapezoid";break;case"inv_trapezoid":at="inv_trapezoid";break;case"odd_right":at="rect_left_inv_arrow";break;case"circle":at="circle";break;case"ellipse":at="ellipse";break;case"stadium":at="stadium";break;case"subroutine":at="subroutine";break;case"cylinder":at="cylinder";break;case"group":at="rect";break;case"doublecircle":at="doublecircle";break;default:at="rect"}const mt={labelStyle:R.labelStyle,shape:at,labelText:z,labelType:B.labelType,rx:st,ry:st,class:N,style:R.style,id:B.id,link:B.link,linkTarget:B.linkTarget,tooltip:w.db.getTooltip(B.id)||"",domId:w.db.lookUpDomId(B.id),haveCallback:B.haveCallback,width:B.type==="group"?500:void 0,dir:B.dir,type:B.type,props:B.props,padding:Fd().flowchart.padding};let yt,ft;if(mt.type!=="group")ft=await kBt(_,mt,B.dir),yt=ft.node().getBBox();else{p.createElementNS("http://www.w3.org/2000/svg","text");const{shapeSvg:vt,bbox:X}=await Nd(_,mt,void 0,!0);W.width=X.width,W.wrappingWidth=Fd().flowchart.wrappingWidth,W.height=X.height,W.labelNode=vt.node(),mt.labelData=W}const ut={id:B.id,ports:B.type==="diamond"?et:[],layoutOptions:bt,labelText:z,labelData:W,domId:w.db.lookUpDomId(B.id),width:yt==null?void 0:yt.width,height:yt==null?void 0:yt.height,type:B.type,el:ft,parent:m.parentById[B.id]};q5[mt.id]=ut})),b},jjt=(i,a,f)=>{const p={TB:{in:{north:"north"},out:{south:"west",west:"east",east:"south"}},LR:{in:{west:"west"},out:{east:"south",south:"north",north:"east"}},RL:{in:{east:"east"},out:{west:"north",north:"south",south:"west"}},BT:{in:{south:"south"},out:{north:"east",east:"west",west:"north"}}};return p.TD=p.TB,Ut.info("abc88",f,a,i),p[f][a][i]},$jt=(i,a,f)=>{if(Ut.info("getNextPort abc88",{node:i,edgeDirection:a,graphDirection:f}),!ow[i])switch(f){case"TB":case"TD":ow[i]={inPosition:"north",outPosition:"south"};break;case"BT":ow[i]={inPosition:"south",outPosition:"north"};break;case"RL":ow[i]={inPosition:"east",outPosition:"west"};break;case"LR":ow[i]={inPosition:"west",outPosition:"east"};break}const p=a==="in"?ow[i].inPosition:ow[i].outPosition;return a==="in"?ow[i].inPosition=jjt(ow[i].inPosition,a,f):ow[i].outPosition=jjt(ow[i].outPosition,a,f),p},hWe=(i,a)=>{let f=i.start,p=i.end;const w=f,m=p,b=q5[f],E=q5[p];return!b||!E?{source:f,target:p}:(b.type==="diamond"&&(f=`${f}-${$jt(f,"out",a)}`),E.type==="diamond"&&(p=`${p}-${$jt(p,"in",a)}`),{source:f,target:p,sourceId:w,targetId:m})},fWe=function(i,a,f,p){Ut.info("abc78 edges = ",i);const w=p.insert("g").attr("class","edgeLabels");let m={},b=a.db.getDirection(),E,_;if(i.defaultStyle!==void 0){const A=im(i.defaultStyle);E=A.style,_=A.labelStyle}return i.forEach(function(A){const I="L-"+A.start+"-"+A.end;m[I]===void 0?(m[I]=0,Ut.info("abc78 new entry",I,m[I])):(m[I]++,Ut.info("abc78 new entry",I,m[I]));let B=I+"-"+m[I];Ut.info("abc78 new link id to be used is",I,B,m[I]);const N="LS-"+A.start,R="LE-"+A.end,z={style:"",labelStyle:""};switch(z.minlen=A.length||1,A.type==="arrow_open"?z.arrowhead="none":z.arrowhead="normal",z.arrowTypeStart="arrow_open",z.arrowTypeEnd="arrow_open",A.type){case"double_arrow_cross":z.arrowTypeStart="arrow_cross";case"arrow_cross":z.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":z.arrowTypeStart="arrow_point";case"arrow_point":z.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":z.arrowTypeStart="arrow_circle";case"arrow_circle":z.arrowTypeEnd="arrow_circle";break}let W="",et="";switch(A.stroke){case"normal":W="fill:none;",E!==void 0&&(W=E),_!==void 0&&(et=_),z.thickness="normal",z.pattern="solid";break;case"dotted":z.thickness="normal",z.pattern="dotted",z.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":z.thickness="thick",z.pattern="solid",z.style="stroke-width: 3.5px;fill:none;";break}if(A.style!==void 0){const ft=im(A.style);W=ft.style,et=ft.labelStyle}z.style=z.style+=W,z.labelStyle=z.labelStyle+=et,A.interpolate!==void 0?z.curve=ew(A.interpolate,cg):i.defaultInterpolate!==void 0?z.curve=ew(i.defaultInterpolate,cg):z.curve=ew(uWe.curve,cg),A.text===void 0?A.style!==void 0&&(z.arrowheadStyle="fill: #333"):(z.arrowheadStyle="fill: #333",z.labelpos="c"),z.labelType=A.labelType,z.label=A.text.replace(Kr.lineBreakRegex,` +`),A.style===void 0&&(z.style=z.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),z.labelStyle=z.labelStyle.replace("color:","fill:"),z.id=B,z.classes="flowchart-link "+N+" "+R;const st=_Bt(w,z),{source:at,target:bt,sourceId:mt,targetId:yt}=hWe(A,b);Ut.debug("abc78 source and target",at,bt),f.edges.push({id:"e"+A.start+A.end,sources:[at],targets:[bt],sourceId:mt,targetId:yt,labelEl:st,labels:[{width:z.width,height:z.height,orgWidth:z.width,orgHeight:z.height,text:z.label,layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}],edgeData:z})}),f},dWe=function(i,a,f,p,w){let m="";switch(p&&(m=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,m=m.replace(/\(/g,"\\("),m=m.replace(/\)/g,"\\)")),a.arrowTypeStart){case"arrow_cross":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-crossStart)");break;case"arrow_point":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-pointStart)");break;case"arrow_barb":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-barbStart)");break;case"arrow_circle":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-circleStart)");break;case"aggregation":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-aggregationStart)");break;case"extension":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-extensionStart)");break;case"composition":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-compositionStart)");break;case"dependency":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-dependencyStart)");break;case"lollipop":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-lollipopStart)");break}switch(a.arrowTypeEnd){case"arrow_cross":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-crossEnd)");break;case"arrow_point":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-pointEnd)");break;case"arrow_barb":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-barbEnd)");break;case"arrow_circle":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-circleEnd)");break;case"aggregation":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-aggregationEnd)");break;case"extension":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-extensionEnd)");break;case"composition":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-compositionEnd)");break;case"dependency":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-dependencyEnd)");break;case"lollipop":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-lollipopEnd)");break}},gWe=function(i,a){return Ut.info("Extracting classes"),a.db.getClasses()},pWe=function(i){const a={parentById:{},childrenById:{}},f=i.getSubGraphs();return Ut.info("Subgraphs - ",f),f.forEach(function(p){p.nodes.forEach(function(w){a.parentById[w]=p.id,a.childrenById[p.id]===void 0&&(a.childrenById[p.id]=[]),a.childrenById[p.id].push(w)})}),f.forEach(function(p){p.id,a.parentById[p.id]!==void 0&&a.parentById[p.id]}),a},bWe=function(i,a,f){const p=aWe(i,a,f);if(p===void 0||p==="root")return{x:0,y:0};const w=q5[p].offset;return{x:w.posX,y:w.posY}},wWe=function(i,a,f,p,w,m){const b=bWe(a.sourceId,a.targetId,w),E=a.sections[0].startPoint,_=a.sections[0].endPoint,I=(a.sections[0].bendPoints?a.sections[0].bendPoints:[]).map(bt=>[bt.x+b.x,bt.y+b.y]),B=[[E.x+b.x,E.y+b.y],...I,[_.x+b.x,_.y+b.y]],{x:N,y:R}=CBt(a.edgeData),z=E5().x(N).y(R).curve(cg),W=i.insert("path").attr("d",z(B)).attr("class","path "+f.classes).attr("fill","none"),et=i.insert("g").attr("class","edgeLabel"),st=yr(et.node().appendChild(a.labelEl)),at=st.node().firstChild.getBoundingClientRect();st.attr("width",at.width),st.attr("height",at.height),et.attr("transform",`translate(${a.labels[0].x+b.x}, ${a.labels[0].y+b.y})`),dWe(W,f,p.type,p.arrowMarkerAbsolute,m)},zjt=(i,a)=>{i.forEach(f=>{f.children||(f.children=[]);const p=a.childrenById[f.id];p&&p.forEach(w=>{f.children.push(q5[w])}),zjt(f.children,a)})},vWe=async function(i,a,f,p){var ut;p.db.clear(),q5={},ow={},p.db.setGen("gen-2"),p.parser.parse(i);const w=yr("body").append("div").attr("style","height:400px").attr("id","cy");let m={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","org.eclipse.elk.padding":"[top=100, left=100, bottom=110, right=110]","elk.layered.spacing.edgeNodeBetweenLayers":"30","elk.direction":"DOWN"},children:[],edges:[]};switch(Ut.info("Drawing flowchart using v3 renderer",Rjt),p.db.getDirection()){case"BT":m.layoutOptions["elk.direction"]="UP";break;case"TB":m.layoutOptions["elk.direction"]="DOWN";break;case"LR":m.layoutOptions["elk.direction"]="RIGHT";break;case"RL":m.layoutOptions["elk.direction"]="LEFT";break}const{securityLevel:E,flowchart:_}=Fd();let A;E==="sandbox"&&(A=yr("#i"+a));const I=yr(E==="sandbox"?A.nodes()[0].contentDocument.body:"body"),B=E==="sandbox"?A.nodes()[0].contentDocument:document,N=I.select(`[id="${a}"]`);PNt(N,["point","circle","cross"],p.type,a);const z=p.db.getVertices();let W;const et=p.db.getSubGraphs();Ut.info("Subgraphs - ",et);for(let vt=et.length-1;vt>=0;vt--)W=et[vt],p.db.addVertex(W.id,{text:W.title,type:W.labelType},"group",void 0,W.classes,W.dir);const st=N.insert("g").attr("class","subgraphs"),at=pWe(p.db);m=await lWe(z,a,I,B,p,at,m);const bt=N.insert("g").attr("class","edges edgePath"),mt=p.db.getEdges();m=fWe(mt,p,m,N),Object.keys(q5).forEach(vt=>{const X=q5[vt];X.parent||m.children.push(X),at.childrenById[vt]!==void 0&&(X.labels=[{text:X.labelText,layoutOptions:{"nodeLabels.placement":"[H_CENTER, V_TOP, INSIDE]"},width:X.labelData.width,height:X.labelData.height}],delete X.x,delete X.y,delete X.width,delete X.height)}),zjt(m.children,at),Ut.info("after layout",JSON.stringify(m,null,2));const ft=await Rjt.layout(m);qjt(0,0,ft.children,N,st,p,0),Ut.info("after layout",ft),(ut=ft.edges)==null||ut.map(vt=>{wWe(bt,vt,vt.edgeData,p,at,a)}),fT({},N,_.diagramPadding,_.useMaxWidth),w.remove()},qjt=(i,a,f,p,w,m,b)=>{f.forEach(function(E){if(E)if(q5[E.id].offset={posX:E.x+i,posY:E.y+a,x:i,y:a,depth:b,width:E.width,height:E.height},E.type==="group"){const _=w.insert("g").attr("class","subgraph");_.insert("rect").attr("class","subgraph subgraph-lvl-"+b%5+" node").attr("x",E.x+i).attr("y",E.y+a).attr("width",E.width).attr("height",E.height);const A=_.insert("g").attr("class","label"),I=Fd().flowchart.htmlLabels?E.labelData.width/2:0;A.attr("transform",`translate(${E.labels[0].x+i+E.x+I}, ${E.labels[0].y+a+E.y+3})`),A.node().appendChild(E.labelData.labelNode),Ut.info("Id (UGH)= ",E.type,E.labels)}else Ut.info("Id (UGH)= ",E.id),E.el.attr("transform",`translate(${E.x+i+E.width/2}, ${E.y+a+E.height/2})`)}),f.forEach(function(E){E&&E.type==="group"&&qjt(i+E.x,a+E.y,E.children,p,w,m,b+1)})},mWe={getClasses:gWe,draw:vWe},yWe=i=>{let a="";for(let f=0;f<5;f++)a+=` + .subgraph-lvl-${f} { + fill: ${i[`surface${f}`]}; + stroke: ${i[`surfacePeer${f}`]}; + } + `;return a},xWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{db:lIe,renderer:mWe,parser:Hdt,styles:i=>`.label { + font-family: ${i.fontFamily}; + color: ${i.nodeTextColor||i.textColor}; + } + .cluster-label text { + fill: ${i.titleColor}; + } + .cluster-label span { + color: ${i.titleColor}; + } + + .label text,span { + fill: ${i.nodeTextColor||i.textColor}; + color: ${i.nodeTextColor||i.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.85; + background-color: ${i.edgeLabelBackground}; + fill: ${i.edgeLabelBackground}; + } + text-align: center; + } + + .cluster rect { + fill: ${i.clusterBkg}; + stroke: ${i.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${i.titleColor}; + } + + .cluster span { + color: ${i.titleColor}; + } + /* .cluster div { + color: ${i.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${i.fontFamily}; + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } + .subgraph { + stroke-width:2; + rx:3; + } + // .subgraph-lvl-1 { + // fill:#ccc; + // // stroke:black; + // } + + .flowchart-label text { + text-anchor: middle; + } + + ${yWe(i)} +`}},Symbol.toStringTag,{value:"Module"}));var Ygt=function(){var i=function(N,R,z,W){for(z=z||{},W=N.length;W--;z[N[W]]=R);return z},a=[6,8,10,11,12,14,16,17,20,21],f=[1,9],p=[1,10],w=[1,11],m=[1,12],b=[1,13],E=[1,16],_=[1,17],A={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:function(R,z,W,et,st,at,bt){var mt=at.length-1;switch(st){case 1:return at[mt-1];case 2:this.$=[];break;case 3:at[mt-1].push(at[mt]),this.$=at[mt-1];break;case 4:case 5:this.$=at[mt];break;case 6:case 7:this.$=[];break;case 8:et.getCommonDb().setDiagramTitle(at[mt].substr(6)),this.$=at[mt].substr(6);break;case 9:this.$=at[mt].trim(),et.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=at[mt].trim(),et.getCommonDb().setAccDescription(this.$);break;case 12:et.addSection(at[mt].substr(8)),this.$=at[mt].substr(8);break;case 15:et.addTask(at[mt],0,""),this.$=at[mt];break;case 16:et.addEvent(at[mt].substr(2)),this.$=at[mt];break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:f,12:p,14:w,16:m,17:b,18:14,19:15,20:E,21:_},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:18,11:f,12:p,14:w,16:m,17:b,18:14,19:15,20:E,21:_},i(a,[2,5]),i(a,[2,6]),i(a,[2,8]),{13:[1,19]},{15:[1,20]},i(a,[2,11]),i(a,[2,12]),i(a,[2,13]),i(a,[2,14]),i(a,[2,15]),i(a,[2,16]),i(a,[2,4]),i(a,[2,9]),i(a,[2,10])],defaultActions:{},parseError:function(R,z){if(z.recoverable)this.trace(R);else{var W=new Error(R);throw W.hash=z,W}},parse:function(R){var z=this,W=[0],et=[],st=[null],at=[],bt=this.table,mt="",yt=0,ft=0,ut=2,vt=1,X=at.slice.call(arguments,1),pt=Object.create(this.lexer),U={yy:{}};for(var Tt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Tt)&&(U.yy[Tt]=this.yy[Tt]);pt.setInput(R,U.yy),U.yy.lexer=pt,U.yy.parser=this,typeof pt.yylloc>"u"&&(pt.yylloc={});var nt=pt.yylloc;at.push(nt);var It=pt.options&&pt.options.ranges;typeof U.yy.parseError=="function"?this.parseError=U.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ot(){var me;return me=et.pop()||pt.lex()||vt,typeof me!="number"&&(me instanceof Array&&(et=me,me=et.pop()),me=z.symbols_[me]||me),me}for(var Bt,Et,Z,Ct,xt={},Ht,Le,Ft,gn;;){if(Et=W[W.length-1],this.defaultActions[Et]?Z=this.defaultActions[Et]:((Bt===null||typeof Bt>"u")&&(Bt=Ot()),Z=bt[Et]&&bt[Et][Bt]),typeof Z>"u"||!Z.length||!Z[0]){var Se="";gn=[];for(Ht in bt[Et])this.terminals_[Ht]&&Ht>ut&&gn.push("'"+this.terminals_[Ht]+"'");pt.showPosition?Se="Parse error on line "+(yt+1)+`: +`+pt.showPosition()+` +Expecting `+gn.join(", ")+", got '"+(this.terminals_[Bt]||Bt)+"'":Se="Parse error on line "+(yt+1)+": Unexpected "+(Bt==vt?"end of input":"'"+(this.terminals_[Bt]||Bt)+"'"),this.parseError(Se,{text:pt.match,token:this.terminals_[Bt]||Bt,line:pt.yylineno,loc:nt,expected:gn})}if(Z[0]instanceof Array&&Z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Et+", token: "+Bt);switch(Z[0]){case 1:W.push(Bt),st.push(pt.yytext),at.push(pt.yylloc),W.push(Z[1]),Bt=null,ft=pt.yyleng,mt=pt.yytext,yt=pt.yylineno,nt=pt.yylloc;break;case 2:if(Le=this.productions_[Z[1]][1],xt.$=st[st.length-Le],xt._$={first_line:at[at.length-(Le||1)].first_line,last_line:at[at.length-1].last_line,first_column:at[at.length-(Le||1)].first_column,last_column:at[at.length-1].last_column},It&&(xt._$.range=[at[at.length-(Le||1)].range[0],at[at.length-1].range[1]]),Ct=this.performAction.apply(xt,[mt,ft,yt,U.yy,Z[1],st,at].concat(X)),typeof Ct<"u")return Ct;Le&&(W=W.slice(0,-1*Le*2),st=st.slice(0,-1*Le),at=at.slice(0,-1*Le)),W.push(this.productions_[Z[1]][0]),st.push(xt.$),at.push(xt._$),Ft=bt[W[W.length-2]][W[W.length-1]],W.push(Ft);break;case 3:return!0}}return!0}},I=function(){var N={EOF:1,parseError:function(z,W){if(this.yy.parser)this.yy.parser.parseError(z,W);else throw new Error(z)},setInput:function(R,z){return this.yy=z||this.yy||{},this._input=R,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var R=this._input[0];this.yytext+=R,this.yyleng++,this.offset++,this.match+=R,this.matched+=R;var z=R.match(/(?:\r\n?|\n).*/g);return z?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),R},unput:function(R){var z=R.length,W=R.split(/(?:\r\n?|\n)/g);this._input=R+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-z),this.offset-=z;var et=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),W.length-1&&(this.yylineno-=W.length-1);var st=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:W?(W.length===et.length?this.yylloc.first_column:0)+et[et.length-W.length].length-W[0].length:this.yylloc.first_column-z},this.options.ranges&&(this.yylloc.range=[st[0],st[0]+this.yyleng-z]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(R){this.unput(this.match.slice(R))},pastInput:function(){var R=this.matched.substr(0,this.matched.length-this.match.length);return(R.length>20?"...":"")+R.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var R=this.match;return R.length<20&&(R+=this._input.substr(0,20-R.length)),(R.substr(0,20)+(R.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var R=this.pastInput(),z=new Array(R.length+1).join("-");return R+this.upcomingInput()+` +`+z+"^"},test_match:function(R,z){var W,et,st;if(this.options.backtrack_lexer&&(st={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(st.yylloc.range=this.yylloc.range.slice(0))),et=R[0].match(/(?:\r\n?|\n).*/g),et&&(this.yylineno+=et.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:et?et[et.length-1].length-et[et.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+R[0].length},this.yytext+=R[0],this.match+=R[0],this.matches=R,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(R[0].length),this.matched+=R[0],W=this.performAction.call(this,this.yy,this,z,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),W)return W;if(this._backtrack){for(var at in st)this[at]=st[at];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var R,z,W,et;this._more||(this.yytext="",this.match="");for(var st=this._currentRules(),at=0;atz[0].length)){if(z=W,et=at,this.options.backtrack_lexer){if(R=this.test_match(W,st[at]),R!==!1)return R;if(this._backtrack){z=!1;continue}else return!1}else if(!this.options.flex)break}return z?(R=this.test_match(z,st[et]),R!==!1?R:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var z=this.next();return z||this.lex()},begin:function(z){this.conditionStack.push(z)},popState:function(){var z=this.conditionStack.length-1;return z>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(z){return z=this.conditionStack.length-1-Math.abs(z||0),z>=0?this.conditionStack[z]:"INITIAL"},pushState:function(z){this.begin(z)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(z,W,et,st){switch(et){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?::\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};return N}();A.lexer=I;function B(){this.yy={}}return B.prototype=A,A.Parser=B,new B}();Ygt.parser=Ygt;const kWe=Ygt;let yL="",Hjt=0;const Kgt=[],eK=[],xL=[],Vjt=()=>_Ot,Gjt=function(){Kgt.length=0,eK.length=0,yL="",xL.length=0,hg()},Ujt=function(i){yL=i,Kgt.push(i)},Wjt=function(){return Kgt},Yjt=function(){let i=Zjt();const a=100;let f=0;for(;!i&&ff.id===Hjt-1).events.push(i)},Qjt=function(i){const a={section:yL,type:yL,description:i,task:i,classes:[]};eK.push(a)},Zjt=function(){const i=function(f){return xL[f].processed};let a=!0;for(const[f,p]of xL.entries())i(f),a=a&&p.processed;return a},EWe=Object.freeze(Object.defineProperty({__proto__:null,addEvent:Xjt,addSection:Ujt,addTask:Kjt,addTaskOrg:Qjt,clear:Gjt,default:{clear:Gjt,getCommonDb:Vjt,addSection:Ujt,getSections:Wjt,getTasks:Yjt,addTask:Kjt,addTaskOrg:Qjt,addEvent:Xjt},getCommonDb:Vjt,getSections:Wjt,getTasks:Yjt},Symbol.toStringTag,{value:"Module"})),TWe=12,nK=function(i,a){const f=i.append("rect");return f.attr("x",a.x),f.attr("y",a.y),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("width",a.width),f.attr("height",a.height),f.attr("rx",a.rx),f.attr("ry",a.ry),a.class!==void 0&&f.attr("class",a.class),f},CWe=function(i,a){const p=i.append("circle").attr("cx",a.cx).attr("cy",a.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),w=i.append("g");w.append("circle").attr("cx",a.cx-15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),w.append("circle").attr("cx",a.cx+15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function m(_){const A=OA().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",A).attr("transform","translate("+a.cx+","+(a.cy+2)+")")}function b(_){const A=OA().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",A).attr("transform","translate("+a.cx+","+(a.cy+7)+")")}function E(_){_.append("line").attr("class","mouth").attr("stroke",2).attr("x1",a.cx-5).attr("y1",a.cy+7).attr("x2",a.cx+5).attr("y2",a.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return a.score>3?m(w):a.score<3?b(w):E(w),p},_We=function(i,a){const f=i.append("circle");return f.attr("cx",a.cx),f.attr("cy",a.cy),f.attr("class","actor-"+a.pos),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("r",a.r),f.class!==void 0&&f.attr("class",f.class),a.title!==void 0&&f.append("title").text(a.title),f},Jjt=function(i,a){const f=a.text.replace(//gi," "),p=i.append("text");p.attr("x",a.x),p.attr("y",a.y),p.attr("class","legend"),p.style("text-anchor",a.anchor),a.class!==void 0&&p.attr("class",a.class);const w=p.append("tspan");return w.attr("x",a.x+a.textMargin*2),w.text(f),p},SWe=function(i,a){function f(w,m,b,E,_){return w+","+m+" "+(w+b)+","+m+" "+(w+b)+","+(m+E-_)+" "+(w+b-_*1.2)+","+(m+E)+" "+w+","+(m+E)}const p=i.append("polygon");p.attr("points",f(a.x,a.y,50,20,7)),p.attr("class","labelBox"),a.y=a.y+a.labelMargin,a.x=a.x+.5*a.labelMargin,Jjt(i,a)},AWe=function(i,a,f){const p=i.append("g"),w=Xgt();w.x=a.x,w.y=a.y,w.fill=a.fill,w.width=f.width,w.height=f.height,w.class="journey-section section-type-"+a.num,w.rx=3,w.ry=3,nK(p,w),e$t(f)(a.text,p,w.x,w.y,w.width,w.height,{class:"journey-section section-type-"+a.num},f,a.colour)};let t$t=-1;const LWe=function(i,a,f){const p=a.x+f.width/2,w=i.append("g");t$t++;const m=300+5*30;w.append("line").attr("id","task"+t$t).attr("x1",p).attr("y1",a.y).attr("x2",p).attr("y2",m).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),CWe(w,{cx:p,cy:300+(5-a.score)*30,score:a.score});const b=Xgt();b.x=a.x,b.y=a.y,b.fill=a.fill,b.width=f.width,b.height=f.height,b.class="task task-type-"+a.num,b.rx=3,b.ry=3,nK(w,b),a.x+14,e$t(f)(a.task,w,b.x,b.y,b.width,b.height,{class:"task"},f,a.colour)},MWe=function(i,a){nK(i,{x:a.startx,y:a.starty,width:a.stopx-a.startx,height:a.stopy-a.starty,fill:a.fill,class:"rect"}).lower()},DWe=function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},Xgt=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},e$t=function(){function i(w,m,b,E,_,A,I,B){const N=m.append("text").attr("x",b+_/2).attr("y",E+A/2+5).style("font-color",B).style("text-anchor","middle").text(w);p(N,I)}function a(w,m,b,E,_,A,I,B,N){const{taskFontSize:R,taskFontFamily:z}=B,W=w.split(//gi);for(let et=0;et)/).reverse(),w,m=[],b=1.1,E=f.attr("y"),_=parseFloat(f.attr("dy")),A=f.text(null).append("tspan").attr("x",0).attr("y",E).attr("dy",_+"em");for(let I=0;Ia||w==="
")&&(m.pop(),A.text(m.join(" ").trim()),w==="
"?m=[""]:m=[w],A=f.append("tspan").attr("x",0).attr("y",E).attr("dy",b+"em").text(w))})}const OWe=function(i,a,f,p){const w=f%TWe-1,m=i.append("g");a.section=w,m.attr("class",(a.class?a.class+" ":"")+"timeline-node "+("section-"+w));const b=m.append("g"),E=m.append("g"),A=E.append("text").text(a.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(n$t,a.width).node().getBBox(),I=p.fontSize&&p.fontSize.replace?p.fontSize.replace("px",""):p.fontSize;return a.height=A.height+I*1.1*.5+a.padding,a.height=Math.max(a.height,a.maxHeight),a.width=a.width+2*a.padding,E.attr("transform","translate("+a.width/2+", "+a.padding/2+")"),FWe(b,a,w),a},PWe=function(i,a,f){const p=i.append("g"),m=p.append("text").text(a.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(n$t,a.width).node().getBBox(),b=f.fontSize&&f.fontSize.replace?f.fontSize.replace("px",""):f.fontSize;return p.remove(),m.height+b*1.1*.5+a.padding},FWe=function(i,a,f){i.append("path").attr("id","node-"+a.id).attr("class","node-bkg node-"+a.type).attr("d",`M0 ${a.height-5} v${-a.height+2*5} q0,-5 5,-5 h${a.width-2*5} q5,0 5,5 v${a.height-5} H0 Z`),i.append("line").attr("class","node-line-"+f).attr("x1",0).attr("y1",a.height).attr("x2",a.width).attr("y2",a.height)},DT={drawRect:nK,drawCircle:_We,drawSection:AWe,drawText:Jjt,drawLabel:SWe,drawTask:LWe,drawBackgroundRect:MWe,getTextObj:DWe,getNoteRect:Xgt,initGraphics:IWe,drawNode:OWe,getVirtualNodeHeight:PWe},NWe=function(i,a,f,p){var X,pt;const w=Oe(),m=w.leftMargin??50;Ut.debug("timeline",p.db);const b=w.securityLevel;let E;b==="sandbox"&&(E=yr("#i"+a));const A=yr(b==="sandbox"?E.nodes()[0].contentDocument.body:"body").select("#"+a);A.append("g");const I=p.db.getTasks(),B=p.db.getCommonDb().getDiagramTitle();Ut.debug("task",I),DT.initGraphics(A);const N=p.db.getSections();Ut.debug("sections",N);let R=0,z=0,W=0,et=0,st=50+m,at=50;et=50;let bt=0,mt=!0;N.forEach(function(U){const Tt={number:bt,descr:U,section:bt,width:150,padding:20,maxHeight:R},nt=DT.getVirtualNodeHeight(A,Tt,w);Ut.debug("sectionHeight before draw",nt),R=Math.max(R,nt+20)});let yt=0,ft=0;Ut.debug("tasks.length",I.length);for(const[U,Tt]of I.entries()){const nt={number:U,descr:Tt,section:Tt.section,width:150,padding:20,maxHeight:z},It=DT.getVirtualNodeHeight(A,nt,w);Ut.debug("taskHeight before draw",It),z=Math.max(z,It+20),yt=Math.max(yt,Tt.events.length);let Ot=0;for(let Bt=0;Bt0?N.forEach(U=>{const Tt=I.filter(Bt=>Bt.section===U),nt={number:bt,descr:U,section:bt,width:200*Math.max(Tt.length,1)-50,padding:20,maxHeight:R};Ut.debug("sectionNode",nt);const It=A.append("g"),Ot=DT.drawNode(It,nt,bt,w);Ut.debug("sectionNode output",Ot),It.attr("transform",`translate(${st}, ${et})`),at+=R+50,Tt.length>0&&r$t(A,Tt,bt,st,at,z,w,yt,ft,R,!1),st+=200*Math.max(Tt.length,1),at=et,bt++}):(mt=!1,r$t(A,I,bt,st,at,z,w,yt,ft,R,!0));const ut=A.node().getBBox();Ut.debug("bounds",ut),B&&A.append("text").text(B).attr("x",ut.width/2-m).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),W=mt?R+z+150:z+100,A.append("g").attr("class","lineWrapper").append("line").attr("x1",m).attr("y1",W).attr("x2",ut.width+3*m).attr("y2",W).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),fT(void 0,A,((X=w.timeline)==null?void 0:X.padding)??50,((pt=w.timeline)==null?void 0:pt.useMaxWidth)??!1)},r$t=function(i,a,f,p,w,m,b,E,_,A,I){var B;for(const N of a){const R={descr:N.task,section:f,number:f,width:150,padding:20,maxHeight:m};Ut.debug("taskNode",R);const z=i.append("g").attr("class","taskWrapper"),et=DT.drawNode(z,R,f,b).height;if(Ut.debug("taskHeight after draw",et),z.attr("transform",`translate(${p}, ${w})`),m=Math.max(m,et),N.events){const st=i.append("g").attr("class","lineWrapper");let at=m;w+=100,at=at+BWe(i,N.events,f,p,w,b),w-=100,st.append("line").attr("x1",p+190/2).attr("y1",w+m).attr("x2",p+190/2).attr("y2",w+m+(I?m:A)+_+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}p=p+200,I&&!((B=b.timeline)!=null&&B.disableMulticolor)&&f++}w=w-10},BWe=function(i,a,f,p,w,m){let b=0;const E=w;w=w+100;for(const _ of a){const A={descr:_,section:f,number:f,width:150,padding:20,maxHeight:50};Ut.debug("eventNode",A);const I=i.append("g").attr("class","eventWrapper"),N=DT.drawNode(I,A,f,m).height;b=b+N,I.attr("transform",`translate(${p}, ${w})`),w=w+10+N}return w=E,b},RWe={setConf:()=>{},draw:NWe},jWe=i=>{let a="";for(let f=0;f` + .edge { + stroke-width: 3; + } + ${jWe(i)} + .section-root rect, .section-root path, .section-root circle { + fill: ${i.git0}; + } + .section-root text { + fill: ${i.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .eventWrapper { + filter: brightness(120%); + } +`}},Symbol.toStringTag,{value:"Module"}));var Qgt=function(){var i=function(mt,yt,ft,ut){for(ft=ft||{},ut=mt.length;ut--;ft[mt[ut]]=yt);return ft},a=[1,4],f=[1,13],p=[1,12],w=[1,15],m=[1,16],b=[1,20],E=[1,19],_=[6,7,8],A=[1,26],I=[1,24],B=[1,25],N=[6,7,11],R=[1,6,13,15,16,19,22],z=[1,33],W=[1,34],et=[1,6,7,11,13,15,16,19,22],st={trace:function(){},yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:function(yt,ft,ut,vt,X,pt,U){var Tt=pt.length-1;switch(X){case 6:case 7:return vt;case 8:vt.getLogger().trace("Stop NL ");break;case 9:vt.getLogger().trace("Stop EOF ");break;case 11:vt.getLogger().trace("Stop NL2 ");break;case 12:vt.getLogger().trace("Stop EOF2 ");break;case 15:vt.getLogger().info("Node: ",pt[Tt].id),vt.addNode(pt[Tt-1].length,pt[Tt].id,pt[Tt].descr,pt[Tt].type);break;case 16:vt.getLogger().trace("Icon: ",pt[Tt]),vt.decorateNode({icon:pt[Tt]});break;case 17:case 21:vt.decorateNode({class:pt[Tt]});break;case 18:vt.getLogger().trace("SPACELIST");break;case 19:vt.getLogger().trace("Node: ",pt[Tt].id),vt.addNode(0,pt[Tt].id,pt[Tt].descr,pt[Tt].type);break;case 20:vt.decorateNode({icon:pt[Tt]});break;case 25:vt.getLogger().trace("node found ..",pt[Tt-2]),this.$={id:pt[Tt-1],descr:pt[Tt-1],type:vt.getType(pt[Tt-2],pt[Tt])};break;case 26:this.$={id:pt[Tt],descr:pt[Tt],type:vt.nodeType.DEFAULT};break;case 27:vt.getLogger().trace("node found ..",pt[Tt-3]),this.$={id:pt[Tt-3],descr:pt[Tt-1],type:vt.getType(pt[Tt-2],pt[Tt])};break}},table:[{3:1,4:2,5:3,6:[1,5],8:a},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:a},{6:f,7:[1,10],9:9,12:11,13:p,14:14,15:w,16:m,17:17,18:18,19:b,22:E},i(_,[2,3]),{1:[2,2]},i(_,[2,4]),i(_,[2,5]),{1:[2,6],6:f,12:21,13:p,14:14,15:w,16:m,17:17,18:18,19:b,22:E},{6:f,9:22,12:11,13:p,14:14,15:w,16:m,17:17,18:18,19:b,22:E},{6:A,7:I,10:23,11:B},i(N,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:b,22:E}),i(N,[2,18]),i(N,[2,19]),i(N,[2,20]),i(N,[2,21]),i(N,[2,23]),i(N,[2,24]),i(N,[2,26],{19:[1,30]}),{20:[1,31]},{6:A,7:I,10:32,11:B},{1:[2,7],6:f,12:21,13:p,14:14,15:w,16:m,17:17,18:18,19:b,22:E},i(R,[2,14],{7:z,11:W}),i(et,[2,8]),i(et,[2,9]),i(et,[2,10]),i(N,[2,15]),i(N,[2,16]),i(N,[2,17]),{20:[1,35]},{21:[1,36]},i(R,[2,13],{7:z,11:W}),i(et,[2,11]),i(et,[2,12]),{21:[1,37]},i(N,[2,25]),i(N,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:function(yt,ft){if(ft.recoverable)this.trace(yt);else{var ut=new Error(yt);throw ut.hash=ft,ut}},parse:function(yt){var ft=this,ut=[0],vt=[],X=[null],pt=[],U=this.table,Tt="",nt=0,It=0,Ot=2,Bt=1,Et=pt.slice.call(arguments,1),Z=Object.create(this.lexer),Ct={yy:{}};for(var xt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xt)&&(Ct.yy[xt]=this.yy[xt]);Z.setInput(yt,Ct.yy),Ct.yy.lexer=Z,Ct.yy.parser=this,typeof Z.yylloc>"u"&&(Z.yylloc={});var Ht=Z.yylloc;pt.push(Ht);var Le=Z.options&&Z.options.ranges;typeof Ct.yy.parseError=="function"?this.parseError=Ct.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ft(){var Pe;return Pe=vt.pop()||Z.lex()||Bt,typeof Pe!="number"&&(Pe instanceof Array&&(vt=Pe,Pe=vt.pop()),Pe=ft.symbols_[Pe]||Pe),Pe}for(var gn,Se,me,Ve,Ye={},ce,ke,zt,re;;){if(Se=ut[ut.length-1],this.defaultActions[Se]?me=this.defaultActions[Se]:((gn===null||typeof gn>"u")&&(gn=Ft()),me=U[Se]&&U[Se][gn]),typeof me>"u"||!me.length||!me[0]){var se="";re=[];for(ce in U[Se])this.terminals_[ce]&&ce>Ot&&re.push("'"+this.terminals_[ce]+"'");Z.showPosition?se="Parse error on line "+(nt+1)+`: +`+Z.showPosition()+` +Expecting `+re.join(", ")+", got '"+(this.terminals_[gn]||gn)+"'":se="Parse error on line "+(nt+1)+": Unexpected "+(gn==Bt?"end of input":"'"+(this.terminals_[gn]||gn)+"'"),this.parseError(se,{text:Z.match,token:this.terminals_[gn]||gn,line:Z.yylineno,loc:Ht,expected:re})}if(me[0]instanceof Array&&me.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Se+", token: "+gn);switch(me[0]){case 1:ut.push(gn),X.push(Z.yytext),pt.push(Z.yylloc),ut.push(me[1]),gn=null,It=Z.yyleng,Tt=Z.yytext,nt=Z.yylineno,Ht=Z.yylloc;break;case 2:if(ke=this.productions_[me[1]][1],Ye.$=X[X.length-ke],Ye._$={first_line:pt[pt.length-(ke||1)].first_line,last_line:pt[pt.length-1].last_line,first_column:pt[pt.length-(ke||1)].first_column,last_column:pt[pt.length-1].last_column},Le&&(Ye._$.range=[pt[pt.length-(ke||1)].range[0],pt[pt.length-1].range[1]]),Ve=this.performAction.apply(Ye,[Tt,It,nt,Ct.yy,me[1],X,pt].concat(Et)),typeof Ve<"u")return Ve;ke&&(ut=ut.slice(0,-1*ke*2),X=X.slice(0,-1*ke),pt=pt.slice(0,-1*ke)),ut.push(this.productions_[me[1]][0]),X.push(Ye.$),pt.push(Ye._$),zt=U[ut[ut.length-2]][ut[ut.length-1]],ut.push(zt);break;case 3:return!0}}return!0}},at=function(){var mt={EOF:1,parseError:function(ft,ut){if(this.yy.parser)this.yy.parser.parseError(ft,ut);else throw new Error(ft)},setInput:function(yt,ft){return this.yy=ft||this.yy||{},this._input=yt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var yt=this._input[0];this.yytext+=yt,this.yyleng++,this.offset++,this.match+=yt,this.matched+=yt;var ft=yt.match(/(?:\r\n?|\n).*/g);return ft?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),yt},unput:function(yt){var ft=yt.length,ut=yt.split(/(?:\r\n?|\n)/g);this._input=yt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ft),this.offset-=ft;var vt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ut.length-1&&(this.yylineno-=ut.length-1);var X=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ut?(ut.length===vt.length?this.yylloc.first_column:0)+vt[vt.length-ut.length].length-ut[0].length:this.yylloc.first_column-ft},this.options.ranges&&(this.yylloc.range=[X[0],X[0]+this.yyleng-ft]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(yt){this.unput(this.match.slice(yt))},pastInput:function(){var yt=this.matched.substr(0,this.matched.length-this.match.length);return(yt.length>20?"...":"")+yt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var yt=this.match;return yt.length<20&&(yt+=this._input.substr(0,20-yt.length)),(yt.substr(0,20)+(yt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var yt=this.pastInput(),ft=new Array(yt.length+1).join("-");return yt+this.upcomingInput()+` +`+ft+"^"},test_match:function(yt,ft){var ut,vt,X;if(this.options.backtrack_lexer&&(X={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(X.yylloc.range=this.yylloc.range.slice(0))),vt=yt[0].match(/(?:\r\n?|\n).*/g),vt&&(this.yylineno+=vt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:vt?vt[vt.length-1].length-vt[vt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+yt[0].length},this.yytext+=yt[0],this.match+=yt[0],this.matches=yt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(yt[0].length),this.matched+=yt[0],ut=this.performAction.call(this,this.yy,this,ft,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ut)return ut;if(this._backtrack){for(var pt in X)this[pt]=X[pt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var yt,ft,ut,vt;this._more||(this.yytext="",this.match="");for(var X=this._currentRules(),pt=0;ptft[0].length)){if(ft=ut,vt=pt,this.options.backtrack_lexer){if(yt=this.test_match(ut,X[pt]),yt!==!1)return yt;if(this._backtrack){ft=!1;continue}else return!1}else if(!this.options.flex)break}return ft?(yt=this.test_match(ft,X[vt]),yt!==!1?yt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ft=this.next();return ft||this.lex()},begin:function(ft){this.conditionStack.push(ft)},popState:function(){var ft=this.conditionStack.length-1;return ft>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ft){return ft=this.conditionStack.length-1-Math.abs(ft||0),ft>=0?this.conditionStack[ft]:"INITIAL"},pushState:function(ft){this.begin(ft)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ft,ut,vt,X){switch(vt){case 0:return ft.getLogger().trace("Found comment",ut.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:ft.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return ft.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:ft.getLogger().trace("end icon"),this.popState();break;case 10:return ft.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return ft.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return ft.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return ft.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:ft.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return ft.getLogger().trace("description:",ut.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),ft.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),ft.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),ft.getLogger().trace("node end ...",ut.yytext),"NODE_DEND";case 30:return this.popState(),ft.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),ft.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),ft.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),ft.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),ft.getLogger().trace("node end (("),"NODE_DEND";case 35:return ft.getLogger().trace("Long description:",ut.yytext),20;case 36:return ft.getLogger().trace("Long description:",ut.yytext),20}},rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return mt}();st.lexer=at;function bt(){this.yy={}}return bt.prototype=st,st.Parser=bt,new bt}();Qgt.parser=Qgt;const zWe=Qgt,rN=i=>Q1(i,Oe());let cw=[],i$t=0,Zgt={};const qWe=()=>{cw=[],i$t=0,Zgt={}},HWe=function(i){for(let a=cw.length-1;a>=0;a--)if(cw[a].levelcw.length>0?cw[0]:null,GWe=(i,a,f,p)=>{Ut.info("addNode",i,a,f,p);const w=Oe(),m={id:i$t++,nodeId:rN(a),level:i,descr:rN(f),type:p,children:[],width:Oe().mindmap.maxNodeWidth};switch(m.type){case Uu.ROUNDED_RECT:m.padding=2*w.mindmap.padding;break;case Uu.RECT:m.padding=2*w.mindmap.padding;break;case Uu.HEXAGON:m.padding=2*w.mindmap.padding;break;default:m.padding=w.mindmap.padding}const b=HWe(i);if(b)b.children.push(m),cw.push(m);else if(cw.length===0)cw.push(m);else{let E=new Error('There can be only one root. No parent could be found for ("'+m.descr+'")');throw E.hash={text:"branch "+name,token:"branch "+name,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+name+'"']},E}},Uu={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},UWe=(i,a)=>{switch(Ut.debug("In get type",i,a),i){case"[":return Uu.RECT;case"(":return a===")"?Uu.ROUNDED_RECT:Uu.CLOUD;case"((":return Uu.CIRCLE;case")":return Uu.CLOUD;case"))":return Uu.BANG;case"{{":return Uu.HEXAGON;default:return Uu.DEFAULT}},s$t=(i,a)=>{Zgt[i]=a},WWe=i=>{const a=cw[cw.length-1];i&&i.icon&&(a.icon=rN(i.icon)),i&&i.class&&(a.class=rN(i.class))},IT=i=>{switch(i){case Uu.DEFAULT:return"no-border";case Uu.RECT:return"rect";case Uu.ROUNDED_RECT:return"rounded-rect";case Uu.CIRCLE:return"circle";case Uu.CLOUD:return"cloud";case Uu.BANG:return"bang";case Uu.HEXAGON:return"hexgon";default:return"no-border"}};let a$t;const YWe=i=>{a$t=i},KWe=()=>Ut,XWe=i=>cw[i],Jgt=i=>Zgt[i],QWe=Object.freeze(Object.defineProperty({__proto__:null,addNode:GWe,clear:qWe,decorateNode:WWe,getElementById:Jgt,getLogger:KWe,getMindmap:VWe,getNodeById:XWe,getType:UWe,nodeType:Uu,get parseError(){return a$t},sanitizeText:rN,setElementForId:s$t,setErrorHandler:YWe,type2Str:IT},Symbol.toStringTag,{value:"Module"})),o$t=12,ZWe=function(i,a,f){i.append("path").attr("id","node-"+a.id).attr("class","node-bkg node-"+IT(a.type)).attr("d",`M0 ${a.height-5} v${-a.height+2*5} q0,-5 5,-5 h${a.width-2*5} q5,0 5,5 v${a.height-5} H0 Z`),i.append("line").attr("class","node-line-"+f).attr("x1",0).attr("y1",a.height).attr("x2",a.width).attr("y2",a.height)},JWe=function(i,a){i.append("rect").attr("id","node-"+a.id).attr("class","node-bkg node-"+IT(a.type)).attr("height",a.height).attr("width",a.width)},tYe=function(i,a){const f=a.width,p=a.height,w=.15*f,m=.25*f,b=.35*f,E=.2*f;i.append("path").attr("id","node-"+a.id).attr("class","node-bkg node-"+IT(a.type)).attr("d",`M0 0 a${w},${w} 0 0,1 ${f*.25},${-1*f*.1} + a${b},${b} 1 0,1 ${f*.4},${-1*f*.1} + a${m},${m} 1 0,1 ${f*.35},${1*f*.2} + + a${w},${w} 1 0,1 ${f*.15},${1*p*.35} + a${E},${E} 1 0,1 ${-1*f*.15},${1*p*.65} + + a${m},${w} 1 0,1 ${-1*f*.25},${f*.15} + a${b},${b} 1 0,1 ${-1*f*.5},0 + a${w},${w} 1 0,1 ${-1*f*.25},${-1*f*.15} + + a${w},${w} 1 0,1 ${-1*f*.1},${-1*p*.35} + a${E},${E} 1 0,1 ${f*.1},${-1*p*.65} + + H0 V0 Z`)},eYe=function(i,a){const f=a.width,p=a.height,w=.15*f;i.append("path").attr("id","node-"+a.id).attr("class","node-bkg node-"+IT(a.type)).attr("d",`M0 0 a${w},${w} 1 0,0 ${f*.25},${-1*p*.1} + a${w},${w} 1 0,0 ${f*.25},0 + a${w},${w} 1 0,0 ${f*.25},0 + a${w},${w} 1 0,0 ${f*.25},${1*p*.1} + + a${w},${w} 1 0,0 ${f*.15},${1*p*.33} + a${w*.8},${w*.8} 1 0,0 0,${1*p*.34} + a${w},${w} 1 0,0 ${-1*f*.15},${1*p*.33} + + a${w},${w} 1 0,0 ${-1*f*.25},${p*.15} + a${w},${w} 1 0,0 ${-1*f*.25},0 + a${w},${w} 1 0,0 ${-1*f*.25},0 + a${w},${w} 1 0,0 ${-1*f*.25},${-1*p*.15} + + a${w},${w} 1 0,0 ${-1*f*.1},${-1*p*.33} + a${w*.8},${w*.8} 1 0,0 0,${-1*p*.34} + a${w},${w} 1 0,0 ${f*.1},${-1*p*.33} + + H0 V0 Z`)},nYe=function(i,a){i.append("circle").attr("id","node-"+a.id).attr("class","node-bkg node-"+IT(a.type)).attr("r",a.width/2)};function rYe(i,a,f,p,w){return i.insert("polygon",":first-child").attr("points",p.map(function(m){return m.x+","+m.y}).join(" ")).attr("transform","translate("+(w.width-a)/2+", "+f+")")}const iYe=function(i,a){const f=a.height,w=f/4,m=a.width-a.padding+2*w,b=[{x:w,y:0},{x:m-w,y:0},{x:m,y:-f/2},{x:m-w,y:-f},{x:w,y:-f},{x:0,y:-f/2}];rYe(i,m,f,b,a)},sYe=function(i,a){i.append("rect").attr("id","node-"+a.id).attr("class","node-bkg node-"+IT(a.type)).attr("height",a.height).attr("rx",a.padding).attr("ry",a.padding).attr("width",a.width)},c$t={drawNode:function(i,a,f,p){const w=p.htmlLabels,m=f%(o$t-1),b=i.append("g");a.section=m;let E="section-"+m;m<0&&(E+=" section-root"),b.attr("class",(a.class?a.class+" ":"")+"mindmap-node "+E);const _=b.append("g"),A=b.append("g"),I=a.descr.replace(/()/g,` +`);EY(A,I,{useHtmlLabels:w,width:a.width,classes:"mindmap-node-label"}),w||A.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");const B=A.node().getBBox(),N=p.fontSize.replace?p.fontSize.replace("px",""):p.fontSize;if(a.height=B.height+N*1.1*.5+a.padding,a.width=B.width+2*a.padding,a.icon)if(a.type===Uu.CIRCLE)a.height+=50,a.width+=50,b.append("foreignObject").attr("height","50px").attr("width",a.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+m+" "+a.icon),A.attr("transform","translate("+a.width/2+", "+(a.height/2-1.5*a.padding)+")");else{a.width+=50;const R=a.height;a.height=Math.max(R,60);const z=Math.abs(a.height-R);b.append("foreignObject").attr("width","60px").attr("height",a.height).attr("style","text-align: center;margin-top:"+z/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+m+" "+a.icon),A.attr("transform","translate("+(25+a.width/2)+", "+(z/2+a.padding/2)+")")}else if(w){const R=(a.width-B.width)/2,z=(a.height-B.height)/2;A.attr("transform","translate("+R+", "+z+")")}else{const R=a.width/2,z=a.padding/2;A.attr("transform","translate("+R+", "+z+")")}switch(a.type){case Uu.DEFAULT:ZWe(_,a,m);break;case Uu.ROUNDED_RECT:sYe(_,a);break;case Uu.RECT:JWe(_,a);break;case Uu.CIRCLE:_.attr("transform","translate("+a.width/2+", "+ +a.height/2+")"),nYe(_,a);break;case Uu.CLOUD:tYe(_,a);break;case Uu.BANG:eYe(_,a);break;case Uu.HEXAGON:iYe(_,a);break}return s$t(a.id,b),a.height},positionNode:function(i){const a=Jgt(i.id),f=i.x||0,p=i.y||0;a.attr("transform","translate("+f+","+p+")")},drawEdge:function(a,f,p,w,m){const b=m%(o$t-1),E=p.x+p.width/2,_=p.y+p.height/2,A=f.x+f.width/2,I=f.y+f.height/2,B=A>E?E+Math.abs(E-A)/2:E-Math.abs(E-A)/2,N=I>_?_+Math.abs(_-I)/2:_-Math.abs(_-I)/2,R=A>E?Math.abs(E-B)/2+E:-Math.abs(E-B)/2+E,z=I>_?Math.abs(_-N)/2+_:-Math.abs(_-N)/2+_;a.append("path").attr("d",p.direction==="TB"||p.direction==="BT"?`M${E},${_} Q${E},${z} ${B},${N} T${A},${I}`:`M${E},${_} Q${R},${_} ${B},${N} T${A},${I}`).attr("class","edge section-edge-"+b+" edge-depth-"+w)}};var u$t={exports:{}};(function(i,a){(function(f,p){i.exports=p()})(b0,function(){function f(y){"@babel/helpers - typeof";return f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(g){return typeof g}:function(g){return g&&typeof Symbol=="function"&&g.constructor===Symbol&&g!==Symbol.prototype?"symbol":typeof g},f(y)}function p(y,g){if(!(y instanceof g))throw new TypeError("Cannot call a class as a function")}function w(y,g){for(var x=0;xy.length)&&(g=y.length);for(var x=0,T=new Array(g);x"u"?null:window,z=R?R.navigator:null;R&&R.document;var W=f(""),et=f({}),st=f(function(){}),at=typeof HTMLElement>"u"?"undefined":f(HTMLElement),bt=function(g){return g&&g.instanceString&&yt(g.instanceString)?g.instanceString():null},mt=function(g){return g!=null&&f(g)==W},yt=function(g){return g!=null&&f(g)===st},ft=function(g){return!Tt(g)&&(Array.isArray?Array.isArray(g):g!=null&&g instanceof Array)},ut=function(g){return g!=null&&f(g)===et&&!ft(g)&&g.constructor===Object},vt=function(g){return g!=null&&f(g)===et},X=function(g){return g!=null&&f(g)===f(1)&&!isNaN(g)},pt=function(g){return X(g)&&Math.floor(g)===g},U=function(g){if(at!=="undefined")return g!=null&&g instanceof HTMLElement},Tt=function(g){return nt(g)||It(g)},nt=function(g){return bt(g)==="collection"&&g._private.single},It=function(g){return bt(g)==="collection"&&!g._private.single},Ot=function(g){return bt(g)==="core"},Bt=function(g){return bt(g)==="stylesheet"},Et=function(g){return bt(g)==="event"},Z=function(g){return g==null?!0:!!(g===""||g.match(/^\s+$/))},Ct=function(g){return typeof HTMLElement>"u"?!1:g instanceof HTMLElement},xt=function(g){return ut(g)&&X(g.x1)&&X(g.x2)&&X(g.y1)&&X(g.y2)},Ht=function(g){return vt(g)&&yt(g.then)},Le=function(){return z&&z.userAgent.match(/msie|trident|edge/i)},Ft=function(g,x){x||(x=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var O=[],P=0;Px?1:0},Me=function(g,x){return-1*te(g,x)},de=Object.assign!=null?Object.assign.bind(Object):function(y){for(var g=arguments,x=1;x1&&(Lt-=1),Lt<1/6?ht+(dt-ht)*6*Lt:Lt<1/2?dt:Lt<2/3?ht+(dt-ht)*(2/3-Lt)*6:ht}var Y=new RegExp("^"+zt+"$").exec(g);if(Y){if(T=parseInt(Y[1]),T<0?T=(360- -1*T%360)%360:T>360&&(T=T%360),T/=360,L=parseFloat(Y[2]),L<0||L>100||(L=L/100,O=parseFloat(Y[3]),O<0||O>100)||(O=O/100,P=Y[4],P!==void 0&&(P=parseFloat(P),P<0||P>1)))return;if(L===0)$=q=S=Math.round(O*255);else{var rt=O<.5?O*(1+L):O+L-O*L,ot=2*O-rt;$=Math.round(255*V(ot,rt,T+1/3)),q=Math.round(255*V(ot,rt,T)),S=Math.round(255*V(ot,rt,T-1/3))}x=[$,q,S,P]}return x},Ks=function(g){var x,T=new RegExp("^"+ce+"$").exec(g);if(T){x=[];for(var L=[],O=1;O<=3;O++){var P=T[O];if(P[P.length-1]==="%"&&(L[O]=!0),P=parseFloat(P),L[O]&&(P=P/100*255),P<0||P>255)return;x.push(Math.floor(P))}var $=L[1]||L[2]||L[3],q=L[1]&&L[2]&&L[3];if($&&!q)return;var S=T[4];if(S!==void 0){if(S=parseFloat(S),S<0||S>1)return;x.push(S)}}return x},ws=function(g){return Xi[g.toLowerCase()]},fo=function(g){return(ft(g)?g:null)||ws(g)||on(g)||Ks(g)||ni(g)},Xi={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Er=function(g){for(var x=g.map,T=g.keys,L=T.length,O=0;O=g||qt<0||Y&&ne>=O}function kt(){var Yt=Po();if(Lt(Yt))return Dt(Yt);$=setTimeout(kt,dt(Yt))}function Dt(Yt){return $=void 0,rt&&T?ot(Yt):(T=L=void 0,P)}function Pt(){$!==void 0&&clearTimeout($),S=0,T=q=L=$=void 0}function $t(){return $===void 0?P:Dt(Po())}function Zt(){var Yt=Po(),qt=Lt(Yt);if(T=arguments,L=this,q=Yt,qt){if($===void 0)return ht(q);if(Y)return clearTimeout($),$=setTimeout(kt,g),ot(q)}return $===void 0&&($=setTimeout(kt,g)),P}return Zt.cancel=Pt,Zt.flush=$t,Zt}var Yc=xi,Ce=R?R.performance:null,vp=Ce&&Ce.now?function(){return Ce.now()}:function(){return Date.now()},Be=function(){if(R){if(R.requestAnimationFrame)return function(y){R.requestAnimationFrame(y)};if(R.mozRequestAnimationFrame)return function(y){R.mozRequestAnimationFrame(y)};if(R.webkitRequestAnimationFrame)return function(y){R.webkitRequestAnimationFrame(y)};if(R.msRequestAnimationFrame)return function(y){R.msRequestAnimationFrame(y)}}return function(y){y&&setTimeout(function(){y(vp())},1e3/60)}}(),Bf=function(g){return Be(g)},yg=vp,bm=9261,Ek=65599,E3=5381,Il=function(g){for(var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:bm,T=x,L;L=g.next(),!L.done;)T=T*Ek+L.value|0;return T},L0=function(g){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:bm;return x*Ek+g|0},hw=function(g){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:E3;return(x<<5)+x+g|0},H5=function(g,x){return g*2097152+x},Hb=function(g){return g[0]*2097152+g[1]},V5=function(g,x){return[L0(g[0],x[0]),hw(g[1],x[1])]},f1=function(g,x){var T={value:0,done:!1},L=0,O=g.length,P={next:function(){return L=0&&!(g[L]===x&&(g.splice(L,1),T));L--);},TL=function(g){g.splice(0,g.length)},aN=function(g,x){for(var T=0;T"u"?"undefined":f(Set))!==fK?Set:dK,FT=function(g,x){var T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(g===void 0||x===void 0||!Ot(g)){vl("An element must have a core reference and parameters set");return}var L=x.group;if(L==null&&(x.data&&x.data.source!=null&&x.data.target!=null?L="edges":L="nodes"),L!=="nodes"&&L!=="edges"){vl("An element must be of type `nodes` or `edges`; you specified `"+L+"`");return}this.length=1,this[0]=this;var O=this._private={cy:g,single:!0,data:x.data||{},position:x.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:L,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!x.selected,selectable:x.selectable===void 0?!0:!!x.selectable,locked:!!x.locked,grabbed:!1,grabbable:x.grabbable===void 0?!0:!!x.grabbable,pannable:x.pannable===void 0?L==="edges":!!x.pannable,active:!1,classes:new Y5,animation:{current:[],queue:[]},rscratch:{},scratch:x.scratch||{},edges:[],children:[],parent:x.parent&&x.parent.isNode()?x.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(O.position.x==null&&(O.position.x=0),O.position.y==null&&(O.position.y=0),x.renderedPosition){var P=x.renderedPosition,$=g.pan(),q=g.zoom();O.position={x:(P.x-$.x)/q,y:(P.y-$.y)/q}}var S=[];ft(x.classes)?S=x.classes:mt(x.classes)&&(S=x.classes.split(/\s+/));for(var V=0,Y=S.length;VDt?1:0},V=function(kt,Dt,Pt,$t,Zt){var Yt;if(Pt==null&&(Pt=0),Zt==null&&(Zt=T),Pt<0)throw new Error("lo must be non-negative");for($t==null&&($t=kt.length);Pt<$t;)Yt=L((Pt+$t)/2),Zt(Dt,kt[Yt])<0?$t=Yt:Pt=Yt+1;return[].splice.apply(kt,[Pt,Pt-Pt].concat(Dt)),Dt},$=function(kt,Dt,Pt){return Pt==null&&(Pt=T),kt.push(Dt),dt(kt,0,kt.length-1,Pt)},P=function(kt,Dt){var Pt,$t;return Dt==null&&(Dt=T),Pt=kt.pop(),kt.length?($t=kt[0],kt[0]=Pt,Lt(kt,0,Dt)):$t=Pt,$t},S=function(kt,Dt,Pt){var $t;return Pt==null&&(Pt=T),$t=kt[0],kt[0]=Dt,Lt(kt,0,Pt),$t},q=function(kt,Dt,Pt){var $t;return Pt==null&&(Pt=T),kt.length&&Pt(kt[0],Dt)<0&&($t=[kt[0],Dt],Dt=$t[0],kt[0]=$t[1],Lt(kt,0,Pt)),Dt},O=function(kt,Dt){var Pt,$t,Zt,Yt,qt,ne;for(Dt==null&&(Dt=T),Yt=(function(){ne=[];for(var Gt=0,ge=L(kt.length/2);0<=ge?Gtge;0<=ge?Gt++:Gt--)ne.push(Gt);return ne}).apply(this).reverse(),qt=[],$t=0,Zt=Yt.length;$tbe;0<=be?++ne:--ne)ie.push(P(kt,Pt));return ie},dt=function(kt,Dt,Pt,$t){var Zt,Yt,qt;for($t==null&&($t=T),Zt=kt[Pt];Pt>Dt;){if(qt=Pt-1>>1,Yt=kt[qt],$t(Zt,Yt)<0){kt[Pt]=Yt,Pt=qt;continue}break}return kt[Pt]=Zt},Lt=function(kt,Dt,Pt){var $t,Zt,Yt,qt,ne;for(Pt==null&&(Pt=T),Zt=kt.length,ne=Dt,Yt=kt[Dt],$t=2*Dt+1;$t0;){var Yt=Dt.pop(),qt=Lt(Yt),ne=Yt.id();if(rt[ne]=qt,qt!==1/0)for(var Gt=Yt.neighborhood().intersect(ht),ge=0;ge0)for(En.unshift(Ge);Y[Yn];){var Sn=Y[Yn];En.unshift(Sn.edge),En.unshift(Sn.node),In=Sn.node,Yn=In.id()}return $.spawn(En)}}}},wK={kruskal:function(g){g=g||function(Pt){return 1};for(var x=this.byGroup(),T=x.nodes,L=x.edges,O=T.length,P=new Array(O),$=T,q=function($t){for(var Zt=0;Zt0;){if(Zt(),qt++,$t===V){for(var ne=[],Gt=O,ge=V,be=kt[ge];ne.unshift(Gt),be!=null&&ne.unshift(be),Gt=Lt[ge],Gt!=null;)ge=Gt.id(),be=kt[ge];return{found:!0,distance:Y[$t],path:this.spawn(ne),steps:qt}}ot[$t]=!0;for(var ie=Pt._private.edges,Fe=0;Febe&&(ht[ge]=be,Dt[ge]=Gt,Pt[ge]=Zt),!O){var ie=Gt*V+ne;!O&&ht[ie]>be&&(ht[ie]=be,Dt[ie]=ne,Pt[ie]=Zt)}}}for(var Fe=0;Fe1&&arguments[1]!==void 0?arguments[1]:P,Va=Pt(Si),Qs=[],qs=Va;;){if(qs==null)return x.spawn();var Tr=Dt(qs),Qt=Tr.edge,jn=Tr.pred;if(Qs.unshift(qs[0]),qs.same(Ui)&&Qs.length>0)break;Qt!=null&&Qs.unshift(Qt),qs=jn}return q.spawn(Qs)},Yt=0;Yt=0;V--){var Y=S[V],rt=Y[1],ot=Y[2];(x[rt]===$&&x[ot]===q||x[rt]===q&&x[ot]===$)&&S.splice(V,1)}for(var ht=0;htL;){var O=Math.floor(Math.random()*x.length);x=CK(O,g,x),T--}return x},_K={kargerStein:function(){var g=this,x=this.byGroup(),T=x.nodes,L=x.edges;L.unmergeBy(function(En){return En.isLoop()});var O=T.length,P=L.length,$=Math.ceil(Math.pow(Math.log(O)/Math.LN2,2)),q=Math.floor(O/TK);if(O<2){vl("At least 2 nodes are required for Karger-Stein algorithm");return}for(var S=[],V=0;V1&&arguments[1]!==void 0?arguments[1]:0,T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:g.length,L=1/0,O=x;O1&&arguments[1]!==void 0?arguments[1]:0,T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:g.length,L=-1/0,O=x;O1&&arguments[1]!==void 0?arguments[1]:0,T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:g.length,L=0,O=0,P=x;P1&&arguments[1]!==void 0?arguments[1]:0,T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:g.length,L=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,O=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,P=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;L?g=g.slice(x,T):(T0&&g.splice(0,x));for(var $=0,q=g.length-1;q>=0;q--){var S=g[q];P?isFinite(S)||(g[q]=-1/0,$++):g.splice(q,1)}O&&g.sort(function(rt,ot){return rt-ot});var V=g.length,Y=Math.floor(V/2);return V%2!==0?g[Y+1+$]:(g[Y-1+$]+g[Y+$])/2},IK=function(g){return Math.PI*g/180},BT=function(g,x){return Math.atan2(x,g)-Math.PI/2},_L=Math.log2||function(y){return Math.log(y)/Math.log(2)},uN=function(g){return g>0?1:g<0?-1:0},C3=function(g,x){return Math.sqrt(_3(g,x))},_3=function(g,x){var T=x.x-g.x,L=x.y-g.y;return T*T+L*L},OK=function(g){for(var x=g.length,T=0,L=0;L=g.x1&&g.y2>=g.y1)return{x1:g.x1,y1:g.y1,x2:g.x2,y2:g.y2,w:g.x2-g.x1,h:g.y2-g.y1};if(g.w!=null&&g.h!=null&&g.w>=0&&g.h>=0)return{x1:g.x1,y1:g.y1,x2:g.x1+g.w,y2:g.y1+g.h,w:g.w,h:g.h}}},FK=function(g){return{x1:g.x1,x2:g.x2,w:g.w,y1:g.y1,y2:g.y2,h:g.h}},NK=function(g){g.x1=1/0,g.y1=1/0,g.x2=-1/0,g.y2=-1/0,g.w=0,g.h=0},BK=function(g,x){g.x1=Math.min(g.x1,x.x1),g.x2=Math.max(g.x2,x.x2),g.w=g.x2-g.x1,g.y1=Math.min(g.y1,x.y1),g.y2=Math.max(g.y2,x.y2),g.h=g.y2-g.y1},RK=function(g,x,T){g.x1=Math.min(g.x1,x),g.x2=Math.max(g.x2,x),g.w=g.x2-g.x1,g.y1=Math.min(g.y1,T),g.y2=Math.max(g.y2,T),g.h=g.y2-g.y1},RT=function(g){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return g.x1-=x,g.x2+=x,g.y1-=x,g.y2+=x,g.w=g.x2-g.x1,g.h=g.y2-g.y1,g},SL=function(g){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],T,L,O,P;if(x.length===1)T=L=O=P=x[0];else if(x.length===2)T=O=x[0],P=L=x[1];else if(x.length===4){var $=E(x,4);T=$[0],L=$[1],O=$[2],P=$[3]}return g.x1-=P,g.x2+=L,g.y1-=T,g.y2+=O,g.w=g.x2-g.x1,g.h=g.y2-g.y1,g},lN=function(g,x){g.x1=x.x1,g.y1=x.y1,g.x2=x.x2,g.y2=x.y2,g.w=g.x2-g.x1,g.h=g.y2-g.y1},AL=function(g,x){return!(g.x1>x.x2||x.x1>g.x2||g.x2x.y2||x.y1>g.y2)},Q5=function(g,x,T){return g.x1<=x&&x<=g.x2&&g.y1<=T&&T<=g.y2},jK=function(g,x){return Q5(g,x.x,x.y)},hN=function(g,x){return Q5(g,x.x1,x.y1)&&Q5(g,x.x2,x.y2)},fN=function(g,x,T,L,O,P,$){var q=Lk(O,P),S=O/2,V=P/2,Y;{var rt=T-S+q-$,ot=L-V-$,ht=T+S-q+$,dt=ot;if(Y=ym(g,x,T,L,rt,ot,ht,dt,!1),Y.length>0)return Y}{var Lt=T+S+$,kt=L-V+q-$,Dt=Lt,Pt=L+V-q+$;if(Y=ym(g,x,T,L,Lt,kt,Dt,Pt,!1),Y.length>0)return Y}{var $t=T-S+q-$,Zt=L+V+$,Yt=T+S-q+$,qt=Zt;if(Y=ym(g,x,T,L,$t,Zt,Yt,qt,!1),Y.length>0)return Y}{var ne=T-S-$,Gt=L-V+q-$,ge=ne,be=L+V-q+$;if(Y=ym(g,x,T,L,ne,Gt,ge,be,!1),Y.length>0)return Y}var ie;{var Fe=T-S+q,we=L-V+q;if(ie=Sk(g,x,T,L,Fe,we,q+$),ie.length>0&&ie[0]<=Fe&&ie[1]<=we)return[ie[0],ie[1]]}{var bn=T+S-q,ze=L-V+q;if(ie=Sk(g,x,T,L,bn,ze,q+$),ie.length>0&&ie[0]>=bn&&ie[1]<=ze)return[ie[0],ie[1]]}{var Ge=T+S-q,En=L+V-q;if(ie=Sk(g,x,T,L,Ge,En,q+$),ie.length>0&&ie[0]>=Ge&&ie[1]>=En)return[ie[0],ie[1]]}{var In=T-S+q,Yn=L+V-q;if(ie=Sk(g,x,T,L,In,Yn,q+$),ie.length>0&&ie[0]<=In&&ie[1]>=Yn)return[ie[0],ie[1]]}return[]},$K=function(g,x,T,L,O,P,$){var q=$,S=Math.min(T,O),V=Math.max(T,O),Y=Math.min(L,P),rt=Math.max(L,P);return S-q<=g&&g<=V+q&&Y-q<=x&&x<=rt+q},zK=function(g,x,T,L,O,P,$,q,S){var V={x1:Math.min(T,$,O)-S,x2:Math.max(T,$,O)+S,y1:Math.min(L,q,P)-S,y2:Math.max(L,q,P)+S};return!(gV.x2||xV.y2)},qK=function(g,x,T,L){T-=L;var O=x*x-4*g*T;if(O<0)return[];var P=Math.sqrt(O),$=2*g,q=(-x+P)/$,S=(-x-P)/$;return[q,S]},HK=function(g,x,T,L,O){var P=1e-5;g===0&&(g=P),x/=g,T/=g,L/=g;var $,q,S,V,Y,rt,ot,ht;if(q=(3*T-x*x)/9,S=-(27*L)+x*(9*T-2*(x*x)),S/=54,$=q*q*q+S*S,O[1]=0,ot=x/3,$>0){Y=S+Math.sqrt($),Y=Y<0?-Math.pow(-Y,1/3):Math.pow(Y,1/3),rt=S-Math.sqrt($),rt=rt<0?-Math.pow(-rt,1/3):Math.pow(rt,1/3),O[0]=-ot+Y+rt,ot+=(Y+rt)/2,O[4]=O[2]=-ot,ot=Math.sqrt(3)*(-rt+Y)/2,O[3]=ot,O[5]=-ot;return}if(O[5]=O[3]=0,$===0){ht=S<0?-Math.pow(-S,1/3):Math.pow(S,1/3),O[0]=-ot+2*ht,O[4]=O[2]=-(ht+ot);return}q=-q,V=q*q*q,V=Math.acos(S/Math.sqrt(V)),ht=2*Math.sqrt(q),O[0]=-ot+ht*Math.cos(V/3),O[2]=-ot+ht*Math.cos((V+2*Math.PI)/3),O[4]=-ot+ht*Math.cos((V+4*Math.PI)/3)},VK=function(g,x,T,L,O,P,$,q){var S=1*T*T-4*T*O+2*T*$+4*O*O-4*O*$+$*$+L*L-4*L*P+2*L*q+4*P*P-4*P*q+q*q,V=1*9*T*O-3*T*T-3*T*$-6*O*O+3*O*$+9*L*P-3*L*L-3*L*q-6*P*P+3*P*q,Y=1*3*T*T-6*T*O+T*$-T*g+2*O*O+2*O*g-$*g+3*L*L-6*L*P+L*q-L*x+2*P*P+2*P*x-q*x,rt=1*T*O-T*T+T*g-O*g+L*P-L*L+L*x-P*x,ot=[];HK(S,V,Y,rt,ot);for(var ht=1e-7,dt=[],Lt=0;Lt<6;Lt+=2)Math.abs(ot[Lt+1])=0&&ot[Lt]<=1&&dt.push(ot[Lt]);dt.push(1),dt.push(0);for(var kt=-1,Dt,Pt,$t,Zt=0;Zt=0?$tS?(g-O)*(g-O)+(x-P)*(x-P):V-rt},qd=function(g,x,T){for(var L,O,P,$,q,S=0,V=0;V=g&&g>=P||L<=g&&g<=P)q=(g-L)/(P-L)*($-O)+O,q>x&&S++;else continue;return S%2!==0},dw=function(g,x,T,L,O,P,$,q,S){var V=new Array(T.length),Y;q[0]!=null?(Y=Math.atan(q[1]/q[0]),q[0]<0?Y=Y+Math.PI/2:Y=-Y-Math.PI/2):Y=q;for(var rt=Math.cos(-Y),ot=Math.sin(-Y),ht=0;ht0){var Lt=gN(V,-S);dt=dN(Lt)}else dt=V;return qd(g,x,dt)},UK=function(g,x,T,L,O,P,$){for(var q=new Array(T.length),S=P/2,V=$/2,Y=DL(P,$),rt=Y*Y,ot=0;ot=0&&Lt<=1&&Dt.push(Lt),kt>=0&&kt<=1&&Dt.push(kt),Dt.length===0)return[];var Pt=Dt[0]*q[0]+g,$t=Dt[0]*q[1]+x;if(Dt.length>1){if(Dt[0]==Dt[1])return[Pt,$t];var Zt=Dt[1]*q[0]+g,Yt=Dt[1]*q[1]+x;return[Pt,$t,Zt,Yt]}else return[Pt,$t]},LL=function(g,x,T){return x<=g&&g<=T||T<=g&&g<=x?g:g<=x&&x<=T||T<=x&&x<=g?x:T},ym=function(g,x,T,L,O,P,$,q,S){var V=g-O,Y=T-g,rt=$-O,ot=x-P,ht=L-x,dt=q-P,Lt=rt*ot-dt*V,kt=Y*ot-ht*V,Dt=dt*Y-rt*ht;if(Dt!==0){var Pt=Lt/Dt,$t=kt/Dt,Zt=.001,Yt=0-Zt,qt=1+Zt;return Yt<=Pt&&Pt<=qt&&Yt<=$t&&$t<=qt?[g+Pt*Y,x+Pt*ht]:S?[g+Pt*Y,x+Pt*ht]:[]}else return Lt===0||kt===0?LL(g,T,$)===$?[$,q]:LL(g,T,O)===O?[O,P]:LL(O,$,T)===T?[T,L]:[]:[]},Ak=function(g,x,T,L,O,P,$,q){var S=[],V,Y=new Array(T.length),rt=!0;P==null&&(rt=!1);var ot;if(rt){for(var ht=0;ht0){var dt=gN(Y,-q);ot=dN(dt)}else ot=Y}else ot=T;for(var Lt,kt,Dt,Pt,$t=0;$t2){for(var ze=[S[0],S[1]],Ge=Math.pow(ze[0]-g,2)+Math.pow(ze[1]-x,2),En=1;EnV&&(V=$t)},get:function(Pt){return S[Pt]}},rt=0;rt<$.length;rt++){var ot=$[rt],ht=ot.id();T?q[ht]=ot.outgoers().nodes():q[ht]=ot.openNeighborhood().nodes(),Y.set(ht,0)}for(var dt=function(Pt){for(var $t=$[Pt].id(),Zt=[],Yt={},qt={},ne={},Gt=new Ck(function(ur,er){return ne[ur]-ne[er]}),ge=0;ge<$.length;ge++){var be=$[ge].id();Yt[be]=[],qt[be]=0,ne[be]=1/0}for(qt[$t]=1,ne[$t]=0,Gt.push($t);!Gt.empty();){var ie=Gt.pop();if(Zt.push(ie),O)for(var Fe=0;Fe0?ze=bn.edgesTo(we)[0]:ze=we.edgesTo(bn)[0];var Ge=L(ze);we=we.id(),ne[we]>ne[ie]+Ge&&(ne[we]=ne[ie]+Ge,Gt.nodes.indexOf(we)<0?Gt.push(we):Gt.updateItem(we),qt[we]=0,Yt[we]=[]),ne[we]==ne[ie]+Ge&&(qt[we]=qt[we]+qt[ie],Yt[we].push(ie))}else for(var En=0;En0;){for(var Wn=Zt.pop(),rr=0;rr0&&$.push(T[q]);$.length!==0&&O.push(L.collection($))}return O},oX=function(g,x){for(var T=0;T5&&arguments[5]!==void 0?arguments[5]:lX,$=L,q,S,V=0;V=2?Mk(g,x,T,0,TN,hX):Mk(g,x,T,0,EN)},squaredEuclidean:function(g,x,T){return Mk(g,x,T,0,TN)},manhattan:function(g,x,T){return Mk(g,x,T,0,EN)},max:function(g,x,T){return Mk(g,x,T,-1/0,fX)}};tx["squared-euclidean"]=tx.squaredEuclidean,tx.squaredeuclidean=tx.squaredEuclidean;function $T(y,g,x,T,L,O){var P;return yt(y)?P=y:P=tx[y]||tx.euclidean,g===0&&yt(y)?P(L,O):P(g,x,T,L,O)}var dX=Rf({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),PL=function(g){return dX(g)},zT=function(g,x,T,L,O){var P=O!=="kMedoids",$=P?function(Y){return T[Y]}:function(Y){return L[Y](T)},q=function(rt){return L[rt](x)},S=T,V=x;return $T(g,L.length,$,q,S,V)},FL=function(g,x,T){for(var L=T.length,O=new Array(L),P=new Array(L),$=new Array(x),q=null,S=0;ST)return!1}return!0},bX=function(g,x,T){for(var L=0;L$&&($=x[S][V],q=V);O[q].push(g[S])}for(var Y=0;Y=O.threshold||O.mode==="dendrogram"&&g.length===1)return!1;var ht=x[P],dt=x[L[P]],Lt;O.mode==="dendrogram"?Lt={left:ht,right:dt,key:ht.key}:Lt={value:ht.value.concat(dt.value),key:ht.key},g[ht.index]=Lt,g.splice(dt.index,1),x[ht.key]=Lt;for(var kt=0;ktT[dt.key][Dt.key]&&(q=T[dt.key][Dt.key])):O.linkage==="max"?(q=T[ht.key][Dt.key],T[ht.key][Dt.key]0&&L.push(O);return L},IN=function(g,x,T){for(var L=[],O=0;O$&&(P=S,$=x[O*g+S])}P>0&&L.push(P)}for(var V=0;VS&&(q=V,S=Y)}T[O]=P[q]}return L=IN(g,x,T),L},ON=function(g){for(var x=this.cy(),T=this.nodes(),L=MX(g),O={},P=0;P=be?(ie=be,be=we,Fe=bn):we>ie&&(ie=we);for(var ze=0;ze<$;ze++)Y[ge*$+ze]=(1-L.damping)*(S[ge*$+ze]-be)+L.damping*Pt[ze];Y[ge*$+Fe]=(1-L.damping)*(S[ge*$+Fe]-ie)+L.damping*Pt[Fe]}for(var Ge=0;Ge<$;Ge++){for(var En=0,In=0;In<$;In++)Pt[In]=rt[In*$+Ge],$t[In]=Math.max(0,Y[In*$+Ge]),En+=$t[In];En-=$t[Ge],$t[Ge]=Y[Ge*$+Ge],En+=$t[Ge];for(var Yn=0;Yn<$;Yn++)rt[Yn*$+Ge]=(1-L.damping)*Math.min(0,En-$t[Yn])+L.damping*Pt[Yn];rt[Ge*$+Ge]=(1-L.damping)*(En-$t[Ge])+L.damping*Pt[Ge]}for(var Sn=0,Wn=0;Wn<$;Wn++){var rr=rt[Wn*$+Wn]+Y[Wn*$+Wn]>0?1:0;qt[Gt%L.minIterations*$+Wn]=rr,Sn+=rr}if(Sn>0&&(Gt>=L.minIterations-1||Gt==L.maxIterations-1)){for(var wr=0,ur=0;ur<$;ur++){Zt[ur]=0;for(var er=0;er1||Yt>1)&&($=!0),Y[Pt]=[],Dt.outgoers().forEach(function(ne){ne.isEdge()&&Y[Pt].push(ne.id())})}else rt[Pt]=[void 0,Dt.target().id()]}):P.forEach(function(Dt){var Pt=Dt.id();if(Dt.isNode()){var $t=Dt.degree(!0);$t%2&&(q?S?$=!0:S=Pt:q=Pt),Y[Pt]=[],Dt.connectedEdges().forEach(function(Zt){return Y[Pt].push(Zt.id())})}else rt[Pt]=[Dt.source().id(),Dt.target().id()]});var ot={found:!1,trail:void 0};if($)return ot;if(S&&q)if(O){if(V&&S!=V)return ot;V=S}else{if(V&&S!=V&&q!=V)return ot;V||(V=S)}else V||(V=P[0].id());var ht=function(Pt){for(var $t=Pt,Zt=[Pt],Yt,qt,ne;Y[$t].length;)Yt=Y[$t].shift(),qt=rt[Yt][0],ne=rt[Yt][1],$t!=ne?(Y[ne]=Y[ne].filter(function(Gt){return Gt!=Yt}),$t=ne):!O&&$t!=qt&&(Y[qt]=Y[qt].filter(function(Gt){return Gt!=Yt}),$t=qt),Zt.unshift(Yt),Zt.unshift($t);return Zt},dt=[],Lt=[];for(Lt=ht(V);Lt.length!=1;)Y[Lt[0]].length==0?(dt.unshift(P.getElementById(Lt.shift())),dt.unshift(P.getElementById(Lt.shift()))):Lt=ht(Lt.shift()).concat(Lt);dt.unshift(P.getElementById(Lt.shift()));for(var kt in Y)if(Y[kt].length)return ot;return ot.found=!0,ot.trail=this.spawn(dt,!0),ot}},HT=function(){var g=this,x={},T=0,L=0,O=[],P=[],$={},q=function(rt,ot){for(var ht=P.length-1,dt=[],Lt=g.spawn();P[ht].x!=rt||P[ht].y!=ot;)dt.push(P.pop().edge),ht--;dt.push(P.pop().edge),dt.forEach(function(kt){var Dt=kt.connectedNodes().intersection(g);Lt.merge(kt),Dt.forEach(function(Pt){var $t=Pt.id(),Zt=Pt.connectedEdges().intersection(g);Lt.merge(Pt),x[$t].cutVertex?Lt.merge(Zt.filter(function(Yt){return Yt.isLoop()})):Lt.merge(Zt)})}),O.push(Lt)},S=function Y(rt,ot,ht){rt===ht&&(L+=1),x[ot]={id:T,low:T++,cutVertex:!1};var dt=g.getElementById(ot).connectedEdges().intersection(g);if(dt.size()===0)O.push(g.spawn(g.getElementById(ot)));else{var Lt,kt,Dt,Pt;dt.forEach(function($t){Lt=$t.source().id(),kt=$t.target().id(),Dt=Lt===ot?kt:Lt,Dt!==ht&&(Pt=$t.id(),$[Pt]||($[Pt]=!0,P.push({x:ot,y:Dt,edge:$t})),Dt in x?x[ot].low=Math.min(x[ot].low,x[Dt].id):(Y(rt,Dt,ot),x[ot].low=Math.min(x[ot].low,x[Dt].low),x[ot].id<=x[Dt].low&&(x[ot].cutVertex=!0,q(ot,Dt))))})}};g.forEach(function(Y){if(Y.isNode()){var rt=Y.id();rt in x||(L=0,S(rt,rt),x[rt].cutVertex=L>1)}});var V=Object.keys(x).filter(function(Y){return x[Y].cutVertex}).map(function(Y){return g.getElementById(Y)});return{cut:g.spawn(V),components:O}},RX={hopcroftTarjanBiconnected:HT,htbc:HT,htb:HT,hopcroftTarjanBiconnectedComponents:HT},VT=function(){var g=this,x={},T=0,L=[],O=[],P=g.spawn(g),$=function q(S){O.push(S),x[S]={index:T,low:T++,explored:!1};var V=g.getElementById(S).connectedEdges().intersection(g);if(V.forEach(function(dt){var Lt=dt.target().id();Lt!==S&&(Lt in x||q(Lt),x[Lt].explored||(x[S].low=Math.min(x[S].low,x[Lt].low)))}),x[S].index===x[S].low){for(var Y=g.spawn();;){var rt=O.pop();if(Y.merge(g.getElementById(rt)),x[rt].low=x[S].index,x[rt].explored=!0,rt===S)break}var ot=Y.edgesWith(Y),ht=Y.merge(ot);L.push(ht),P=P.difference(ht)}};return g.forEach(function(q){if(q.isNode()){var S=q.id();S in x||$(S)}}),{cut:P,components:L}},jX={tarjanStronglyConnected:VT,tsc:VT,tscc:VT,tarjanStronglyConnectedComponents:VT},PN={};[Tk,bK,wK,mK,xK,EK,_K,QK,Z5,J5,OL,uX,kX,AX,FX,BX,RX,jX].forEach(function(y){de(PN,y)});/*! +Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable +Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) +Licensed under The MIT License (http://opensource.org/licenses/MIT) +*/var FN=0,NN=1,BN=2,gw=function y(g){if(!(this instanceof y))return new y(g);this.id="Thenable/1.0.7",this.state=FN,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof g=="function"&&g.call(this,this.fulfill.bind(this),this.reject.bind(this))};gw.prototype={fulfill:function(g){return RN(this,NN,"fulfillValue",g)},reject:function(g){return RN(this,BN,"rejectReason",g)},then:function(g,x){var T=this,L=new gw;return T.onFulfilled.push(zN(g,L,"fulfill")),T.onRejected.push(zN(x,L,"reject")),jN(T),L.proxy}};var RN=function(g,x,T,L){return g.state===FN&&(g.state=x,g[T]=L,jN(g)),g},jN=function(g){g.state===NN?$N(g,"onFulfilled",g.fulfillValue):g.state===BN&&$N(g,"onRejected",g.rejectReason)},$N=function(g,x,T){if(g[x].length!==0){var L=g[x];g[x]=[];var O=function(){for(var $=0;$0}},clearQueue:function(){return function(){var x=this,T=x.length!==void 0,L=T?x:[x],O=this._private.cy||this;if(!O.styleEnabled())return this;for(var P=0;P-1}var $Q=jQ;function zQ(y,g){var x=this.__data__,T=WT(x,y);return T<0?(++this.size,x.push([y,g])):x[T][1]=g,this}var qQ=zQ;function rx(y){var g=-1,x=y==null?0:y.length;for(this.clear();++g-1&&y%1==0&&y0&&this.spawn(L).updateStyle().emit("class"),x},addClass:function(g){return this.toggleClass(g,!0)},hasClass:function(g){var x=this[0];return x!=null&&x._private.classes.has(g)},toggleClass:function(g,x){ft(g)||(g=g.match(/\S+/g)||[]);for(var T=this,L=x===void 0,O=[],P=0,$=T.length;P<$;P++)for(var q=T[P],S=q._private.classes,V=!1,Y=0;Y0&&this.spawn(O).updateStyle().emit("class"),T},removeClass:function(g){return this.toggleClass(g,!1)},flashClass:function(g,x){var T=this;if(x==null)x=250;else if(x===0)return T;return T.addClass(g),setTimeout(function(){T.removeClass(g)},x),T}};QT.className=QT.classNames=QT.classes;var tc={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Ye,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};tc.variable="(?:[\\w-.]|(?:\\\\"+tc.metaChar+"))+",tc.className="(?:[\\w-]|(?:\\\\"+tc.metaChar+"))+",tc.value=tc.string+"|"+tc.number,tc.id=tc.variable,function(){var y,g,x;for(y=tc.comparatorOp.split("|"),x=0;x=0)&&g!=="="&&(tc.comparatorOp+="|\\!"+g)}();var Kc=function(){return{checks:[]}},zi={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},zL=[{selector:":selected",matches:function(g){return g.selected()}},{selector:":unselected",matches:function(g){return!g.selected()}},{selector:":selectable",matches:function(g){return g.selectable()}},{selector:":unselectable",matches:function(g){return!g.selectable()}},{selector:":locked",matches:function(g){return g.locked()}},{selector:":unlocked",matches:function(g){return!g.locked()}},{selector:":visible",matches:function(g){return g.visible()}},{selector:":hidden",matches:function(g){return!g.visible()}},{selector:":transparent",matches:function(g){return g.transparent()}},{selector:":grabbed",matches:function(g){return g.grabbed()}},{selector:":free",matches:function(g){return!g.grabbed()}},{selector:":removed",matches:function(g){return g.removed()}},{selector:":inside",matches:function(g){return!g.removed()}},{selector:":grabbable",matches:function(g){return g.grabbable()}},{selector:":ungrabbable",matches:function(g){return!g.grabbable()}},{selector:":animated",matches:function(g){return g.animated()}},{selector:":unanimated",matches:function(g){return!g.animated()}},{selector:":parent",matches:function(g){return g.isParent()}},{selector:":childless",matches:function(g){return g.isChildless()}},{selector:":child",matches:function(g){return g.isChild()}},{selector:":orphan",matches:function(g){return g.isOrphan()}},{selector:":nonorphan",matches:function(g){return g.isChild()}},{selector:":compound",matches:function(g){return g.isNode()?g.isParent():g.source().isParent()||g.target().isParent()}},{selector:":loop",matches:function(g){return g.isLoop()}},{selector:":simple",matches:function(g){return g.isSimple()}},{selector:":active",matches:function(g){return g.active()}},{selector:":inactive",matches:function(g){return!g.active()}},{selector:":backgrounding",matches:function(g){return g.backgrounding()}},{selector:":nonbackgrounding",matches:function(g){return!g.backgrounding()}}].sort(function(y,g){return Me(y.selector,g.selector)}),qZ=function(){for(var y={},g,x=0;x0&&V.edgeCount>0)return Sc("The selector `"+g+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(V.edgeCount>1)return Sc("The selector `"+g+"` is invalid because it uses multiple edge selectors"),!1;V.edgeCount===1&&Sc("The selector `"+g+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},YZ=function(){if(this.toStringCache!=null)return this.toStringCache;for(var g=function(V){return V??""},x=function(V){return mt(V)?'"'+V+'"':g(V)},T=function(V){return" "+V+" "},L=function(V,Y){var rt=V.type,ot=V.value;switch(rt){case zi.GROUP:{var ht=g(ot);return ht.substring(0,ht.length-1)}case zi.DATA_COMPARE:{var dt=V.field,Lt=V.operator;return"["+dt+T(g(Lt))+x(ot)+"]"}case zi.DATA_BOOL:{var kt=V.operator,Dt=V.field;return"["+g(kt)+Dt+"]"}case zi.DATA_EXIST:{var Pt=V.field;return"["+Pt+"]"}case zi.META_COMPARE:{var $t=V.operator,Zt=V.field;return"[["+Zt+T(g($t))+x(ot)+"]]"}case zi.STATE:return ot;case zi.ID:return"#"+ot;case zi.CLASS:return"."+ot;case zi.PARENT:case zi.CHILD:return O(V.parent,Y)+T(">")+O(V.child,Y);case zi.ANCESTOR:case zi.DESCENDANT:return O(V.ancestor,Y)+" "+O(V.descendant,Y);case zi.COMPOUND_SPLIT:{var Yt=O(V.left,Y),qt=O(V.subject,Y),ne=O(V.right,Y);return Yt+(Yt.length>0?" ":"")+qt+ne}case zi.TRUE:return""}},O=function(V,Y){return V.checks.reduce(function(rt,ot,ht){return rt+(Y===V&&ht===0?"$":"")+L(ot,Y)},"")},P="",$=0;$1&&$=0&&(x=x.replace("!",""),Y=!0),x.indexOf("@")>=0&&(x=x.replace("@",""),V=!0),(O||$||V)&&(q=!O&&!P?"":""+g,S=""+T),V&&(g=q=q.toLowerCase(),T=S=S.toLowerCase()),x){case"*=":L=q.indexOf(S)>=0;break;case"$=":L=q.indexOf(S,q.length-S.length)>=0;break;case"^=":L=q.indexOf(S)===0;break;case"=":L=g===T;break;case">":rt=!0,L=g>T;break;case">=":rt=!0,L=g>=T;break;case"<":rt=!0,L=g0;){var V=L.shift();g(V),O.add(V.id()),$&&T(L,O,V)}return y}function Ik(y,g,x){if(x.isParent())for(var T=x._private.children,L=0;L1&&arguments[1]!==void 0?arguments[1]:!0;return ZT(this,y,g,Ik)};function aB(y,g,x){if(x.isChild()){var T=x._private.parent;g.has(T.id())||y.push(T)}}ax.forEachUp=function(y){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return ZT(this,y,g,aB)};function nJ(y,g,x){aB(y,g,x),Ik(y,g,x)}ax.forEachUpAndDown=function(y){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return ZT(this,y,g,nJ)},ax.ancestors=ax.parents;var Ok,oB;Ok=oB={data:Ac.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:Ac.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:Ac.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Ac.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:Ac.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:Ac.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var g=this[0];if(g)return g._private.data.id}},Ok.attr=Ok.data,Ok.removeAttr=Ok.removeData;var rJ=oB,JT={};function ox(y){return function(g){var x=this;if(g===void 0&&(g=!0),x.length!==0)if(x.isNode()&&!x.removed()){for(var T=0,L=x[0],O=L._private.edges,P=0;Pg}),minIndegree:cx("indegree",function(y,g){return yg}),minOutdegree:cx("outdegree",function(y,g){return yg})}),de(JT,{totalDegree:function(g){for(var x=0,T=this.nodes(),L=0;L0,rt=Y;Y&&(V=V[0]);var ot=rt?V.position():{x:0,y:0};x!==void 0?S.position(g,x+ot[g]):O!==void 0&&S.position({x:O.x+ot.x,y:O.y+ot.y})}else{var ht=T.position(),dt=$?T.parent():null,Lt=dt&&dt.length>0,kt=Lt;Lt&&(dt=dt[0]);var Dt=kt?dt.position():{x:0,y:0};return O={x:ht.x-Dt.x,y:ht.y-Dt.y},g===void 0?O:O[g]}else if(!P)return;return this}},kp.modelPosition=kp.point=kp.position,kp.modelPositions=kp.points=kp.positions,kp.renderedPoint=kp.renderedPosition,kp.relativePoint=kp.relativePosition;var lB=cB,ux,Ub;ux=Ub={},Ub.renderedBoundingBox=function(y){var g=this.boundingBox(y),x=this.cy(),T=x.zoom(),L=x.pan(),O=g.x1*T+L.x,P=g.x2*T+L.x,$=g.y1*T+L.y,q=g.y2*T+L.y;return{x1:O,x2:P,y1:$,y2:q,w:P-O,h:q-$}},Ub.dirtyCompoundBoundsCache=function(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,g=this.cy();return!g.styleEnabled()||!g.hasCompoundNodes()?this:(this.forEachUp(function(x){if(x.isParent()){var T=x._private;T.compoundBoundsClean=!1,T.bbCache=null,y||x.emitAndNotify("bounds")}}),this)},Ub.updateCompoundBounds=function(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,g=this.cy();if(!g.styleEnabled()||!g.hasCompoundNodes())return this;if(!y&&g.batching())return this;function x(P){if(!P.isParent())return;var $=P._private,q=P.children(),S=P.pstyle("compound-sizing-wrt-labels").value==="include",V={width:{val:P.pstyle("min-width").pfValue,left:P.pstyle("min-width-bias-left"),right:P.pstyle("min-width-bias-right")},height:{val:P.pstyle("min-height").pfValue,top:P.pstyle("min-height-bias-top"),bottom:P.pstyle("min-height-bias-bottom")}},Y=q.boundingBox({includeLabels:S,includeOverlays:!1,useCache:!1}),rt=$.position;(Y.w===0||Y.h===0)&&(Y={w:P.pstyle("width").pfValue,h:P.pstyle("height").pfValue},Y.x1=rt.x-Y.w/2,Y.x2=rt.x+Y.w/2,Y.y1=rt.y-Y.h/2,Y.y2=rt.y+Y.h/2);function ot(Gt,ge,be){var ie=0,Fe=0,we=ge+be;return Gt>0&&we>0&&(ie=ge/we*Gt,Fe=be/we*Gt),{biasDiff:ie,biasComplementDiff:Fe}}function ht(Gt,ge,be,ie){if(be.units==="%")switch(ie){case"width":return Gt>0?be.pfValue*Gt:0;case"height":return ge>0?be.pfValue*ge:0;case"average":return Gt>0&&ge>0?be.pfValue*(Gt+ge)/2:0;case"min":return Gt>0&&ge>0?Gt>ge?be.pfValue*ge:be.pfValue*Gt:0;case"max":return Gt>0&&ge>0?Gt>ge?be.pfValue*Gt:be.pfValue*ge:0;default:return 0}else return be.units==="px"?be.pfValue:0}var dt=V.width.left.value;V.width.left.units==="px"&&V.width.val>0&&(dt=dt*100/V.width.val);var Lt=V.width.right.value;V.width.right.units==="px"&&V.width.val>0&&(Lt=Lt*100/V.width.val);var kt=V.height.top.value;V.height.top.units==="px"&&V.height.val>0&&(kt=kt*100/V.height.val);var Dt=V.height.bottom.value;V.height.bottom.units==="px"&&V.height.val>0&&(Dt=Dt*100/V.height.val);var Pt=ot(V.width.val-Y.w,dt,Lt),$t=Pt.biasDiff,Zt=Pt.biasComplementDiff,Yt=ot(V.height.val-Y.h,kt,Dt),qt=Yt.biasDiff,ne=Yt.biasComplementDiff;$.autoPadding=ht(Y.w,Y.h,P.pstyle("padding"),P.pstyle("padding-relative-to").value),$.autoWidth=Math.max(Y.w,V.width.val),rt.x=(-$t+Y.x1+Y.x2+Zt)/2,$.autoHeight=Math.max(Y.h,V.height.val),rt.y=(-qt+Y.y1+Y.y2+ne)/2}for(var T=0;Tg.x2?L:g.x2,g.y1=Tg.y2?O:g.y2,g.w=g.x2-g.x1,g.h=g.y2-g.y1)},L3=function(g,x){return x==null?g:Ep(g,x.x1,x.y1,x.x2,x.y2)},Fk=function(g,x,T){return yp(g,x,T)},tC=function(g,x,T){if(!x.cy().headless()){var L=x._private,O=L.rstyle,P=O.arrowWidth/2,$=x.pstyle(T+"-arrow-shape").value,q,S;if($!=="none"){T==="source"?(q=O.srcX,S=O.srcY):T==="target"?(q=O.tgtX,S=O.tgtY):(q=O.midX,S=O.midY);var V=L.arrowBounds=L.arrowBounds||{},Y=V[T]=V[T]||{};Y.x1=q-P,Y.y1=S-P,Y.x2=q+P,Y.y2=S+P,Y.w=Y.x2-Y.x1,Y.h=Y.y2-Y.y1,RT(Y,1),Ep(g,Y.x1,Y.y1,Y.x2,Y.y2)}}},hB=function(g,x,T){if(!x.cy().headless()){var L;T?L=T+"-":L="";var O=x._private,P=O.rstyle,$=x.pstyle(L+"label").strValue;if($){var q=x.pstyle("text-halign"),S=x.pstyle("text-valign"),V=Fk(P,"labelWidth",T),Y=Fk(P,"labelHeight",T),rt=Fk(P,"labelX",T),ot=Fk(P,"labelY",T),ht=x.pstyle(L+"text-margin-x").pfValue,dt=x.pstyle(L+"text-margin-y").pfValue,Lt=x.isEdge(),kt=x.pstyle(L+"text-rotation"),Dt=x.pstyle("text-outline-width").pfValue,Pt=x.pstyle("text-border-width").pfValue,$t=Pt/2,Zt=x.pstyle("text-background-padding").pfValue,Yt=2,qt=Y,ne=V,Gt=ne/2,ge=qt/2,be,ie,Fe,we;if(Lt)be=rt-Gt,ie=rt+Gt,Fe=ot-ge,we=ot+ge;else{switch(q.value){case"left":be=rt-ne,ie=rt;break;case"center":be=rt-Gt,ie=rt+Gt;break;case"right":be=rt,ie=rt+ne;break}switch(S.value){case"top":Fe=ot-qt,we=ot;break;case"center":Fe=ot-ge,we=ot+ge;break;case"bottom":Fe=ot,we=ot+qt;break}}be+=ht-Math.max(Dt,$t)-Zt-Yt,ie+=ht+Math.max(Dt,$t)+Zt+Yt,Fe+=dt-Math.max(Dt,$t)-Zt-Yt,we+=dt+Math.max(Dt,$t)+Zt+Yt;var bn=T||"main",ze=O.labelBounds,Ge=ze[bn]=ze[bn]||{};Ge.x1=be,Ge.y1=Fe,Ge.x2=ie,Ge.y2=we,Ge.w=ie-be,Ge.h=we-Fe;var En=Lt&&kt.strValue==="autorotate",In=kt.pfValue!=null&&kt.pfValue!==0;if(En||In){var Yn=En?Fk(O.rstyle,"labelAngle",T):kt.pfValue,Sn=Math.cos(Yn),Wn=Math.sin(Yn),rr=(be+ie)/2,wr=(Fe+we)/2;if(!Lt){switch(q.value){case"left":rr=ie;break;case"right":rr=be;break}switch(S.value){case"top":wr=we;break;case"bottom":wr=Fe;break}}var ur=function(Ea,Ci){return Ea=Ea-rr,Ci=Ci-wr,{x:Ea*Sn-Ci*Wn+rr,y:Ea*Wn+Ci*Sn+wr}},er=ur(be,Fe),vn=ur(be,we),gr=ur(ie,Fe),fr=ur(ie,we);be=Math.min(er.x,vn.x,gr.x,fr.x),ie=Math.max(er.x,vn.x,gr.x,fr.x),Fe=Math.min(er.y,vn.y,gr.y,fr.y),we=Math.max(er.y,vn.y,gr.y,fr.y)}var Jr=bn+"Rot",vi=ze[Jr]=ze[Jr]||{};vi.x1=be,vi.y1=Fe,vi.x2=ie,vi.y2=we,vi.w=ie-be,vi.h=we-Fe,Ep(g,be,Fe,ie,we),Ep(O.labelBounds.all,be,Fe,ie,we)}return g}},iJ=function(g,x){var T=g._private.cy,L=T.styleEnabled(),O=T.headless(),P=zd(),$=g._private,q=g.isNode(),S=g.isEdge(),V,Y,rt,ot,ht,dt,Lt=$.rstyle,kt=q&&L?g.pstyle("bounds-expansion").pfValue:[0],Dt=function(gs){return gs.pstyle("display").value!=="none"},Pt=!L||Dt(g)&&(!S||Dt(g.source())&&Dt(g.target()));if(Pt){var $t=0,Zt=0;L&&x.includeOverlays&&($t=g.pstyle("overlay-opacity").value,$t!==0&&(Zt=g.pstyle("overlay-padding").value));var Yt=0,qt=0;L&&x.includeUnderlays&&(Yt=g.pstyle("underlay-opacity").value,Yt!==0&&(qt=g.pstyle("underlay-padding").value));var ne=Math.max(Zt,qt),Gt=0,ge=0;if(L&&(Gt=g.pstyle("width").pfValue,ge=Gt/2),q&&x.includeNodes){var be=g.position();ht=be.x,dt=be.y;var ie=g.outerWidth(),Fe=ie/2,we=g.outerHeight(),bn=we/2;V=ht-Fe,Y=ht+Fe,rt=dt-bn,ot=dt+bn,Ep(P,V,rt,Y,ot)}else if(S&&x.includeEdges)if(L&&!O){var ze=g.pstyle("curve-style").strValue;if(V=Math.min(Lt.srcX,Lt.midX,Lt.tgtX),Y=Math.max(Lt.srcX,Lt.midX,Lt.tgtX),rt=Math.min(Lt.srcY,Lt.midY,Lt.tgtY),ot=Math.max(Lt.srcY,Lt.midY,Lt.tgtY),V-=ge,Y+=ge,rt-=ge,ot+=ge,Ep(P,V,rt,Y,ot),ze==="haystack"){var Ge=Lt.haystackPts;if(Ge&&Ge.length===2){if(V=Ge[0].x,rt=Ge[0].y,Y=Ge[1].x,ot=Ge[1].y,V>Y){var En=V;V=Y,Y=En}if(rt>ot){var In=rt;rt=ot,ot=In}Ep(P,V-ge,rt-ge,Y+ge,ot+ge)}}else if(ze==="bezier"||ze==="unbundled-bezier"||ze==="segments"||ze==="taxi"){var Yn;switch(ze){case"bezier":case"unbundled-bezier":Yn=Lt.bezierPts;break;case"segments":case"taxi":Yn=Lt.linePts;break}if(Yn!=null)for(var Sn=0;SnY){var vn=V;V=Y,Y=vn}if(rt>ot){var gr=rt;rt=ot,ot=gr}V-=ge,Y+=ge,rt-=ge,ot+=ge,Ep(P,V,rt,Y,ot)}if(L&&x.includeEdges&&S&&(tC(P,g,"mid-source"),tC(P,g,"mid-target"),tC(P,g,"source"),tC(P,g,"target")),L){var fr=g.pstyle("ghost").value==="yes";if(fr){var Jr=g.pstyle("ghost-offset-x").pfValue,vi=g.pstyle("ghost-offset-y").pfValue;Ep(P,P.x1+Jr,P.y1+vi,P.x2+Jr,P.y2+vi)}}var Xs=$.bodyBounds=$.bodyBounds||{};lN(Xs,P),SL(Xs,kt),RT(Xs,1),L&&(V=P.x1,Y=P.x2,rt=P.y1,ot=P.y2,Ep(P,V-ne,rt-ne,Y+ne,ot+ne));var Ea=$.overlayBounds=$.overlayBounds||{};lN(Ea,P),SL(Ea,kt),RT(Ea,1);var Ci=$.labelBounds=$.labelBounds||{};Ci.all!=null?NK(Ci.all):Ci.all=zd(),L&&x.includeLabels&&(x.includeMainLabels&&hB(P,g,null),S&&(x.includeSourceLabels&&hB(P,g,"source"),x.includeTargetLabels&&hB(P,g,"target")))}return P.x1=M0(P.x1),P.y1=M0(P.y1),P.x2=M0(P.x2),P.y2=M0(P.y2),P.w=M0(P.x2-P.x1),P.h=M0(P.y2-P.y1),P.w>0&&P.h>0&&Pt&&(SL(P,kt),RT(P,1)),P},fB=function(g){var x=0,T=function(P){return(P?1:0)<0&&arguments[0]!==void 0?arguments[0]:vJ,g=arguments.length>1?arguments[1]:void 0,x=0;x=0;$--)P($);return this},Cm.removeAllListeners=function(){return this.removeListener("*")},Cm.emit=Cm.trigger=function(y,g,x){var T=this.listeners,L=T.length;return this.emitting++,ft(g)||(g=[g]),mJ(this,function(O,P){x!=null&&(T=[{event:P.event,type:P.type,namespace:P.namespace,callback:x}],L=T.length);for(var $=function(V){var Y=T[V];if(Y.type===P.type&&(!Y.namespace||Y.namespace===P.namespace||Y.namespace===wJ)&&O.eventMatches(O.context,Y,P)){var rt=[P];g!=null&&aN(rt,g),O.beforeEmit(O.context,Y,P),Y.conf&&Y.conf.one&&(O.listeners=O.listeners.filter(function(dt){return dt!==Y}));var ot=O.callbackContext(O.context,Y,P),ht=Y.callback.apply(ot,rt);O.afterEmit(O.context,Y,P),ht===!1&&(P.stopPropagation(),P.preventDefault())}},q=0;q1&&!P){var $=this.length-1,q=this[$],S=q._private.data.id;this[$]=void 0,this[g]=q,O.set(S,{ele:q,index:g})}return this.length--,this},unmergeOne:function(g){g=g[0];var x=this._private,T=g._private.data.id,L=x.map,O=L.get(T);if(!O)return this;var P=O.index;return this.unmergeAt(P),this},unmerge:function(g){var x=this._private.cy;if(!g)return this;if(g&&mt(g)){var T=g;g=x.mutableElements().filter(T)}for(var L=0;L=0;x--){var T=this[x];g(T)&&this.unmergeAt(x)}return this},map:function(g,x){for(var T=[],L=this,O=0;OT&&(T=q,L=$)}return{value:T,ele:L}},min:function(g,x){for(var T=1/0,L,O=this,P=0;P=0&&O"u"?"undefined":f(Symbol))!=g&&f(Symbol.iterator)!=g;x&&(iC[Symbol.iterator]=function(){var T=this,L={value:void 0,done:!1},O=0,P=this.length;return b({next:function(){return O1&&arguments[1]!==void 0?arguments[1]:!0,T=this[0],L=T.cy();if(L.styleEnabled()&&T){this.cleanStyle();var O=T._private.style[g];return O??(x?L.style().getDefaultProperty(g):null)}},numericStyle:function(g){var x=this[0];if(x.cy().styleEnabled()&&x){var T=x.pstyle(g);return T.pfValue!==void 0?T.pfValue:T.value}},numericStyleUnits:function(g){var x=this[0];if(x.cy().styleEnabled()&&x)return x.pstyle(g).units},renderedStyle:function(g){var x=this.cy();if(!x.styleEnabled())return this;var T=this[0];if(T)return x.style().getRenderedStyle(T,g)},style:function(g,x){var T=this.cy();if(!T.styleEnabled())return this;var L=!1,O=T.style();if(ut(g)){var P=g;O.applyBypass(this,P,L),this.emitAndNotify("style")}else if(mt(g))if(x===void 0){var $=this[0];return $?O.getStylePropertyValue($,g):void 0}else O.applyBypass(this,g,x,L),this.emitAndNotify("style");else if(g===void 0){var q=this[0];return q?O.getRawStyle(q):void 0}return this},removeStyle:function(g){var x=this.cy();if(!x.styleEnabled())return this;var T=!1,L=x.style(),O=this;if(g===void 0)for(var P=0;P0&&g.push(V[0]),g.push($[0])}return this.spawn(g,!0).filter(y)},"neighborhood"),closedNeighborhood:function(g){return this.neighborhood().add(this).filter(g)},openNeighborhood:function(g){return this.neighborhood(g)}}),d1.neighbourhood=d1.neighborhood,d1.closedNeighbourhood=d1.closedNeighborhood,d1.openNeighbourhood=d1.openNeighborhood,de(d1,{source:ad(function(g){var x=this[0],T;return x&&(T=x._private.source||x.cy().collection()),T&&g?T.filter(g):T},"source"),target:ad(function(g){var x=this[0],T;return x&&(T=x._private.target||x.cy().collection()),T&&g?T.filter(g):T},"target"),sources:IB({attr:"source"}),targets:IB({attr:"target"})});function IB(y){return function(x){for(var T=[],L=0;L0);return P},component:function(){var g=this[0];return g.cy().mutableElements().components(g)[0]}}),d1.componentsOf=d1.components;var $f=function(g,x){var T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,L=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(g===void 0){vl("A collection must have a reference to the core");return}var O=new Gb,P=!1;if(!x)x=[];else if(x.length>0&&ut(x[0])&&!nt(x[0])){P=!0;for(var $=[],q=new Y5,S=0,V=x.length;S0&&arguments[0]!==void 0?arguments[0]:!0,g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,x=this,T=x.cy(),L=T._private,O=[],P=[],$,q=0,S=x.length;q0){for(var In=$.length===x.length?x:new $f(T,$),Yn=0;Yn0&&arguments[0]!==void 0?arguments[0]:!0,g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,x=this,T=[],L={},O=x._private.cy;function P(we){for(var bn=we._private.edges,ze=0;ze0&&(y?be.emitAndNotify("remove"):g&&be.emit("remove"));for(var ie=0;ie0?ie=we:be=we;while(Math.abs(Fe)>P&&++bn<$);return we}function Zt(ge){for(var be=0,ie=1,Fe=q-1;ie!==Fe&&rt[ie]<=ge;++ie)be+=S;--ie;var we=(ge-rt[ie])/(rt[ie+1]-rt[ie]),bn=be+we*S,ze=kt(bn,y,x);return ze>=O?Dt(ge,bn):ze===0?bn:$t(ge,be,be+S)}var Yt=!1;function qt(){Yt=!0,(y!==g||x!==T)&&Pt()}var ne=function(be){return Yt||qt(),y===g&&x===T?be:be===0?0:be===1?1:Lt(Zt(be),g,T)};ne.getControlPoints=function(){return[{x:y,y:g},{x,y:T}]};var Gt="generateBezier("+[y,g,x,T]+")";return ne.toString=function(){return Gt},ne}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var MJ=function(){function y(T){return-T.tension*T.x-T.friction*T.v}function g(T,L,O){var P={x:T.x+O.dx*L,v:T.v+O.dv*L,tension:T.tension,friction:T.friction};return{dx:P.v,dv:y(P)}}function x(T,L){var O={dx:T.v,dv:y(T)},P=g(T,L*.5,O),$=g(T,L*.5,P),q=g(T,L,$),S=1/6*(O.dx+2*(P.dx+$.dx)+q.dx),V=1/6*(O.dv+2*(P.dv+$.dv)+q.dv);return T.x=T.x+S*L,T.v=T.v+V*L,T}return function T(L,O,P){var $={x:-1,v:0,tension:null,friction:null},q=[0],S=0,V=1/1e4,Y=16/1e3,rt,ot,ht;for(L=parseFloat(L)||500,O=parseFloat(O)||20,P=P||null,$.tension=L,$.friction=O,rt=P!==null,rt?(S=T(L,O),ot=S/P*Y):ot=Y;ht=x(ht||$,ot),q.push(1+ht.x),S+=16,Math.abs(ht.x)>V&&Math.abs(ht.v)>V;);return rt?function(dt){return q[dt*(q.length-1)|0]}:S}}(),gu=function(g,x,T,L){var O=LJ(g,x,T,L);return function(P,$,q){return P+($-P)*O(q)}},cC={linear:function(g,x,T){return g+(x-g)*T},ease:gu(.25,.1,.25,1),"ease-in":gu(.42,0,1,1),"ease-out":gu(0,0,.58,1),"ease-in-out":gu(.42,0,.58,1),"ease-in-sine":gu(.47,0,.745,.715),"ease-out-sine":gu(.39,.575,.565,1),"ease-in-out-sine":gu(.445,.05,.55,.95),"ease-in-quad":gu(.55,.085,.68,.53),"ease-out-quad":gu(.25,.46,.45,.94),"ease-in-out-quad":gu(.455,.03,.515,.955),"ease-in-cubic":gu(.55,.055,.675,.19),"ease-out-cubic":gu(.215,.61,.355,1),"ease-in-out-cubic":gu(.645,.045,.355,1),"ease-in-quart":gu(.895,.03,.685,.22),"ease-out-quart":gu(.165,.84,.44,1),"ease-in-out-quart":gu(.77,0,.175,1),"ease-in-quint":gu(.755,.05,.855,.06),"ease-out-quint":gu(.23,1,.32,1),"ease-in-out-quint":gu(.86,0,.07,1),"ease-in-expo":gu(.95,.05,.795,.035),"ease-out-expo":gu(.19,1,.22,1),"ease-in-out-expo":gu(1,0,0,1),"ease-in-circ":gu(.6,.04,.98,.335),"ease-out-circ":gu(.075,.82,.165,1),"ease-in-out-circ":gu(.785,.135,.15,.86),spring:function(g,x,T){if(T===0)return cC.linear;var L=MJ(g,x,T);return function(O,P,$){return O+(P-O)*L($)}},"cubic-bezier":gu};function FB(y,g,x,T,L){if(T===1||g===x)return x;var O=L(g,x,T);return y==null||((y.roundValue||y.color)&&(O=Math.round(O)),y.min!==void 0&&(O=Math.max(O,y.min)),y.max!==void 0&&(O=Math.min(O,y.max))),O}function NB(y,g){return y.pfValue!=null||y.value!=null?y.pfValue!=null&&(g==null||g.type.units!=="%")?y.pfValue:y.value:y}function fx(y,g,x,T,L){var O=L!=null?L.type:null;x<0?x=0:x>1&&(x=1);var P=NB(y,L),$=NB(g,L);if(X(P)&&X($))return FB(O,P,$,x,T);if(ft(P)&&ft($)){for(var q=[],S=0;S<$.length;S++){var V=P[S],Y=$[S];if(V!=null&&Y!=null){var rt=FB(O,V,Y,x,T);q.push(rt)}else q.push(Y)}return q}}function DJ(y,g,x,T){var L=!T,O=y._private,P=g._private,$=P.easing,q=P.startTime,S=T?y:y.cy(),V=S.style();if(!P.easingImpl)if($==null)P.easingImpl=cC.linear;else{var Y;if(mt($)){var rt=V.parse("transition-timing-function",$);Y=rt.value}else Y=$;var ot,ht;mt(Y)?(ot=Y,ht=[]):(ot=Y[1],ht=Y.slice(2).map(function(In){return+In})),ht.length>0?(ot==="spring"&&ht.push(P.duration),P.easingImpl=cC[ot].apply(null,ht)):P.easingImpl=cC[ot]}var dt=P.easingImpl,Lt;if(P.duration===0?Lt=1:Lt=(x-q)/P.duration,P.applying&&(Lt=P.progress),Lt<0?Lt=0:Lt>1&&(Lt=1),P.delay==null){var kt=P.startPosition,Dt=P.position;if(Dt&&L&&!y.locked()){var Pt={};$k(kt.x,Dt.x)&&(Pt.x=fx(kt.x,Dt.x,Lt,dt)),$k(kt.y,Dt.y)&&(Pt.y=fx(kt.y,Dt.y,Lt,dt)),y.position(Pt)}var $t=P.startPan,Zt=P.pan,Yt=O.pan,qt=Zt!=null&&T;qt&&($k($t.x,Zt.x)&&(Yt.x=fx($t.x,Zt.x,Lt,dt)),$k($t.y,Zt.y)&&(Yt.y=fx($t.y,Zt.y,Lt,dt)),y.emit("pan"));var ne=P.startZoom,Gt=P.zoom,ge=Gt!=null&&T;ge&&($k(ne,Gt)&&(O.zoom=_k(O.minZoom,fx(ne,Gt,Lt,dt),O.maxZoom)),y.emit("zoom")),(qt||ge)&&y.emit("viewport");var be=P.style;if(be&&be.length>0&&L){for(var ie=0;ie=0;qt--){var ne=Yt[qt];ne()}Yt.splice(0,Yt.length)},Dt=ot.length-1;Dt>=0;Dt--){var Pt=ot[Dt],$t=Pt._private;if($t.stopped){ot.splice(Dt,1),$t.hooked=!1,$t.playing=!1,$t.started=!1,kt($t.frames);continue}!$t.playing&&!$t.applying||($t.playing&&$t.applying&&($t.applying=!1),$t.started||IJ(V,Pt,y),DJ(V,Pt,y,Y),$t.applying&&($t.applying=!1),kt($t.frames),$t.step!=null&&$t.step(y),Pt.completed()&&(ot.splice(Dt,1),$t.hooked=!1,$t.playing=!1,$t.started=!1,kt($t.completes)),dt=!0)}return!Y&&ot.length===0&&ht.length===0&&T.push(V),dt}for(var O=!1,P=0;P0?g.notify("draw",x):g.notify("draw")),x.unmerge(T),g.emit("step")}var OJ={animate:Ac.animate(),animation:Ac.animation(),animated:Ac.animated(),clearQueue:Ac.clearQueue(),delay:Ac.delay(),delayAnimation:Ac.delayAnimation(),stop:Ac.stop(),addToAnimationPool:function(g){var x=this;x.styleEnabled()&&x._private.aniEles.merge(g)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var g=this;if(g._private.animationsRunning=!0,!g.styleEnabled())return;function x(){g._private.animationsRunning&&Bf(function(O){BB(O,g),x()})}var T=g.renderer();T&&T.beforeRender?T.beforeRender(function(O,P){BB(P,g)},T.beforeRenderPriorities.animations):x()}},PJ={qualifierCompare:function(g,x){return g==null||x==null?g==null&&x==null:g.sameText(x)},eventMatches:function(g,x,T){var L=x.qualifier;return L!=null?g!==T.target&&nt(T.target)&&L.matches(T.target):!0},addEventFields:function(g,x){x.cy=g,x.target=g},callbackContext:function(g,x,T){return x.qualifier!=null?T.target:g}},uC=function(g){return mt(g)?new Em(g):g},RB={createEmitter:function(){var g=this._private;return g.emitter||(g.emitter=new nC(PJ,this)),this},emitter:function(){return this._private.emitter},on:function(g,x,T){return this.emitter().on(g,uC(x),T),this},removeListener:function(g,x,T){return this.emitter().removeListener(g,uC(x),T),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(g,x,T){return this.emitter().one(g,uC(x),T),this},once:function(g,x,T){return this.emitter().one(g,uC(x),T),this},emit:function(g,x){return this.emitter().emit(g,x),this},emitAndNotify:function(g,x){return this.emit(g),this.notify(g,x),this}};Ac.eventAliasesOn(RB);var UL={png:function(g){var x=this._private.renderer;return g=g||{},x.png(g)},jpg:function(g){var x=this._private.renderer;return g=g||{},g.bg=g.bg||"#fff",x.jpg(g)}};UL.jpeg=UL.jpg;var lC={layout:function(g){var x=this;if(g==null){vl("Layout options must be specified to make a layout");return}if(g.name==null){vl("A `name` must be specified to make a layout");return}var T=g.name,L=x.extension("layout",T);if(L==null){vl("No such layout `"+T+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var O;mt(g.eles)?O=x.$(g.eles):O=g.eles!=null?g.eles:x.$();var P=new L(de({},g,{cy:x,eles:O}));return P}};lC.createLayout=lC.makeLayout=lC.layout;var FJ={notify:function(g,x){var T=this._private;if(this.batching()){T.batchNotifications=T.batchNotifications||{};var L=T.batchNotifications[g]=T.batchNotifications[g]||this.collection();x!=null&&L.merge(x);return}if(T.notificationsEnabled){var O=this.renderer();this.destroyed()||!O||O.notify(g,x)}},notifications:function(g){var x=this._private;return g===void 0?x.notificationsEnabled:(x.notificationsEnabled=!!g,this)},noNotifications:function(g){this.notifications(!1),g(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var g=this._private;return g.batchCount==null&&(g.batchCount=0),g.batchCount===0&&(g.batchStyleEles=this.collection(),g.batchNotifications={}),g.batchCount++,this},endBatch:function(){var g=this._private;if(g.batchCount===0)return this;if(g.batchCount--,g.batchCount===0){g.batchStyleEles.updateStyle();var x=this.renderer();Object.keys(g.batchNotifications).forEach(function(T){var L=g.batchNotifications[T];L.empty()?x.notify(T):x.notify(T,L)})}return this},batch:function(g){return this.startBatch(),g(),this.endBatch(),this},batchData:function(g){var x=this;return this.batch(function(){for(var T=Object.keys(g),L=0;L0;)x.removeChild(x.childNodes[0]);g._private.renderer=null,g.mutableElements().forEach(function(T){var L=T._private;L.rscratch={},L.rstyle={},L.animation.current=[],L.animation.queue=[]})},onRender:function(g){return this.on("render",g)},offRender:function(g){return this.off("render",g)}};WL.invalidateDimensions=WL.resize;var hC={collection:function(g,x){return mt(g)?this.$(g):Tt(g)?g.collection():ft(g)?(x||(x={}),new $f(this,g,x.unique,x.removed)):new $f(this)},nodes:function(g){var x=this.$(function(T){return T.isNode()});return g?x.filter(g):x},edges:function(g){var x=this.$(function(T){return T.isEdge()});return g?x.filter(g):x},$:function(g){var x=this._private.elements;return g?x.filter(g):x.spawnSelf()},mutableElements:function(){return this._private.elements}};hC.elements=hC.filter=hC.$;var g1={},zk="t",BJ="f";g1.apply=function(y){for(var g=this,x=g._private,T=x.cy,L=T.collection(),O=0;O0;if(rt||Y&&ot){var ht=void 0;rt&&ot||rt?ht=S.properties:ot&&(ht=S.mappedProperties);for(var dt=0;dt1&&($t=1),$.color){var Yt=T.valueMin[0],qt=T.valueMax[0],ne=T.valueMin[1],Gt=T.valueMax[1],ge=T.valueMin[2],be=T.valueMax[2],ie=T.valueMin[3]==null?1:T.valueMin[3],Fe=T.valueMax[3]==null?1:T.valueMax[3],we=[Math.round(Yt+(qt-Yt)*$t),Math.round(ne+(Gt-ne)*$t),Math.round(ge+(be-ge)*$t),Math.round(ie+(Fe-ie)*$t)];O={bypass:T.bypass,name:T.name,value:we,strValue:"rgb("+we[0]+", "+we[1]+", "+we[2]+")"}}else if($.number){var bn=T.valueMin+(T.valueMax-T.valueMin)*$t;O=this.parse(T.name,bn,T.bypass,rt)}else return!1;if(!O)return dt(),!1;O.mapping=T,T=O;break}case P.data:{for(var ze=T.field.split("."),Ge=Y.data,En=0;En0&&O>0){for(var $={},q=!1,S=0;S0?y.delayAnimation(P).play().promise().then(Pt):Pt()}).then(function(){return y.animation({style:$,duration:O,easing:y.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){x.removeBypasses(y,L),y.emitAndNotify("style"),T.transitioning=!1})}else T.transitioning&&(this.removeBypasses(y,L),y.emitAndNotify("style"),T.transitioning=!1)},g1.checkTrigger=function(y,g,x,T,L,O){var P=this.properties[g],$=L(P);$!=null&&$(x,T)&&O(P)},g1.checkZOrderTrigger=function(y,g,x,T){var L=this;this.checkTrigger(y,g,x,T,function(O){return O.triggersZOrder},function(){L._private.cy.notify("zorder",y)})},g1.checkBoundsTrigger=function(y,g,x,T){this.checkTrigger(y,g,x,T,function(L){return L.triggersBounds},function(L){y.dirtyCompoundBoundsCache(),y.dirtyBoundingBoxCache(),L.triggersBoundsOfParallelBeziers&&(g==="curve-style"&&(x==="bezier"||T==="bezier")||g==="display"&&(x==="none"||T==="none"))&&y.parallelEdges().forEach(function(O){O.isBundledBezier()&&O.dirtyBoundingBoxCache()})})},g1.checkTriggers=function(y,g,x,T){y.dirtyStyleCache(),this.checkZOrderTrigger(y,g,x,T),this.checkBoundsTrigger(y,g,x,T)};var qk={};qk.applyBypass=function(y,g,x,T){var L=this,O=[],P=!0;if(g==="*"||g==="**"){if(x!==void 0)for(var $=0;$L.length?T=T.substr(L.length):T=""}function q(){O.length>P.length?O=O.substr(P.length):O=""}for(;;){var S=T.match(/^\s*$/);if(S)break;var V=T.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!V){Sc("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+T);break}L=V[0];var Y=V[1];if(Y!=="core"){var rt=new Em(Y);if(rt.invalid){Sc("Skipping parsing of block: Invalid selector found in string stylesheet: "+Y),$();continue}}var ot=V[2],ht=!1;O=ot;for(var dt=[];;){var Lt=O.match(/^\s*$/);if(Lt)break;var kt=O.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!kt){Sc("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+ot),ht=!0;break}P=kt[0];var Dt=kt[1],Pt=kt[2],$t=g.properties[Dt];if(!$t){Sc("Skipping property: Invalid property name in: "+P),q();continue}var Zt=x.parse(Dt,Pt);if(!Zt){Sc("Skipping property: Invalid property definition in: "+P),q();continue}dt.push({name:Dt,val:Pt}),q()}if(ht){$();break}x.selector(Y);for(var Yt=0;Yt=7&&g[0]==="d"&&(V=new RegExp($.data.regex).exec(g))){if(x)return!1;var rt=$.data;return{name:y,value:V,strValue:""+g,mapped:rt,field:V[1],bypass:x}}else if(g.length>=10&&g[0]==="m"&&(Y=new RegExp($.mapData.regex).exec(g))){if(x||S.multiple)return!1;var ot=$.mapData;if(!(S.color||S.number))return!1;var ht=this.parse(y,Y[4]);if(!ht||ht.mapped)return!1;var dt=this.parse(y,Y[5]);if(!dt||dt.mapped)return!1;if(ht.pfValue===dt.pfValue||ht.strValue===dt.strValue)return Sc("`"+y+": "+g+"` is not a valid mapper because the output range is zero; converting to `"+y+": "+ht.strValue+"`"),this.parse(y,ht.strValue);if(S.color){var Lt=ht.value,kt=dt.value,Dt=Lt[0]===kt[0]&&Lt[1]===kt[1]&&Lt[2]===kt[2]&&(Lt[3]===kt[3]||(Lt[3]==null||Lt[3]===1)&&(kt[3]==null||kt[3]===1));if(Dt)return!1}return{name:y,value:Y,strValue:""+g,mapped:ot,field:Y[1],fieldMin:parseFloat(Y[2]),fieldMax:parseFloat(Y[3]),valueMin:ht.value,valueMax:dt.value,bypass:x}}}if(S.multiple&&T!=="multiple"){var Pt;if(q?Pt=g.split(/\s+/):ft(g)?Pt=g:Pt=[g],S.evenMultiple&&Pt.length%2!==0)return null;for(var $t=[],Zt=[],Yt=[],qt="",ne=!1,Gt=0;Gt0?" ":"")+ge.strValue}return S.validate&&!S.validate($t,Zt)?null:S.singleEnum&&ne?$t.length===1&&mt($t[0])?{name:y,value:$t[0],strValue:$t[0],bypass:x}:null:{name:y,value:$t,pfValue:Yt,strValue:qt,bypass:x,units:Zt}}var be=function(){for(var fr=0;frS.max||S.strictMax&&g===S.max))return null;var ze={name:y,value:g,strValue:""+g+(ie||""),units:ie,bypass:x};return S.unitless||ie!=="px"&&ie!=="em"?ze.pfValue=g:ze.pfValue=ie==="px"||!ie?g:this.getEmSizeInPixels()*g,(ie==="ms"||ie==="s")&&(ze.pfValue=ie==="ms"?g:1e3*g),(ie==="deg"||ie==="rad")&&(ze.pfValue=ie==="rad"?g:IK(g)),ie==="%"&&(ze.pfValue=g/100),ze}else if(S.propList){var Ge=[],En=""+g;if(En!=="none"){for(var In=En.split(/\s*,\s*|\s+/),Yn=0;Yn0&&$>0&&!isNaN(T.w)&&!isNaN(T.h)&&T.w>0&&T.h>0){q=Math.min((P-2*x)/T.w,($-2*x)/T.h),q=q>this._private.maxZoom?this._private.maxZoom:q,q=q=T.minZoom&&(T.maxZoom=x),this},minZoom:function(g){return g===void 0?this._private.minZoom:this.zoomRange({min:g})},maxZoom:function(g){return g===void 0?this._private.maxZoom:this.zoomRange({max:g})},getZoomedViewport:function(g){var x=this._private,T=x.pan,L=x.zoom,O,P,$=!1;if(x.zoomingEnabled||($=!0),X(g)?P=g:ut(g)&&(P=g.level,g.position!=null?O=NT(g.position,L,T):g.renderedPosition!=null&&(O=g.renderedPosition),O!=null&&!x.panningEnabled&&($=!0)),P=P>x.maxZoom?x.maxZoom:P,P=Px.maxZoom||!x.zoomingEnabled?P=!0:(x.zoom=q,O.push("zoom"))}if(L&&(!P||!g.cancelOnFailedZoom)&&x.panningEnabled){var S=g.pan;X(S.x)&&(x.pan.x=S.x,$=!1),X(S.y)&&(x.pan.y=S.y,$=!1),$||O.push("pan")}return O.length>0&&(O.push("viewport"),this.emit(O.join(" ")),this.notify("viewport")),this},center:function(g){var x=this.getCenterPan(g);return x&&(this._private.pan=x,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(g,x){if(this._private.panningEnabled){if(mt(g)){var T=g;g=this.mutableElements().filter(T)}else Tt(g)||(g=this.mutableElements());if(g.length!==0){var L=g.boundingBox(),O=this.width(),P=this.height();x=x===void 0?this._private.zoom:x;var $={x:(O-x*(L.x1+L.x2))/2,y:(P-x*(L.y1+L.y2))/2};return $}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var g=this._private,x=g.container;return g.sizeCache=g.sizeCache||(x?function(){var T=R.getComputedStyle(x),L=function(P){return parseFloat(T.getPropertyValue(P))};return{width:x.clientWidth-L("padding-left")-L("padding-right"),height:x.clientHeight-L("padding-top")-L("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var g=this._private.pan,x=this._private.zoom,T=this.renderedExtent(),L={x1:(T.x1-g.x)/x,x2:(T.x2-g.x)/x,y1:(T.y1-g.y)/x,y2:(T.y2-g.y)/x};return L.w=L.x2-L.x1,L.h=L.y2-L.y1,L},renderedExtent:function(){var g=this.width(),x=this.height();return{x1:0,y1:0,x2:g,y2:x,w:g,h:x}},multiClickDebounceTime:function(g){if(g)this._private.multiClickDebounceTime=g;else return this._private.multiClickDebounceTime;return this}};M3.centre=M3.center,M3.autolockNodes=M3.autolock,M3.autoungrabifyNodes=M3.autoungrabify;var Hk={data:Ac.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Ac.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Ac.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Ac.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Hk.attr=Hk.data,Hk.removeAttr=Hk.removeData;var Vk=function(g){var x=this;g=de({},g);var T=g.container;T&&!U(T)&&U(T[0])&&(T=T[0]);var L=T?T._cyreg:null;L=L||{},L&&L.cy&&(L.cy.destroy(),L={});var O=L.readies=L.readies||[];T&&(T._cyreg=L),L.cy=x;var P=R!==void 0&&T!==void 0&&!g.headless,$=g;$.layout=de({name:P?"grid":"null"},$.layout),$.renderer=de({name:P?"canvas":"null"},$.renderer);var q=function(ht,dt,Lt){return dt!==void 0?dt:Lt!==void 0?Lt:ht},S=this._private={container:T,ready:!1,options:$,elements:new $f(this),listeners:[],aniEles:new $f(this),data:$.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:q(!0,$.zoomingEnabled),userZoomingEnabled:q(!0,$.userZoomingEnabled),panningEnabled:q(!0,$.panningEnabled),userPanningEnabled:q(!0,$.userPanningEnabled),boxSelectionEnabled:q(!0,$.boxSelectionEnabled),autolock:q(!1,$.autolock,$.autolockNodes),autoungrabify:q(!1,$.autoungrabify,$.autoungrabifyNodes),autounselectify:q(!1,$.autounselectify),styleEnabled:$.styleEnabled===void 0?P:$.styleEnabled,zoom:X($.zoom)?$.zoom:1,pan:{x:ut($.pan)&&X($.pan.x)?$.pan.x:0,y:ut($.pan)&&X($.pan.y)?$.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:q(250,$.multiClickDebounceTime)};this.createEmitter(),this.selectionType($.selectionType),this.zoomRange({min:$.minZoom,max:$.maxZoom});var V=function(ht,dt){var Lt=ht.some(Ht);if(Lt)return ex.all(ht).then(dt);dt(ht)};S.styleEnabled&&x.setStyle([]);var Y=de({},$,$.renderer);x.initRenderer(Y);var rt=function(ht,dt,Lt){x.notifications(!1);var kt=x.mutableElements();kt.length>0&&kt.remove(),ht!=null&&(ut(ht)||ft(ht))&&x.add(ht),x.one("layoutready",function(Pt){x.notifications(!0),x.emit(Pt),x.one("load",dt),x.emitAndNotify("load")}).one("layoutstop",function(){x.one("done",Lt),x.emit("done")});var Dt=de({},x._private.options.layout);Dt.eles=x.elements(),x.layout(Dt).run()};V([$.style,$.elements],function(ot){var ht=ot[0],dt=ot[1];S.styleEnabled&&x.style().append(ht),rt(dt,function(){x.startAnimationLoop(),S.ready=!0,yt($.ready)&&x.on("ready",$.ready);for(var Lt=0;Lt0,q=zd(g.boundingBox?g.boundingBox:{x1:0,y1:0,w:x.width(),h:x.height()}),S;if(Tt(g.roots))S=g.roots;else if(ft(g.roots)){for(var V=[],Y=0;Y0;){var bn=we(),ze=ge(bn,ie);if(ze)bn.outgoers().filter(function(Ci){return Ci.isNode()&&T.has(Ci)}).forEach(Fe);else if(ze===null){Sc("Detected double maximal shift for node `"+bn.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}Gt();var Ge=0;if(g.avoidOverlap)for(var En=0;En0&&kt[0].length<=3?qs/2:0),jn=2*Math.PI/kt[qi].length*Si;return qi===0&&kt[0].length===1&&(Qt=1),{x:vi.x+Qt*Math.cos(jn),y:vi.y+Qt*Math.sin(jn)}}else{var Tr={x:vi.x+(Si+1-(Ui+1)/2)*Va,y:(qi+1)*Qs};return Tr}};return T.nodes().layoutPositions(this,g,Ea),this};var zJ={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(g,x){return!0},ready:void 0,stop:void 0,transform:function(g,x){return x}};function pC(y){this.options=de({},zJ,y)}pC.prototype.run=function(){var y=this.options,g=y,x=y.cy,T=g.eles,L=g.counterclockwise!==void 0?!g.counterclockwise:g.clockwise,O=T.nodes().not(":parent");g.sort&&(O=O.sort(g.sort));for(var P=zd(g.boundingBox?g.boundingBox:{x1:0,y1:0,w:x.width(),h:x.height()}),$={x:P.x1+P.w/2,y:P.y1+P.h/2},q=g.sweep===void 0?2*Math.PI-2*Math.PI/O.length:g.sweep,S=q/Math.max(1,O.length-1),V,Y=0,rt=0;rt1&&g.avoidOverlap){Y*=1.75;var kt=Math.cos(S)-Math.cos(0),Dt=Math.sin(S)-Math.sin(0),Pt=Math.sqrt(Y*Y/(kt*kt+Dt*Dt));V=Math.max(Pt,V)}var $t=function(Yt,qt){var ne=g.startAngle+qt*S*(L?1:-1),Gt=V*Math.cos(ne),ge=V*Math.sin(ne),be={x:$.x+Gt,y:$.y+ge};return be};return T.nodes().layoutPositions(this,g,$t),this};var qJ={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(g){return g.degree()},levelWidth:function(g){return g.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(g,x){return!0},ready:void 0,stop:void 0,transform:function(g,x){return x}};function $B(y){this.options=de({},qJ,y)}$B.prototype.run=function(){for(var y=this.options,g=y,x=g.counterclockwise!==void 0?!g.counterclockwise:g.clockwise,T=y.cy,L=g.eles,O=L.nodes().not(":parent"),P=zd(g.boundingBox?g.boundingBox:{x1:0,y1:0,w:T.width(),h:T.height()}),$={x:P.x1+P.w/2,y:P.y1+P.h/2},q=[],S=0,V=0;V0){var Zt=Math.abs(Dt[0].value-$t.value);Zt>=Lt&&(Dt=[],kt.push(Dt))}Dt.push($t)}var Yt=S+g.minNodeSpacing;if(!g.avoidOverlap){var qt=kt.length>0&&kt[0].length>1,ne=Math.min(P.w,P.h)/2-Yt,Gt=ne/(kt.length+qt?1:0);Yt=Math.min(Yt,Gt)}for(var ge=0,be=0;be1&&g.avoidOverlap){var bn=Math.cos(we)-Math.cos(0),ze=Math.sin(we)-Math.sin(0),Ge=Math.sqrt(Yt*Yt/(bn*bn+ze*ze));ge=Math.max(Ge,ge)}ie.r=ge,ge+=Yt}if(g.equidistant){for(var En=0,In=0,Yn=0;Yn=y.numIter||(XJ(T,y),T.temperature=T.temperature*y.coolingFactor,T.temperature=y.animationThreshold&&O(),Bf(Y)}};V()}else{for(;S;)S=P(q),q++;HB(T,y),$()}return this},bC.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},bC.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var VJ=function(g,x,T){for(var L=T.eles.edges(),O=T.eles.nodes(),P={isCompound:g.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:O.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:L.size(),temperature:T.initialTemp,clientWidth:g.width(),clientHeight:g.width(),boundingBox:zd(T.boundingBox?T.boundingBox:{x1:0,y1:0,w:g.width(),h:g.height()})},$=T.eles.components(),q={},S=0;S<$.length;S++)for(var V=$[S],Y=0;Y0){P.graphSet.push(qt);for(var S=0;SL.count?0:L.graph},UJ=function y(g,x,T,L){var O=L.graphSet[T];if(-10)var Y=L.nodeOverlap*V,rt=Math.sqrt($*$+q*q),ot=Y*$/rt,ht=Y*q/rt;else var dt=wC(g,$,q),Lt=wC(x,-1*$,-1*q),kt=Lt.x-dt.x,Dt=Lt.y-dt.y,Pt=kt*kt+Dt*Dt,rt=Math.sqrt(Pt),Y=(g.nodeRepulsion+x.nodeRepulsion)/Pt,ot=Y*kt/rt,ht=Y*Dt/rt;g.isLocked||(g.offsetX-=ot,g.offsetY-=ht),x.isLocked||(x.offsetX+=ot,x.offsetY+=ht)}},JJ=function(g,x,T,L){if(T>0)var O=g.maxX-x.minX;else var O=x.maxX-g.minX;if(L>0)var P=g.maxY-x.minY;else var P=x.maxY-g.minY;return O>=0&&P>=0?Math.sqrt(O*O+P*P):0},wC=function(g,x,T){var L=g.positionX,O=g.positionY,P=g.height||1,$=g.width||1,q=T/x,S=P/$,V={};return x===0&&0T?(V.x=L,V.y=O+P/2,V):0x&&-1*S<=q&&q<=S?(V.x=L-$/2,V.y=O-$*T/2/x,V):0=S)?(V.x=L+P*x/2/T,V.y=O+P/2,V):(0>T&&(q<=-1*S||q>=S)&&(V.x=L-P*x/2/T,V.y=O-P/2),V)},ttt=function(g,x){for(var T=0;TT){var Lt=x.gravity*ot/dt,kt=x.gravity*ht/dt;rt.offsetX+=Lt,rt.offsetY+=kt}}}}},ntt=function(g,x){var T=[],L=0,O=-1;for(T.push.apply(T,g.graphSet[0]),O+=g.graphSet[0].length;L<=O;){var P=T[L++],$=g.idToIndex[P],q=g.layoutNodes[$],S=q.children;if(0T)var O={x:T*g/L,y:T*x/L};else var O={x:g,y:x};return O},stt=function y(g,x){var T=g.parentId;if(T!=null){var L=x.layoutNodes[x.idToIndex[T]],O=!1;if((L.maxX==null||g.maxX+L.padRight>L.maxX)&&(L.maxX=g.maxX+L.padRight,O=!0),(L.minX==null||g.minX-L.padLeftL.maxY)&&(L.maxY=g.maxY+L.padBottom,O=!0),(L.minY==null||g.minY-L.padTopkt&&(ht+=Lt+x.componentSpacing,ot=0,dt=0,Lt=0)}}},att={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(g){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(g,x){return!0},ready:void 0,stop:void 0,transform:function(g,x){return x}};function VB(y){this.options=de({},att,y)}VB.prototype.run=function(){var y=this.options,g=y,x=y.cy,T=g.eles,L=T.nodes().not(":parent");g.sort&&(L=L.sort(g.sort));var O=zd(g.boundingBox?g.boundingBox:{x1:0,y1:0,w:x.width(),h:x.height()});if(O.h===0||O.w===0)T.nodes().layoutPositions(this,g,function(rr){return{x:O.x1,y:O.y1}});else{var P=L.size(),$=Math.sqrt(P*O.h/O.w),q=Math.round($),S=Math.round(O.w/O.h*$),V=function(wr){if(wr==null)return Math.min(q,S);var ur=Math.min(q,S);ur==q?q=wr:S=wr},Y=function(wr){if(wr==null)return Math.max(q,S);var ur=Math.max(q,S);ur==q?q=wr:S=wr},rt=g.rows,ot=g.cols!=null?g.cols:g.columns;if(rt!=null&&ot!=null)q=rt,S=ot;else if(rt!=null&&ot==null)q=rt,S=Math.ceil(P/q);else if(rt==null&&ot!=null)S=ot,q=Math.ceil(P/S);else if(S*q>P){var ht=V(),dt=Y();(ht-1)*dt>=P?V(ht-1):(dt-1)*ht>=P&&Y(dt-1)}else for(;S*q=P?Y(kt+1):V(Lt+1)}var Dt=O.w/S,Pt=O.h/q;if(g.condense&&(Dt=0,Pt=0),g.avoidOverlap)for(var $t=0;$t=S&&(bn=0,we++)},Ge={},En=0;En(bn=GK(y,g,ze[Ge],ze[Ge+1],ze[Ge+2],ze[Ge+3])))return Lt(qt,bn),!0}else if(Gt.edgeType==="bezier"||Gt.edgeType==="multibezier"||Gt.edgeType==="self"||Gt.edgeType==="compound"){for(var ze=Gt.allpts,Ge=0;Ge+5(bn=VK(y,g,ze[Ge],ze[Ge+1],ze[Ge+2],ze[Ge+3],ze[Ge+4],ze[Ge+5])))return Lt(qt,bn),!0}for(var En=En||ne.source,In=In||ne.target,Yn=L.getArrowWidth(ge,be),Sn=[{name:"source",x:Gt.arrowStartX,y:Gt.arrowStartY,angle:Gt.srcArrowAngle},{name:"target",x:Gt.arrowEndX,y:Gt.arrowEndY,angle:Gt.tgtArrowAngle},{name:"mid-source",x:Gt.midX,y:Gt.midY,angle:Gt.midsrcArrowAngle},{name:"mid-target",x:Gt.midX,y:Gt.midY,angle:Gt.midtgtArrowAngle}],Ge=0;Ge0&&(kt(En),kt(In))}function Pt(qt,ne,Gt){return yp(qt,ne,Gt)}function $t(qt,ne){var Gt=qt._private,ge=rt,be;ne?be=ne+"-":be="",qt.boundingBox();var ie=Gt.labelBounds[ne||"main"],Fe=qt.pstyle(be+"label").value,we=qt.pstyle("text-events").strValue==="yes";if(!(!we||!Fe)){var bn=Pt(Gt.rscratch,"labelX",ne),ze=Pt(Gt.rscratch,"labelY",ne),Ge=Pt(Gt.rscratch,"labelAngle",ne),En=qt.pstyle(be+"text-margin-x").pfValue,In=qt.pstyle(be+"text-margin-y").pfValue,Yn=ie.x1-ge-En,Sn=ie.x2+ge-En,Wn=ie.y1-ge-In,rr=ie.y2+ge-In;if(Ge){var wr=Math.cos(Ge),ur=Math.sin(Ge),er=function(Ea,Ci){return Ea=Ea-bn,Ci=Ci-ze,{x:Ea*wr-Ci*ur+bn,y:Ea*ur+Ci*wr+ze}},vn=er(Yn,Wn),gr=er(Yn,rr),fr=er(Sn,Wn),Jr=er(Sn,rr),vi=[vn.x+En,vn.y+In,fr.x+En,fr.y+In,Jr.x+En,Jr.y+In,gr.x+En,gr.y+In];if(qd(y,g,vi))return Lt(qt),!0}else if(Q5(ie,y,g))return Lt(qt),!0}}for(var Zt=P.length-1;Zt>=0;Zt--){var Yt=P[Zt];Yt.isNode()?kt(Yt)||$t(Yt):Dt(Yt)||$t(Yt)||$t(Yt,"source")||$t(Yt,"target")}return $},D3.getAllInBox=function(y,g,x,T){var L=this.getCachedZSortedEles().interactive,O=[],P=Math.min(y,x),$=Math.max(y,x),q=Math.min(g,T),S=Math.max(g,T);y=P,x=$,g=q,T=S;for(var V=zd({x1:y,y1:g,x2:x,y2:T}),Y=0;Y0?Math.max(Yi-Fo,0):Math.min(Yi+Fo,0)},Fe=ie(ge,ne),we=ie(be,Gt),bn=!1;Dt===S?kt=Math.abs(Fe)>Math.abs(we)?L:T:Dt===q||Dt===$?(kt=T,bn=!0):(Dt===O||Dt===P)&&(kt=L,bn=!0);var ze=kt===T,Ge=ze?we:Fe,En=ze?be:ge,In=uN(En),Yn=!1;!(bn&&($t||Yt))&&(Dt===$&&En<0||Dt===q&&En>0||Dt===O&&En>0||Dt===P&&En<0)&&(In*=-1,Ge=In*Math.abs(Ge),Yn=!0);var Sn;if($t){var Wn=Zt<0?1+Zt:Zt;Sn=Wn*Ge}else{var rr=Zt<0?Ge:0;Sn=rr+Zt*In}var wr=function(Yi){return Math.abs(Yi)=Math.abs(Ge)},ur=wr(Sn),er=wr(Math.abs(Ge)-Math.abs(Sn)),vn=ur||er;if(vn&&!Yn)if(ze){var gr=Math.abs(En)<=rt/2,fr=Math.abs(ge)<=ot/2;if(gr){var Jr=(V.x1+V.x2)/2,vi=V.y1,Xs=V.y2;x.segpts=[Jr,vi,Jr,Xs]}else if(fr){var Ea=(V.y1+V.y2)/2,Ci=V.x1,hi=V.x2;x.segpts=[Ci,Ea,hi,Ea]}else x.segpts=[V.x1,V.y2]}else{var gs=Math.abs(En)<=Y/2,qi=Math.abs(be)<=ht/2;if(gs){var Si=(V.y1+V.y2)/2,Ui=V.x1,Va=V.x2;x.segpts=[Ui,Si,Va,Si]}else if(qi){var Qs=(V.x1+V.x2)/2,qs=V.y1,Tr=V.y2;x.segpts=[Qs,qs,Qs,Tr]}else x.segpts=[V.x2,V.y1]}else if(ze){var Qt=V.y1+Sn+(Lt?rt/2*In:0),jn=V.x1,Sr=V.x2;x.segpts=[jn,Qt,Sr,Qt]}else{var ir=V.x1+Sn+(Lt?Y/2*In:0),sr=V.y1,Ia=V.y2;x.segpts=[ir,sr,ir,Ia]}},od.tryToCorrectInvalidPoints=function(y,g){var x=y._private.rscratch;if(x.edgeType==="bezier"){var T=g.srcPos,L=g.tgtPos,O=g.srcW,P=g.srcH,$=g.tgtW,q=g.tgtH,S=g.srcShape,V=g.tgtShape,Y=!X(x.startX)||!X(x.startY),rt=!X(x.arrowStartX)||!X(x.arrowStartY),ot=!X(x.endX)||!X(x.endY),ht=!X(x.arrowEndX)||!X(x.arrowEndY),dt=3,Lt=this.getArrowWidth(y.pstyle("width").pfValue,y.pstyle("arrow-scale").value)*this.arrowShapeWidth,kt=dt*Lt,Dt=C3({x:x.ctrlpts[0],y:x.ctrlpts[1]},{x:x.startX,y:x.startY}),Pt=Dtwe.poolIndex()){var bn=Fe;Fe=we,we=bn}var ze=Gt.srcPos=Fe.position(),Ge=Gt.tgtPos=we.position(),En=Gt.srcW=Fe.outerWidth(),In=Gt.srcH=Fe.outerHeight(),Yn=Gt.tgtW=we.outerWidth(),Sn=Gt.tgtH=we.outerHeight(),Wn=Gt.srcShape=x.nodeShapes[g.getNodeShape(Fe)],rr=Gt.tgtShape=x.nodeShapes[g.getNodeShape(we)];Gt.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var wr=0;wr0){var gr=O,fr=_3(gr,K5(x)),Jr=_3(gr,K5(vn)),vi=fr;if(Jr2){var Xs=_3(gr,{x:vn[2],y:vn[3]});Xs0){var jn=P,Sr=_3(jn,K5(x)),ir=_3(jn,K5(Qt)),sr=Sr;if(ir2){var Ia=_3(jn,{x:Qt[2],y:Qt[3]});Ia=ht||qt){Lt={cp:$t,segment:Yt};break}}if(Lt)break}var ne=Lt.cp,Gt=Lt.segment,ge=(ht-kt)/Gt.length,be=Gt.t1-Gt.t0,ie=ot?Gt.t0+be*ge:Gt.t1-be*ge;ie=_k(0,ie,1),g=X5(ne.p0,ne.p1,ne.p2,ie),rt=JB(ne.p0,ne.p1,ne.p2,ie);break}case"straight":case"segments":case"haystack":{for(var Fe=0,we,bn,ze,Ge,En=T.allpts.length,In=0;In+3=ht));In+=2);var Yn=ht-bn,Sn=Yn/we;Sn=_k(0,Sn,1),g=PK(ze,Ge,Sn),rt=ZB(ze,Ge);break}}P("labelX",Y,g.x),P("labelY",Y,g.y),P("labelAutoAngle",Y,rt)}};S("source"),S("target"),this.applyLabelDimensions(y)}},Tp.applyLabelDimensions=function(y){this.applyPrefixedLabelDimensions(y),y.isEdge()&&(this.applyPrefixedLabelDimensions(y,"source"),this.applyPrefixedLabelDimensions(y,"target"))},Tp.applyPrefixedLabelDimensions=function(y,g){var x=y._private,T=this.getLabelText(y,g),L=this.calculateLabelDimensions(y,T),O=y.pstyle("line-height").pfValue,P=y.pstyle("text-wrap").strValue,$=yp(x.rscratch,"labelWrapCachedLines",g)||[],q=P!=="wrap"?1:Math.max($.length,1),S=L.height/q,V=S*O,Y=L.width,rt=L.height+(q-1)*(O-1)*S;mm(x.rstyle,"labelWidth",g,Y),mm(x.rscratch,"labelWidth",g,Y),mm(x.rstyle,"labelHeight",g,rt),mm(x.rscratch,"labelHeight",g,rt),mm(x.rscratch,"labelLineHeight",g,V)},Tp.getLabelText=function(y,g){var x=y._private,T=g?g+"-":"",L=y.pstyle(T+"label").strValue,O=y.pstyle("text-transform").value,P=function(Yn,Sn){return Sn?(mm(x.rscratch,Yn,g,Sn),Sn):yp(x.rscratch,Yn,g)};if(!L)return"";O=="none"||(O=="uppercase"?L=L.toUpperCase():O=="lowercase"&&(L=L.toLowerCase()));var $=y.pstyle("text-wrap").value;if($==="wrap"){var q=P("labelKey");if(q!=null&&P("labelWrapKey")===q)return P("labelWrapCachedText");for(var S="​",V=L.split(` +`),Y=y.pstyle("text-max-width").pfValue,rt=y.pstyle("text-overflow-wrap").value,ot=rt==="anywhere",ht=[],dt=/[\s\u200b]+/,Lt=ot?"":" ",kt=0;ktY){for(var Yt=Dt.split(dt),qt="",ne=0;neFe)break;we+=L[Ge],Ge===L.length-1&&(ze=!0)}return ze||(we+=bn),we}return L},Tp.getLabelJustification=function(y){var g=y.pstyle("text-justification").strValue,x=y.pstyle("text-halign").strValue;if(g==="auto")if(y.isNode())switch(x){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return g},Tp.calculateLabelDimensions=function(y,g){var x=this,T=rd(g,y._private.labelDimsKey),L=x.labelDimCache||(x.labelDimCache=[]),O=L[T];if(O!=null)return O;var P=0,$=y.pstyle("font-style").strValue,q=y.pstyle("font-size").pfValue,S=y.pstyle("font-family").strValue,V=y.pstyle("font-weight").strValue,Y=this.labelCalcCanvas,rt=this.labelCalcCanvasContext;if(!Y){Y=this.labelCalcCanvas=document.createElement("canvas"),rt=this.labelCalcCanvasContext=Y.getContext("2d");var ot=Y.style;ot.position="absolute",ot.left="-9999px",ot.top="-9999px",ot.zIndex="-1",ot.visibility="hidden",ot.pointerEvents="none"}rt.font="".concat($," ").concat(V," ").concat(q,"px ").concat(S);for(var ht=0,dt=0,Lt=g.split(` +`),kt=0;kt1&&arguments[1]!==void 0?arguments[1]:!0;if(g.merge(P),$)for(var q=0;q=y.desktopTapThreshold2}var mw=T(Qt);qf&&(y.hoverData.tapholdCancelled=!0);var Lm=function(){var Yb=y.hoverData.dragDelta=y.hoverData.dragDelta||[];Yb.length===0?(Yb.push(Ja[0]),Yb.push(Ja[1])):(Yb[0]+=Ja[0],Yb[1]+=Ja[1])};Sr=!0,x(Za,["mousemove","vmousemove","tapdrag"],Qt,{x:$r[0],y:$r[1]});var xx=function(){y.data.bgActivePosistion=void 0,y.hoverData.selecting||ir.emit({originalEvent:Qt,type:"boxstart",position:{x:$r[0],y:$r[1]}}),Pc[4]=1,y.hoverData.selecting=!0,y.redrawHint("select",!0),y.redraw()};if(y.hoverData.which===3){if(qf){var F3={originalEvent:Qt,type:"cxtdrag",position:{x:$r[0],y:$r[1]}};Ta?Ta.emit(F3):ir.emit(F3),y.hoverData.cxtDragged=!0,(!y.hoverData.cxtOver||Za!==y.hoverData.cxtOver)&&(y.hoverData.cxtOver&&y.hoverData.cxtOver.emit({originalEvent:Qt,type:"cxtdragout",position:{x:$r[0],y:$r[1]}}),y.hoverData.cxtOver=Za,Za&&Za.emit({originalEvent:Qt,type:"cxtdragover",position:{x:$r[0],y:$r[1]}}))}}else if(y.hoverData.dragging){if(Sr=!0,ir.panningEnabled()&&ir.userPanningEnabled()){var kx;if(y.hoverData.justStartedPan){var SC=y.hoverData.mdownPos;kx={x:($r[0]-SC[0])*sr,y:($r[1]-SC[1])*sr},y.hoverData.justStartedPan=!1}else kx={x:Ja[0]*sr,y:Ja[1]*sr};ir.panBy(kx),ir.emit("dragpan"),y.hoverData.dragged=!0}$r=y.projectIntoViewport(Qt.clientX,Qt.clientY)}else if(Pc[4]==1&&(Ta==null||Ta.pannable())){if(qf){if(!y.hoverData.dragging&&ir.boxSelectionEnabled()&&(mw||!ir.panningEnabled()||!ir.userPanningEnabled()))xx();else if(!y.hoverData.selecting&&ir.panningEnabled()&&ir.userPanningEnabled()){var N3=L(Ta,y.hoverData.downs);N3&&(y.hoverData.dragging=!0,y.hoverData.justStartedPan=!0,Pc[4]=0,y.data.bgActivePosistion=K5(Yi),y.redrawHint("select",!0),y.redraw())}Ta&&Ta.pannable()&&Ta.active()&&Ta.unactivate()}}else{if(Ta&&Ta.pannable()&&Ta.active()&&Ta.unactivate(),(!Ta||!Ta.grabbed())&&Za!=mc&&(mc&&x(mc,["mouseout","tapdragout"],Qt,{x:$r[0],y:$r[1]}),Za&&x(Za,["mouseover","tapdragover"],Qt,{x:$r[0],y:$r[1]}),y.hoverData.last=Za),Ta)if(qf){if(ir.boxSelectionEnabled()&&mw)Ta&&Ta.grabbed()&&(dt(ml),Ta.emit("freeon"),ml.emit("free"),y.dragData.didDrag&&(Ta.emit("dragfreeon"),ml.emit("dragfree"))),xx();else if(Ta&&Ta.grabbed()&&y.nodeIsDraggable(Ta)){var Hd=!y.dragData.didDrag;Hd&&y.redrawHint("eles",!0),y.dragData.didDrag=!0,y.hoverData.draggingEles||ot(ml,{inDragLayer:!0});var y1={x:0,y:0};if(X(Ja[0])&&X(Ja[1])&&(y1.x+=Ja[0],y1.y+=Ja[1],Hd)){var Vd=y.hoverData.dragDelta;Vd&&X(Vd[0])&&X(Vd[1])&&(y1.x+=Vd[0],y1.y+=Vd[1])}y.hoverData.draggingEles=!0,ml.silentShift(y1).emit("position drag"),y.redrawHint("drag",!0),y.redraw()}}else Lm();Sr=!0}if(Pc[2]=$r[0],Pc[3]=$r[1],Sr)return Qt.stopPropagation&&Qt.stopPropagation(),Qt.preventDefault&&Qt.preventDefault(),!1}},!1);var Gt,ge,be;y.registerBinding(window,"mouseup",function(Qt){var jn=y.hoverData.capture;if(jn){y.hoverData.capture=!1;var Sr=y.cy,ir=y.projectIntoViewport(Qt.clientX,Qt.clientY),sr=y.selection,Ia=y.findNearestElement(ir[0],ir[1],!0,!1),$r=y.dragData.possibleDragElements,Yi=y.hoverData.down,Fo=T(Qt);if(y.data.bgActivePosistion&&(y.redrawHint("select",!0),y.redraw()),y.hoverData.tapholdCancelled=!0,y.data.bgActivePosistion=void 0,Yi&&Yi.unactivate(),y.hoverData.which===3){var Pc={originalEvent:Qt,type:"cxttapend",position:{x:ir[0],y:ir[1]}};if(Yi?Yi.emit(Pc):Sr.emit(Pc),!y.hoverData.cxtDragged){var Za={originalEvent:Qt,type:"cxttap",position:{x:ir[0],y:ir[1]}};Yi?Yi.emit(Za):Sr.emit(Za)}y.hoverData.cxtDragged=!1,y.hoverData.which=null}else if(y.hoverData.which===1){if(x(Ia,["mouseup","tapend","vmouseup"],Qt,{x:ir[0],y:ir[1]}),!y.dragData.didDrag&&!y.hoverData.dragged&&!y.hoverData.selecting&&!y.hoverData.isOverThresholdDrag&&(x(Yi,["click","tap","vclick"],Qt,{x:ir[0],y:ir[1]}),ge=!1,Qt.timeStamp-be<=Sr.multiClickDebounceTime()?(Gt&&clearTimeout(Gt),ge=!0,be=null,x(Yi,["dblclick","dbltap","vdblclick"],Qt,{x:ir[0],y:ir[1]})):(Gt=setTimeout(function(){ge||x(Yi,["oneclick","onetap","voneclick"],Qt,{x:ir[0],y:ir[1]})},Sr.multiClickDebounceTime()),be=Qt.timeStamp)),Yi==null&&!y.dragData.didDrag&&!y.hoverData.selecting&&!y.hoverData.dragged&&!T(Qt)&&(Sr.$(g).unselect(["tapunselect"]),$r.length>0&&y.redrawHint("eles",!0),y.dragData.possibleDragElements=$r=Sr.collection()),Ia==Yi&&!y.dragData.didDrag&&!y.hoverData.selecting&&Ia!=null&&Ia._private.selectable&&(y.hoverData.dragging||(Sr.selectionType()==="additive"||Fo?Ia.selected()?Ia.unselect(["tapunselect"]):Ia.select(["tapselect"]):Fo||(Sr.$(g).unmerge(Ia).unselect(["tapunselect"]),Ia.select(["tapselect"]))),y.redrawHint("eles",!0)),y.hoverData.selecting){var mc=Sr.collection(y.getAllInBox(sr[0],sr[1],sr[2],sr[3]));y.redrawHint("select",!0),mc.length>0&&y.redrawHint("eles",!0),Sr.emit({type:"boxend",originalEvent:Qt,position:{x:ir[0],y:ir[1]}});var Ta=function(qf){return qf.selectable()&&!qf.selected()};Sr.selectionType()==="additive"||Fo||Sr.$(g).unmerge(mc).unselect(),mc.emit("box").stdFilter(Ta).select().emit("boxselect"),y.redraw()}if(y.hoverData.dragging&&(y.hoverData.dragging=!1,y.redrawHint("select",!0),y.redrawHint("eles",!0),y.redraw()),!sr[4]){y.redrawHint("drag",!0),y.redrawHint("eles",!0);var Ja=Yi&&Yi.grabbed();dt($r),Ja&&(Yi.emit("freeon"),$r.emit("free"),y.dragData.didDrag&&(Yi.emit("dragfreeon"),$r.emit("dragfree")))}}sr[4]=0,y.hoverData.down=null,y.hoverData.cxtStarted=!1,y.hoverData.draggingEles=!1,y.hoverData.selecting=!1,y.hoverData.isOverThresholdDrag=!1,y.dragData.didDrag=!1,y.hoverData.dragged=!1,y.hoverData.dragDelta=[],y.hoverData.mdownPos=null,y.hoverData.mdownGPos=null}},!1);var ie=function(Qt){if(!y.scrollingPage){var jn=y.cy,Sr=jn.zoom(),ir=jn.pan(),sr=y.projectIntoViewport(Qt.clientX,Qt.clientY),Ia=[sr[0]*Sr+ir.x,sr[1]*Sr+ir.y];if(y.hoverData.draggingEles||y.hoverData.dragging||y.hoverData.cxtStarted||qt()){Qt.preventDefault();return}if(jn.panningEnabled()&&jn.userPanningEnabled()&&jn.zoomingEnabled()&&jn.userZoomingEnabled()){Qt.preventDefault(),y.data.wheelZooming=!0,clearTimeout(y.data.wheelTimeout),y.data.wheelTimeout=setTimeout(function(){y.data.wheelZooming=!1,y.redrawHint("eles",!0),y.redraw()},150);var $r;Qt.deltaY!=null?$r=Qt.deltaY/-250:Qt.wheelDeltaY!=null?$r=Qt.wheelDeltaY/1e3:$r=Qt.wheelDelta/1e3,$r=$r*y.wheelSensitivity;var Yi=Qt.deltaMode===1;Yi&&($r*=33);var Fo=jn.zoom()*Math.pow(10,$r);Qt.type==="gesturechange"&&(Fo=y.gestureStartZoom*Qt.scale),jn.zoom({level:Fo,renderedPosition:{x:Ia[0],y:Ia[1]}}),jn.emit(Qt.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};y.registerBinding(y.container,"wheel",ie,!0),y.registerBinding(window,"scroll",function(Qt){y.scrollingPage=!0,clearTimeout(y.scrollingPageTimeout),y.scrollingPageTimeout=setTimeout(function(){y.scrollingPage=!1},250)},!0),y.registerBinding(y.container,"gesturestart",function(Qt){y.gestureStartZoom=y.cy.zoom(),y.hasTouchStarted||Qt.preventDefault()},!0),y.registerBinding(y.container,"gesturechange",function(Tr){y.hasTouchStarted||ie(Tr)},!0),y.registerBinding(y.container,"mouseout",function(Qt){var jn=y.projectIntoViewport(Qt.clientX,Qt.clientY);y.cy.emit({originalEvent:Qt,type:"mouseout",position:{x:jn[0],y:jn[1]}})},!1),y.registerBinding(y.container,"mouseover",function(Qt){var jn=y.projectIntoViewport(Qt.clientX,Qt.clientY);y.cy.emit({originalEvent:Qt,type:"mouseover",position:{x:jn[0],y:jn[1]}})},!1);var Fe,we,bn,ze,Ge,En,In,Yn,Sn,Wn,rr,wr,ur,er=function(Qt,jn,Sr,ir){return Math.sqrt((Sr-Qt)*(Sr-Qt)+(ir-jn)*(ir-jn))},vn=function(Qt,jn,Sr,ir){return(Sr-Qt)*(Sr-Qt)+(ir-jn)*(ir-jn)},gr;y.registerBinding(y.container,"touchstart",gr=function(Qt){if(y.hasTouchStarted=!0,!!ne(Qt)){kt(),y.touchData.capture=!0,y.data.bgActivePosistion=void 0;var jn=y.cy,Sr=y.touchData.now,ir=y.touchData.earlier;if(Qt.touches[0]){var sr=y.projectIntoViewport(Qt.touches[0].clientX,Qt.touches[0].clientY);Sr[0]=sr[0],Sr[1]=sr[1]}if(Qt.touches[1]){var sr=y.projectIntoViewport(Qt.touches[1].clientX,Qt.touches[1].clientY);Sr[2]=sr[0],Sr[3]=sr[1]}if(Qt.touches[2]){var sr=y.projectIntoViewport(Qt.touches[2].clientX,Qt.touches[2].clientY);Sr[4]=sr[0],Sr[5]=sr[1]}if(Qt.touches[1]){y.touchData.singleTouchMoved=!0,dt(y.dragData.touchDragEles);var Ia=y.findContainerClientCoords();Sn=Ia[0],Wn=Ia[1],rr=Ia[2],wr=Ia[3],Fe=Qt.touches[0].clientX-Sn,we=Qt.touches[0].clientY-Wn,bn=Qt.touches[1].clientX-Sn,ze=Qt.touches[1].clientY-Wn,ur=0<=Fe&&Fe<=rr&&0<=bn&&bn<=rr&&0<=we&&we<=wr&&0<=ze&&ze<=wr;var $r=jn.pan(),Yi=jn.zoom();Ge=er(Fe,we,bn,ze),En=vn(Fe,we,bn,ze),In=[(Fe+bn)/2,(we+ze)/2],Yn=[(In[0]-$r.x)/Yi,(In[1]-$r.y)/Yi];var Fo=200,Pc=Fo*Fo;if(En=1){for(var _p=y.touchData.startPosition=[],Hf=0;Hf=y.touchTapThreshold2}if(jn&&y.touchData.cxt){Qt.preventDefault();var _p=Qt.touches[0].clientX-Sn,Hf=Qt.touches[0].clientY-Wn,_g=Qt.touches[1].clientX-Sn,cd=Qt.touches[1].clientY-Wn,mw=vn(_p,Hf,_g,cd),Lm=mw/En,xx=150,F3=xx*xx,kx=1.5,SC=kx*kx;if(Lm>=SC||mw>=F3){y.touchData.cxt=!1,y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);var N3={originalEvent:Qt,type:"cxttapend",position:{x:sr[0],y:sr[1]}};y.touchData.start?(y.touchData.start.unactivate().emit(N3),y.touchData.start=null):ir.emit(N3)}}if(jn&&y.touchData.cxt){var N3={originalEvent:Qt,type:"cxtdrag",position:{x:sr[0],y:sr[1]}};y.data.bgActivePosistion=void 0,y.redrawHint("select",!0),y.touchData.start?y.touchData.start.emit(N3):ir.emit(N3),y.touchData.start&&(y.touchData.start._private.grabbed=!1),y.touchData.cxtDragged=!0;var Hd=y.findNearestElement(sr[0],sr[1],!0,!0);(!y.touchData.cxtOver||Hd!==y.touchData.cxtOver)&&(y.touchData.cxtOver&&y.touchData.cxtOver.emit({originalEvent:Qt,type:"cxtdragout",position:{x:sr[0],y:sr[1]}}),y.touchData.cxtOver=Hd,Hd&&Hd.emit({originalEvent:Qt,type:"cxtdragover",position:{x:sr[0],y:sr[1]}}))}else if(jn&&Qt.touches[2]&&ir.boxSelectionEnabled())Qt.preventDefault(),y.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,y.touchData.selecting||ir.emit({originalEvent:Qt,type:"boxstart",position:{x:sr[0],y:sr[1]}}),y.touchData.selecting=!0,y.touchData.didSelect=!0,Sr[4]=1,!Sr||Sr.length===0||Sr[0]===void 0?(Sr[0]=(sr[0]+sr[2]+sr[4])/3,Sr[1]=(sr[1]+sr[3]+sr[5])/3,Sr[2]=(sr[0]+sr[2]+sr[4])/3+1,Sr[3]=(sr[1]+sr[3]+sr[5])/3+1):(Sr[2]=(sr[0]+sr[2]+sr[4])/3,Sr[3]=(sr[1]+sr[3]+sr[5])/3),y.redrawHint("select",!0),y.redraw();else if(jn&&Qt.touches[1]&&!y.touchData.didSelect&&ir.zoomingEnabled()&&ir.panningEnabled()&&ir.userZoomingEnabled()&&ir.userPanningEnabled()){Qt.preventDefault(),y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);var y1=y.dragData.touchDragEles;if(y1){y.redrawHint("drag",!0);for(var Vd=0;Vd0&&!y.hoverData.draggingEles&&!y.swipePanning&&y.data.bgActivePosistion!=null&&(y.data.bgActivePosistion=void 0,y.redrawHint("select",!0),y.redraw())}},!1);var Jr;y.registerBinding(window,"touchcancel",Jr=function(Qt){var jn=y.touchData.start;y.touchData.capture=!1,jn&&jn.unactivate()});var vi,Xs,Ea,Ci;if(y.registerBinding(window,"touchend",vi=function(Qt){var jn=y.touchData.start,Sr=y.touchData.capture;if(Sr)Qt.touches.length===0&&(y.touchData.capture=!1),Qt.preventDefault();else return;var ir=y.selection;y.swipePanning=!1,y.hoverData.draggingEles=!1;var sr=y.cy,Ia=sr.zoom(),$r=y.touchData.now,Yi=y.touchData.earlier;if(Qt.touches[0]){var Fo=y.projectIntoViewport(Qt.touches[0].clientX,Qt.touches[0].clientY);$r[0]=Fo[0],$r[1]=Fo[1]}if(Qt.touches[1]){var Fo=y.projectIntoViewport(Qt.touches[1].clientX,Qt.touches[1].clientY);$r[2]=Fo[0],$r[3]=Fo[1]}if(Qt.touches[2]){var Fo=y.projectIntoViewport(Qt.touches[2].clientX,Qt.touches[2].clientY);$r[4]=Fo[0],$r[5]=Fo[1]}jn&&jn.unactivate();var Pc;if(y.touchData.cxt){if(Pc={originalEvent:Qt,type:"cxttapend",position:{x:$r[0],y:$r[1]}},jn?jn.emit(Pc):sr.emit(Pc),!y.touchData.cxtDragged){var Za={originalEvent:Qt,type:"cxttap",position:{x:$r[0],y:$r[1]}};jn?jn.emit(Za):sr.emit(Za)}y.touchData.start&&(y.touchData.start._private.grabbed=!1),y.touchData.cxt=!1,y.touchData.start=null,y.redraw();return}if(!Qt.touches[2]&&sr.boxSelectionEnabled()&&y.touchData.selecting){y.touchData.selecting=!1;var mc=sr.collection(y.getAllInBox(ir[0],ir[1],ir[2],ir[3]));ir[0]=void 0,ir[1]=void 0,ir[2]=void 0,ir[3]=void 0,ir[4]=0,y.redrawHint("select",!0),sr.emit({type:"boxend",originalEvent:Qt,position:{x:$r[0],y:$r[1]}});var Ta=function(F3){return F3.selectable()&&!F3.selected()};mc.emit("box").stdFilter(Ta).select().emit("boxselect"),mc.nonempty()&&y.redrawHint("eles",!0),y.redraw()}if(jn!=null&&jn.unactivate(),Qt.touches[2])y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);else if(!Qt.touches[1]){if(!Qt.touches[0]){if(!Qt.touches[0]){y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);var Ja=y.dragData.touchDragEles;if(jn!=null){var ml=jn._private.grabbed;dt(Ja),y.redrawHint("drag",!0),y.redrawHint("eles",!0),ml&&(jn.emit("freeon"),Ja.emit("free"),y.dragData.didDrag&&(jn.emit("dragfreeon"),Ja.emit("dragfree"))),x(jn,["touchend","tapend","vmouseup","tapdragout"],Qt,{x:$r[0],y:$r[1]}),jn.unactivate(),y.touchData.start=null}else{var qf=y.findNearestElement($r[0],$r[1],!0,!0);x(qf,["touchend","tapend","vmouseup","tapdragout"],Qt,{x:$r[0],y:$r[1]})}var Cp=y.touchData.startPosition[0]-$r[0],_p=Cp*Cp,Hf=y.touchData.startPosition[1]-$r[1],_g=Hf*Hf,cd=_p+_g,mw=cd*Ia*Ia;y.touchData.singleTouchMoved||(jn||sr.$(":selected").unselect(["tapunselect"]),x(jn,["tap","vclick"],Qt,{x:$r[0],y:$r[1]}),Xs=!1,Qt.timeStamp-Ci<=sr.multiClickDebounceTime()?(Ea&&clearTimeout(Ea),Xs=!0,Ci=null,x(jn,["dbltap","vdblclick"],Qt,{x:$r[0],y:$r[1]})):(Ea=setTimeout(function(){Xs||x(jn,["onetap","voneclick"],Qt,{x:$r[0],y:$r[1]})},sr.multiClickDebounceTime()),Ci=Qt.timeStamp)),jn!=null&&!y.dragData.didDrag&&jn._private.selectable&&mw"u"){var hi=[],gs=function(Qt){return{clientX:Qt.clientX,clientY:Qt.clientY,force:1,identifier:Qt.pointerId,pageX:Qt.pageX,pageY:Qt.pageY,radiusX:Qt.width/2,radiusY:Qt.height/2,screenX:Qt.screenX,screenY:Qt.screenY,target:Qt.target}},qi=function(Qt){return{event:Qt,touch:gs(Qt)}},Si=function(Qt){hi.push(qi(Qt))},Ui=function(Qt){for(var jn=0;jn0)return Sn[0]}return null},ot=Object.keys(Y),ht=0;ht0?rt:fN(O,P,g,x,T,L,$)},checkPoint:function(g,x,T,L,O,P,$){var q=Lk(L,O),S=2*q;if(dw(g,x,this.points,P,$,L,O-S,[0,-1],T)||dw(g,x,this.points,P,$,L-S,O,[0,-1],T))return!0;var V=L/2+2*T,Y=O/2+2*T,rt=[P-V,$-Y,P-V,$,P+V,$,P+V,$-Y];return!!(qd(g,x,rt)||S3(g,x,S,S,P+L/2-q,$+O/2-q,T)||S3(g,x,S,S,P-L/2+q,$+O/2-q,T))}}},bw.registerNodeShapes=function(){var y=this.nodeShapes={},g=this;this.generateEllipse(),this.generatePolygon("triangle",sd(3,0)),this.generateRoundPolygon("round-triangle",sd(3,0)),this.generatePolygon("rectangle",sd(4,0)),y.square=y.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var x=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",x),this.generateRoundPolygon("round-diamond",x)}this.generatePolygon("pentagon",sd(5,0)),this.generateRoundPolygon("round-pentagon",sd(5,0)),this.generatePolygon("hexagon",sd(6,0)),this.generateRoundPolygon("round-hexagon",sd(6,0)),this.generatePolygon("heptagon",sd(7,0)),this.generateRoundPolygon("round-heptagon",sd(7,0)),this.generatePolygon("octagon",sd(8,0)),this.generateRoundPolygon("round-octagon",sd(8,0));var T=new Array(20);{var L=ML(5,0),O=ML(5,Math.PI/5),P=.5*(3-Math.sqrt(5));P*=1.57;for(var $=0;$=g.deqFastCost*$t)break}else if(S){if(Dt>=g.deqCost*ot||Dt>=g.deqAvgCost*rt)break}else if(Pt>=g.deqNoDrawCost*rM)break;var Zt=g.deq(T,Lt,dt);if(Zt.length>0)for(var Yt=0;Yt0&&(g.onDeqd(T,ht),!S&&g.shouldRedraw(T,ht,Lt,dt)&&O())},$=g.priority||EL;L.beforeRender(P,$(T))}}}},dtt=function(){function y(g){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:wm;p(this,y),this.idsByKey=new Gb,this.keyForId=new Gb,this.cachesByLvl=new Gb,this.lvls=[],this.getKey=g,this.doesEleInvalidateKey=x}return m(y,[{key:"getIdsFor",value:function(x){x==null&&vl("Can not get id list for null key");var T=this.idsByKey,L=this.idsByKey.get(x);return L||(L=new Y5,T.set(x,L)),L}},{key:"addIdForKey",value:function(x,T){x!=null&&this.getIdsFor(x).add(T)}},{key:"deleteIdForKey",value:function(x,T){x!=null&&this.getIdsFor(x).delete(T)}},{key:"getNumberOfIdsForKey",value:function(x){return x==null?0:this.getIdsFor(x).size}},{key:"updateKeyMappingFor",value:function(x){var T=x.id(),L=this.keyForId.get(T),O=this.getKey(x);this.deleteIdForKey(L,T),this.addIdForKey(O,T),this.keyForId.set(T,O)}},{key:"deleteKeyMappingFor",value:function(x){var T=x.id(),L=this.keyForId.get(T);this.deleteIdForKey(L,T),this.keyForId.delete(T)}},{key:"keyHasChangedFor",value:function(x){var T=x.id(),L=this.keyForId.get(T),O=this.getKey(x);return L!==O}},{key:"isInvalid",value:function(x){return this.keyHasChangedFor(x)||this.doesEleInvalidateKey(x)}},{key:"getCachesAt",value:function(x){var T=this.cachesByLvl,L=this.lvls,O=T.get(x);return O||(O=new Gb,T.set(x,O),L.push(x)),O}},{key:"getCache",value:function(x,T){return this.getCachesAt(T).get(x)}},{key:"get",value:function(x,T){var L=this.getKey(x),O=this.getCache(L,T);return O!=null&&this.updateKeyMappingFor(x),O}},{key:"getForCachedKey",value:function(x,T){var L=this.keyForId.get(x.id()),O=this.getCache(L,T);return O}},{key:"hasCache",value:function(x,T){return this.getCachesAt(T).has(x)}},{key:"has",value:function(x,T){var L=this.getKey(x);return this.hasCache(L,T)}},{key:"setCache",value:function(x,T,L){L.key=x,this.getCachesAt(T).set(x,L)}},{key:"set",value:function(x,T,L){var O=this.getKey(x);this.setCache(O,T,L),this.updateKeyMappingFor(x)}},{key:"deleteCache",value:function(x,T){this.getCachesAt(T).delete(x)}},{key:"delete",value:function(x,T){var L=this.getKey(x);this.deleteCache(L,T)}},{key:"invalidateKey",value:function(x){var T=this;this.lvls.forEach(function(L){return T.deleteCache(x,L)})}},{key:"invalidate",value:function(x){var T=x.id(),L=this.keyForId.get(T);this.deleteKeyMappingFor(x);var O=this.doesEleInvalidateKey(x);return O&&this.invalidateKey(L),O||this.getNumberOfIdsForKey(L)===0}}]),y}(),xC=25,kC=50,px=-4,iM=3,sM=7.99,gtt=8,ptt=1024,btt=1024,rR=1024,wtt=.2,vtt=.8,mtt=10,ytt=.15,xtt=.1,ktt=.9,Ett=.9,Ttt=100,Ctt=1,bx={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},_tt=Rf({getKey:null,doesEleInvalidateKey:wm,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:T3,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),Kk=function(g,x){var T=this;T.renderer=g,T.onDequeues=[];var L=_tt(x);de(T,L),T.lookup=new dtt(L.getKey,L.doesEleInvalidateKey),T.setupDequeueing()},Th=Kk.prototype;Th.reasons=bx,Th.getTextureQueue=function(y){var g=this;return g.eleImgCaches=g.eleImgCaches||{},g.eleImgCaches[y]=g.eleImgCaches[y]||[]},Th.getRetiredTextureQueue=function(y){var g=this,x=g.eleImgCaches.retired=g.eleImgCaches.retired||{},T=x[y]=x[y]||[];return T},Th.getElementQueue=function(){var y=this,g=y.eleCacheQueue=y.eleCacheQueue||new Ck(function(x,T){return T.reqs-x.reqs});return g},Th.getElementKeyToQueue=function(){var y=this,g=y.eleKeyToCacheQueue=y.eleKeyToCacheQueue||{};return g},Th.getElement=function(y,g,x,T,L){var O=this,P=this.renderer,$=P.cy.zoom(),q=this.lookup;if(!g||g.w===0||g.h===0||isNaN(g.w)||isNaN(g.h)||!y.visible()||y.removed()||!O.allowEdgeTxrCaching&&y.isEdge()||!O.allowParentTxrCaching&&y.isParent())return null;if(T==null&&(T=Math.ceil(_L($*x))),T=sM||T>iM)return null;var S=Math.pow(2,T),V=g.h*S,Y=g.w*S,rt=P.eleTextBiggerThanMin(y,S);if(!this.isVisible(y,rt))return null;var ot=q.get(y,T);if(ot&&ot.invalidated&&(ot.invalidated=!1,ot.texture.invalidatedWidth-=ot.width),ot)return ot;var ht;if(V<=xC?ht=xC:V<=kC?ht=kC:ht=Math.ceil(V/kC)*kC,V>rR||Y>btt)return null;var dt=O.getTextureQueue(ht),Lt=dt[dt.length-2],kt=function(){return O.recycleTexture(ht,Y)||O.addTexture(ht,Y)};Lt||(Lt=dt[dt.length-1]),Lt||(Lt=kt()),Lt.width-Lt.usedWidthT;be--)Gt=O.getElement(y,g,x,be,bx.downscale);ge()}else return O.queueElement(y,Yt.level-1),Yt;else{var ie;if(!Pt&&!$t&&!Zt)for(var Fe=T-1;Fe>=px;Fe--){var we=q.get(y,Fe);if(we){ie=we;break}}if(Dt(ie))return O.queueElement(y,T),ie;Lt.context.translate(Lt.usedWidth,0),Lt.context.scale(S,S),this.drawElement(Lt.context,y,g,rt,!1),Lt.context.scale(1/S,1/S),Lt.context.translate(-Lt.usedWidth,0)}return ot={x:Lt.usedWidth,texture:Lt,level:T,scale:S,width:Y,height:V,scaledLabelShown:rt},Lt.usedWidth+=Math.ceil(Y+gtt),Lt.eleCaches.push(ot),q.set(y,T,ot),O.checkTextureFullness(Lt),ot},Th.invalidateElements=function(y){for(var g=0;g=wtt*y.width&&this.retireTexture(y)},Th.checkTextureFullness=function(y){var g=this,x=g.getTextureQueue(y.height);y.usedWidth/y.width>vtt&&y.fullnessChecks>=mtt?vm(x,y):y.fullnessChecks++},Th.retireTexture=function(y){var g=this,x=y.height,T=g.getTextureQueue(x),L=this.lookup;vm(T,y),y.retired=!0;for(var O=y.eleCaches,P=0;P=g)return P.retired=!1,P.usedWidth=0,P.invalidatedWidth=0,P.fullnessChecks=0,TL(P.eleCaches),P.context.setTransform(1,0,0,1,0,0),P.context.clearRect(0,0,P.width,P.height),vm(L,P),T.push(P),P}},Th.queueElement=function(y,g){var x=this,T=x.getElementQueue(),L=x.getElementKeyToQueue(),O=this.getKey(y),P=L[O];if(P)P.level=Math.max(P.level,g),P.eles.merge(y),P.reqs++,T.updateItem(P);else{var $={eles:y.spawn().merge(y),level:g,reqs:1,key:O};T.push($),L[O]=$}},Th.dequeue=function(y){for(var g=this,x=g.getElementQueue(),T=g.getElementKeyToQueue(),L=[],O=g.lookup,P=0;P0;P++){var $=x.pop(),q=$.key,S=$.eles[0],V=O.hasCache(S,$.level);if(T[q]=null,V)continue;L.push($);var Y=g.getBoundingBox(S);g.getElement(S,Y,y,$.level,bx.dequeue)}return L},Th.removeFromQueue=function(y){var g=this,x=g.getElementQueue(),T=g.getElementKeyToQueue(),L=this.getKey(y),O=T[L];O!=null&&(O.eles.length===1?(O.reqs=W5,x.updateItem(O),x.pop(),T[L]=null):O.eles.unmerge(y))},Th.onDequeue=function(y){this.onDequeues.push(y)},Th.offDequeue=function(y){vm(this.onDequeues,y)},Th.setupDequeueing=yC.setupDequeueing({deqRedrawThreshold:Ttt,deqCost:ytt,deqAvgCost:xtt,deqNoDrawCost:ktt,deqFastCost:Ett,deq:function(g,x,T){return g.dequeue(x,T)},onDeqd:function(g,x){for(var T=0;T=EC||x>Xk)return null}T.validateLayersElesOrdering(x,y);var q=T.layersByLevel,S=Math.pow(2,x),V=q[x]=q[x]||[],Y,rt=T.levelIsComplete(x,y),ot,ht=function(){var ge=function(bn){if(T.validateLayersElesOrdering(bn,y),T.levelIsComplete(bn,y))return ot=q[bn],!0},be=function(bn){if(!ot)for(var ze=x+bn;wx<=ze&&ze<=Xk&&!ge(ze);ze+=bn);};be(1),be(-1);for(var ie=V.length-1;ie>=0;ie--){var Fe=V[ie];Fe.invalid&&vm(V,Fe)}};if(!rt)ht();else return V;var dt=function(){if(!Y){Y=zd();for(var ge=0;gefpt)return null;var Fe=T.makeLayer(Y,x);if(be!=null){var we=V.indexOf(be)+1;V.splice(we,0,Fe)}else(ge.insert===void 0||ge.insert)&&V.unshift(Fe);return Fe};if(T.skipping&&!$)return null;for(var kt=null,Dt=y.length/Stt,Pt=!$,$t=0;$t=Dt||!hN(kt.bb,Zt.boundingBox()))&&(kt=Lt({insert:!0,after:kt}),!kt))return null;ot||Pt?T.queueLayer(kt,Zt):T.drawEleInLayer(kt,Zt,x,g),kt.eles.push(Zt),qt[x]=kt}return ot||(Pt?null:V)},w1.getEleLevelForLayerLevel=function(y,g){return y},w1.drawEleInLayer=function(y,g,x,T){var L=this,O=this.renderer,P=y.context,$=g.boundingBox();$.w===0||$.h===0||!g.visible()||(x=L.getEleLevelForLayerLevel(x,T),O.setImgSmoothing(P,!1),O.drawCachedElement(P,g,null,null,x,dpt),O.setImgSmoothing(P,!0))},w1.levelIsComplete=function(y,g){var x=this,T=x.layersByLevel[y];if(!T||T.length===0)return!1;for(var L=0,O=0;O0||P.invalid)return!1;L+=P.eles.length}return L===g.length},w1.validateLayersElesOrdering=function(y,g){var x=this.layersByLevel[y];if(x)for(var T=0;T0){g=!0;break}}return g},w1.invalidateElements=function(y){var g=this;y.length!==0&&(g.lastInvalidationTime=yg(),!(y.length===0||!g.haveLayers())&&g.updateElementsInLayers(y,function(T,L,O){g.invalidateLayer(T)}))},w1.invalidateLayer=function(y){if(this.lastInvalidationTime=yg(),!y.invalid){var g=y.level,x=y.eles,T=this.layersByLevel[g];vm(T,y),y.elesQueue=[],y.invalid=!0,y.replacement&&(y.replacement.invalid=!0);for(var L=0;L3&&arguments[3]!==void 0?arguments[3]:!0,L=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,P=this,$=g._private.rscratch;if(!(O&&!g.visible())&&!($.badLine||$.allpts==null||isNaN($.allpts[0]))){var q;x&&(q=x,y.translate(-q.x1,-q.y1));var S=O?g.pstyle("opacity").value:1,V=O?g.pstyle("line-opacity").value:1,Y=g.pstyle("curve-style").value,rt=g.pstyle("line-style").value,ot=g.pstyle("width").pfValue,ht=g.pstyle("line-cap").value,dt=S*V,Lt=S*V,kt=function(){var ie=arguments.length>0&&arguments[0]!==void 0?arguments[0]:dt;Y==="straight-triangle"?(P.eleStrokeStyle(y,g,ie),P.drawEdgeTrianglePath(g,y,$.allpts)):(y.lineWidth=ot,y.lineCap=ht,P.eleStrokeStyle(y,g,ie),P.drawEdgePath(g,y,$.allpts,rt),y.lineCap="butt")},Dt=function(){L&&P.drawEdgeOverlay(y,g)},Pt=function(){L&&P.drawEdgeUnderlay(y,g)},$t=function(){var ie=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Lt;P.drawArrowheads(y,g,ie)},Zt=function(){P.drawElementText(y,g,null,T)};y.lineJoin="round";var Yt=g.pstyle("ghost").value==="yes";if(Yt){var qt=g.pstyle("ghost-offset-x").pfValue,ne=g.pstyle("ghost-offset-y").pfValue,Gt=g.pstyle("ghost-opacity").value,ge=dt*Gt;y.translate(qt,ne),kt(ge),$t(ge),y.translate(-qt,-ne)}Pt(),kt(),$t(),Dt(),Zt(),x&&y.translate(q.x1,q.y1)}};var Ott=function(g){if(!["overlay","underlay"].includes(g))throw new Error("Invalid state");return function(x,T){if(T.visible()){var L=T.pstyle("".concat(g,"-opacity")).value;if(L!==0){var O=this,P=O.usePaths(),$=T._private.rscratch,q=T.pstyle("".concat(g,"-padding")).pfValue,S=2*q,V=T.pstyle("".concat(g,"-color")).value;x.lineWidth=S,$.edgeType==="self"&&!P?x.lineCap="butt":x.lineCap="round",O.colorStrokeStyle(x,V[0],V[1],V[2],L),O.drawEdgePath(T,x,$.allpts,"solid")}}}};vw.drawEdgeOverlay=Ott("overlay"),vw.drawEdgeUnderlay=Ott("underlay"),vw.drawEdgePath=function(y,g,x,T){var L=y._private.rscratch,O=g,P,$=!1,q=this.usePaths(),S=y.pstyle("line-dash-pattern").pfValue,V=y.pstyle("line-dash-offset").pfValue;if(q){var Y=x.join("$"),rt=L.pathCacheKey&&L.pathCacheKey===Y;rt?(P=g=L.pathCache,$=!0):(P=g=new Path2D,L.pathCacheKey=Y,L.pathCache=P)}if(O.setLineDash)switch(T){case"dotted":O.setLineDash([1,1]);break;case"dashed":O.setLineDash(S),O.lineDashOffset=V;break;case"solid":O.setLineDash([]);break}if(!$&&!L.badLine)switch(g.beginPath&&g.beginPath(),g.moveTo(x[0],x[1]),L.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var ot=2;ot+35&&arguments[5]!==void 0?arguments[5]:!0,P=this;if(T==null){if(O&&!P.eleTextBiggerThanMin(g))return}else if(T===!1)return;if(g.isNode()){var $=g.pstyle("label");if(!$||!$.value)return;var q=P.getLabelJustification(g);y.textAlign=q,y.textBaseline="bottom"}else{var S=g.element()._private.rscratch.badLine,V=g.pstyle("label"),Y=g.pstyle("source-label"),rt=g.pstyle("target-label");if(S||(!V||!V.value)&&(!Y||!Y.value)&&(!rt||!rt.value))return;y.textAlign="center",y.textBaseline="bottom"}var ot=!x,ht;x&&(ht=x,y.translate(-ht.x1,-ht.y1)),L==null?(P.drawText(y,g,null,ot,O),g.isEdge()&&(P.drawText(y,g,"source",ot,O),P.drawText(y,g,"target",ot,O))):P.drawText(y,g,L,ot,O),x&&y.translate(ht.x1,ht.y1)},vx.getFontCache=function(y){var g;this.fontCaches=this.fontCaches||[];for(var x=0;x2&&arguments[2]!==void 0?arguments[2]:!0,T=g.pstyle("font-style").strValue,L=g.pstyle("font-size").pfValue+"px",O=g.pstyle("font-family").strValue,P=g.pstyle("font-weight").strValue,$=x?g.effectiveOpacity()*g.pstyle("text-opacity").value:1,q=g.pstyle("text-outline-opacity").value*$,S=g.pstyle("color").value,V=g.pstyle("text-outline-color").value;y.font=T+" "+P+" "+L+" "+O,y.lineJoin="round",this.colorFillStyle(y,S[0],S[1],S[2],$),this.colorStrokeStyle(y,V[0],V[1],V[2],q)};function mpt(y,g,x,T,L){var O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5;y.beginPath(),y.moveTo(g+O,x),y.lineTo(g+T-O,x),y.quadraticCurveTo(g+T,x,g+T,x+O),y.lineTo(g+T,x+L-O),y.quadraticCurveTo(g+T,x+L,g+T-O,x+L),y.lineTo(g+O,x+L),y.quadraticCurveTo(g,x+L,g,x+L-O),y.lineTo(g,x+O),y.quadraticCurveTo(g,x,g+O,x),y.closePath(),y.fill()}vx.getTextAngle=function(y,g){var x,T=y._private,L=T.rscratch,O=g?g+"-":"",P=y.pstyle(O+"text-rotation"),$=yp(L,"labelAngle",g);return P.strValue==="autorotate"?x=y.isEdge()?$:0:P.strValue==="none"?x=0:x=P.pfValue,x},vx.drawText=function(y,g,x){var T=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,L=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=g._private,P=O.rscratch,$=L?g.effectiveOpacity():1;if(!(L&&($===0||g.pstyle("text-opacity").value===0))){x==="main"&&(x=null);var q=yp(P,"labelX",x),S=yp(P,"labelY",x),V,Y,rt=this.getLabelText(g,x);if(rt!=null&&rt!==""&&!isNaN(q)&&!isNaN(S)){this.setupTextStyle(y,g,L);var ot=x?x+"-":"",ht=yp(P,"labelWidth",x),dt=yp(P,"labelHeight",x),Lt=g.pstyle(ot+"text-margin-x").pfValue,kt=g.pstyle(ot+"text-margin-y").pfValue,Dt=g.isEdge(),Pt=g.pstyle("text-halign").value,$t=g.pstyle("text-valign").value;Dt&&(Pt="center",$t="center"),q+=Lt,S+=kt;var Zt;switch(T?Zt=this.getTextAngle(g,x):Zt=0,Zt!==0&&(V=q,Y=S,y.translate(V,Y),y.rotate(Zt),q=0,S=0),$t){case"top":break;case"center":S+=dt/2;break;case"bottom":S+=dt;break}var Yt=g.pstyle("text-background-opacity").value,qt=g.pstyle("text-border-opacity").value,ne=g.pstyle("text-border-width").pfValue,Gt=g.pstyle("text-background-padding").pfValue;if(Yt>0||ne>0&&qt>0){var ge=q-Gt;switch(Pt){case"left":ge-=ht;break;case"center":ge-=ht/2;break}var be=S-dt-Gt,ie=ht+2*Gt,Fe=dt+2*Gt;if(Yt>0){var we=y.fillStyle,bn=g.pstyle("text-background-color").value;y.fillStyle="rgba("+bn[0]+","+bn[1]+","+bn[2]+","+Yt*$+")";var ze=g.pstyle("text-background-shape").strValue;ze.indexOf("round")===0?mpt(y,ge,be,ie,Fe,2):y.fillRect(ge,be,ie,Fe),y.fillStyle=we}if(ne>0&&qt>0){var Ge=y.strokeStyle,En=y.lineWidth,In=g.pstyle("text-border-color").value,Yn=g.pstyle("text-border-style").value;if(y.strokeStyle="rgba("+In[0]+","+In[1]+","+In[2]+","+qt*$+")",y.lineWidth=ne,y.setLineDash)switch(Yn){case"dotted":y.setLineDash([1,1]);break;case"dashed":y.setLineDash([4,2]);break;case"double":y.lineWidth=ne/4,y.setLineDash([]);break;case"solid":y.setLineDash([]);break}if(y.strokeRect(ge,be,ie,Fe),Yn==="double"){var Sn=ne/2;y.strokeRect(ge+Sn,be+Sn,ie-Sn*2,Fe-Sn*2)}y.setLineDash&&y.setLineDash([]),y.lineWidth=En,y.strokeStyle=Ge}}var Wn=2*g.pstyle("text-outline-width").pfValue;if(Wn>0&&(y.lineWidth=Wn),g.pstyle("text-wrap").value==="wrap"){var rr=yp(P,"labelWrapCachedLines",x),wr=yp(P,"labelLineHeight",x),ur=ht/2,er=this.getLabelJustification(g);switch(er==="auto"||(Pt==="left"?er==="left"?q+=-ht:er==="center"&&(q+=-ur):Pt==="center"?er==="left"?q+=-ur:er==="right"&&(q+=ur):Pt==="right"&&(er==="center"?q+=ur:er==="right"&&(q+=ht))),$t){case"top":S-=(rr.length-1)*wr;break;case"center":case"bottom":S-=(rr.length-1)*wr;break}for(var vn=0;vn0&&y.strokeText(rr[vn],q,S),y.fillText(rr[vn],q,S),S+=wr}else Wn>0&&y.strokeText(rt,q,S),y.fillText(rt,q,S);Zt!==0&&(y.rotate(-Zt),y.translate(-V,-Y))}}};var Zk={};Zk.drawNode=function(y,g,x){var T=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,L=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,P=this,$,q,S=g._private,V=S.rscratch,Y=g.position();if(!(!X(Y.x)||!X(Y.y))&&!(O&&!g.visible())){var rt=O?g.effectiveOpacity():1,ot=P.usePaths(),ht,dt=!1,Lt=g.padding();$=g.width()+2*Lt,q=g.height()+2*Lt;var kt;x&&(kt=x,y.translate(-kt.x1,-kt.y1));for(var Dt=g.pstyle("background-image"),Pt=Dt.value,$t=new Array(Pt.length),Zt=new Array(Pt.length),Yt=0,qt=0;qt0&&arguments[0]!==void 0?arguments[0]:Fe;P.eleFillStyle(y,g,Si)},En=function(){var Si=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ze;P.colorStrokeStyle(y,we[0],we[1],we[2],Si)},In=g.pstyle("shape").strValue,Yn=g.pstyle("shape-polygon-points").pfValue;if(ot){y.translate(Y.x,Y.y);var Sn=P.nodePathCache=P.nodePathCache||[],Wn=id(In==="polygon"?In+","+Yn.join(","):In,""+q,""+$),rr=Sn[Wn];rr!=null?(ht=rr,dt=!0,V.pathCache=ht):(ht=new Path2D,Sn[Wn]=V.pathCache=ht)}var wr=function(){if(!dt){var Si=Y;ot&&(Si={x:0,y:0}),P.nodeShapes[P.getNodeShape(g)].draw(ht||y,Si.x,Si.y,$,q)}ot?y.fill(ht):y.fill()},ur=function(){for(var Si=arguments.length>0&&arguments[0]!==void 0?arguments[0]:rt,Ui=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Va=S.backgrounding,Qs=0,qs=0;qs0&&arguments[0]!==void 0?arguments[0]:!1,Ui=arguments.length>1&&arguments[1]!==void 0?arguments[1]:rt;P.hasPie(g)&&(P.drawPie(y,g,Ui),Si&&(ot||P.nodeShapes[P.getNodeShape(g)].draw(y,Y.x,Y.y,$,q)))},vn=function(){var Si=arguments.length>0&&arguments[0]!==void 0?arguments[0]:rt,Ui=(be>0?be:-be)*Si,Va=be>0?0:255;be!==0&&(P.colorFillStyle(y,Va,Va,Va,Ui),ot?y.fill(ht):y.fill())},gr=function(){if(ie>0){if(y.lineWidth=ie,y.lineCap="butt",y.setLineDash)switch(bn){case"dotted":y.setLineDash([1,1]);break;case"dashed":y.setLineDash([4,2]);break;case"solid":case"double":y.setLineDash([]);break}if(ot?y.stroke(ht):y.stroke(),bn==="double"){y.lineWidth=ie/3;var Si=y.globalCompositeOperation;y.globalCompositeOperation="destination-out",ot?y.stroke(ht):y.stroke(),y.globalCompositeOperation=Si}y.setLineDash&&y.setLineDash([])}},fr=function(){L&&P.drawNodeOverlay(y,g,Y,$,q)},Jr=function(){L&&P.drawNodeUnderlay(y,g,Y,$,q)},vi=function(){P.drawElementText(y,g,null,T)},Xs=g.pstyle("ghost").value==="yes";if(Xs){var Ea=g.pstyle("ghost-offset-x").pfValue,Ci=g.pstyle("ghost-offset-y").pfValue,hi=g.pstyle("ghost-opacity").value,gs=hi*rt;y.translate(Ea,Ci),Ge(hi*Fe),wr(),ur(gs,!0),En(hi*ze),gr(),er(be!==0||ie!==0),ur(gs,!1),vn(gs),y.translate(-Ea,-Ci)}ot&&y.translate(-Y.x,-Y.y),Jr(),ot&&y.translate(Y.x,Y.y),Ge(),wr(),ur(rt,!0),En(),gr(),er(be!==0||ie!==0),ur(rt,!1),vn(),ot&&y.translate(-Y.x,-Y.y),vi(),fr(),x&&y.translate(kt.x1,kt.y1)}};var Ptt=function(g){if(!["overlay","underlay"].includes(g))throw new Error("Invalid state");return function(x,T,L,O,P){var $=this;if(T.visible()){var q=T.pstyle("".concat(g,"-padding")).pfValue,S=T.pstyle("".concat(g,"-opacity")).value,V=T.pstyle("".concat(g,"-color")).value,Y=T.pstyle("".concat(g,"-shape")).value;if(S>0){if(L=L||T.position(),O==null||P==null){var rt=T.padding();O=T.width()+2*rt,P=T.height()+2*rt}$.colorFillStyle(x,V[0],V[1],V[2],S),$.nodeShapes[Y].draw(x,L.x,L.y,O+q*2,P+q*2),x.fill()}}}};Zk.drawNodeOverlay=Ptt("overlay"),Zk.drawNodeUnderlay=Ptt("underlay"),Zk.hasPie=function(y){return y=y[0],y._private.hasPie},Zk.drawPie=function(y,g,x,T){g=g[0],T=T||g.position();var L=g.cy().style(),O=g.pstyle("pie-size"),P=T.x,$=T.y,q=g.width(),S=g.height(),V=Math.min(q,S)/2,Y=0,rt=this.usePaths();rt&&(P=0,$=0),O.units==="%"?V=V*O.pfValue:O.pfValue!==void 0&&(V=O.pfValue/2);for(var ot=1;ot<=L.pieBackgroundN;ot++){var ht=g.pstyle("pie-"+ot+"-background-size").value,dt=g.pstyle("pie-"+ot+"-background-color").value,Lt=g.pstyle("pie-"+ot+"-background-opacity").value*x,kt=ht/100;kt+Y>1&&(kt=1-Y);var Dt=1.5*Math.PI+2*Math.PI*Y,Pt=2*Math.PI*kt,$t=Dt+Pt;ht===0||Y>=1||Y+kt>1||(y.beginPath(),y.moveTo(P,$),y.arc(P,$,V,Dt,$t),y.closePath(),this.colorFillStyle(y,dt[0],dt[1],dt[2],Lt),y.fill(),Y+=kt)}};var Tg={},ypt=100;Tg.getPixelRatio=function(){var y=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var g=y.backingStorePixelRatio||y.webkitBackingStorePixelRatio||y.mozBackingStorePixelRatio||y.msBackingStorePixelRatio||y.oBackingStorePixelRatio||y.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/g},Tg.paintCache=function(y){for(var g=this.paintCaches=this.paintCaches||[],x=!0,T,L=0;LP.minMbLowQualFrames&&(P.motionBlurPxRatio=P.mbPxRBlurry)),P.clearingMotionBlur&&(P.motionBlurPxRatio=1),P.textureDrawLastFrame&&!Y&&(V[P.NODE]=!0,V[P.SELECT_BOX]=!0);var Dt=q.style(),Pt=q.zoom(),$t=L!==void 0?L:Pt,Zt=q.pan(),Yt={x:Zt.x,y:Zt.y},qt={zoom:Pt,pan:{x:Zt.x,y:Zt.y}},ne=P.prevViewport,Gt=ne===void 0||qt.zoom!==ne.zoom||qt.pan.x!==ne.pan.x||qt.pan.y!==ne.pan.y;!Gt&&!(dt&&!ht)&&(P.motionBlurPxRatio=1),O&&(Yt=O),$t*=$,Yt.x*=$,Yt.y*=$;var ge=P.getCachedZSortedEles();function be(Ci,hi,gs,qi,Si){var Ui=Ci.globalCompositeOperation;Ci.globalCompositeOperation="destination-out",P.colorFillStyle(Ci,255,255,255,P.motionBlurTransparency),Ci.fillRect(hi,gs,qi,Si),Ci.globalCompositeOperation=Ui}function ie(Ci,hi){var gs,qi,Si,Ui;!P.clearingMotionBlur&&(Ci===S.bufferContexts[P.MOTIONBLUR_BUFFER_NODE]||Ci===S.bufferContexts[P.MOTIONBLUR_BUFFER_DRAG])?(gs={x:Zt.x*ot,y:Zt.y*ot},qi=Pt*ot,Si=P.canvasWidth*ot,Ui=P.canvasHeight*ot):(gs=Yt,qi=$t,Si=P.canvasWidth,Ui=P.canvasHeight),Ci.setTransform(1,0,0,1,0,0),hi==="motionBlur"?be(Ci,0,0,Si,Ui):!g&&(hi===void 0||hi)&&Ci.clearRect(0,0,Si,Ui),x||(Ci.translate(gs.x,gs.y),Ci.scale(qi,qi)),O&&Ci.translate(O.x,O.y),L&&Ci.scale(L,L)}if(Y||(P.textureDrawLastFrame=!1),Y){if(P.textureDrawLastFrame=!0,!P.textureCache){P.textureCache={},P.textureCache.bb=q.mutableElements().boundingBox(),P.textureCache.texture=P.data.bufferCanvases[P.TEXTURE_BUFFER];var Fe=P.data.bufferContexts[P.TEXTURE_BUFFER];Fe.setTransform(1,0,0,1,0,0),Fe.clearRect(0,0,P.canvasWidth*P.textureMult,P.canvasHeight*P.textureMult),P.render({forcedContext:Fe,drawOnlyNodeLayer:!0,forcedPxRatio:$*P.textureMult});var qt=P.textureCache.viewport={zoom:q.zoom(),pan:q.pan(),width:P.canvasWidth,height:P.canvasHeight};qt.mpan={x:(0-qt.pan.x)/qt.zoom,y:(0-qt.pan.y)/qt.zoom}}V[P.DRAG]=!1,V[P.NODE]=!1;var we=S.contexts[P.NODE],bn=P.textureCache.texture,qt=P.textureCache.viewport;we.setTransform(1,0,0,1,0,0),rt?be(we,0,0,qt.width,qt.height):we.clearRect(0,0,qt.width,qt.height);var ze=Dt.core("outside-texture-bg-color").value,Ge=Dt.core("outside-texture-bg-opacity").value;P.colorFillStyle(we,ze[0],ze[1],ze[2],Ge),we.fillRect(0,0,qt.width,qt.height);var Pt=q.zoom();ie(we,!1),we.clearRect(qt.mpan.x,qt.mpan.y,qt.width/qt.zoom/$,qt.height/qt.zoom/$),we.drawImage(bn,qt.mpan.x,qt.mpan.y,qt.width/qt.zoom/$,qt.height/qt.zoom/$)}else P.textureOnViewport&&!g&&(P.textureCache=null);var En=q.extent(),In=P.pinching||P.hoverData.dragging||P.swipePanning||P.data.wheelZooming||P.hoverData.draggingEles||P.cy.animated(),Yn=P.hideEdgesOnViewport&&In,Sn=[];if(Sn[P.NODE]=!V[P.NODE]&&rt&&!P.clearedForMotionBlur[P.NODE]||P.clearingMotionBlur,Sn[P.NODE]&&(P.clearedForMotionBlur[P.NODE]=!0),Sn[P.DRAG]=!V[P.DRAG]&&rt&&!P.clearedForMotionBlur[P.DRAG]||P.clearingMotionBlur,Sn[P.DRAG]&&(P.clearedForMotionBlur[P.DRAG]=!0),V[P.NODE]||x||T||Sn[P.NODE]){var Wn=rt&&!Sn[P.NODE]&&ot!==1,we=g||(Wn?P.data.bufferContexts[P.MOTIONBLUR_BUFFER_NODE]:S.contexts[P.NODE]),rr=rt&&!Wn?"motionBlur":void 0;ie(we,rr),Yn?P.drawCachedNodes(we,ge.nondrag,$,En):P.drawLayeredElements(we,ge.nondrag,$,En),P.debug&&P.drawDebugPoints(we,ge.nondrag),!x&&!rt&&(V[P.NODE]=!1)}if(!T&&(V[P.DRAG]||x||Sn[P.DRAG])){var Wn=rt&&!Sn[P.DRAG]&&ot!==1,we=g||(Wn?P.data.bufferContexts[P.MOTIONBLUR_BUFFER_DRAG]:S.contexts[P.DRAG]);ie(we,rt&&!Wn?"motionBlur":void 0),Yn?P.drawCachedNodes(we,ge.drag,$,En):P.drawCachedElements(we,ge.drag,$,En),P.debug&&P.drawDebugPoints(we,ge.drag),!x&&!rt&&(V[P.DRAG]=!1)}if(P.showFps||!T&&V[P.SELECT_BOX]&&!x){var we=g||S.contexts[P.SELECT_BOX];if(ie(we),P.selection[4]==1&&(P.hoverData.selecting||P.touchData.selecting)){var Pt=P.cy.zoom(),wr=Dt.core("selection-box-border-width").value/Pt;we.lineWidth=wr,we.fillStyle="rgba("+Dt.core("selection-box-color").value[0]+","+Dt.core("selection-box-color").value[1]+","+Dt.core("selection-box-color").value[2]+","+Dt.core("selection-box-opacity").value+")",we.fillRect(P.selection[0],P.selection[1],P.selection[2]-P.selection[0],P.selection[3]-P.selection[1]),wr>0&&(we.strokeStyle="rgba("+Dt.core("selection-box-border-color").value[0]+","+Dt.core("selection-box-border-color").value[1]+","+Dt.core("selection-box-border-color").value[2]+","+Dt.core("selection-box-opacity").value+")",we.strokeRect(P.selection[0],P.selection[1],P.selection[2]-P.selection[0],P.selection[3]-P.selection[1]))}if(S.bgActivePosistion&&!P.hoverData.selecting){var Pt=P.cy.zoom(),ur=S.bgActivePosistion;we.fillStyle="rgba("+Dt.core("active-bg-color").value[0]+","+Dt.core("active-bg-color").value[1]+","+Dt.core("active-bg-color").value[2]+","+Dt.core("active-bg-opacity").value+")",we.beginPath(),we.arc(ur.x,ur.y,Dt.core("active-bg-size").pfValue/Pt,0,2*Math.PI),we.fill()}var er=P.lastRedrawTime;if(P.showFps&&er){er=Math.round(er);var vn=Math.round(1e3/er);we.setTransform(1,0,0,1,0,0),we.fillStyle="rgba(255, 0, 0, 0.75)",we.strokeStyle="rgba(255, 0, 0, 0.75)",we.lineWidth=1,we.fillText("1 frame = "+er+" ms = "+vn+" fps",0,20);var gr=60;we.strokeRect(0,30,250,20),we.fillRect(0,30,250*Math.min(vn/gr,1),20)}x||(V[P.SELECT_BOX]=!1)}if(rt&&ot!==1){var fr=S.contexts[P.NODE],Jr=P.data.bufferCanvases[P.MOTIONBLUR_BUFFER_NODE],vi=S.contexts[P.DRAG],Xs=P.data.bufferCanvases[P.MOTIONBLUR_BUFFER_DRAG],Ea=function(hi,gs,qi){hi.setTransform(1,0,0,1,0,0),qi||!kt?hi.clearRect(0,0,P.canvasWidth,P.canvasHeight):be(hi,0,0,P.canvasWidth,P.canvasHeight);var Si=ot;hi.drawImage(gs,0,0,P.canvasWidth*Si,P.canvasHeight*Si,0,0,P.canvasWidth,P.canvasHeight)};(V[P.NODE]||Sn[P.NODE])&&(Ea(fr,Jr,Sn[P.NODE]),V[P.NODE]=!1),(V[P.DRAG]||Sn[P.DRAG])&&(Ea(vi,Xs,Sn[P.DRAG]),V[P.DRAG]=!1)}P.prevViewport=qt,P.clearingMotionBlur&&(P.clearingMotionBlur=!1,P.motionBlurCleared=!0,P.motionBlur=!0),rt&&(P.motionBlurTimeout=setTimeout(function(){P.motionBlurTimeout=null,P.clearedForMotionBlur[P.NODE]=!1,P.clearedForMotionBlur[P.DRAG]=!1,P.motionBlur=!1,P.clearingMotionBlur=!Y,P.mbFrames=0,V[P.NODE]=!0,V[P.DRAG]=!0,P.redraw()},ypt)),g||q.emit("render")};var O3={};O3.drawPolygonPath=function(y,g,x,T,L,O){var P=T/2,$=L/2;y.beginPath&&y.beginPath(),y.moveTo(g+P*O[0],x+$*O[1]);for(var q=1;q0&&P>0){ot.clearRect(0,0,O,P),ot.globalCompositeOperation="source-over";var ht=this.getCachedZSortedEles();if(y.full)ot.translate(-T.x1*S,-T.y1*S),ot.scale(S,S),this.drawElements(ot,ht),ot.scale(1/S,1/S),ot.translate(T.x1*S,T.y1*S);else{var dt=g.pan(),Lt={x:dt.x*S,y:dt.y*S};S*=g.zoom(),ot.translate(Lt.x,Lt.y),ot.scale(S,S),this.drawElements(ot,ht),ot.scale(1/S,1/S),ot.translate(-Lt.x,-Lt.y)}y.bg&&(ot.globalCompositeOperation="destination-over",ot.fillStyle=y.bg,ot.rect(0,0,O,P),ot.fill())}return rt};function xpt(y,g){for(var x=atob(y),T=new ArrayBuffer(x.length),L=new Uint8Array(T),O=0;O"u"?"undefined":f(OffscreenCanvas))!=="undefined"?x=new OffscreenCanvas(y,g):(x=document.createElement("canvas"),x.width=y,x.height=g),x},[D0,ww,vw,CC,vx,Zk,Tg,O3,_C,$tt].forEach(function(y){de(vc,y)});var mx=[{name:"null",impl:WB},{name:"base",impl:nM},{name:"canvas",impl:kpt}],Cg=[{type:"layout",extensions:ltt},{type:"renderer",extensions:mx}],Sm={},cM={};function v1(y,g,x){var T=x,L=function(ne){Sc("Can not register `"+g+"` for `"+y+"` since `"+ne+"` already exists in the prototype and can not be overridden")};if(y==="core"){if(Vk.prototype[g])return L(g);Vk.prototype[g]=x}else if(y==="collection"){if($f.prototype[g])return L(g);$f.prototype[g]=x}else if(y==="layout"){for(var O=function(ne){this.options=ne,x.call(this,ne),ut(this._private)||(this._private={}),this._private.cy=ne.cy,this._private.listeners=[],this.createEmitter()},P=O.prototype=Object.create(x.prototype),$=[],q=0;q<$.length;q++){var S=$[q];P[S]=P[S]||function(){return this}}P.start&&!P.run?P.run=function(){return this.start(),this}:!P.start&&P.run&&(P.start=function(){return this.run(),this});var V=x.prototype.stop;P.stop=function(){var qt=this.options;if(qt&&qt.animate){var ne=this.animations;if(ne)for(var Gt=0;Gtz&&(this.rect.x-=(this.labelWidth-z)/2,this.setWidth(this.labelWidth)),this.labelHeight>W&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-W)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-W),this.setHeight(this.labelHeight))}}},B.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==b.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},B.prototype.transform=function(R){var z=this.rect.x;z>_.WORLD_BOUNDARY?z=_.WORLD_BOUNDARY:z<-_.WORLD_BOUNDARY&&(z=-_.WORLD_BOUNDARY);var W=this.rect.y;W>_.WORLD_BOUNDARY?W=_.WORLD_BOUNDARY:W<-_.WORLD_BOUNDARY&&(W=-_.WORLD_BOUNDARY);var et=new I(z,W),st=R.inverseTransformPoint(et);this.setLocation(st.x,st.y)},B.prototype.getLeft=function(){return this.rect.x},B.prototype.getRight=function(){return this.rect.x+this.rect.width},B.prototype.getTop=function(){return this.rect.y},B.prototype.getBottom=function(){return this.rect.y+this.rect.height},B.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},f.exports=B},function(f,p,w){function m(b,E){b==null&&E==null?(this.x=0,this.y=0):(this.x=b,this.y=E)}m.prototype.getX=function(){return this.x},m.prototype.getY=function(){return this.y},m.prototype.setX=function(b){this.x=b},m.prototype.setY=function(b){this.y=b},m.prototype.getDifference=function(b){return new DimensionD(this.x-b.x,this.y-b.y)},m.prototype.getCopy=function(){return new m(this.x,this.y)},m.prototype.translate=function(b){return this.x+=b.width,this.y+=b.height,this},f.exports=m},function(f,p,w){var m=w(2),b=w(10),E=w(0),_=w(6),A=w(3),I=w(1),B=w(13),N=w(12),R=w(11);function z(et,st,at){m.call(this,at),this.estimatedSize=b.MIN_VALUE,this.margin=E.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=et,st!=null&&st instanceof _?this.graphManager=st:st!=null&&st instanceof Layout&&(this.graphManager=st.graphManager)}z.prototype=Object.create(m.prototype);for(var W in m)z[W]=m[W];z.prototype.getNodes=function(){return this.nodes},z.prototype.getEdges=function(){return this.edges},z.prototype.getGraphManager=function(){return this.graphManager},z.prototype.getParent=function(){return this.parent},z.prototype.getLeft=function(){return this.left},z.prototype.getRight=function(){return this.right},z.prototype.getTop=function(){return this.top},z.prototype.getBottom=function(){return this.bottom},z.prototype.isConnected=function(){return this.isConnected},z.prototype.add=function(et,st,at){if(st==null&&at==null){var bt=et;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(bt)>-1)throw"Node already in graph!";return bt.owner=this,this.getNodes().push(bt),bt}else{var mt=et;if(!(this.getNodes().indexOf(st)>-1&&this.getNodes().indexOf(at)>-1))throw"Source or target not in graph!";if(!(st.owner==at.owner&&st.owner==this))throw"Both owners must be this graph!";return st.owner!=at.owner?null:(mt.source=st,mt.target=at,mt.isInterGraph=!1,this.getEdges().push(mt),st.edges.push(mt),at!=st&&at.edges.push(mt),mt)}},z.prototype.remove=function(et){var st=et;if(et instanceof A){if(st==null)throw"Node is null!";if(!(st.owner!=null&&st.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var at=st.edges.slice(),bt,mt=at.length,yt=0;yt-1&&vt>-1))throw"Source and/or target doesn't know this edge!";bt.source.edges.splice(ut,1),bt.target!=bt.source&&bt.target.edges.splice(vt,1);var ft=bt.source.owner.getEdges().indexOf(bt);if(ft==-1)throw"Not in owner's edge list!";bt.source.owner.getEdges().splice(ft,1)}},z.prototype.updateLeftTop=function(){for(var et=b.MAX_VALUE,st=b.MAX_VALUE,at,bt,mt,yt=this.getNodes(),ft=yt.length,ut=0;utat&&(et=at),st>bt&&(st=bt)}return et==b.MAX_VALUE?null:(yt[0].getParent().paddingLeft!=null?mt=yt[0].getParent().paddingLeft:mt=this.margin,this.left=st-mt,this.top=et-mt,new N(this.left,this.top))},z.prototype.updateBounds=function(et){for(var st=b.MAX_VALUE,at=-b.MAX_VALUE,bt=b.MAX_VALUE,mt=-b.MAX_VALUE,yt,ft,ut,vt,X,pt=this.nodes,U=pt.length,Tt=0;Ttyt&&(st=yt),atut&&(bt=ut),mtyt&&(st=yt),atut&&(bt=ut),mt=this.nodes.length){var U=0;at.forEach(function(Tt){Tt.owner==et&&U++}),U==this.nodes.length&&(this.isConnected=!0)}},f.exports=z},function(f,p,w){var m,b=w(1);function E(_){m=w(5),this.layout=_,this.graphs=[],this.edges=[]}E.prototype.addRoot=function(){var _=this.layout.newGraph(),A=this.layout.newNode(null),I=this.add(_,A);return this.setRootGraph(I),this.rootGraph},E.prototype.add=function(_,A,I,B,N){if(I==null&&B==null&&N==null){if(_==null)throw"Graph is null!";if(A==null)throw"Parent node is null!";if(this.graphs.indexOf(_)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(_),_.parent!=null)throw"Already has a parent!";if(A.child!=null)throw"Already has a child!";return _.parent=A,A.child=_,_}else{N=I,B=A,I=_;var R=B.getOwner(),z=N.getOwner();if(!(R!=null&&R.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(z!=null&&z.getGraphManager()==this))throw"Target not in this graph mgr!";if(R==z)return I.isInterGraph=!1,R.add(I,B,N);if(I.isInterGraph=!0,I.source=B,I.target=N,this.edges.indexOf(I)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(I),!(I.source!=null&&I.target!=null))throw"Edge source and/or target is null!";if(!(I.source.edges.indexOf(I)==-1&&I.target.edges.indexOf(I)==-1))throw"Edge already in source and/or target incidency list!";return I.source.edges.push(I),I.target.edges.push(I),I}},E.prototype.remove=function(_){if(_ instanceof m){var A=_;if(A.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(A==this.rootGraph||A.parent!=null&&A.parent.graphManager==this))throw"Invalid parent node!";var I=[];I=I.concat(A.getEdges());for(var B,N=I.length,R=0;R=_.getRight()?A[0]+=Math.min(_.getX()-E.getX(),E.getRight()-_.getRight()):_.getX()<=E.getX()&&_.getRight()>=E.getRight()&&(A[0]+=Math.min(E.getX()-_.getX(),_.getRight()-E.getRight())),E.getY()<=_.getY()&&E.getBottom()>=_.getBottom()?A[1]+=Math.min(_.getY()-E.getY(),E.getBottom()-_.getBottom()):_.getY()<=E.getY()&&_.getBottom()>=E.getBottom()&&(A[1]+=Math.min(E.getY()-_.getY(),_.getBottom()-E.getBottom()));var N=Math.abs((_.getCenterY()-E.getCenterY())/(_.getCenterX()-E.getCenterX()));_.getCenterY()===E.getCenterY()&&_.getCenterX()===E.getCenterX()&&(N=1);var R=N*A[0],z=A[1]/N;A[0]R)return A[0]=I,A[1]=W,A[2]=N,A[3]=pt,!1;if(BN)return A[0]=z,A[1]=B,A[2]=vt,A[3]=R,!1;if(IN?(A[0]=st,A[1]=at,It=!0):(A[0]=et,A[1]=W,It=!0):Bt===Z&&(I>N?(A[0]=z,A[1]=W,It=!0):(A[0]=bt,A[1]=at,It=!0)),-Et===Z?N>I?(A[2]=X,A[3]=pt,Ot=!0):(A[2]=vt,A[3]=ut,Ot=!0):Et===Z&&(N>I?(A[2]=ft,A[3]=ut,Ot=!0):(A[2]=U,A[3]=pt,Ot=!0)),It&&Ot)return!1;if(I>N?B>R?(Ct=this.getCardinalDirection(Bt,Z,4),xt=this.getCardinalDirection(Et,Z,2)):(Ct=this.getCardinalDirection(-Bt,Z,3),xt=this.getCardinalDirection(-Et,Z,1)):B>R?(Ct=this.getCardinalDirection(-Bt,Z,1),xt=this.getCardinalDirection(-Et,Z,3)):(Ct=this.getCardinalDirection(Bt,Z,2),xt=this.getCardinalDirection(Et,Z,4)),!It)switch(Ct){case 1:Le=W,Ht=I+-yt/Z,A[0]=Ht,A[1]=Le;break;case 2:Ht=bt,Le=B+mt*Z,A[0]=Ht,A[1]=Le;break;case 3:Le=at,Ht=I+yt/Z,A[0]=Ht,A[1]=Le;break;case 4:Ht=st,Le=B+-mt*Z,A[0]=Ht,A[1]=Le;break}if(!Ot)switch(xt){case 1:gn=ut,Ft=N+-nt/Z,A[2]=Ft,A[3]=gn;break;case 2:Ft=U,gn=R+Tt*Z,A[2]=Ft,A[3]=gn;break;case 3:gn=pt,Ft=N+nt/Z,A[2]=Ft,A[3]=gn;break;case 4:Ft=X,gn=R+-Tt*Z,A[2]=Ft,A[3]=gn;break}}return!1},b.getCardinalDirection=function(E,_,A){return E>_?A:1+A%4},b.getIntersection=function(E,_,A,I){if(I==null)return this.getIntersection2(E,_,A);var B=E.x,N=E.y,R=_.x,z=_.y,W=A.x,et=A.y,st=I.x,at=I.y,bt=void 0,mt=void 0,yt=void 0,ft=void 0,ut=void 0,vt=void 0,X=void 0,pt=void 0,U=void 0;return yt=z-N,ut=B-R,X=R*N-B*z,ft=at-et,vt=W-st,pt=st*et-W*at,U=yt*vt-ft*ut,U===0?null:(bt=(ut*pt-vt*X)/U,mt=(ft*X-yt*pt)/U,new m(bt,mt))},b.angleOfVector=function(E,_,A,I){var B=void 0;return E!==A?(B=Math.atan((I-_)/(A-E)),A0?1:b<0?-1:0},m.floor=function(b){return b<0?Math.ceil(b):Math.floor(b)},m.ceil=function(b){return b<0?Math.floor(b):Math.ceil(b)},f.exports=m},function(f,p,w){function m(){}m.MAX_VALUE=2147483647,m.MIN_VALUE=-2147483648,f.exports=m},function(f,p,w){var m=function(){function B(N,R){for(var z=0;z"u"?"undefined":m(E);return E==null||_!="object"&&_!="function"},f.exports=b},function(f,p,w){function m(W){if(Array.isArray(W)){for(var et=0,st=Array(W.length);et0&&et;){for(yt.push(ut[0]);yt.length>0&&et;){var vt=yt[0];yt.splice(0,1),mt.add(vt);for(var X=vt.getEdges(),bt=0;bt-1&&ut.splice(nt,1)}mt=new Set,ft=new Map}}return W},z.prototype.createDummyNodesForBendpoints=function(W){for(var et=[],st=W.source,at=this.graphManager.calcLowestCommonAncestor(W.source,W.target),bt=0;bt0){for(var at=this.edgeToDummyNodes.get(st),bt=0;bt=0&&et.splice(pt,1);var U=ft.getNeighborsList();U.forEach(function(It){if(st.indexOf(It)<0){var Ot=at.get(It),Bt=Ot-1;Bt==1&&vt.push(It),at.set(It,Bt)}})}st=st.concat(vt),(et.length==1||et.length==2)&&(bt=!0,mt=et[0])}return mt},z.prototype.setGraphManager=function(W){this.graphManager=W},f.exports=z},function(f,p,w){function m(){}m.seed=1,m.x=0,m.nextDouble=function(){return m.x=Math.sin(m.seed++)*1e4,m.x-Math.floor(m.x)},f.exports=m},function(f,p,w){var m=w(4);function b(E,_){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}b.prototype.getWorldOrgX=function(){return this.lworldOrgX},b.prototype.setWorldOrgX=function(E){this.lworldOrgX=E},b.prototype.getWorldOrgY=function(){return this.lworldOrgY},b.prototype.setWorldOrgY=function(E){this.lworldOrgY=E},b.prototype.getWorldExtX=function(){return this.lworldExtX},b.prototype.setWorldExtX=function(E){this.lworldExtX=E},b.prototype.getWorldExtY=function(){return this.lworldExtY},b.prototype.setWorldExtY=function(E){this.lworldExtY=E},b.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},b.prototype.setDeviceOrgX=function(E){this.ldeviceOrgX=E},b.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},b.prototype.setDeviceOrgY=function(E){this.ldeviceOrgY=E},b.prototype.getDeviceExtX=function(){return this.ldeviceExtX},b.prototype.setDeviceExtX=function(E){this.ldeviceExtX=E},b.prototype.getDeviceExtY=function(){return this.ldeviceExtY},b.prototype.setDeviceExtY=function(E){this.ldeviceExtY=E},b.prototype.transformX=function(E){var _=0,A=this.lworldExtX;return A!=0&&(_=this.ldeviceOrgX+(E-this.lworldOrgX)*this.ldeviceExtX/A),_},b.prototype.transformY=function(E){var _=0,A=this.lworldExtY;return A!=0&&(_=this.ldeviceOrgY+(E-this.lworldOrgY)*this.ldeviceExtY/A),_},b.prototype.inverseTransformX=function(E){var _=0,A=this.ldeviceExtX;return A!=0&&(_=this.lworldOrgX+(E-this.ldeviceOrgX)*this.lworldExtX/A),_},b.prototype.inverseTransformY=function(E){var _=0,A=this.ldeviceExtY;return A!=0&&(_=this.lworldOrgY+(E-this.ldeviceOrgY)*this.lworldExtY/A),_},b.prototype.inverseTransformPoint=function(E){var _=new m(this.inverseTransformX(E.x),this.inverseTransformY(E.y));return _},f.exports=b},function(f,p,w){function m(R){if(Array.isArray(R)){for(var z=0,W=Array(R.length);zE.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*E.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(R-E.ADAPTATION_LOWER_NODE_LIMIT)/(E.ADAPTATION_UPPER_NODE_LIMIT-E.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-E.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=E.MAX_NODE_DISPLACEMENT_INCREMENTAL):(R>E.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(E.COOLING_ADAPTATION_FACTOR,1-(R-E.ADAPTATION_LOWER_NODE_LIMIT)/(E.ADAPTATION_UPPER_NODE_LIMIT-E.ADAPTATION_LOWER_NODE_LIMIT)*(1-E.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=E.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},B.prototype.calcSpringForces=function(){for(var R=this.getAllEdges(),z,W=0;W0&&arguments[0]!==void 0?arguments[0]:!0,z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,W,et,st,at,bt=this.getAllNodes(),mt;if(this.useFRGridVariant)for(this.totalIterations%E.GRID_CALCULATION_CHECK_PERIOD==1&&R&&this.updateGrid(),mt=new Set,W=0;Wyt||mt>yt)&&(R.gravitationForceX=-this.gravityConstant*st,R.gravitationForceY=-this.gravityConstant*at)):(yt=z.getEstimatedSize()*this.compoundGravityRangeFactor,(bt>yt||mt>yt)&&(R.gravitationForceX=-this.gravityConstant*st*this.compoundGravityConstant,R.gravitationForceY=-this.gravityConstant*at*this.compoundGravityConstant))},B.prototype.isConverged=function(){var R,z=!1;return this.totalIterations>this.maxIterations/3&&(z=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),R=this.totalDisplacement=bt.length||yt>=bt[0].length)){for(var ft=0;ftB}}]),A}();f.exports=_},function(f,p,w){var m=function(){function _(A,I){for(var B=0;B2&&arguments[2]!==void 0?arguments[2]:1,N=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,R=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;b(this,_),this.sequence1=A,this.sequence2=I,this.match_score=B,this.mismatch_penalty=N,this.gap_penalty=R,this.iMax=A.length+1,this.jMax=I.length+1,this.grid=new Array(this.iMax);for(var z=0;z=0;A--){var I=this.listeners[A];I.event===E&&I.callback===_&&this.listeners.splice(A,1)}},b.emit=function(E,_){for(var A=0;AI.coolingFactor*I.maxNodeDisplacement&&(this.displacementX=I.coolingFactor*I.maxNodeDisplacement*E.sign(this.displacementX)),Math.abs(this.displacementY)>I.coolingFactor*I.maxNodeDisplacement&&(this.displacementY=I.coolingFactor*I.maxNodeDisplacement*E.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),I.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},_.prototype.propogateDisplacementToChildren=function(I,B){for(var N=this.getChild().getNodes(),R,z=0;z0)this.positionNodesRadially(ut);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var vt=new Set(this.getAllNodes()),X=this.nodesWithGravity.filter(function(pt){return vt.has(pt)});this.graphManager.setAllNodesToApplyGravitation(X),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},yt.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%N.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var ut=new Set(this.getAllNodes()),vt=this.nodesWithGravity.filter(function(U){return ut.has(U)});this.graphManager.setAllNodesToApplyGravitation(vt),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=N.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=N.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var X=!this.isTreeGrowing&&!this.isGrowthFinished,pt=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(X,pt),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},yt.prototype.getPositionsData=function(){for(var ut=this.graphManager.getAllNodes(),vt={},X=0;X1){var It;for(It=0;Itpt&&(pt=Math.floor(nt.y)),Tt=Math.floor(nt.x+B.DEFAULT_COMPONENT_SEPERATION)}this.transform(new W(R.WORLD_CENTER_X-nt.x/2,R.WORLD_CENTER_Y-nt.y/2))},yt.radialLayout=function(ut,vt,X){var pt=Math.max(this.maxDiagonalInTree(ut),B.DEFAULT_RADIAL_SEPARATION);yt.branchRadialLayout(vt,null,0,359,0,pt);var U=bt.calculateBounds(ut),Tt=new mt;Tt.setDeviceOrgX(U.getMinX()),Tt.setDeviceOrgY(U.getMinY()),Tt.setWorldOrgX(X.x),Tt.setWorldOrgY(X.y);for(var nt=0;nt1;){var gn=Ft[0];Ft.splice(0,1);var Se=Z.indexOf(gn);Se>=0&&Z.splice(Se,1),Ht--,Ct--}vt!=null?Le=(Z.indexOf(Ft[0])+1)%Ht:Le=0;for(var me=Math.abs(pt-X)/Ct,Ve=Le;xt!=Ct;Ve=++Ve%Ht){var Ye=Z[Ve].getOtherEnd(ut);if(Ye!=vt){var ce=(X+xt*me)%360,ke=(ce+me)%360;yt.branchRadialLayout(Ye,ut,ce,ke,U+Tt,Tt),xt++}}},yt.maxDiagonalInTree=function(ut){for(var vt=st.MIN_VALUE,X=0;Xvt&&(vt=U)}return vt},yt.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},yt.prototype.groupZeroDegreeMembers=function(){var ut=this,vt={};this.memberGroups={},this.idToDummyNode={};for(var X=[],pt=this.graphManager.getAllNodes(),U=0;U"u"&&(vt[It]=[]),vt[It]=vt[It].concat(Tt)}Object.keys(vt).forEach(function(Ot){if(vt[Ot].length>1){var Bt="DummyCompound_"+Ot;ut.memberGroups[Bt]=vt[Ot];var Et=vt[Ot][0].getParent(),Z=new A(ut.graphManager);Z.id=Bt,Z.paddingLeft=Et.paddingLeft||0,Z.paddingRight=Et.paddingRight||0,Z.paddingBottom=Et.paddingBottom||0,Z.paddingTop=Et.paddingTop||0,ut.idToDummyNode[Bt]=Z;var Ct=ut.getGraphManager().add(ut.newGraph(),Z),xt=Et.getChild();xt.add(Z);for(var Ht=0;Ht=0;ut--){var vt=this.compoundOrder[ut],X=vt.id,pt=vt.paddingLeft,U=vt.paddingTop;this.adjustLocations(this.tiledMemberPack[X],vt.rect.x,vt.rect.y,pt,U)}},yt.prototype.repopulateZeroDegreeMembers=function(){var ut=this,vt=this.tiledZeroDegreePack;Object.keys(vt).forEach(function(X){var pt=ut.idToDummyNode[X],U=pt.paddingLeft,Tt=pt.paddingTop;ut.adjustLocations(vt[X],pt.rect.x,pt.rect.y,U,Tt)})},yt.prototype.getToBeTiled=function(ut){var vt=ut.id;if(this.toBeTiled[vt]!=null)return this.toBeTiled[vt];var X=ut.getChild();if(X==null)return this.toBeTiled[vt]=!1,!1;for(var pt=X.getNodes(),U=0;U0)return this.toBeTiled[vt]=!1,!1;if(Tt.getChild()==null){this.toBeTiled[Tt.id]=!1;continue}if(!this.getToBeTiled(Tt))return this.toBeTiled[vt]=!1,!1}return this.toBeTiled[vt]=!0,!0},yt.prototype.getNodeDegree=function(ut){ut.id;for(var vt=ut.getEdges(),X=0,pt=0;ptOt&&(Ot=Et.rect.height)}X+=Ot+ut.verticalPadding}},yt.prototype.tileCompoundMembers=function(ut,vt){var X=this;this.tiledMemberPack=[],Object.keys(ut).forEach(function(pt){var U=vt[pt];X.tiledMemberPack[pt]=X.tileNodes(ut[pt],U.paddingLeft+U.paddingRight),U.rect.width=X.tiledMemberPack[pt].width,U.rect.height=X.tiledMemberPack[pt].height})},yt.prototype.tileNodes=function(ut,vt){var X=B.TILING_PADDING_VERTICAL,pt=B.TILING_PADDING_HORIZONTAL,U={rows:[],rowWidth:[],rowHeight:[],width:0,height:vt,verticalPadding:X,horizontalPadding:pt};ut.sort(function(It,Ot){return It.rect.width*It.rect.height>Ot.rect.width*Ot.rect.height?-1:It.rect.width*It.rect.height0&&(nt+=ut.horizontalPadding),ut.rowWidth[X]=nt,ut.width0&&(It+=ut.verticalPadding);var Ot=0;It>ut.rowHeight[X]&&(Ot=ut.rowHeight[X],ut.rowHeight[X]=It,Ot=ut.rowHeight[X]-Ot),ut.height+=Ot,ut.rows[X].push(vt)},yt.prototype.getShortestRowIndex=function(ut){for(var vt=-1,X=Number.MAX_VALUE,pt=0;ptX&&(vt=pt,X=ut.rowWidth[pt]);return vt},yt.prototype.canAddHorizontal=function(ut,vt,X){var pt=this.getShortestRowIndex(ut);if(pt<0)return!0;var U=ut.rowWidth[pt];if(U+ut.horizontalPadding+vt<=ut.width)return!0;var Tt=0;ut.rowHeight[pt]0&&(Tt=X+ut.verticalPadding-ut.rowHeight[pt]);var nt;ut.width-U>=vt+ut.horizontalPadding?nt=(ut.height+Tt)/(U+vt+ut.horizontalPadding):nt=(ut.height+Tt)/ut.width,Tt=X+ut.verticalPadding;var It;return ut.widthTt&&vt!=X){pt.splice(-1,1),ut.rows[X].push(U),ut.rowWidth[vt]=ut.rowWidth[vt]-Tt,ut.rowWidth[X]=ut.rowWidth[X]+Tt,ut.width=ut.rowWidth[instance.getLongestRowIndex(ut)];for(var nt=Number.MIN_VALUE,It=0;Itnt&&(nt=pt[It].height);vt>0&&(nt+=ut.verticalPadding);var Ot=ut.rowHeight[vt]+ut.rowHeight[X];ut.rowHeight[vt]=nt,ut.rowHeight[X]0)for(var xt=U;xt<=Tt;xt++)Ct[0]+=this.grid[xt][nt-1].length+this.grid[xt][nt].length-1;if(Tt0)for(var xt=nt;xt<=It;xt++)Ct[3]+=this.grid[U-1][xt].length+this.grid[U][xt].length-1;for(var Ht=st.MAX_VALUE,Le,Ft,gn=0;gn0){var It;It=mt.getGraphManager().add(mt.newGraph(),X),this.processChildrenList(It,vt,mt)}}},W.prototype.stop=function(){return this.stopped=!0,this};var st=function(bt){bt("layout","cose-bilkent",W)};typeof cytoscape<"u"&&st(cytoscape),p.exports=st}])})})(h$t);var uYe=h$t.exports;const lYe=G7(uYe);l$t.use(lYe);function g$t(i,a,f,p){c$t.drawNode(i,a,f,p),a.children&&a.children.forEach((w,m)=>{g$t(i,w,f<0?m:f,p)})}function hYe(i,a){a.edges().map((f,p)=>{const w=f.data();if(f[0]._private.bodyBounds){const m=f[0]._private.rscratch;Ut.trace("Edge: ",p,w),i.insert("path").attr("d",`M ${m.startX},${m.startY} L ${m.midX},${m.midY} L${m.endX},${m.endY} `).attr("class","edge section-edge-"+w.section+" edge-depth-"+w.depth)}})}function p$t(i,a,f,p){a.add({group:"nodes",data:{id:i.id,labelText:i.descr,height:i.height,width:i.width,level:p,nodeId:i.id,padding:i.padding,type:i.type},position:{x:i.x,y:i.y}}),i.children&&i.children.forEach(w=>{p$t(w,a,f,p+1),a.add({group:"edges",data:{id:`${i.id}_${w.id}`,source:i.id,target:w.id,depth:p,section:w.section}})})}function fYe(i,a){return new Promise(f=>{const p=yr("body").append("div").attr("id","cy").attr("style","display:none"),w=l$t({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});p.remove(),p$t(i,w,a,0),w.nodes().forEach(function(m){m.layoutDimensions=()=>{const b=m.data();return{w:b.width,h:b.height}}}),w.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),w.ready(m=>{Ut.info("Ready",m),f(w)})})}function dYe(i){i.nodes().map((a,f)=>{const p=a.data();p.x=a.position().x,p.y=a.position().y,c$t.positionNode(p);const w=Jgt(p.nodeId);Ut.info("Id:",f,"Position: (",a.position().x,", ",a.position().y,")",p),w.attr("transform",`translate(${a.position().x-p.width/2}, ${a.position().y-p.height/2})`),w.attr("attr",`apa-${f})`)})}const gYe={draw:async(i,a,f,p)=>{const w=Oe();w.htmlLabels=!1,Ut.debug(`Rendering mindmap diagram +`+i,p.parser);const m=Oe().securityLevel;let b;m==="sandbox"&&(b=yr("#i"+a));const _=yr(m==="sandbox"?b.nodes()[0].contentDocument.body:"body").select("#"+a);_.append("g");const A=p.db.getMindmap(),I=_.append("g");I.attr("class","mindmap-edges");const B=_.append("g");B.attr("class","mindmap-nodes"),g$t(B,A,-1,w);const N=await fYe(A,w);hYe(I,N),dYe(N),fT(void 0,_,w.mindmap.padding,w.mindmap.useMaxWidth)}},pYe=i=>{let a="";for(let f=0;f` + .edge { + stroke-width: 3; + } + ${pYe(i)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${i.git0}; + } + .section-root text { + fill: ${i.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .mindmap-node-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } +`}},Symbol.toStringTag,{value:"Module"}));var npt=function(){var i=function(E,_,A,I){for(A=A||{},I=E.length;I--;A[E[I]]=_);return A},a=[1,9],f=[1,10],p=[1,5,10,12],w={trace:function(){},yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:function(_,A,I,B,N,R,z){var W=R.length-1;switch(N){case 7:const et=B.findOrCreateNode(R[W-4].trim().replaceAll('""','"')),st=B.findOrCreateNode(R[W-2].trim().replaceAll('""','"')),at=parseFloat(R[W].trim());B.addLink(et,st,at);break;case 8:case 9:case 11:this.$=R[W];break;case 10:this.$=R[W-1];break}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:a,20:f},{1:[2,6],7:11,10:[1,12]},i(f,[2,4],{9:13,5:[1,14]}),{12:[1,15]},i(p,[2,8]),i(p,[2,9]),{19:[1,16]},i(p,[2,11]),{1:[2,1]},{1:[2,5]},i(f,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:a,20:f},{15:18,16:7,17:8,18:a,20:f},{18:[1,19]},i(f,[2,3]),{12:[1,20]},i(p,[2,10]),{15:21,16:7,17:8,18:a,20:f},i([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(_,A){if(A.recoverable)this.trace(_);else{var I=new Error(_);throw I.hash=A,I}},parse:function(_){var A=this,I=[0],B=[],N=[null],R=[],z=this.table,W="",et=0,st=0,at=2,bt=1,mt=R.slice.call(arguments,1),yt=Object.create(this.lexer),ft={yy:{}};for(var ut in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ut)&&(ft.yy[ut]=this.yy[ut]);yt.setInput(_,ft.yy),ft.yy.lexer=yt,ft.yy.parser=this,typeof yt.yylloc>"u"&&(yt.yylloc={});var vt=yt.yylloc;R.push(vt);var X=yt.options&&yt.options.ranges;typeof ft.yy.parseError=="function"?this.parseError=ft.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pt(){var Ht;return Ht=B.pop()||yt.lex()||bt,typeof Ht!="number"&&(Ht instanceof Array&&(B=Ht,Ht=B.pop()),Ht=A.symbols_[Ht]||Ht),Ht}for(var U,Tt,nt,It,Ot={},Bt,Et,Z,Ct;;){if(Tt=I[I.length-1],this.defaultActions[Tt]?nt=this.defaultActions[Tt]:((U===null||typeof U>"u")&&(U=pt()),nt=z[Tt]&&z[Tt][U]),typeof nt>"u"||!nt.length||!nt[0]){var xt="";Ct=[];for(Bt in z[Tt])this.terminals_[Bt]&&Bt>at&&Ct.push("'"+this.terminals_[Bt]+"'");yt.showPosition?xt="Parse error on line "+(et+1)+`: +`+yt.showPosition()+` +Expecting `+Ct.join(", ")+", got '"+(this.terminals_[U]||U)+"'":xt="Parse error on line "+(et+1)+": Unexpected "+(U==bt?"end of input":"'"+(this.terminals_[U]||U)+"'"),this.parseError(xt,{text:yt.match,token:this.terminals_[U]||U,line:yt.yylineno,loc:vt,expected:Ct})}if(nt[0]instanceof Array&&nt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Tt+", token: "+U);switch(nt[0]){case 1:I.push(U),N.push(yt.yytext),R.push(yt.yylloc),I.push(nt[1]),U=null,st=yt.yyleng,W=yt.yytext,et=yt.yylineno,vt=yt.yylloc;break;case 2:if(Et=this.productions_[nt[1]][1],Ot.$=N[N.length-Et],Ot._$={first_line:R[R.length-(Et||1)].first_line,last_line:R[R.length-1].last_line,first_column:R[R.length-(Et||1)].first_column,last_column:R[R.length-1].last_column},X&&(Ot._$.range=[R[R.length-(Et||1)].range[0],R[R.length-1].range[1]]),It=this.performAction.apply(Ot,[W,st,et,ft.yy,nt[1],N,R].concat(mt)),typeof It<"u")return It;Et&&(I=I.slice(0,-1*Et*2),N=N.slice(0,-1*Et),R=R.slice(0,-1*Et)),I.push(this.productions_[nt[1]][0]),N.push(Ot.$),R.push(Ot._$),Z=z[I[I.length-2]][I[I.length-1]],I.push(Z);break;case 3:return!0}}return!0}},m=function(){var E={EOF:1,parseError:function(A,I){if(this.yy.parser)this.yy.parser.parseError(A,I);else throw new Error(A)},setInput:function(_,A){return this.yy=A||this.yy||{},this._input=_,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var A=_.match(/(?:\r\n?|\n).*/g);return A?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_},unput:function(_){var A=_.length,I=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-A),this.offset-=A;var B=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),I.length-1&&(this.yylineno-=I.length-1);var N=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:I?(I.length===B.length?this.yylloc.first_column:0)+B[B.length-I.length].length-I[0].length:this.yylloc.first_column-A},this.options.ranges&&(this.yylloc.range=[N[0],N[0]+this.yyleng-A]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(_){this.unput(this.match.slice(_))},pastInput:function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var _=this.pastInput(),A=new Array(_.length+1).join("-");return _+this.upcomingInput()+` +`+A+"^"},test_match:function(_,A){var I,B,N;if(this.options.backtrack_lexer&&(N={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(N.yylloc.range=this.yylloc.range.slice(0))),B=_[0].match(/(?:\r\n?|\n).*/g),B&&(this.yylineno+=B.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:B?B[B.length-1].length-B[B.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_[0].length},this.yytext+=_[0],this.match+=_[0],this.matches=_,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_[0].length),this.matched+=_[0],I=this.performAction.call(this,this.yy,this,A,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),I)return I;if(this._backtrack){for(var R in N)this[R]=N[R];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _,A,I,B;this._more||(this.yytext="",this.match="");for(var N=this._currentRules(),R=0;RA[0].length)){if(A=I,B=R,this.options.backtrack_lexer){if(_=this.test_match(I,N[R]),_!==!1)return _;if(this._backtrack){A=!1;continue}else return!1}else if(!this.options.flex)break}return A?(_=this.test_match(A,N[B]),_!==!1?_:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var A=this.next();return A||this.lex()},begin:function(A){this.conditionStack.push(A)},popState:function(){var A=this.conditionStack.length-1;return A>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(A){return A=this.conditionStack.length-1-Math.abs(A||0),A>=0?this.conditionStack[A]:"INITIAL"},pushState:function(A){this.begin(A)},stateStackSize:function(){return this.conditionStack.length},options:{easy_keword_rules:!0},performAction:function(A,I,B,N){switch(B){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},rules:[/^(?:sankey-beta\b)/,/^(?:$)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:(\u002C))/,/^(?:(\u0022))/,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/,/^(?:(\u0022)(?!(\u0022)))/,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return E}();w.lexer=m;function b(){this.yy={}}return b.prototype=w,w.Parser=b,new b}();npt.parser=npt;const rK=npt;let iK=[],sK=[],kL={};const wYe=()=>{iK=[],sK=[],kL={},hg()};class vYe{constructor(a,f,p=0){this.source=a,this.target=f,this.value=p}}const mYe=(i,a,f)=>{iK.push(new vYe(i,a,f))};class yYe{constructor(a){this.ID=a}}const xYe={nodesMap:kL,getConfig:()=>Oe().sankey,getNodes:()=>sK,getLinks:()=>iK,getGraph:()=>({nodes:sK.map(i=>({id:i.ID})),links:iK.map(i=>({source:i.source.ID,target:i.target.ID,value:i.value}))}),addLink:mYe,findOrCreateNode:i=>(i=Kr.sanitizeText(i,Oe()),kL[i]||(kL[i]=new yYe(i),sK.push(kL[i])),kL[i]),getAccTitle:fg,setAccTitle:E0,getAccDescription:gg,setAccDescription:dg,getDiagramTitle:pg,setDiagramTitle:Nb,clear:wYe};function b$t(i,a){let f;if(a===void 0)for(const p of i)p!=null&&(f=p)&&(f=p);else{let p=-1;for(let w of i)(w=a(w,++p,i))!=null&&(f=w)&&(f=w)}return f}function w$t(i,a){let f;if(a===void 0)for(const p of i)p!=null&&(f>p||f===void 0&&p>=p)&&(f=p);else{let p=-1;for(let w of i)(w=a(w,++p,i))!=null&&(f>w||f===void 0&&w>=w)&&(f=w)}return f}function rpt(i,a){let f=0;if(a===void 0)for(let p of i)(p=+p)&&(f+=p);else{let p=-1;for(let w of i)(w=+a(w,++p,i))&&(f+=w)}return f}function kYe(i){return i.target.depth}function EYe(i){return i.depth}function TYe(i,a){return a-1-i.height}function v$t(i,a){return i.sourceLinks.length?i.depth:a-1}function CYe(i){return i.targetLinks.length?i.depth:i.sourceLinks.length?w$t(i.sourceLinks,kYe)-1:0}function aK(i){return function(){return i}}function m$t(i,a){return oK(i.source,a.source)||i.index-a.index}function y$t(i,a){return oK(i.target,a.target)||i.index-a.index}function oK(i,a){return i.y0-a.y0}function ipt(i){return i.value}function _Ye(i){return i.index}function SYe(i){return i.nodes}function AYe(i){return i.links}function x$t(i,a){const f=i.get(a);if(!f)throw new Error("missing: "+a);return f}function k$t({nodes:i}){for(const a of i){let f=a.y0,p=f;for(const w of a.sourceLinks)w.y0=f+w.width/2,f+=w.width;for(const w of a.targetLinks)w.y1=p+w.width/2,p+=w.width}}function LYe(){let i=0,a=0,f=1,p=1,w=24,m=8,b,E=_Ye,_=v$t,A,I,B=SYe,N=AYe,R=6;function z(){const Ot={nodes:B.apply(null,arguments),links:N.apply(null,arguments)};return W(Ot),et(Ot),st(Ot),at(Ot),yt(Ot),k$t(Ot),Ot}z.update=function(Ot){return k$t(Ot),Ot},z.nodeId=function(Ot){return arguments.length?(E=typeof Ot=="function"?Ot:aK(Ot),z):E},z.nodeAlign=function(Ot){return arguments.length?(_=typeof Ot=="function"?Ot:aK(Ot),z):_},z.nodeSort=function(Ot){return arguments.length?(A=Ot,z):A},z.nodeWidth=function(Ot){return arguments.length?(w=+Ot,z):w},z.nodePadding=function(Ot){return arguments.length?(m=b=+Ot,z):m},z.nodes=function(Ot){return arguments.length?(B=typeof Ot=="function"?Ot:aK(Ot),z):B},z.links=function(Ot){return arguments.length?(N=typeof Ot=="function"?Ot:aK(Ot),z):N},z.linkSort=function(Ot){return arguments.length?(I=Ot,z):I},z.size=function(Ot){return arguments.length?(i=a=0,f=+Ot[0],p=+Ot[1],z):[f-i,p-a]},z.extent=function(Ot){return arguments.length?(i=+Ot[0][0],f=+Ot[1][0],a=+Ot[0][1],p=+Ot[1][1],z):[[i,a],[f,p]]},z.iterations=function(Ot){return arguments.length?(R=+Ot,z):R};function W({nodes:Ot,links:Bt}){for(const[Z,Ct]of Ot.entries())Ct.index=Z,Ct.sourceLinks=[],Ct.targetLinks=[];const Et=new Map(Ot.map((Z,Ct)=>[E(Z,Ct,Ot),Z]));for(const[Z,Ct]of Bt.entries()){Ct.index=Z;let{source:xt,target:Ht}=Ct;typeof xt!="object"&&(xt=Ct.source=x$t(Et,xt)),typeof Ht!="object"&&(Ht=Ct.target=x$t(Et,Ht)),xt.sourceLinks.push(Ct),Ht.targetLinks.push(Ct)}if(I!=null)for(const{sourceLinks:Z,targetLinks:Ct}of Ot)Z.sort(I),Ct.sort(I)}function et({nodes:Ot}){for(const Bt of Ot)Bt.value=Bt.fixedValue===void 0?Math.max(rpt(Bt.sourceLinks,ipt),rpt(Bt.targetLinks,ipt)):Bt.fixedValue}function st({nodes:Ot}){const Bt=Ot.length;let Et=new Set(Ot),Z=new Set,Ct=0;for(;Et.size;){for(const xt of Et){xt.depth=Ct;for(const{target:Ht}of xt.sourceLinks)Z.add(Ht)}if(++Ct>Bt)throw new Error("circular link");Et=Z,Z=new Set}}function at({nodes:Ot}){const Bt=Ot.length;let Et=new Set(Ot),Z=new Set,Ct=0;for(;Et.size;){for(const xt of Et){xt.height=Ct;for(const{source:Ht}of xt.targetLinks)Z.add(Ht)}if(++Ct>Bt)throw new Error("circular link");Et=Z,Z=new Set}}function bt({nodes:Ot}){const Bt=b$t(Ot,Ct=>Ct.depth)+1,Et=(f-i-w)/(Bt-1),Z=new Array(Bt);for(const Ct of Ot){const xt=Math.max(0,Math.min(Bt-1,Math.floor(_.call(null,Ct,Bt))));Ct.layer=xt,Ct.x0=i+xt*Et,Ct.x1=Ct.x0+w,Z[xt]?Z[xt].push(Ct):Z[xt]=[Ct]}if(A)for(const Ct of Z)Ct.sort(A);return Z}function mt(Ot){const Bt=w$t(Ot,Et=>(p-a-(Et.length-1)*b)/rpt(Et,ipt));for(const Et of Ot){let Z=a;for(const Ct of Et){Ct.y0=Z,Ct.y1=Z+Ct.value*Bt,Z=Ct.y1+b;for(const xt of Ct.sourceLinks)xt.width=xt.value*Bt}Z=(p-Z+b)/(Et.length+1);for(let Ct=0;CtEt.length)-1)),mt(Bt);for(let Et=0;Et0))continue;let gn=(Le/Ft-Ht.y0)*Bt;Ht.y0+=gn,Ht.y1+=gn,U(Ht)}A===void 0&&xt.sort(oK),vt(xt,Et)}}function ut(Ot,Bt,Et){for(let Z=Ot.length,Ct=Z-2;Ct>=0;--Ct){const xt=Ot[Ct];for(const Ht of xt){let Le=0,Ft=0;for(const{target:Se,value:me}of Ht.sourceLinks){let Ve=me*(Se.layer-Ht.layer);Le+=It(Ht,Se)*Ve,Ft+=Ve}if(!(Ft>0))continue;let gn=(Le/Ft-Ht.y0)*Bt;Ht.y0+=gn,Ht.y1+=gn,U(Ht)}A===void 0&&xt.sort(oK),vt(xt,Et)}}function vt(Ot,Bt){const Et=Ot.length>>1,Z=Ot[Et];pt(Ot,Z.y0-b,Et-1,Bt),X(Ot,Z.y1+b,Et+1,Bt),pt(Ot,p,Ot.length-1,Bt),X(Ot,a,0,Bt)}function X(Ot,Bt,Et,Z){for(;Et1e-6&&(Ct.y0+=xt,Ct.y1+=xt),Bt=Ct.y1+b}}function pt(Ot,Bt,Et,Z){for(;Et>=0;--Et){const Ct=Ot[Et],xt=(Ct.y1-Bt)*Z;xt>1e-6&&(Ct.y0-=xt,Ct.y1-=xt),Bt=Ct.y0-b}}function U({sourceLinks:Ot,targetLinks:Bt}){if(I===void 0){for(const{source:{sourceLinks:Et}}of Bt)Et.sort(y$t);for(const{target:{targetLinks:Et}}of Ot)Et.sort(m$t)}}function Tt(Ot){if(I===void 0)for(const{sourceLinks:Bt,targetLinks:Et}of Ot)Bt.sort(y$t),Et.sort(m$t)}function nt(Ot,Bt){let Et=Ot.y0-(Ot.sourceLinks.length-1)*b/2;for(const{target:Z,width:Ct}of Ot.sourceLinks){if(Z===Bt)break;Et+=Ct+b}for(const{source:Z,width:Ct}of Bt.targetLinks){if(Z===Ot)break;Et-=Ct}return Et}function It(Ot,Bt){let Et=Bt.y0-(Bt.targetLinks.length-1)*b/2;for(const{source:Z,width:Ct}of Bt.targetLinks){if(Z===Ot)break;Et+=Ct+b}for(const{target:Z,width:Ct}of Ot.sourceLinks){if(Z===Bt)break;Et-=Ct}return Et}return z}var spt=Math.PI,apt=2*spt,OT=1e-6,MYe=apt-OT;function opt(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function E$t(){return new opt}opt.prototype=E$t.prototype={constructor:opt,moveTo:function(i,a){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+a)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(i,a){this._+="L"+(this._x1=+i)+","+(this._y1=+a)},quadraticCurveTo:function(i,a,f,p){this._+="Q"+ +i+","+ +a+","+(this._x1=+f)+","+(this._y1=+p)},bezierCurveTo:function(i,a,f,p,w,m){this._+="C"+ +i+","+ +a+","+ +f+","+ +p+","+(this._x1=+w)+","+(this._y1=+m)},arcTo:function(i,a,f,p,w){i=+i,a=+a,f=+f,p=+p,w=+w;var m=this._x1,b=this._y1,E=f-i,_=p-a,A=m-i,I=b-a,B=A*A+I*I;if(w<0)throw new Error("negative radius: "+w);if(this._x1===null)this._+="M"+(this._x1=i)+","+(this._y1=a);else if(B>OT)if(!(Math.abs(I*E-_*A)>OT)||!w)this._+="L"+(this._x1=i)+","+(this._y1=a);else{var N=f-m,R=p-b,z=E*E+_*_,W=N*N+R*R,et=Math.sqrt(z),st=Math.sqrt(B),at=w*Math.tan((spt-Math.acos((z+B-W)/(2*et*st)))/2),bt=at/st,mt=at/et;Math.abs(bt-1)>OT&&(this._+="L"+(i+bt*A)+","+(a+bt*I)),this._+="A"+w+","+w+",0,0,"+ +(I*N>A*R)+","+(this._x1=i+mt*E)+","+(this._y1=a+mt*_)}},arc:function(i,a,f,p,w,m){i=+i,a=+a,f=+f,m=!!m;var b=f*Math.cos(p),E=f*Math.sin(p),_=i+b,A=a+E,I=1^m,B=m?p-w:w-p;if(f<0)throw new Error("negative radius: "+f);this._x1===null?this._+="M"+_+","+A:(Math.abs(this._x1-_)>OT||Math.abs(this._y1-A)>OT)&&(this._+="L"+_+","+A),f&&(B<0&&(B=B%apt+apt),B>MYe?this._+="A"+f+","+f+",0,1,"+I+","+(i-b)+","+(a-E)+"A"+f+","+f+",0,1,"+I+","+(this._x1=_)+","+(this._y1=A):B>OT&&(this._+="A"+f+","+f+",0,"+ +(B>=spt)+","+I+","+(this._x1=i+f*Math.cos(w))+","+(this._y1=a+f*Math.sin(w))))},rect:function(i,a,f,p){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+a)+"h"+ +f+"v"+ +p+"h"+-f+"Z"},toString:function(){return this._}};function T$t(i){return function(){return i}}function DYe(i){return i[0]}function IYe(i){return i[1]}var OYe=Array.prototype.slice;function PYe(i){return i.source}function FYe(i){return i.target}function NYe(i){var a=PYe,f=FYe,p=DYe,w=IYe,m=null;function b(){var E,_=OYe.call(arguments),A=a.apply(this,_),I=f.apply(this,_);if(m||(m=E=E$t()),i(m,+p.apply(this,(_[0]=A,_)),+w.apply(this,_),+p.apply(this,(_[0]=I,_)),+w.apply(this,_)),E)return m=null,E+""||null}return b.source=function(E){return arguments.length?(a=E,b):a},b.target=function(E){return arguments.length?(f=E,b):f},b.x=function(E){return arguments.length?(p=typeof E=="function"?E:T$t(+E),b):p},b.y=function(E){return arguments.length?(w=typeof E=="function"?E:T$t(+E),b):w},b.context=function(E){return arguments.length?(m=E??null,b):m},b}function BYe(i,a,f,p,w){i.moveTo(a,f),i.bezierCurveTo(a=(a+p)/2,f,a,w,p,w)}function RYe(){return NYe(BYe)}function jYe(i){return[i.source.x1,i.y0]}function $Ye(i){return[i.target.x0,i.y1]}function zYe(){return RYe().source(jYe).target($Ye)}const C$t=class RLt{static next(a){return new RLt(a+ ++RLt.count)}constructor(a){this.id=a,this.href=`#${a}`}toString(){return"url("+this.href+")"}};C$t.count=0;let _$t=C$t;const qYe={left:EYe,right:TYe,center:CYe,justify:v$t},HYe={draw:function(i,a,f,p){const{securityLevel:w,sankey:m}=Oe(),b=SOt.sankey;let E;w==="sandbox"&&(E=yr("#i"+a));const _=yr(w==="sandbox"?E.nodes()[0].contentDocument.body:"body"),A=w==="sandbox"?_.select(`[id="${a}"]`):yr(`[id="${a}"]`),I=(m==null?void 0:m.width)??b.width,B=(m==null?void 0:m.height)??b.width,N=(m==null?void 0:m.useMaxWidth)??b.useMaxWidth,R=(m==null?void 0:m.nodeAlignment)??b.nodeAlignment,z=(m==null?void 0:m.prefix)??b.prefix,W=(m==null?void 0:m.suffix)??b.suffix,et=(m==null?void 0:m.showValues)??b.showValues;k0(A,B,I,N);const st=p.db.getGraph(),at=qYe[R],bt=10;LYe().nodeId(pt=>pt.id).nodeWidth(bt).nodePadding(10+(et?15:0)).nodeAlign(at).extent([[0,0],[I,B]])(st);const yt=XU(X7e);A.append("g").attr("class","nodes").selectAll(".node").data(st.nodes).join("g").attr("class","node").attr("id",pt=>(pt.uid=_$t.next("node-")).id).attr("transform",function(pt){return"translate("+pt.x0+","+pt.y0+")"}).attr("x",pt=>pt.x0).attr("y",pt=>pt.y0).append("rect").attr("height",pt=>pt.y1-pt.y0).attr("width",pt=>pt.x1-pt.x0).attr("fill",pt=>yt(pt.id));const ft=({id:pt,value:U})=>et?`${pt} +${z}${Math.round(U*100)/100}${W}`:pt;A.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(st.nodes).join("text").attr("x",pt=>pt.x0(pt.y1+pt.y0)/2).attr("dy",`${et?"0":"0.35"}em`).attr("text-anchor",pt=>pt.x0(U.uid=_$t.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",U=>U.source.x1).attr("x2",U=>U.target.x0);pt.append("stop").attr("offset","0%").attr("stop-color",U=>yt(U.source.id)),pt.append("stop").attr("offset","100%").attr("stop-color",U=>yt(U.target.id))}let X;switch(vt){case"gradient":X=pt=>pt.uid;break;case"source":X=pt=>yt(pt.source.id);break;case"target":X=pt=>yt(pt.target.id);break;default:X=vt}ut.append("path").attr("d",zYe()).attr("stroke",X).attr("stroke-width",pt=>Math.max(1,pt.width))}},VYe=i=>i.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),GYe=rK.parse.bind(rK);rK.parse=i=>GYe(VYe(i));const UYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:rK,db:xYe,renderer:HYe}},Symbol.toStringTag,{value:"Module"}));return Bb}); diff --git a/dist2/js/pagefind-search.js b/dist2/js/pagefind-search.js new file mode 100644 index 0000000..9e2a7e1 --- /dev/null +++ b/dist2/js/pagefind-search.js @@ -0,0 +1,234 @@ +/** + * Pagefind Search Wrapper + * Provides a clean API for interacting with Pagefind search functionality + */ + +class PagefindSearch { + constructor(options = {}) { + this.options = { + bundlePath: '/pagefind/', + baseUrl: '/', + debounceDelay: 300, + minQueryLength: 2, + maxResults: 20, + ...options + }; + + this.pagefind = null; + this.debounceTimer = null; + this.isInitialized = false; + this.searchHistory = this.loadSearchHistory(); + } + + /** + * Initialize Pagefind + */ + async init() { + if (this.isInitialized) return; + + try { + this.pagefind = await import(`${this.options.bundlePath}pagefind.js`); + await this.pagefind.options({ + bundlePath: this.options.bundlePath, + baseUrl: this.options.baseUrl + }); + await this.pagefind.init(); + this.isInitialized = true; + console.log('Pagefind initialized successfully'); + } catch (error) { + console.error('Failed to initialize Pagefind:', error); + throw new Error(`Pagefind initialization failed: ${error.message}`); + } + } + + /** + * Perform search with debouncing + */ + async search(query, callback) { + if (!query || query.length < this.options.minQueryLength) { + callback([]); + return; + } + + // Clear previous debounce timer + if (this.debounceTimer) { + clearTimeout(this.debounceTimer); + } + + // Debounce search + this.debounceTimer = setTimeout(async () => { + try { + const results = await this.performSearch(query); + this.addToSearchHistory(query); + callback(results); + } catch (error) { + console.error('Search failed:', error); + callback([], error); + } + }, this.options.debounceDelay); + } + + /** + * Perform immediate search without debouncing + */ + async performSearch(query) { + if (!this.isInitialized) { + await this.init(); + } + + // Preload for better performance + await this.pagefind.preload(query); + + const searchResult = await this.pagefind.search(query); + const results = await Promise.all( + searchResult.results + .slice(0, this.options.maxResults) + .map(async (result) => { + const data = await result.data(); + return { + url: data.url, + title: data.meta.title || 'Untitled', + excerpt: data.excerpt, + content: data.content, + score: result.score, + subResults: data.sub_results || [] + }; + }) + ); + + return { + query, + results, + totalResults: searchResult.results.length, + unfilteredResultCount: searchResult.unfilteredResultCount + }; + } + + /** + * Handle URL parameters for search + */ + handleUrlParams() { + const urlParams = new URLSearchParams(window.location.search); + const searchQuery = urlParams.get('q'); + + if (searchQuery) { + return decodeURIComponent(searchQuery); + } + + return null; + } + + /** + * Update URL with search query + */ + updateUrl(query) { + const url = new URL(window.location); + if (query && query.trim()) { + url.searchParams.set('q', encodeURIComponent(query.trim())); + } else { + url.searchParams.delete('q'); + } + + // Update URL without page reload + window.history.replaceState({}, '', url.toString()); + } + + /** + * Load search history from localStorage + */ + loadSearchHistory() { + try { + const history = localStorage.getItem('pagefind-search-history'); + return history ? JSON.parse(history) : []; + } catch (error) { + console.warn('Failed to load search history:', error); + return []; + } + } + + /** + * Save search history to localStorage + */ + saveSearchHistory() { + try { + localStorage.setItem('pagefind-search-history', JSON.stringify(this.searchHistory)); + } catch (error) { + console.warn('Failed to save search history:', error); + } + } + + /** + * Add query to search history + */ + addToSearchHistory(query) { + if (!query || query.length < this.options.minQueryLength) return; + + // Remove duplicates and add to beginning + this.searchHistory = this.searchHistory.filter(item => item !== query); + this.searchHistory.unshift(query); + + // Limit history size + if (this.searchHistory.length > 10) { + this.searchHistory = this.searchHistory.slice(0, 10); + } + + this.saveSearchHistory(); + } + + /** + * Get search history + */ + getSearchHistory() { + return [...this.searchHistory]; + } + + /** + * Clear search history + */ + clearSearchHistory() { + this.searchHistory = []; + this.saveSearchHistory(); + } + + /** + * Highlight search terms in text + */ + highlightTerms(text, query) { + if (!query || !text) return text; + + const terms = query.toLowerCase().split(/\s+/).filter(term => term.length > 1); + let highlightedText = text; + + terms.forEach(term => { + const regex = new RegExp(`(${this.escapeRegex(term)})`, 'gi'); + highlightedText = highlightedText.replace(regex, '$1'); + }); + + return highlightedText; + } + + /** + * Escape special regex characters + */ + escapeRegex(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + } + + /** + * Destroy the search instance + */ + destroy() { + if (this.debounceTimer) { + clearTimeout(this.debounceTimer); + } + this.pagefind = null; + this.isInitialized = false; + } +} + +// Export for use in modules or make available globally +if (typeof module !== 'undefined' && module.exports) { + module.exports = PagefindSearch; +} else { + window.PagefindSearch = PagefindSearch; +} \ No newline at end of file diff --git a/dist2/js/search-init.js b/dist2/js/search-init.js new file mode 100644 index 0000000..e0dd90f --- /dev/null +++ b/dist2/js/search-init.js @@ -0,0 +1,100 @@ +/** + * Search Initialization Script + * Connects the header search input with the search modal + */ + +document.addEventListener('DOMContentLoaded', () => { + const headerSearchInput = document.getElementById('header-search-input'); + const searchModal = document.querySelector('search-modal'); + + if (!headerSearchInput || !searchModal) { + console.warn('Search components not found'); + return; + } + + // Handle header search input + headerSearchInput.addEventListener('focus', () => { + // Open search modal when header input is focused + searchModal.open(); + }); + + headerSearchInput.addEventListener('click', () => { + // Also open on click + searchModal.open(); + }); + + // Handle header search input value + headerSearchInput.addEventListener('input', (e) => { + const query = e.target.value; + if (query.trim()) { + searchModal.triggerSearch(query); + } + }); + + // Prevent header input from actually being used for typing + // since we're using the modal input instead + headerSearchInput.addEventListener('keydown', (e) => { + if (e.key !== 'Tab' && e.key !== 'Escape') { + e.preventDefault(); + searchModal.open(); + + // If it's a printable character, pass it to the modal + if (e.key.length === 1) { + setTimeout(() => { + const modalInput = searchModal.querySelector('.search-input'); + if (modalInput) { + modalInput.value = e.key; + modalInput.focus(); + // Trigger search + modalInput.dispatchEvent(new Event('input', { bubbles: true })); + } + }, 0); + } + } + }); + + // Clear header input when modal closes + searchModal.addEventListener('close', () => { + headerSearchInput.value = ''; + }); + + // Handle URL parameters on page load + const urlParams = new URLSearchParams(window.location.search); + const searchQuery = urlParams.get('q'); + + if (searchQuery) { + // Show the search query in header input (for display only) + headerSearchInput.value = decodeURIComponent(searchQuery); + + // Open search modal with the query + setTimeout(() => { + searchModal.triggerSearch(searchQuery); + }, 100); + } +}); + +// Global keyboard shortcut handling +document.addEventListener('keydown', (e) => { + // Don't interfere if user is typing in an input + if (e.target.tagName === 'INPUT' || e.target.tagName === 'TEXTAREA' || e.target.isContentEditable) { + return; + } + + // Open search with '/' key + if (e.key === '/') { + e.preventDefault(); + const searchModal = document.querySelector('search-modal'); + if (searchModal) { + searchModal.open(); + } + } + + // Open search with Cmd/Ctrl + K + if ((e.metaKey || e.ctrlKey) && e.key === 'k') { + e.preventDefault(); + const searchModal = document.querySelector('search-modal'); + if (searchModal) { + searchModal.open(); + } + } +}); \ No newline at end of file diff --git a/dist2/pagefind/fragment/unknown_1769b1c.pf_fragment b/dist2/pagefind/fragment/unknown_1769b1c.pf_fragment new file mode 100644 index 0000000..2bfeeec Binary files /dev/null and b/dist2/pagefind/fragment/unknown_1769b1c.pf_fragment differ diff --git a/dist2/pagefind/fragment/unknown_572c37b.pf_fragment b/dist2/pagefind/fragment/unknown_572c37b.pf_fragment new file mode 100644 index 0000000..8fe252c Binary files /dev/null and b/dist2/pagefind/fragment/unknown_572c37b.pf_fragment differ diff --git a/dist2/pagefind/fragment/unknown_b8dc67c.pf_fragment b/dist2/pagefind/fragment/unknown_b8dc67c.pf_fragment new file mode 100644 index 0000000..cca30e5 Binary files /dev/null and b/dist2/pagefind/fragment/unknown_b8dc67c.pf_fragment differ diff --git a/dist2/pagefind/fragment/unknown_e9b342c.pf_fragment b/dist2/pagefind/fragment/unknown_e9b342c.pf_fragment new file mode 100644 index 0000000..3fb7407 Binary files /dev/null and b/dist2/pagefind/fragment/unknown_e9b342c.pf_fragment differ diff --git a/dist2/pagefind/index/unknown_8ac62c4.pf_index b/dist2/pagefind/index/unknown_8ac62c4.pf_index new file mode 100644 index 0000000..22d878e Binary files /dev/null and b/dist2/pagefind/index/unknown_8ac62c4.pf_index differ diff --git a/dist2/pagefind/pagefind-entry.json b/dist2/pagefind/pagefind-entry.json new file mode 100644 index 0000000..0807967 --- /dev/null +++ b/dist2/pagefind/pagefind-entry.json @@ -0,0 +1 @@ +{"version":"1.2.0","languages":{"unknown":{"hash":"unknown_411b1da4e9a9bb4","wasm":null,"page_count":4}}} \ No newline at end of file diff --git a/dist2/pagefind/pagefind-highlight.js b/dist2/pagefind/pagefind-highlight.js new file mode 100644 index 0000000..c823fbf --- /dev/null +++ b/dist2/pagefind/pagefind-highlight.js @@ -0,0 +1,1069 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); + +// node_modules/mark.js/dist/mark.js +var require_mark = __commonJS({ + "node_modules/mark.js/dist/mark.js"(exports, module) { + (function(global, factory) { + typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : global.Mark = factory(); + })(exports, function() { + "use strict"; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function(obj) { + return typeof obj; + } : function(obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + var classCallCheck = function(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + }; + var createClass = function() { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) + descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + return function(Constructor, protoProps, staticProps) { + if (protoProps) + defineProperties(Constructor.prototype, protoProps); + if (staticProps) + defineProperties(Constructor, staticProps); + return Constructor; + }; + }(); + var _extends = Object.assign || function(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; + }; + var DOMIterator = function() { + function DOMIterator2(ctx) { + var iframes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true; + var exclude = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : []; + var iframesTimeout = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 5e3; + classCallCheck(this, DOMIterator2); + this.ctx = ctx; + this.iframes = iframes; + this.exclude = exclude; + this.iframesTimeout = iframesTimeout; + } + createClass(DOMIterator2, [{ + key: "getContexts", + value: function getContexts() { + var ctx = void 0, filteredCtx = []; + if (typeof this.ctx === "undefined" || !this.ctx) { + ctx = []; + } else if (NodeList.prototype.isPrototypeOf(this.ctx)) { + ctx = Array.prototype.slice.call(this.ctx); + } else if (Array.isArray(this.ctx)) { + ctx = this.ctx; + } else if (typeof this.ctx === "string") { + ctx = Array.prototype.slice.call(document.querySelectorAll(this.ctx)); + } else { + ctx = [this.ctx]; + } + ctx.forEach(function(ctx2) { + var isDescendant = filteredCtx.filter(function(contexts) { + return contexts.contains(ctx2); + }).length > 0; + if (filteredCtx.indexOf(ctx2) === -1 && !isDescendant) { + filteredCtx.push(ctx2); + } + }); + return filteredCtx; + } + }, { + key: "getIframeContents", + value: function getIframeContents(ifr, successFn) { + var errorFn = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : function() { + }; + var doc = void 0; + try { + var ifrWin = ifr.contentWindow; + doc = ifrWin.document; + if (!ifrWin || !doc) { + throw new Error("iframe inaccessible"); + } + } catch (e) { + errorFn(); + } + if (doc) { + successFn(doc); + } + } + }, { + key: "isIframeBlank", + value: function isIframeBlank(ifr) { + var bl = "about:blank", src = ifr.getAttribute("src").trim(), href = ifr.contentWindow.location.href; + return href === bl && src !== bl && src; + } + }, { + key: "observeIframeLoad", + value: function observeIframeLoad(ifr, successFn, errorFn) { + var _this = this; + var called = false, tout = null; + var listener = function listener2() { + if (called) { + return; + } + called = true; + clearTimeout(tout); + try { + if (!_this.isIframeBlank(ifr)) { + ifr.removeEventListener("load", listener2); + _this.getIframeContents(ifr, successFn, errorFn); + } + } catch (e) { + errorFn(); + } + }; + ifr.addEventListener("load", listener); + tout = setTimeout(listener, this.iframesTimeout); + } + }, { + key: "onIframeReady", + value: function onIframeReady(ifr, successFn, errorFn) { + try { + if (ifr.contentWindow.document.readyState === "complete") { + if (this.isIframeBlank(ifr)) { + this.observeIframeLoad(ifr, successFn, errorFn); + } else { + this.getIframeContents(ifr, successFn, errorFn); + } + } else { + this.observeIframeLoad(ifr, successFn, errorFn); + } + } catch (e) { + errorFn(); + } + } + }, { + key: "waitForIframes", + value: function waitForIframes(ctx, done) { + var _this2 = this; + var eachCalled = 0; + this.forEachIframe(ctx, function() { + return true; + }, function(ifr) { + eachCalled++; + _this2.waitForIframes(ifr.querySelector("html"), function() { + if (!--eachCalled) { + done(); + } + }); + }, function(handled) { + if (!handled) { + done(); + } + }); + } + }, { + key: "forEachIframe", + value: function forEachIframe(ctx, filter, each) { + var _this3 = this; + var end = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : function() { + }; + var ifr = ctx.querySelectorAll("iframe"), open = ifr.length, handled = 0; + ifr = Array.prototype.slice.call(ifr); + var checkEnd = function checkEnd2() { + if (--open <= 0) { + end(handled); + } + }; + if (!open) { + checkEnd(); + } + ifr.forEach(function(ifr2) { + if (DOMIterator2.matches(ifr2, _this3.exclude)) { + checkEnd(); + } else { + _this3.onIframeReady(ifr2, function(con) { + if (filter(ifr2)) { + handled++; + each(con); + } + checkEnd(); + }, checkEnd); + } + }); + } + }, { + key: "createIterator", + value: function createIterator(ctx, whatToShow, filter) { + return document.createNodeIterator(ctx, whatToShow, filter, false); + } + }, { + key: "createInstanceOnIframe", + value: function createInstanceOnIframe(contents) { + return new DOMIterator2(contents.querySelector("html"), this.iframes); + } + }, { + key: "compareNodeIframe", + value: function compareNodeIframe(node, prevNode, ifr) { + var compCurr = node.compareDocumentPosition(ifr), prev = Node.DOCUMENT_POSITION_PRECEDING; + if (compCurr & prev) { + if (prevNode !== null) { + var compPrev = prevNode.compareDocumentPosition(ifr), after = Node.DOCUMENT_POSITION_FOLLOWING; + if (compPrev & after) { + return true; + } + } else { + return true; + } + } + return false; + } + }, { + key: "getIteratorNode", + value: function getIteratorNode(itr) { + var prevNode = itr.previousNode(); + var node = void 0; + if (prevNode === null) { + node = itr.nextNode(); + } else { + node = itr.nextNode() && itr.nextNode(); + } + return { + prevNode, + node + }; + } + }, { + key: "checkIframeFilter", + value: function checkIframeFilter(node, prevNode, currIfr, ifr) { + var key = false, handled = false; + ifr.forEach(function(ifrDict, i) { + if (ifrDict.val === currIfr) { + key = i; + handled = ifrDict.handled; + } + }); + if (this.compareNodeIframe(node, prevNode, currIfr)) { + if (key === false && !handled) { + ifr.push({ + val: currIfr, + handled: true + }); + } else if (key !== false && !handled) { + ifr[key].handled = true; + } + return true; + } + if (key === false) { + ifr.push({ + val: currIfr, + handled: false + }); + } + return false; + } + }, { + key: "handleOpenIframes", + value: function handleOpenIframes(ifr, whatToShow, eCb, fCb) { + var _this4 = this; + ifr.forEach(function(ifrDict) { + if (!ifrDict.handled) { + _this4.getIframeContents(ifrDict.val, function(con) { + _this4.createInstanceOnIframe(con).forEachNode(whatToShow, eCb, fCb); + }); + } + }); + } + }, { + key: "iterateThroughNodes", + value: function iterateThroughNodes(whatToShow, ctx, eachCb, filterCb, doneCb) { + var _this5 = this; + var itr = this.createIterator(ctx, whatToShow, filterCb); + var ifr = [], elements = [], node = void 0, prevNode = void 0, retrieveNodes = function retrieveNodes2() { + var _getIteratorNode = _this5.getIteratorNode(itr); + prevNode = _getIteratorNode.prevNode; + node = _getIteratorNode.node; + return node; + }; + while (retrieveNodes()) { + if (this.iframes) { + this.forEachIframe(ctx, function(currIfr) { + return _this5.checkIframeFilter(node, prevNode, currIfr, ifr); + }, function(con) { + _this5.createInstanceOnIframe(con).forEachNode(whatToShow, function(ifrNode) { + return elements.push(ifrNode); + }, filterCb); + }); + } + elements.push(node); + } + elements.forEach(function(node2) { + eachCb(node2); + }); + if (this.iframes) { + this.handleOpenIframes(ifr, whatToShow, eachCb, filterCb); + } + doneCb(); + } + }, { + key: "forEachNode", + value: function forEachNode(whatToShow, each, filter) { + var _this6 = this; + var done = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : function() { + }; + var contexts = this.getContexts(); + var open = contexts.length; + if (!open) { + done(); + } + contexts.forEach(function(ctx) { + var ready = function ready2() { + _this6.iterateThroughNodes(whatToShow, ctx, each, filter, function() { + if (--open <= 0) { + done(); + } + }); + }; + if (_this6.iframes) { + _this6.waitForIframes(ctx, ready); + } else { + ready(); + } + }); + } + }], [{ + key: "matches", + value: function matches(element, selector) { + var selectors = typeof selector === "string" ? [selector] : selector, fn = element.matches || element.matchesSelector || element.msMatchesSelector || element.mozMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector; + if (fn) { + var match = false; + selectors.every(function(sel) { + if (fn.call(element, sel)) { + match = true; + return false; + } + return true; + }); + return match; + } else { + return false; + } + } + }]); + return DOMIterator2; + }(); + var Mark$1 = function() { + function Mark3(ctx) { + classCallCheck(this, Mark3); + this.ctx = ctx; + this.ie = false; + var ua = window.navigator.userAgent; + if (ua.indexOf("MSIE") > -1 || ua.indexOf("Trident") > -1) { + this.ie = true; + } + } + createClass(Mark3, [{ + key: "log", + value: function log(msg) { + var level = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "debug"; + var log2 = this.opt.log; + if (!this.opt.debug) { + return; + } + if ((typeof log2 === "undefined" ? "undefined" : _typeof(log2)) === "object" && typeof log2[level] === "function") { + log2[level]("mark.js: " + msg); + } + } + }, { + key: "escapeStr", + value: function escapeStr(str) { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); + } + }, { + key: "createRegExp", + value: function createRegExp(str) { + if (this.opt.wildcards !== "disabled") { + str = this.setupWildcardsRegExp(str); + } + str = this.escapeStr(str); + if (Object.keys(this.opt.synonyms).length) { + str = this.createSynonymsRegExp(str); + } + if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { + str = this.setupIgnoreJoinersRegExp(str); + } + if (this.opt.diacritics) { + str = this.createDiacriticsRegExp(str); + } + str = this.createMergedBlanksRegExp(str); + if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { + str = this.createJoinersRegExp(str); + } + if (this.opt.wildcards !== "disabled") { + str = this.createWildcardsRegExp(str); + } + str = this.createAccuracyRegExp(str); + return str; + } + }, { + key: "createSynonymsRegExp", + value: function createSynonymsRegExp(str) { + var syn = this.opt.synonyms, sens = this.opt.caseSensitive ? "" : "i", joinerPlaceholder = this.opt.ignoreJoiners || this.opt.ignorePunctuation.length ? "\0" : ""; + for (var index in syn) { + if (syn.hasOwnProperty(index)) { + var value = syn[index], k1 = this.opt.wildcards !== "disabled" ? this.setupWildcardsRegExp(index) : this.escapeStr(index), k2 = this.opt.wildcards !== "disabled" ? this.setupWildcardsRegExp(value) : this.escapeStr(value); + if (k1 !== "" && k2 !== "") { + str = str.replace(new RegExp("(" + this.escapeStr(k1) + "|" + this.escapeStr(k2) + ")", "gm" + sens), joinerPlaceholder + ("(" + this.processSynomyms(k1) + "|") + (this.processSynomyms(k2) + ")") + joinerPlaceholder); + } + } + } + return str; + } + }, { + key: "processSynomyms", + value: function processSynomyms(str) { + if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { + str = this.setupIgnoreJoinersRegExp(str); + } + return str; + } + }, { + key: "setupWildcardsRegExp", + value: function setupWildcardsRegExp(str) { + str = str.replace(/(?:\\)*\?/g, function(val) { + return val.charAt(0) === "\\" ? "?" : ""; + }); + return str.replace(/(?:\\)*\*/g, function(val) { + return val.charAt(0) === "\\" ? "*" : ""; + }); + } + }, { + key: "createWildcardsRegExp", + value: function createWildcardsRegExp(str) { + var spaces = this.opt.wildcards === "withSpaces"; + return str.replace(/\u0001/g, spaces ? "[\\S\\s]?" : "\\S?").replace(/\u0002/g, spaces ? "[\\S\\s]*?" : "\\S*"); + } + }, { + key: "setupIgnoreJoinersRegExp", + value: function setupIgnoreJoinersRegExp(str) { + return str.replace(/[^(|)\\]/g, function(val, indx, original) { + var nextChar = original.charAt(indx + 1); + if (/[(|)\\]/.test(nextChar) || nextChar === "") { + return val; + } else { + return val + "\0"; + } + }); + } + }, { + key: "createJoinersRegExp", + value: function createJoinersRegExp(str) { + var joiner = []; + var ignorePunctuation = this.opt.ignorePunctuation; + if (Array.isArray(ignorePunctuation) && ignorePunctuation.length) { + joiner.push(this.escapeStr(ignorePunctuation.join(""))); + } + if (this.opt.ignoreJoiners) { + joiner.push("\\u00ad\\u200b\\u200c\\u200d"); + } + return joiner.length ? str.split(/\u0000+/).join("[" + joiner.join("") + "]*") : str; + } + }, { + key: "createDiacriticsRegExp", + value: function createDiacriticsRegExp(str) { + var sens = this.opt.caseSensitive ? "" : "i", dct = this.opt.caseSensitive ? ["a\xE0\xE1\u1EA3\xE3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xE2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xE4\xE5\u0101\u0105", "A\xC0\xC1\u1EA2\xC3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xC2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xC4\xC5\u0100\u0104", "c\xE7\u0107\u010D", "C\xC7\u0106\u010C", "d\u0111\u010F", "D\u0110\u010E", "e\xE8\xE9\u1EBB\u1EBD\u1EB9\xEA\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xEB\u011B\u0113\u0119", "E\xC8\xC9\u1EBA\u1EBC\u1EB8\xCA\u1EC0\u1EBE\u1EC2\u1EC4\u1EC6\xCB\u011A\u0112\u0118", "i\xEC\xED\u1EC9\u0129\u1ECB\xEE\xEF\u012B", "I\xCC\xCD\u1EC8\u0128\u1ECA\xCE\xCF\u012A", "l\u0142", "L\u0141", "n\xF1\u0148\u0144", "N\xD1\u0147\u0143", "o\xF2\xF3\u1ECF\xF5\u1ECD\xF4\u1ED3\u1ED1\u1ED5\u1ED7\u1ED9\u01A1\u1EDF\u1EE1\u1EDB\u1EDD\u1EE3\xF6\xF8\u014D", "O\xD2\xD3\u1ECE\xD5\u1ECC\xD4\u1ED2\u1ED0\u1ED4\u1ED6\u1ED8\u01A0\u1EDE\u1EE0\u1EDA\u1EDC\u1EE2\xD6\xD8\u014C", "r\u0159", "R\u0158", "s\u0161\u015B\u0219\u015F", "S\u0160\u015A\u0218\u015E", "t\u0165\u021B\u0163", "T\u0164\u021A\u0162", "u\xF9\xFA\u1EE7\u0169\u1EE5\u01B0\u1EEB\u1EE9\u1EED\u1EEF\u1EF1\xFB\xFC\u016F\u016B", "U\xD9\xDA\u1EE6\u0168\u1EE4\u01AF\u1EEA\u1EE8\u1EEC\u1EEE\u1EF0\xDB\xDC\u016E\u016A", "y\xFD\u1EF3\u1EF7\u1EF9\u1EF5\xFF", "Y\xDD\u1EF2\u1EF6\u1EF8\u1EF4\u0178", "z\u017E\u017C\u017A", "Z\u017D\u017B\u0179"] : ["a\xE0\xE1\u1EA3\xE3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xE2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xE4\xE5\u0101\u0105A\xC0\xC1\u1EA2\xC3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xC2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xC4\xC5\u0100\u0104", "c\xE7\u0107\u010DC\xC7\u0106\u010C", "d\u0111\u010FD\u0110\u010E", "e\xE8\xE9\u1EBB\u1EBD\u1EB9\xEA\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xEB\u011B\u0113\u0119E\xC8\xC9\u1EBA\u1EBC\u1EB8\xCA\u1EC0\u1EBE\u1EC2\u1EC4\u1EC6\xCB\u011A\u0112\u0118", "i\xEC\xED\u1EC9\u0129\u1ECB\xEE\xEF\u012BI\xCC\xCD\u1EC8\u0128\u1ECA\xCE\xCF\u012A", "l\u0142L\u0141", "n\xF1\u0148\u0144N\xD1\u0147\u0143", "o\xF2\xF3\u1ECF\xF5\u1ECD\xF4\u1ED3\u1ED1\u1ED5\u1ED7\u1ED9\u01A1\u1EDF\u1EE1\u1EDB\u1EDD\u1EE3\xF6\xF8\u014DO\xD2\xD3\u1ECE\xD5\u1ECC\xD4\u1ED2\u1ED0\u1ED4\u1ED6\u1ED8\u01A0\u1EDE\u1EE0\u1EDA\u1EDC\u1EE2\xD6\xD8\u014C", "r\u0159R\u0158", "s\u0161\u015B\u0219\u015FS\u0160\u015A\u0218\u015E", "t\u0165\u021B\u0163T\u0164\u021A\u0162", "u\xF9\xFA\u1EE7\u0169\u1EE5\u01B0\u1EEB\u1EE9\u1EED\u1EEF\u1EF1\xFB\xFC\u016F\u016BU\xD9\xDA\u1EE6\u0168\u1EE4\u01AF\u1EEA\u1EE8\u1EEC\u1EEE\u1EF0\xDB\xDC\u016E\u016A", "y\xFD\u1EF3\u1EF7\u1EF9\u1EF5\xFFY\xDD\u1EF2\u1EF6\u1EF8\u1EF4\u0178", "z\u017E\u017C\u017AZ\u017D\u017B\u0179"]; + var handled = []; + str.split("").forEach(function(ch) { + dct.every(function(dct2) { + if (dct2.indexOf(ch) !== -1) { + if (handled.indexOf(dct2) > -1) { + return false; + } + str = str.replace(new RegExp("[" + dct2 + "]", "gm" + sens), "[" + dct2 + "]"); + handled.push(dct2); + } + return true; + }); + }); + return str; + } + }, { + key: "createMergedBlanksRegExp", + value: function createMergedBlanksRegExp(str) { + return str.replace(/[\s]+/gmi, "[\\s]+"); + } + }, { + key: "createAccuracyRegExp", + value: function createAccuracyRegExp(str) { + var _this = this; + var chars = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xA1\xBF"; + var acc = this.opt.accuracy, val = typeof acc === "string" ? acc : acc.value, ls = typeof acc === "string" ? [] : acc.limiters, lsJoin = ""; + ls.forEach(function(limiter) { + lsJoin += "|" + _this.escapeStr(limiter); + }); + switch (val) { + case "partially": + default: + return "()(" + str + ")"; + case "complementary": + lsJoin = "\\s" + (lsJoin ? lsJoin : this.escapeStr(chars)); + return "()([^" + lsJoin + "]*" + str + "[^" + lsJoin + "]*)"; + case "exactly": + return "(^|\\s" + lsJoin + ")(" + str + ")(?=$|\\s" + lsJoin + ")"; + } + } + }, { + key: "getSeparatedKeywords", + value: function getSeparatedKeywords(sv) { + var _this2 = this; + var stack = []; + sv.forEach(function(kw) { + if (!_this2.opt.separateWordSearch) { + if (kw.trim() && stack.indexOf(kw) === -1) { + stack.push(kw); + } + } else { + kw.split(" ").forEach(function(kwSplitted) { + if (kwSplitted.trim() && stack.indexOf(kwSplitted) === -1) { + stack.push(kwSplitted); + } + }); + } + }); + return { + "keywords": stack.sort(function(a, b) { + return b.length - a.length; + }), + "length": stack.length + }; + } + }, { + key: "isNumeric", + value: function isNumeric(value) { + return Number(parseFloat(value)) == value; + } + }, { + key: "checkRanges", + value: function checkRanges(array) { + var _this3 = this; + if (!Array.isArray(array) || Object.prototype.toString.call(array[0]) !== "[object Object]") { + this.log("markRanges() will only accept an array of objects"); + this.opt.noMatch(array); + return []; + } + var stack = []; + var last = 0; + array.sort(function(a, b) { + return a.start - b.start; + }).forEach(function(item) { + var _callNoMatchOnInvalid = _this3.callNoMatchOnInvalidRanges(item, last), start = _callNoMatchOnInvalid.start, end = _callNoMatchOnInvalid.end, valid = _callNoMatchOnInvalid.valid; + if (valid) { + item.start = start; + item.length = end - start; + stack.push(item); + last = end; + } + }); + return stack; + } + }, { + key: "callNoMatchOnInvalidRanges", + value: function callNoMatchOnInvalidRanges(range, last) { + var start = void 0, end = void 0, valid = false; + if (range && typeof range.start !== "undefined") { + start = parseInt(range.start, 10); + end = start + parseInt(range.length, 10); + if (this.isNumeric(range.start) && this.isNumeric(range.length) && end - last > 0 && end - start > 0) { + valid = true; + } else { + this.log("Ignoring invalid or overlapping range: " + ("" + JSON.stringify(range))); + this.opt.noMatch(range); + } + } else { + this.log("Ignoring invalid range: " + JSON.stringify(range)); + this.opt.noMatch(range); + } + return { + start, + end, + valid + }; + } + }, { + key: "checkWhitespaceRanges", + value: function checkWhitespaceRanges(range, originalLength, string) { + var end = void 0, valid = true, max = string.length, offset = originalLength - max, start = parseInt(range.start, 10) - offset; + start = start > max ? max : start; + end = start + parseInt(range.length, 10); + if (end > max) { + end = max; + this.log("End range automatically set to the max value of " + max); + } + if (start < 0 || end - start < 0 || start > max || end > max) { + valid = false; + this.log("Invalid range: " + JSON.stringify(range)); + this.opt.noMatch(range); + } else if (string.substring(start, end).replace(/\s+/g, "") === "") { + valid = false; + this.log("Skipping whitespace only range: " + JSON.stringify(range)); + this.opt.noMatch(range); + } + return { + start, + end, + valid + }; + } + }, { + key: "getTextNodes", + value: function getTextNodes(cb) { + var _this4 = this; + var val = "", nodes = []; + this.iterator.forEachNode(NodeFilter.SHOW_TEXT, function(node) { + nodes.push({ + start: val.length, + end: (val += node.textContent).length, + node + }); + }, function(node) { + if (_this4.matchesExclude(node.parentNode)) { + return NodeFilter.FILTER_REJECT; + } else { + return NodeFilter.FILTER_ACCEPT; + } + }, function() { + cb({ + value: val, + nodes + }); + }); + } + }, { + key: "matchesExclude", + value: function matchesExclude(el) { + return DOMIterator.matches(el, this.opt.exclude.concat(["script", "style", "title", "head", "html"])); + } + }, { + key: "wrapRangeInTextNode", + value: function wrapRangeInTextNode(node, start, end) { + var hEl = !this.opt.element ? "mark" : this.opt.element, startNode = node.splitText(start), ret = startNode.splitText(end - start); + var repl = document.createElement(hEl); + repl.setAttribute("data-markjs", "true"); + if (this.opt.className) { + repl.setAttribute("class", this.opt.className); + } + repl.textContent = startNode.textContent; + startNode.parentNode.replaceChild(repl, startNode); + return ret; + } + }, { + key: "wrapRangeInMappedTextNode", + value: function wrapRangeInMappedTextNode(dict, start, end, filterCb, eachCb) { + var _this5 = this; + dict.nodes.every(function(n, i) { + var sibl = dict.nodes[i + 1]; + if (typeof sibl === "undefined" || sibl.start > start) { + if (!filterCb(n.node)) { + return false; + } + var s = start - n.start, e = (end > n.end ? n.end : end) - n.start, startStr = dict.value.substr(0, n.start), endStr = dict.value.substr(e + n.start); + n.node = _this5.wrapRangeInTextNode(n.node, s, e); + dict.value = startStr + endStr; + dict.nodes.forEach(function(k, j) { + if (j >= i) { + if (dict.nodes[j].start > 0 && j !== i) { + dict.nodes[j].start -= e; + } + dict.nodes[j].end -= e; + } + }); + end -= e; + eachCb(n.node.previousSibling, n.start); + if (end > n.end) { + start = n.end; + } else { + return false; + } + } + return true; + }); + } + }, { + key: "wrapMatches", + value: function wrapMatches(regex, ignoreGroups, filterCb, eachCb, endCb) { + var _this6 = this; + var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1; + this.getTextNodes(function(dict) { + dict.nodes.forEach(function(node) { + node = node.node; + var match = void 0; + while ((match = regex.exec(node.textContent)) !== null && match[matchIdx] !== "") { + if (!filterCb(match[matchIdx], node)) { + continue; + } + var pos = match.index; + if (matchIdx !== 0) { + for (var i = 1; i < matchIdx; i++) { + pos += match[i].length; + } + } + node = _this6.wrapRangeInTextNode(node, pos, pos + match[matchIdx].length); + eachCb(node.previousSibling); + regex.lastIndex = 0; + } + }); + endCb(); + }); + } + }, { + key: "wrapMatchesAcrossElements", + value: function wrapMatchesAcrossElements(regex, ignoreGroups, filterCb, eachCb, endCb) { + var _this7 = this; + var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1; + this.getTextNodes(function(dict) { + var match = void 0; + while ((match = regex.exec(dict.value)) !== null && match[matchIdx] !== "") { + var start = match.index; + if (matchIdx !== 0) { + for (var i = 1; i < matchIdx; i++) { + start += match[i].length; + } + } + var end = start + match[matchIdx].length; + _this7.wrapRangeInMappedTextNode(dict, start, end, function(node) { + return filterCb(match[matchIdx], node); + }, function(node, lastIndex) { + regex.lastIndex = lastIndex; + eachCb(node); + }); + } + endCb(); + }); + } + }, { + key: "wrapRangeFromIndex", + value: function wrapRangeFromIndex(ranges, filterCb, eachCb, endCb) { + var _this8 = this; + this.getTextNodes(function(dict) { + var originalLength = dict.value.length; + ranges.forEach(function(range, counter) { + var _checkWhitespaceRange = _this8.checkWhitespaceRanges(range, originalLength, dict.value), start = _checkWhitespaceRange.start, end = _checkWhitespaceRange.end, valid = _checkWhitespaceRange.valid; + if (valid) { + _this8.wrapRangeInMappedTextNode(dict, start, end, function(node) { + return filterCb(node, range, dict.value.substring(start, end), counter); + }, function(node) { + eachCb(node, range); + }); + } + }); + endCb(); + }); + } + }, { + key: "unwrapMatches", + value: function unwrapMatches(node) { + var parent = node.parentNode; + var docFrag = document.createDocumentFragment(); + while (node.firstChild) { + docFrag.appendChild(node.removeChild(node.firstChild)); + } + parent.replaceChild(docFrag, node); + if (!this.ie) { + parent.normalize(); + } else { + this.normalizeTextNode(parent); + } + } + }, { + key: "normalizeTextNode", + value: function normalizeTextNode(node) { + if (!node) { + return; + } + if (node.nodeType === 3) { + while (node.nextSibling && node.nextSibling.nodeType === 3) { + node.nodeValue += node.nextSibling.nodeValue; + node.parentNode.removeChild(node.nextSibling); + } + } else { + this.normalizeTextNode(node.firstChild); + } + this.normalizeTextNode(node.nextSibling); + } + }, { + key: "markRegExp", + value: function markRegExp(regexp, opt) { + var _this9 = this; + this.opt = opt; + this.log('Searching with expression "' + regexp + '"'); + var totalMatches = 0, fn = "wrapMatches"; + var eachCb = function eachCb2(element) { + totalMatches++; + _this9.opt.each(element); + }; + if (this.opt.acrossElements) { + fn = "wrapMatchesAcrossElements"; + } + this[fn](regexp, this.opt.ignoreGroups, function(match, node) { + return _this9.opt.filter(node, match, totalMatches); + }, eachCb, function() { + if (totalMatches === 0) { + _this9.opt.noMatch(regexp); + } + _this9.opt.done(totalMatches); + }); + } + }, { + key: "mark", + value: function mark(sv, opt) { + var _this10 = this; + this.opt = opt; + var totalMatches = 0, fn = "wrapMatches"; + var _getSeparatedKeywords = this.getSeparatedKeywords(typeof sv === "string" ? [sv] : sv), kwArr = _getSeparatedKeywords.keywords, kwArrLen = _getSeparatedKeywords.length, sens = this.opt.caseSensitive ? "" : "i", handler = function handler2(kw) { + var regex = new RegExp(_this10.createRegExp(kw), "gm" + sens), matches = 0; + _this10.log('Searching with expression "' + regex + '"'); + _this10[fn](regex, 1, function(term, node) { + return _this10.opt.filter(node, kw, totalMatches, matches); + }, function(element) { + matches++; + totalMatches++; + _this10.opt.each(element); + }, function() { + if (matches === 0) { + _this10.opt.noMatch(kw); + } + if (kwArr[kwArrLen - 1] === kw) { + _this10.opt.done(totalMatches); + } else { + handler2(kwArr[kwArr.indexOf(kw) + 1]); + } + }); + }; + if (this.opt.acrossElements) { + fn = "wrapMatchesAcrossElements"; + } + if (kwArrLen === 0) { + this.opt.done(totalMatches); + } else { + handler(kwArr[0]); + } + } + }, { + key: "markRanges", + value: function markRanges(rawRanges, opt) { + var _this11 = this; + this.opt = opt; + var totalMatches = 0, ranges = this.checkRanges(rawRanges); + if (ranges && ranges.length) { + this.log("Starting to mark with the following ranges: " + JSON.stringify(ranges)); + this.wrapRangeFromIndex(ranges, function(node, range, match, counter) { + return _this11.opt.filter(node, range, match, counter); + }, function(element, range) { + totalMatches++; + _this11.opt.each(element, range); + }, function() { + _this11.opt.done(totalMatches); + }); + } else { + this.opt.done(totalMatches); + } + } + }, { + key: "unmark", + value: function unmark(opt) { + var _this12 = this; + this.opt = opt; + var sel = this.opt.element ? this.opt.element : "*"; + sel += "[data-markjs]"; + if (this.opt.className) { + sel += "." + this.opt.className; + } + this.log('Removal selector "' + sel + '"'); + this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT, function(node) { + _this12.unwrapMatches(node); + }, function(node) { + var matchesSel = DOMIterator.matches(node, sel), matchesExclude = _this12.matchesExclude(node); + if (!matchesSel || matchesExclude) { + return NodeFilter.FILTER_REJECT; + } else { + return NodeFilter.FILTER_ACCEPT; + } + }, this.opt.done); + } + }, { + key: "opt", + set: function set$$1(val) { + this._opt = _extends({}, { + "element": "", + "className": "", + "exclude": [], + "iframes": false, + "iframesTimeout": 5e3, + "separateWordSearch": true, + "diacritics": true, + "synonyms": {}, + "accuracy": "partially", + "acrossElements": false, + "caseSensitive": false, + "ignoreJoiners": false, + "ignoreGroups": 0, + "ignorePunctuation": [], + "wildcards": "disabled", + "each": function each() { + }, + "noMatch": function noMatch() { + }, + "filter": function filter() { + return true; + }, + "done": function done() { + }, + "debug": false, + "log": window.console + }, val); + }, + get: function get$$1() { + return this._opt; + } + }, { + key: "iterator", + get: function get$$1() { + return new DOMIterator(this.ctx, this.opt.iframes, this.opt.exclude, this.opt.iframesTimeout); + } + }]); + return Mark3; + }(); + function Mark2(ctx) { + var _this = this; + var instance = new Mark$1(ctx); + this.mark = function(sv, opt) { + instance.mark(sv, opt); + return _this; + }; + this.markRegExp = function(sv, opt) { + instance.markRegExp(sv, opt); + return _this; + }; + this.markRanges = function(sv, opt) { + instance.markRanges(sv, opt); + return _this; + }; + this.unmark = function(opt) { + instance.unmark(opt); + return _this; + }; + return this; + } + return Mark2; + }); + } +}); + +// lib/highlight.ts +var import_mark = __toESM(require_mark(), 1); +var PagefindHighlight = class { + constructor(options = { + markContext: null, + highlightParam: "pagefind-highlight", + markOptions: { + className: "pagefind-highlight", + exclude: ["[data-pagefind-ignore]", "[data-pagefind-ignore] *"] + }, + addStyles: true + }) { + var _a, _b; + const { highlightParam, markContext, markOptions, addStyles } = options; + this.highlightParam = highlightParam ?? "pagefind-highlight"; + this.addStyles = addStyles ?? true; + this.markContext = markContext !== void 0 ? markContext : null; + this.markOptions = markOptions !== void 0 ? markOptions : { + className: "pagefind-highlight", + exclude: ["[data-pagefind-ignore]", "[data-pagefind-ignore] *"] + }; + (_a = this.markOptions).className ?? (_a.className = "pagefind__highlight"); + (_b = this.markOptions).exclude ?? (_b.exclude = [ + "[data-pagefind-ignore]", + "[data-pagefind-ignore] *" + ]); + this.markOptions.separateWordSearch = false; + this.highlight(); + } + getHighlightParams(paramName) { + const urlParams = new URLSearchParams(window.location.search); + return urlParams.getAll(paramName); + } + // Inline styles might be too hard to override + addHighlightStyles(className) { + if (!className) + return; + const styleElement = document.createElement("style"); + styleElement.innerText = `:where(.${className}) { background-color: yellow; color: black; }`; + document.head.appendChild(styleElement); + } + createMarkInstance() { + if (this.markContext) { + return new import_mark.default(this.markContext); + } + const pagefindBody = document.querySelectorAll("[data-pagefind-body]"); + if (pagefindBody.length !== 0) { + return new import_mark.default(pagefindBody); + } else { + return new import_mark.default(document.body); + } + } + markText(instance, text) { + instance.mark(text, this.markOptions); + } + highlight() { + const params = this.getHighlightParams(this.highlightParam); + if (!params || params.length === 0) + return; + this.addStyles && this.addHighlightStyles(this.markOptions.className); + const markInstance = this.createMarkInstance(); + this.markText(markInstance, params); + } +}; +window.PagefindHighlight = PagefindHighlight; +export { + PagefindHighlight as default +}; +/*! Bundled license information: + +mark.js/dist/mark.js: + (*!*************************************************** + * mark.js v8.11.1 + * https://markjs.io/ + * Copyright (c) 2014–2018, Julian Kühnel + * Released under the MIT license https://git.io/vwTVl + *****************************************************) +*/ diff --git a/dist2/pagefind/pagefind-modular-ui.css b/dist2/pagefind/pagefind-modular-ui.css new file mode 100644 index 0000000..9c6793e --- /dev/null +++ b/dist2/pagefind/pagefind-modular-ui.css @@ -0,0 +1,214 @@ +:root { + --pagefind-ui-scale: 0.8; + --pagefind-ui-primary: #034AD8; + --pagefind-ui-fade: #707070; + --pagefind-ui-text: #393939; + --pagefind-ui-background: #ffffff; + --pagefind-ui-border: #eeeeee; + --pagefind-ui-tag: #eeeeee; + --pagefind-ui-border-width: 2px; + --pagefind-ui-border-radius: 8px; + --pagefind-ui-image-border-radius: 8px; + --pagefind-ui-image-box-ratio: 3 / 2; + --pagefind-ui-font: system, -apple-system, ".SFNSText-Regular", + "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", + "Lucida Grande", sans-serif; +} + +[data-pfmod-hidden] { + display: none !important; +} + +[data-pfmod-suppressed] { + opacity: 0 !important; + pointer-events: none !important; +} + +[data-pfmod-sr-hidden] { + -webkit-clip: rect(0 0 0 0) !important; + clip: rect(0 0 0 0) !important; + -webkit-clip-path: inset(100%) !important; + clip-path: inset(100%) !important; + height: 1px !important; + overflow: hidden !important; + overflow: clip !important; + position: absolute !important; + white-space: nowrap !important; + width: 1px !important; +} + +[data-pfmod-loading] { + color: var(--pagefind-ui-text); + background-color: var(--pagefind-ui-text); + border-radius: var(--pagefind-ui-border-radius); + opacity: 0.1; + pointer-events: none; +} + +/* Input */ + +.pagefind-modular-input-wrapper { + position: relative; +} + +.pagefind-modular-input-wrapper::before { + background-color: var(--pagefind-ui-text); + width: calc(18px * var(--pagefind-ui-scale)); + height: calc(18px * var(--pagefind-ui-scale)); + top: calc(23px * var(--pagefind-ui-scale)); + left: calc(20px * var(--pagefind-ui-scale)); + content: ""; + position: absolute; + display: block; + opacity: 0.7; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A"); + mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A"); + -webkit-mask-size: 100%; + mask-size: 100%; + z-index: 9; + pointer-events: none; +} + +.pagefind-modular-input { + height: calc(64px * var(--pagefind-ui-scale)); + padding: 0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale)); + background-color: var(--pagefind-ui-background); + border: var(--pagefind-ui-border-width) solid var(--pagefind-ui-border); + border-radius: var(--pagefind-ui-border-radius); + font-size: calc(21px * var(--pagefind-ui-scale)); + position: relative; + appearance: none; + -webkit-appearance: none; + display: flex; + width: 100%; + box-sizing: border-box; + font-weight: 700; +} + +.pagefind-modular-input::placeholder { + opacity: 0.2; +} + +.pagefind-modular-input-clear { + position: absolute; + top: calc(2px * var(--pagefind-ui-scale)); + right: calc(2px * var(--pagefind-ui-scale)); + height: calc(60px * var(--pagefind-ui-scale)); + border-radius: var(--pagefind-ui-border-radius); + padding: 0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale)); + color: var(--pagefind-ui-text); + font-size: calc(14px * var(--pagefind-ui-scale)); + cursor: pointer; + background-color: var(--pagefind-ui-background); + border: none; + appearance: none; +} + +/* ResultList */ + +.pagefind-modular-list-result { + list-style-type: none; + display: flex; + align-items: flex-start; + gap: min(calc(40px * var(--pagefind-ui-scale)), 3%); + padding: calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale)); + border-top: solid var(--pagefind-ui-border-width) var(--pagefind-ui-border); +} + +.pagefind-modular-list-result:last-of-type { + border-bottom: solid var(--pagefind-ui-border-width) var(--pagefind-ui-border); +} + +.pagefind-modular-list-thumb { + width: min(30%, + calc((30% - (100px * var(--pagefind-ui-scale))) * 100000)); + max-width: calc(120px * var(--pagefind-ui-scale)); + margin-top: calc(10px * var(--pagefind-ui-scale)); + aspect-ratio: var(--pagefind-ui-image-box-ratio); + position: relative; +} + +.pagefind-modular-list-image { + display: block; + position: absolute; + left: 50%; + transform: translateX(-50%); + font-size: 0; + width: auto; + height: auto; + max-width: 100%; + max-height: 100%; + border-radius: var(--pagefind-ui-image-border-radius); +} + +.pagefind-modular-list-inner { + flex: 1; + display: flex; + flex-direction: column; + align-items: flex-start; + margin-top: calc(10px * var(--pagefind-ui-scale)); +} + +.pagefind-modular-list-title { + display: inline-block; + font-weight: 700; + font-size: calc(21px * var(--pagefind-ui-scale)); + margin-top: 0; + margin-bottom: 0; +} + +.pagefind-modular-list-link { + color: var(--pagefind-ui-text); + text-decoration: none; +} + +.pagefind-modular-list-link:hover { + text-decoration: underline; +} + +.pagefind-modular-list-excerpt { + display: inline-block; + font-weight: 400; + font-size: calc(16px * var(--pagefind-ui-scale)); + margin-top: calc(4px * var(--pagefind-ui-scale)); + margin-bottom: 0; + min-width: calc(250px * var(--pagefind-ui-scale)); +} + +/* FilterPills */ + +.pagefind-modular-filter-pills-wrapper { + overflow-x: scroll; + padding: 15px 0; +} + +.pagefind-modular-filter-pills { + display: flex; + gap: 6px; +} + +.pagefind-modular-filter-pill { + display: flex; + justify-content: center; + align-items: center; + border: none; + appearance: none; + padding: 0 calc(24px * var(--pagefind-ui-scale)); + background-color: var(--pagefind-ui-background); + color: var(--pagefind-ui-fade); + border: var(--pagefind-ui-border-width) solid var(--pagefind-ui-border); + border-radius: calc(25px * var(--pagefind-ui-scale)); + font-size: calc(18px * var(--pagefind-ui-scale)); + height: calc(50px * var(--pagefind-ui-scale)); + cursor: pointer; + white-space: nowrap; +} + +.pagefind-modular-filter-pill:hover { + border-color: var(--pagefind-ui-primary); +} + +.pagefind-modular-filter-pill[aria-pressed="true"] { + border-color: var(--pagefind-ui-primary); + color: var(--pagefind-ui-primary); +} \ No newline at end of file diff --git a/dist2/pagefind/pagefind-modular-ui.js b/dist2/pagefind/pagefind-modular-ui.js new file mode 100644 index 0000000..43f738f --- /dev/null +++ b/dist2/pagefind/pagefind-modular-ui.js @@ -0,0 +1,8 @@ +(()=>{var b=Object.defineProperty;var w=(i,e)=>{for(var t in e)b(i,t,{get:e[t],enumerable:!0})};var f={};w(f,{FilterPills:()=>h,Input:()=>l,Instance:()=>p,ResultList:()=>a,Summary:()=>o});var r=class i{constructor(e){this.element=document.createElement(e)}id(e){return this.element.id=e,this}class(e){return this.element.classList.add(e),this}attrs(e){for(let[t,s]of Object.entries(e))this.element.setAttribute(t,s);return this}text(e){return this.element.innerText=e,this}html(e){return this.element.innerHTML=e,this}handle(e,t){return this.element.addEventListener(e,t),this}addTo(e){return e instanceof i?e.element.appendChild(this.element):e.appendChild(this.element),this.element}};var T=async(i=100)=>new Promise(e=>setTimeout(e,i)),l=class{constructor(e={}){if(this.inputEl=null,this.clearEl=null,this.instance=null,this.searchID=0,this.debounceTimeoutMs=e.debounceTimeoutMs??300,e.inputElement){if(e.containerElement){console.warn("[Pagefind Input component]: inputElement and containerElement both supplied. Ignoring the container option.");return}this.initExisting(e.inputElement)}else if(e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind Input component]: No selector supplied for containerElement or inputElement");return}this.inputEl.addEventListener("input",async t=>{if(this.instance&&typeof t?.target?.value=="string"){this.updateState(t.target.value);let s=++this.searchID;if(await T(this.debounceTimeoutMs),s!==this.searchID)return null;this.instance?.triggerSearch(t.target.value)}}),this.inputEl.addEventListener("keydown",t=>{t.key==="Escape"&&(++this.searchID,this.inputEl.value="",this.instance?.triggerSearch(""),this.updateState("")),t.key==="Enter"&&t.preventDefault()}),this.inputEl.addEventListener("focus",()=>{this.instance?.triggerLoad()})}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Input component]: No container found for ${e} selector`);return}if(t.tagName==="INPUT")console.warn(`[Pagefind Input component]: Encountered input element for ${e} when a container was expected`),console.warn("[Pagefind Input component]: Treating containerElement option as inputElement and proceeding"),this.initExisting(e);else{t.innerHTML="";let s=0;for(;document.querySelector(`#pfmod-input-${s}`);)s+=1;let n=new r("form").class("pagefind-modular-input-wrapper").attrs({role:"search","aria-label":"Search this site",action:"javascript:void(0);"});new r("label").attrs({for:`pfmod-input-${s}`,"data-pfmod-sr-hidden":"true"}).text("Search this site").addTo(n),this.inputEl=new r("input").id(`pfmod-input-${s}`).class("pagefind-modular-input").attrs({autocapitalize:"none",enterkeyhint:"search"}).addTo(n),this.clearEl=new r("button").class("pagefind-modular-input-clear").attrs({"data-pfmod-suppressed":"true"}).text("Clear").handle("click",()=>{this.inputEl.value="",this.instance.triggerSearch(""),this.updateState("")}).addTo(n),n.addTo(t)}}initExisting(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Input component]: No input element found for ${e} selector`);return}if(t.tagName!=="INPUT"){console.error(`[Pagefind Input component]: Expected ${e} to be an element`);return}this.inputEl=t}updateState(e){this.clearEl&&(e&&e?.length?this.clearEl.removeAttribute("data-pfmod-suppressed"):this.clearEl.setAttribute("data-pfmod-suppressed","true"))}register(e){this.instance=e,this.instance.on("search",(t,s)=>{this.inputEl&&document.activeElement!==this.inputEl&&(this.inputEl.value=t,this.updateState(t))})}focus(){this.inputEl&&this.inputEl.focus()}};var g=i=>{if(i instanceof Element)return[i];if(Array.isArray(i)&&i.every(e=>e instanceof Element))return i;if(typeof i=="string"||i instanceof String){let e=document.createElement("div");return e.innerHTML=i,[...e.childNodes]}else return console.error(`[Pagefind ResultList component]: Expected template function to return an HTML element or string, got ${typeof i}`),[]},v=()=>{let i=(e=30)=>". ".repeat(Math.floor(10+Math.random()*e));return`
  • +
    +
    +

    ${i(30)}

    +

    ${i(40)}

    +
    +
  • `},y=i=>{let e=new r("li").class("pagefind-modular-list-result"),t=new r("div").class("pagefind-modular-list-thumb").addTo(e);i?.meta?.image&&new r("img").class("pagefind-modular-list-image").attrs({src:i.meta.image,alt:i.meta.image_alt||i.meta.title}).addTo(t);let s=new r("div").class("pagefind-modular-list-inner").addTo(e),n=new r("p").class("pagefind-modular-list-title").addTo(s);return new r("a").class("pagefind-modular-list-link").text(i.meta?.title).attrs({href:i.meta?.url||i.url}).addTo(n),new r("p").class("pagefind-modular-list-excerpt").html(i.excerpt).addTo(s),e.element},E=i=>{if(!(i instanceof HTMLElement))return null;let e=window.getComputedStyle(i).overflowY;return e!=="visible"&&e!=="hidden"?i:E(i.parentNode)},d=class{constructor(e={}){this.rawResult=e.result,this.placeholderNodes=e.placeholderNodes,this.resultFn=e.resultFn,this.intersectionEl=e.intersectionEl,this.result=null,this.waitForIntersection()}waitForIntersection(){if(!this.placeholderNodes?.length)return;let e={root:this.intersectionEl,rootMargin:"0px",threshold:.01};new IntersectionObserver((s,n)=>{this.result===null&&s?.[0]?.isIntersecting&&(this.load(),n.disconnect())},e).observe(this.placeholderNodes[0])}async load(){if(!this.placeholderNodes?.length)return;this.result=await this.rawResult.data();let e=this.resultFn(this.result),t=g(e);for(;this.placeholderNodes.length>1;)this.placeholderNodes.pop().remove();this.placeholderNodes[0].replaceWith(...t)}},a=class{constructor(e){if(this.intersectionEl=document.body,this.containerEl=null,this.results=[],this.placeholderTemplate=e.placeholderTemplate??v,this.resultTemplate=e.resultTemplate??y,e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind ResultList component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind ResultList component]: No container found for ${e} selector`);return}this.containerEl=t}append(e){for(let t of e)this.containerEl.appendChild(t)}register(e){e.on("results",t=>{this.containerEl&&(this.containerEl.innerHTML="",this.intersectionEl=E(this.containerEl),this.results=t.results.map(s=>{let n=g(this.placeholderTemplate());return this.append(n),new d({result:s,placeholderNodes:n,resultFn:this.resultTemplate,intersectionEl:this.intersectionEl})}))}),e.on("loading",()=>{this.containerEl&&(this.containerEl.innerHTML="")})}};var o=class{constructor(e={}){if(this.containerEl=null,this.defaultMessage=e.defaultMessage??"",this.term="",e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind Summary component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Summary component]: No container found for ${e} selector`);return}this.containerEl=t,this.containerEl.innerText=this.defaultMessage}register(e){e.on("search",(t,s)=>{this.term=t}),e.on("results",t=>{if(!this.containerEl||!t)return;if(!this.term){this.containerEl.innerText=this.defaultMessage;return}let s=t?.results?.length??0;this.containerEl.innerText=`${s} result${s===1?"":"s"} for ${this.term}`}),e.on("loading",()=>{this.containerEl&&(this.containerEl.innerText=`Searching for ${this.term}...`)})}};var h=class{constructor(e={}){if(this.instance=null,this.wrapper=null,this.pillContainer=null,this.available={},this.selected=["All"],this.total=0,this.filterMemo="",this.filter=e.filter,this.ordering=e.ordering??null,this.alwaysShow=e.alwaysShow??!1,this.selectMultiple=e.selectMultiple??!1,!this.filter?.length){console.error("[Pagefind FilterPills component]: No filter option supplied, nothing to display");return}if(e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind FilterPills component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind FilterPills component]: No container found for ${e} selector`);return}t.innerHTML="";let s=`pagefind_modular_filter_pills_${this.filter}`,n=new r("div").class("pagefind-modular-filter-pills-wrapper").attrs({role:"group","aria-labelledby":s});this.alwaysShow||n.attrs({"data-pfmod-hidden":!0}),new r("div").id(s).class("pagefind-modular-filter-pills-label").attrs({"data-pfmod-sr-hidden":!0}).text(`Filter results by ${this.filter}`).addTo(n),this.pillContainer=new r("div").class("pagefind-modular-filter-pills").addTo(n),this.wrapper=n.addTo(t)}update(){let e=this.available.map(t=>t[0]).join("~");e==this.filterMemo?this.updateExisting():(this.renderNew(),this.filterMemo=e)}pushFilters(){let e=this.selected.filter(t=>t!=="All");this.instance.triggerFilter(this.filter,e)}pillInner(e,t){return this.total?`${e} (${t})`:`${e}`}renderNew(){this.available.forEach(([e,t])=>{new r("button").class("pagefind-modular-filter-pill").html(this.pillInner(e,t)).attrs({"aria-pressed":this.selected.includes(e),type:"button"}).handle("click",()=>{e==="All"?this.selected=["All"]:this.selected.includes(e)?this.selected=this.selected.filter(s=>s!==e):this.selectMultiple?this.selected.push(e):this.selected=[e],this.selected?.length?this.selected?.length>1&&(this.selected=this.selected.filter(s=>s!=="All")):this.selected=["All"],this.update(),this.pushFilters()}).addTo(this.pillContainer)})}updateExisting(){let e=[...this.pillContainer.childNodes];this.available.forEach(([t,s],n)=>{e[n].innerHTML=this.pillInner(t,s),e[n].setAttribute("aria-pressed",this.selected.includes(t))})}register(e){this.instance=e,this.instance.on("filters",t=>{if(!this.pillContainer)return;this.selectMultiple?t=t.available:t=t.total;let s=t[this.filter];if(!s){console.warn(`[Pagefind FilterPills component]: No possible values found for the ${this.filter} filter`);return}this.available=Object.entries(s),Array.isArray(this.ordering)?this.available.sort((n,c)=>{let m=this.ordering.indexOf(n[0]),_=this.ordering.indexOf(c[0]);return(m===-1?1/0:m)-(_===-1?1/0:_)}):this.available.sort((n,c)=>n[0].localeCompare(c[0])),this.available.unshift(["All",this.total]),this.update()}),e.on("results",t=>{this.pillContainer&&(this.total=t?.unfilteredResultCount||0,this.available?.[0]?.[0]==="All"&&(this.available[0][1]=this.total),this.total||this.alwaysShow?this.wrapper.removeAttribute("data-pfmod-hidden"):this.wrapper.setAttribute("data-pfmod-hidden","true"),this.update())})}};var P=async(i=50)=>await new Promise(e=>setTimeout(e,i)),u;try{document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&(u=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?modular-ui.js.*$/)[1])}catch{u="/pagefind/"}var p=class{constructor(e={}){this.__pagefind__=null,this.__initializing__=null,this.__searchID__=0,this.__hooks__={search:[],filters:[],loading:[],results:[]},this.components=[],this.searchTerm="",this.searchFilters={},this.searchResult={},this.availableFilters=null,this.totalFilters=null,this.options={bundlePath:e.bundlePath??u,mergeIndex:e.mergeIndex??[]},delete e.bundlePath,delete e.resetStyles,delete e.processResult,delete e.processTerm,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations,this.pagefindOptions=e}add(e){e?.register?.(this),this.components.push(e)}on(e,t){if(!this.__hooks__[e]){let s=Object.keys(this.__hooks__).join(", ");console.error(`[Pagefind Composable]: Unknown event type ${e}. Supported events: [${s}]`);return}if(typeof t!="function"){console.error(`[Pagefind Composable]: Expected callback to be a function, received ${typeof t}`);return}this.__hooks__[e].push(t)}triggerLoad(){this.__load__()}triggerSearch(e){this.searchTerm=e,this.__dispatch__("search",e,this.searchFilters),this.__search__(e,this.searchFilters)}triggerSearchWithFilters(e,t){this.searchTerm=e,this.searchFilters=t,this.__dispatch__("search",e,t),this.__search__(e,t)}triggerFilters(e){this.searchFilters=e,this.__dispatch__("search",this.searchTerm,e),this.__search__(this.searchTerm,e)}triggerFilter(e,t){this.searchFilters=this.searchFilters||{},this.searchFilters[e]=t,this.__dispatch__("search",this.searchTerm,this.searchFilters),this.__search__(this.searchTerm,this.searchFilters)}__dispatch__(e,...t){this.__hooks__[e]?.forEach(s=>s?.(...t))}async __clear__(){this.__dispatch__("results",{results:[],unfilteredTotalCount:0}),this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})}async __search__(e,t){this.__dispatch__("loading"),await this.__load__();let s=++this.__searchID__;if(!e||!e.length)return this.__clear__();let n=await this.__pagefind__.search(e,{filters:t});n&&this.__searchID__===s&&(n.filters&&Object.keys(n.filters)?.length&&(this.availableFilters=n.filters,this.totalFilters=n.totalFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})),this.searchResult=n,this.__dispatch__("results",this.searchResult))}async __load__(){if(this.__initializing__){for(;!this.__pagefind__;)await P(50);return}if(this.__initializing__=!0,!this.__pagefind__){let e;try{e=await import(`${this.options.bundlePath}pagefind.js`)}catch(t){console.error(t),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindComposable Instance"].join(` +`)),document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?console.error(`[DEBUG: Loaded from ${document.currentScript?.src??"bad script location"}]`):console.error("no known script location")}await e.options(this.pagefindOptions||{});for(let t of this.options.mergeIndex){if(!t.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let s=t.bundlePath;delete t.bundlePath,await e.mergeIndex(s,t)}this.__pagefind__=e}this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})}};window.PagefindModularUI=f;})(); diff --git a/dist2/pagefind/pagefind-ui.css b/dist2/pagefind/pagefind-ui.css new file mode 100644 index 0000000..d7984a9 --- /dev/null +++ b/dist2/pagefind/pagefind-ui.css @@ -0,0 +1 @@ +.pagefind-ui__result.svelte-j9e30.svelte-j9e30{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-j9e30.svelte-j9e30:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-thumb.svelte-j9e30.svelte-j9e30{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-j9e30.svelte-j9e30{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-j9e30.svelte-j9e30{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-j9e30.svelte-j9e30{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-j9e30.svelte-j9e30{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-j9e30.svelte-j9e30{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf{display:flex;flex-direction:column;padding-left:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf:first-of-type{padding-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{font-size:.9em;position:relative}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:before{content:"\2937 ";position:absolute;top:0;right:calc(100% + .1em)}.pagefind-ui__result-thumb.svelte-4xnkmf.svelte-4xnkmf{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-4xnkmf.svelte-4xnkmf{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-4xnkmf.svelte-4xnkmf{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-4xnkmf.svelte-4xnkmf{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-4xnkmf.svelte-4xnkmf{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}legend.svelte-1v2r7ls.svelte-1v2r7ls{position:absolute;clip:rect(0 0 0 0)}.pagefind-ui__filter-panel.svelte-1v2r7ls.svelte-1v2r7ls{min-width:min(calc(260px * var(--pagefind-ui-scale)),100%);flex:1;display:flex;flex-direction:column;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{border:0;padding:0}.pagefind-ui__filter-block.svelte-1v2r7ls.svelte-1v2r7ls{padding:0;display:block;border-bottom:solid calc(2px * var(--pagefind-ui-scale)) var(--pagefind-ui-border);padding:calc(20px * var(--pagefind-ui-scale)) 0}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls{font-size:calc(16px * var(--pagefind-ui-scale));position:relative;display:flex;align-items:center;list-style:none;font-weight:700;cursor:pointer;height:calc(24px * var(--pagefind-ui-scale))}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls::-webkit-details-marker{display:none}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls:after{position:absolute;content:"";right:calc(6px * var(--pagefind-ui-scale));top:50%;width:calc(8px * var(--pagefind-ui-scale));height:calc(8px * var(--pagefind-ui-scale));border:solid calc(2px * var(--pagefind-ui-scale)) currentColor;border-right:0;border-top:0;transform:translateY(-70%) rotate(-45deg)}.pagefind-ui__filter-block[open].svelte-1v2r7ls .pagefind-ui__filter-name.svelte-1v2r7ls:after{transform:translateY(-70%) rotate(-225deg)}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{display:flex;flex-direction:column;gap:calc(20px * var(--pagefind-ui-scale));padding-top:calc(30px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls{position:relative;display:flex;align-items:center;gap:calc(8px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls:before{position:absolute;content:"";top:50%;left:calc(8px * var(--pagefind-ui-scale));width:0px;height:0px;border:solid 1px #fff;opacity:0;transform:translate(calc(4.5px * var(--pagefind-ui-scale) * -1),calc(.8px * var(--pagefind-ui-scale))) skew(-5deg) rotate(-45deg);transform-origin:top left;border-top:0;border-right:0;pointer-events:none}.pagefind-ui__filter-value.pagefind-ui__filter-value--checked.svelte-1v2r7ls.svelte-1v2r7ls:before{opacity:1;width:calc(9px * var(--pagefind-ui-scale));height:calc(4px * var(--pagefind-ui-scale));transition:width .1s ease-out .1s,height .1s ease-in}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls{margin:0;width:calc(16px * var(--pagefind-ui-scale));height:calc(16px * var(--pagefind-ui-scale));border:solid 1px var(--pagefind-ui-border);appearance:none;-webkit-appearance:none;border-radius:calc(var(--pagefind-ui-border-radius) / 2);background-color:var(--pagefind-ui-background);cursor:pointer}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls:checked{background-color:var(--pagefind-ui-primary);border:solid 1px var(--pagefind-ui-primary)}.pagefind-ui__filter-label.svelte-1v2r7ls.svelte-1v2r7ls{cursor:pointer;font-size:calc(16px * var(--pagefind-ui-scale));font-weight:400}.pagefind-ui--reset *:where(:not(html,iframe,canvas,img,svg,video):not(svg *,symbol *)){all:unset;display:revert;outline:revert}.pagefind-ui--reset *,.pagefind-ui--reset *:before,.pagefind-ui--reset *:after{box-sizing:border-box}.pagefind-ui--reset a,.pagefind-ui--reset button{cursor:revert}.pagefind-ui--reset ol,.pagefind-ui--reset ul,.pagefind-ui--reset menu{list-style:none}.pagefind-ui--reset img{max-width:100%}.pagefind-ui--reset table{border-collapse:collapse}.pagefind-ui--reset input,.pagefind-ui--reset textarea{-webkit-user-select:auto}.pagefind-ui--reset textarea{white-space:revert}.pagefind-ui--reset meter{-webkit-appearance:revert;appearance:revert}.pagefind-ui--reset ::placeholder{color:unset}.pagefind-ui--reset :where([hidden]){display:none}.pagefind-ui--reset :where([contenteditable]:not([contenteditable="false"])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}.pagefind-ui--reset :where([draggable="true"]){-webkit-user-drag:element}.pagefind-ui--reset mark{all:revert}:root{--pagefind-ui-scale:.8;--pagefind-ui-primary:#393939;--pagefind-ui-text:#393939;--pagefind-ui-background:#ffffff;--pagefind-ui-border:#eeeeee;--pagefind-ui-tag:#eeeeee;--pagefind-ui-border-width:2px;--pagefind-ui-border-radius:8px;--pagefind-ui-image-border-radius:8px;--pagefind-ui-image-box-ratio:3 / 2;--pagefind-ui-font:system, -apple-system, "BlinkMacSystemFont", ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", "Ubuntu", "arial", sans-serif}.pagefind-ui.svelte-e9gkc3{width:100%;color:var(--pagefind-ui-text);font-family:var(--pagefind-ui-font)}.pagefind-ui__hidden.svelte-e9gkc3{display:none!important}.pagefind-ui__suppressed.svelte-e9gkc3{opacity:0;pointer-events:none}.pagefind-ui__form.svelte-e9gkc3{position:relative}.pagefind-ui__form.svelte-e9gkc3:before{background-color:var(--pagefind-ui-text);width:calc(18px * var(--pagefind-ui-scale));height:calc(18px * var(--pagefind-ui-scale));top:calc(23px * var(--pagefind-ui-scale));left:calc(20px * var(--pagefind-ui-scale));content:"";position:absolute;display:block;opacity:.7;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");-webkit-mask-size:100%;mask-size:100%;z-index:9;pointer-events:none}.pagefind-ui__search-input.svelte-e9gkc3{height:calc(64px * var(--pagefind-ui-scale));padding:0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale));background-color:var(--pagefind-ui-background);border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);font-size:calc(21px * var(--pagefind-ui-scale));position:relative;appearance:none;-webkit-appearance:none;display:flex;width:100%;box-sizing:border-box;font-weight:700}.pagefind-ui__search-input.svelte-e9gkc3::placeholder{opacity:.2}.pagefind-ui__search-clear.svelte-e9gkc3{position:absolute;top:calc(3px * var(--pagefind-ui-scale));right:calc(3px * var(--pagefind-ui-scale));height:calc(58px * var(--pagefind-ui-scale));padding:0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale));color:var(--pagefind-ui-text);font-size:calc(14px * var(--pagefind-ui-scale));cursor:pointer;background-color:var(--pagefind-ui-background);border-radius:var(--pagefind-ui-border-radius)}.pagefind-ui__drawer.svelte-e9gkc3{gap:calc(60px * var(--pagefind-ui-scale));display:flex;flex-direction:row;flex-wrap:wrap}.pagefind-ui__results-area.svelte-e9gkc3{min-width:min(calc(400px * var(--pagefind-ui-scale)),100%);flex:1000;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__results.svelte-e9gkc3{padding:0}.pagefind-ui__message.svelte-e9gkc3{box-sizing:content-box;font-size:calc(16px * var(--pagefind-ui-scale));height:calc(24px * var(--pagefind-ui-scale));padding:calc(20px * var(--pagefind-ui-scale)) 0;display:flex;align-items:center;font-weight:700;margin-top:0}.pagefind-ui__button.svelte-e9gkc3{margin-top:calc(40px * var(--pagefind-ui-scale));border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);height:calc(48px * var(--pagefind-ui-scale));padding:0 calc(12px * var(--pagefind-ui-scale));font-size:calc(16px * var(--pagefind-ui-scale));color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background);width:100%;text-align:center;font-weight:700;cursor:pointer}.pagefind-ui__button.svelte-e9gkc3:hover{border-color:var(--pagefind-ui-primary);color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background)} diff --git a/dist2/pagefind/pagefind-ui.js b/dist2/pagefind/pagefind-ui.js new file mode 100644 index 0000000..6c2ec66 --- /dev/null +++ b/dist2/pagefind/pagefind-ui.js @@ -0,0 +1,2 @@ +(()=>{var Ms=Object.defineProperty;var y=(n,e)=>{for(var t in e)Ms(n,t,{get:e[t],enumerable:!0})};function z(){}function mt(n){return n()}function gn(){return Object.create(null)}function G(n){n.forEach(mt)}function nt(n){return typeof n=="function"}function K(n,e){return n!=n?e==e:n!==e||n&&typeof n=="object"||typeof n=="function"}var et;function ie(n,e){return et||(et=document.createElement("a")),et.href=e,n===et.href}function En(n){return Object.keys(n).length===0}var Rn=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global,de=class{constructor(e){this.options=e,this._listeners="WeakMap"in Rn?new WeakMap:void 0}observe(e,t){return this._listeners.set(e,t),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){var e;return(e=this._observer)!==null&&e!==void 0?e:this._observer=new ResizeObserver(t=>{var s;for(let r of t)de.entries.set(r.target,r),(s=this._listeners.get(r.target))===null||s===void 0||s(r)})}};de.entries="WeakMap"in Rn?new WeakMap:void 0;var bn=!1;function As(){bn=!0}function vs(){bn=!1}function b(n,e){n.appendChild(e)}function S(n,e,t){n.insertBefore(e,t||null)}function k(n){n.parentNode&&n.parentNode.removeChild(n)}function Q(n,e){for(let t=0;tn.removeEventListener(e,t,s)}function E(n,e,t){t==null?n.removeAttribute(e):n.getAttribute(e)!==t&&n.setAttribute(e,t)}function Hs(n){return Array.from(n.childNodes)}function N(n,e){e=""+e,n.data!==e&&(n.data=e)}function pt(n,e){n.value=e??""}function B(n,e,t){n.classList[t?"add":"remove"](e)}var st=class{constructor(e=!1){this.is_svg=!1,this.is_svg=e,this.e=this.n=null}c(e){this.h(e)}m(e,t,s=null){this.e||(this.is_svg?this.e=ws(t.nodeName):this.e=C(t.nodeType===11?"TEMPLATE":t.nodeName),this.t=t.tagName!=="TEMPLATE"?t:t.content,this.c(e)),this.i(s)}h(e){this.e.innerHTML=e,this.n=Array.from(this.e.nodeName==="TEMPLATE"?this.e.content.childNodes:this.e.childNodes)}i(e){for(let t=0;tn.indexOf(s)===-1?e.push(s):t.push(s)),t.forEach(s=>s()),re=e}var tt=new Set,ee;function ae(){ee={r:0,c:[],p:ee}}function oe(){ee.r||G(ee.c),ee=ee.p}function U(n,e){n&&n.i&&(tt.delete(n),n.i(e))}function P(n,e,t,s){if(n&&n.o){if(tt.has(n))return;tt.add(n),ee.c.push(()=>{tt.delete(n),s&&(t&&n.d(1),s())}),n.o(e)}else s&&s()}function Sn(n,e){P(n,1,1,()=>{e.delete(n.key)})}function yn(n,e,t,s,r,l,i,a,o,h,c,m){let p=n.length,d=l.length,_=p,u={};for(;_--;)u[n[_].key]=_;let f=[],T=new Map,R=new Map,M=[];for(_=d;_--;){let v=m(r,l,_),H=t(v),O=i.get(H);O?s&&M.push(()=>O.p(v,e)):(O=h(H,v),O.c()),T.set(H,f[_]=O),H in u&&R.set(H,Math.abs(_-u[H]))}let D=new Set,X=new Set;function V(v){U(v,1),v.m(a,c),i.set(v.key,v),c=v.first,d--}for(;p&&d;){let v=f[d-1],H=n[p-1],O=v.key,W=H.key;v===H?(c=v.first,p--,d--):T.has(W)?!i.has(O)||D.has(O)?V(v):X.has(W)?p--:R.get(O)>R.get(W)?(X.add(O),V(v)):(D.add(W),p--):(o(H,i),p--)}for(;p--;){let v=n[p];T.has(v.key)||o(v,i)}for(;d;)V(f[d-1]);return G(M),f}var zs=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Ua=new Set([...zs]);function Mn(n,e,t){let s=n.$$.props[e];s!==void 0&&(n.$$.bound[s]=t,t(n.$$.ctx[s]))}function rt(n){n&&n.c()}function me(n,e,t,s){let{fragment:r,after_update:l}=n.$$;r&&r.m(e,t),s||ht(()=>{let i=n.$$.on_mount.map(mt).filter(nt);n.$$.on_destroy?n.$$.on_destroy.push(...i):G(i),n.$$.on_mount=[]}),l.forEach(ht)}function ue(n,e){let t=n.$$;t.fragment!==null&&(js(t.after_update),G(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function Us(n,e){n.$$.dirty[0]===-1&&(se.push(n),Ns(),n.$$.dirty.fill(0)),n.$$.dirty[e/31|0]|=1<{let _=d.length?d[0]:p;return h.ctx&&r(h.ctx[m],h.ctx[m]=_)&&(!h.skip_bound&&h.bound[m]&&h.bound[m](_),c&&Us(n,m)),p}):[],h.update(),c=!0,G(h.before_update),h.fragment=s?s(h.ctx):!1,e.target){if(e.hydrate){As();let m=Hs(e.target);h.fragment&&h.fragment.l(m),m.forEach(k)}else h.fragment&&h.fragment.c();e.intro&&U(n.$$.fragment),me(n,e.target,e.anchor,e.customElement),vs(),kn()}fe(o)}var Ds;typeof HTMLElement=="function"&&(Ds=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){let{on_mount:n}=this.$$;this.$$.on_disconnect=n.map(mt).filter(nt);for(let e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(n,e,t){this[n]=t}disconnectedCallback(){G(this.$$.on_disconnect)}$destroy(){ue(this,1),this.$destroy=z}$on(n,e){if(!nt(e))return z;let t=this.$$.callbacks[n]||(this.$$.callbacks[n]=[]);return t.push(e),()=>{let s=t.indexOf(e);s!==-1&&t.splice(s,1)}}$set(n){this.$$set&&!En(n)&&(this.$$.skip_bound=!0,this.$$set(n),this.$$.skip_bound=!1)}});var q=class{$destroy(){ue(this,1),this.$destroy=z}$on(e,t){if(!nt(t))return z;let s=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return s.push(t),()=>{let r=s.indexOf(t);r!==-1&&s.splice(r,1)}}$set(e){this.$$set&&!En(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};function I(n){let e=typeof n=="string"?n.charCodeAt(0):n;return e>=97&&e<=122||e>=65&&e<=90}function $(n){let e=typeof n=="string"?n.charCodeAt(0):n;return e>=48&&e<=57}function Z(n){return I(n)||$(n)}var An=["art-lojban","cel-gaulish","no-bok","no-nyn","zh-guoyu","zh-hakka","zh-min","zh-min-nan","zh-xiang"];var Rt={"en-gb-oed":"en-GB-oxendict","i-ami":"ami","i-bnn":"bnn","i-default":null,"i-enochian":null,"i-hak":"hak","i-klingon":"tlh","i-lux":"lb","i-mingo":null,"i-navajo":"nv","i-pwn":"pwn","i-tao":"tao","i-tay":"tay","i-tsu":"tsu","sgn-be-fr":"sfb","sgn-be-nl":"vgt","sgn-ch-de":"sgg","art-lojban":"jbo","cel-gaulish":null,"no-bok":"nb","no-nyn":"nn","zh-guoyu":"cmn","zh-hakka":"hak","zh-min":null,"zh-min-nan":"nan","zh-xiang":"hsn"};var Is={}.hasOwnProperty;function lt(n,e={}){let t=vn(),s=String(n),r=s.toLowerCase(),l=0;if(n==null)throw new Error("Expected string, got `"+n+"`");if(Is.call(Rt,r)){let a=Rt[r];return(e.normalize===void 0||e.normalize===null||e.normalize)&&typeof a=="string"?lt(a):(t[An.includes(r)?"regular":"irregular"]=s,t)}for(;I(r.charCodeAt(l))&&l<9;)l++;if(l>1&&l<9){if(t.language=s.slice(0,l),l<4){let a=0;for(;r.charCodeAt(l)===45&&I(r.charCodeAt(l+1))&&I(r.charCodeAt(l+2))&&I(r.charCodeAt(l+3))&&!I(r.charCodeAt(l+4));){if(a>2)return i(l,3,"Too many extended language subtags, expected at most 3 subtags");t.extendedLanguageSubtags.push(s.slice(l+1,l+4)),l+=4,a++}}for(r.charCodeAt(l)===45&&I(r.charCodeAt(l+1))&&I(r.charCodeAt(l+2))&&I(r.charCodeAt(l+3))&&I(r.charCodeAt(l+4))&&!I(r.charCodeAt(l+5))&&(t.script=s.slice(l+1,l+5),l+=5),r.charCodeAt(l)===45&&(I(r.charCodeAt(l+1))&&I(r.charCodeAt(l+2))&&!I(r.charCodeAt(l+3))?(t.region=s.slice(l+1,l+3),l+=3):$(r.charCodeAt(l+1))&&$(r.charCodeAt(l+2))&&$(r.charCodeAt(l+3))&&!$(r.charCodeAt(l+4))&&(t.region=s.slice(l+1,l+4),l+=4));r.charCodeAt(l)===45;){let a=l+1,o=a;for(;Z(r.charCodeAt(o));){if(o-a>7)return i(o,1,"Too long variant, expected at most 8 characters");o++}if(o-a>4||o-a>3&&$(r.charCodeAt(a)))t.variants.push(s.slice(a,o)),l=o;else break}for(;r.charCodeAt(l)===45&&!(r.charCodeAt(l+1)===120||!Z(r.charCodeAt(l+1))||r.charCodeAt(l+2)!==45||!Z(r.charCodeAt(l+3)));){let a=l+2,o=0;for(;r.charCodeAt(a)===45&&Z(r.charCodeAt(a+1))&&Z(r.charCodeAt(a+2));){let h=a+1;for(a=h+2,o++;Z(r.charCodeAt(a));){if(a-h>7)return i(a,2,"Too long extension, expected at most 8 characters");a++}}if(!o)return i(a,4,"Empty extension, extensions must have at least 2 characters of content");t.extensions.push({singleton:s.charAt(l+1),extensions:s.slice(l+3,a).split("-")}),l=a}}else l=0;if(l===0&&r.charCodeAt(l)===120||r.charCodeAt(l)===45&&r.charCodeAt(l+1)===120){l=l?l+2:1;let a=l;for(;r.charCodeAt(a)===45&&Z(r.charCodeAt(a+1));){let o=l+1;for(a=o;Z(r.charCodeAt(a));){if(a-o>7)return i(a,5,"Too long private-use area, expected at most 8 characters");a++}t.privateuse.push(s.slice(l+1,a)),l=a}}if(l!==s.length)return i(l,6,"Found superfluous content after tag");return t;function i(a,o,h){return e.warning&&e.warning(h,o,a),e.forgiving?t:vn()}}function vn(){return{language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null}}function wn(n,e,t){let s=n.slice();return s[8]=e[t][0],s[9]=e[t][1],s}function Ps(n){let e,t,s,r,l,i=n[0]&&Hn(n);return{c(){i&&i.c(),e=A(),t=C("div"),s=C("p"),s.textContent=`${n[3](30)}`,r=A(),l=C("p"),l.textContent=`${n[3](40)}`,E(s,"class","pagefind-ui__result-title pagefind-ui__loading svelte-j9e30"),E(l,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-j9e30"),E(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(a,o){i&&i.m(a,o),S(a,e,o),S(a,t,o),b(t,s),b(t,r),b(t,l)},p(a,o){a[0]?i||(i=Hn(a),i.c(),i.m(e.parentNode,e)):i&&(i.d(1),i=null)},d(a){i&&i.d(a),a&&k(e),a&&k(t)}}}function Ls(n){let e,t,s,r,l=n[1].meta?.title+"",i,a,o,h,c=n[1].excerpt+"",m,p=n[0]&&Fn(n),d=n[2].length&&On(n);return{c(){p&&p.c(),e=A(),t=C("div"),s=C("p"),r=C("a"),i=w(l),o=A(),h=C("p"),m=A(),d&&d.c(),E(r,"class","pagefind-ui__result-link svelte-j9e30"),E(r,"href",a=n[1].meta?.url||n[1].url),E(s,"class","pagefind-ui__result-title svelte-j9e30"),E(h,"class","pagefind-ui__result-excerpt svelte-j9e30"),E(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(_,u){p&&p.m(_,u),S(_,e,u),S(_,t,u),b(t,s),b(s,r),b(r,i),b(t,o),b(t,h),h.innerHTML=c,b(t,m),d&&d.m(t,null)},p(_,u){_[0]?p?p.p(_,u):(p=Fn(_),p.c(),p.m(e.parentNode,e)):p&&(p.d(1),p=null),u&2&&l!==(l=_[1].meta?.title+"")&&N(i,l),u&2&&a!==(a=_[1].meta?.url||_[1].url)&&E(r,"href",a),u&2&&c!==(c=_[1].excerpt+"")&&(h.innerHTML=c),_[2].length?d?d.p(_,u):(d=On(_),d.c(),d.m(t,null)):d&&(d.d(1),d=null)},d(_){p&&p.d(_),_&&k(e),_&&k(t),d&&d.d()}}}function Hn(n){let e;return{c(){e=C("div"),E(e,"class","pagefind-ui__result-thumb pagefind-ui__loading svelte-j9e30")},m(t,s){S(t,e,s)},d(t){t&&k(e)}}}function Fn(n){let e,t=n[1].meta.image&&Nn(n);return{c(){e=C("div"),t&&t.c(),E(e,"class","pagefind-ui__result-thumb svelte-j9e30")},m(s,r){S(s,e,r),t&&t.m(e,null)},p(s,r){s[1].meta.image?t?t.p(s,r):(t=Nn(s),t.c(),t.m(e,null)):t&&(t.d(1),t=null)},d(s){s&&k(e),t&&t.d()}}}function Nn(n){let e,t,s;return{c(){e=C("img"),E(e,"class","pagefind-ui__result-image svelte-j9e30"),ie(e.src,t=n[1].meta?.image)||E(e,"src",t),E(e,"alt",s=n[1].meta?.image_alt||n[1].meta?.title)},m(r,l){S(r,e,l)},p(r,l){l&2&&!ie(e.src,t=r[1].meta?.image)&&E(e,"src",t),l&2&&s!==(s=r[1].meta?.image_alt||r[1].meta?.title)&&E(e,"alt",s)},d(r){r&&k(e)}}}function On(n){let e,t=n[2],s=[];for(let r=0;rn.toLocaleUpperCase();function Bs(n,e,t){let{show_images:s=!0}=e,{process_result:r=null}=e,{result:l={data:async()=>{}}}=e,i=["title","image","image_alt","url"],a,o=[],h=async m=>{t(1,a=await m.data()),t(1,a=r?.(a)??a),t(2,o=Object.entries(a.meta).filter(([p])=>!i.includes(p)))},c=(m=30)=>". ".repeat(Math.floor(10+Math.random()*m));return n.$$set=m=>{"show_images"in m&&t(0,s=m.show_images),"process_result"in m&&t(4,r=m.process_result),"result"in m&&t(5,l=m.result)},n.$$.update=()=>{if(n.$$.dirty&32)e:h(l)},[s,a,o,c,r,l]}var bt=class extends q{constructor(e){super(),Y(this,e,Bs,qs,K,{show_images:0,process_result:4,result:5})}},Un=bt;function Dn(n,e,t){let s=n.slice();return s[11]=e[t][0],s[12]=e[t][1],s}function In(n,e,t){let s=n.slice();return s[15]=e[t],s}function Vs(n){let e,t,s,r,l,i=n[0]&&Pn(n);return{c(){i&&i.c(),e=A(),t=C("div"),s=C("p"),s.textContent=`${n[5](30)}`,r=A(),l=C("p"),l.textContent=`${n[5](40)}`,E(s,"class","pagefind-ui__result-title pagefind-ui__loading svelte-4xnkmf"),E(l,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-4xnkmf"),E(t,"class","pagefind-ui__result-inner svelte-4xnkmf")},m(a,o){i&&i.m(a,o),S(a,e,o),S(a,t,o),b(t,s),b(t,r),b(t,l)},p(a,o){a[0]?i||(i=Pn(a),i.c(),i.m(e.parentNode,e)):i&&(i.d(1),i=null)},d(a){i&&i.d(a),a&&k(e),a&&k(t)}}}function Ws(n){let e,t,s,r,l=n[1].meta?.title+"",i,a,o,h,c,m=n[0]&&Ln(n),p=n[4]&&Bn(n),d=n[3],_=[];for(let f=0;fn.toLocaleUpperCase();function Ks(n,e,t){let{show_images:s=!0}=e,{process_result:r=null}=e,{result:l={data:async()=>{}}}=e,i=["title","image","image_alt","url"],a,o=[],h=[],c=!1,m=(_,u)=>{if(_.length<=u)return _;let f=[..._].sort((T,R)=>R.locations.length-T.locations.length).slice(0,3).map(T=>T.url);return _.filter(T=>f.includes(T.url))},p=async _=>{t(1,a=await _.data()),t(1,a=r?.(a)??a),t(2,o=Object.entries(a.meta).filter(([u])=>!i.includes(u))),Array.isArray(a.sub_results)&&(t(4,c=a.sub_results?.[0]?.url===(a.meta?.url||a.url)),c?t(3,h=m(a.sub_results.slice(1),3)):t(3,h=m([...a.sub_results],3)))},d=(_=30)=>". ".repeat(Math.floor(10+Math.random()*_));return n.$$set=_=>{"show_images"in _&&t(0,s=_.show_images),"process_result"in _&&t(6,r=_.process_result),"result"in _&&t(7,l=_.result)},n.$$.update=()=>{if(n.$$.dirty&128)e:p(l)},[s,a,o,h,c,d,r,l]}var Tt=class extends q{constructor(e){super(),Y(this,e,Ks,Gs,K,{show_images:0,process_result:6,result:7})}},Jn=Tt;function Yn(n,e,t){let s=n.slice();return s[10]=e[t][0],s[11]=e[t][1],s[12]=e,s[13]=t,s}function Zn(n,e,t){let s=n.slice();return s[14]=e[t][0],s[15]=e[t][1],s[16]=e,s[17]=t,s}function Xn(n){let e,t,s=n[4]("filters_label",n[5],n[6])+"",r,l,i=Object.entries(n[1]),a=[];for(let o=0;on.toLocaleUpperCase(),ts=n=>n.toLowerCase();function Ys(n,e,t){let{available_filters:s=null}=e,{show_empty_filters:r=!0}=e,{open_filters:l=[]}=e,{translate:i=()=>""}=e,{automatic_translations:a={}}=e,{translations:o={}}=e,{selected_filters:h={}}=e,c=!1,m=!1;function p(d,_){h[`${d}:${_}`]=this.checked,t(0,h)}return n.$$set=d=>{"available_filters"in d&&t(1,s=d.available_filters),"show_empty_filters"in d&&t(2,r=d.show_empty_filters),"open_filters"in d&&t(3,l=d.open_filters),"translate"in d&&t(4,i=d.translate),"automatic_translations"in d&&t(5,a=d.automatic_translations),"translations"in d&&t(6,o=d.translations),"selected_filters"in d&&t(0,h=d.selected_filters)},n.$$.update=()=>{if(n.$$.dirty&258){e:if(s&&!c){t(8,c=!0);let d=Object.entries(s||{});d.length===1&&Object.entries(d[0][1])?.length<=6&&t(7,m=!0)}}},[h,s,r,l,i,a,o,m,c,p]}var Ct=class extends q{constructor(e){super(),Y(this,e,Ys,Js,K,{available_filters:1,show_empty_filters:2,open_filters:3,translate:4,automatic_translations:5,translations:6,selected_filters:0})}},ns=Ct;var kt={};y(kt,{comments:()=>Xs,default:()=>$s,direction:()=>Qs,strings:()=>xs,thanks_to:()=>Zs});var Zs="Jan Claasen ",Xs="",Qs="ltr",xs={placeholder:"Soek",clear_search:"Opruim",load_more:"Laai nog resultate",search_label:"Soek hierdie webwerf",filters_label:"Filters",zero_results:"Geen resultate vir [SEARCH_TERM]",many_results:"[COUNT] resultate vir [SEARCH_TERM]",one_result:"[COUNT] resultate vir [SEARCH_TERM]",alt_search:"Geen resultate vir [SEARCH_TERM]. Toon resultate vir [DIFFERENT_TERM] in plaas daarvan",search_suggestion:"Geen resultate vir [SEARCH_TERM]. Probeer eerder een van die volgende terme:",searching:"Soek vir [SEARCH_TERM]"},$s={thanks_to:Zs,comments:Xs,direction:Qs,strings:xs};var St={};y(St,{comments:()=>tr,default:()=>rr,direction:()=>nr,strings:()=>sr,thanks_to:()=>er});var er="Jermanuts",tr="",nr="rtl",sr={placeholder:"\u0628\u062D\u062B",clear_search:"\u0627\u0645\u0633\u062D",load_more:"\u062D\u0645\u0651\u0650\u0644 \u0627\u0644\u0645\u0632\u064A\u062F \u0645\u0646 \u0627\u0644\u0646\u062A\u0627\u0626\u062C",search_label:"\u0627\u0628\u062D\u062B \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u0648\u0642\u0639",filters_label:"\u062A\u0635\u0641\u064A\u0627\u062A",zero_results:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]",many_results:"[COUNT] \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]",one_result:"[COUNT] \u0646\u062A\u064A\u062C\u0629 \u0644 [SEARCH_TERM]",alt_search:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]. \u064A\u0639\u0631\u0636 \u0627\u0644\u0646\u062A\u0627\u0626\u062C \u0644 [DIFFERENT_TERM] \u0628\u062F\u0644\u0627\u064B \u0645\u0646 \u0630\u0644\u0643",search_suggestion:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]. \u062C\u0631\u0628 \u0623\u062D\u062F \u0639\u0645\u0644\u064A\u0627\u062A \u0627\u0644\u0628\u062D\u062B \u0627\u0644\u062A\u0627\u0644\u064A\u0629:",searching:"\u064A\u0628\u062D\u062B \u0639\u0646 [SEARCH_TERM]..."},rr={thanks_to:er,comments:tr,direction:nr,strings:sr};var yt={};y(yt,{comments:()=>ir,default:()=>ur,direction:()=>ar,strings:()=>or,thanks_to:()=>lr});var lr="Maruf Alom ",ir="",ar="ltr",or={placeholder:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",clear_search:"\u09AE\u09C1\u099B\u09C7 \u09AB\u09C7\u09B2\u09C1\u09A8",load_more:"\u0986\u09B0\u09CB \u09AB\u09B2\u09BE\u09AB\u09B2 \u09A6\u09C7\u0996\u09C1\u09A8",search_label:"\u098F\u0987 \u0993\u09DF\u09C7\u09AC\u09B8\u09BE\u0987\u099F\u09C7 \u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",filters_label:"\u09AB\u09BF\u09B2\u09CD\u099F\u09BE\u09B0",zero_results:"[SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09DF\u09BE \u09AF\u09BE\u09DF\u09A8\u09BF",many_results:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2 \u09AA\u09BE\u0993\u09DF\u09BE \u0997\u09BF\u09DF\u09C7\u099B\u09C7 [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF",one_result:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2 \u09AA\u09BE\u0993\u09DF\u09BE \u0997\u09BF\u09DF\u09C7\u099B\u09C7 [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF",alt_search:"\u0995\u09CB\u09A8 \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09DF\u09BE \u09AF\u09BE\u09DF\u09A8\u09BF [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF. \u09AA\u09B0\u09BF\u09AC\u09B0\u09CD\u09A4\u09C7 [DIFFERENT_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF \u09A6\u09C7\u0996\u09BE\u09A8\u09CB \u09B9\u099A\u09CD\u099B\u09C7",search_suggestion:"\u0995\u09CB\u09A8 \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09DF\u09BE \u09AF\u09BE\u09DF\u09A8\u09BF [SEARCH_TERM] \u098F\u09B0 \u09AC\u09BF\u09B7\u09DF\u09C7. \u09A8\u09BF\u09A8\u09CD\u09AE\u09C7\u09B0 \u09AC\u09BF\u09B7\u09DF\u09AC\u09B8\u09CD\u09A4\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09A6\u09C7\u0996\u09C1\u09A8:",searching:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u099A\u09B2\u099B\u09C7 [SEARCH_TERM]..."},ur={thanks_to:lr,comments:ir,direction:ar,strings:or};var Mt={};y(Mt,{comments:()=>_r,default:()=>hr,direction:()=>fr,strings:()=>dr,thanks_to:()=>cr});var cr="Pablo Villaverde ",_r="",fr="ltr",dr={placeholder:"Cerca",clear_search:"Netejar",load_more:"Veure m\xE9s resultats",search_label:"Cerca en aquest lloc",filters_label:"Filtres",zero_results:"No es van trobar resultats per [SEARCH_TERM]",many_results:"[COUNT] resultats trobats per [SEARCH_TERM]",one_result:"[COUNT] resultat trobat per [SEARCH_TERM]",alt_search:"No es van trobar resultats per [SEARCH_TERM]. Mostrant al seu lloc resultats per [DIFFERENT_TERM]",search_suggestion:"No es van trobar resultats per [SEARCH_TERM]. Proveu una de les cerques seg\xFCents:",searching:"Cercant [SEARCH_TERM]..."},hr={thanks_to:cr,comments:_r,direction:fr,strings:dr};var At={};y(At,{comments:()=>pr,default:()=>Rr,direction:()=>gr,strings:()=>Er,thanks_to:()=>mr});var mr="Dalibor Hon ",pr="",gr="ltr",Er={placeholder:"Hledat",clear_search:"Smazat",load_more:"Na\u010D\xEDst dal\u0161\xED v\xFDsledky",search_label:"Prohledat tuto str\xE1nku",filters_label:"Filtry",zero_results:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]",many_results:"[COUNT] v\xFDsledk\u016F pro [SEARCH_TERM]",one_result:"[COUNT] v\xFDsledek pro [SEARCH_TERM]",alt_search:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]. Zobrazuj\xED se v\xFDsledky pro [DIFFERENT_TERM]",search_suggestion:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]. Souvisej\xEDc\xED v\xFDsledky hled\xE1n\xED:",searching:"Hled\xE1m [SEARCH_TERM]..."},Rr={thanks_to:mr,comments:pr,direction:gr,strings:Er};var vt={};y(vt,{comments:()=>Tr,default:()=>Sr,direction:()=>Cr,strings:()=>kr,thanks_to:()=>br});var br="Jonas Smedegaard ",Tr="",Cr="ltr",kr={placeholder:"S\xF8g",clear_search:"Nulstil",load_more:"Indl\xE6s flere resultater",search_label:"S\xF8g p\xE5 dette website",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Pr\xF8v et af disse s\xF8geord i stedet:",searching:"S\xF8ger efter [SEARCH_TERM]..."},Sr={thanks_to:br,comments:Tr,direction:Cr,strings:kr};var wt={};y(wt,{comments:()=>Mr,default:()=>wr,direction:()=>Ar,strings:()=>vr,thanks_to:()=>yr});var yr="Jan Claasen ",Mr="",Ar="ltr",vr={placeholder:"Suche",clear_search:"L\xF6schen",load_more:"Mehr Ergebnisse laden",search_label:"Suche diese Seite",filters_label:"Filter",zero_results:"Keine Ergebnisse f\xFCr [SEARCH_TERM]",many_results:"[COUNT] Ergebnisse f\xFCr [SEARCH_TERM]",one_result:"[COUNT] Ergebnis f\xFCr [SEARCH_TERM]",alt_search:"Keine Ergebnisse f\xFCr [SEARCH_TERM]. Stattdessen werden Ergebnisse f\xFCr [DIFFERENT_TERM] angezeigt",search_suggestion:"Keine Ergebnisse f\xFCr [SEARCH_TERM]. Versuchen Sie eine der folgenden Suchen:",searching:"Suche f\xFCr [SEARCH_TERM]"},wr={thanks_to:yr,comments:Mr,direction:Ar,strings:vr};var Ht={};y(Ht,{comments:()=>Fr,default:()=>jr,direction:()=>Nr,strings:()=>Or,thanks_to:()=>Hr});var Hr="Liam Bigelow ",Fr="",Nr="ltr",Or={placeholder:"Search",clear_search:"Clear",load_more:"Load more results",search_label:"Search this site",filters_label:"Filters",zero_results:"No results for [SEARCH_TERM]",many_results:"[COUNT] results for [SEARCH_TERM]",one_result:"[COUNT] result for [SEARCH_TERM]",alt_search:"No results for [SEARCH_TERM]. Showing results for [DIFFERENT_TERM] instead",search_suggestion:"No results for [SEARCH_TERM]. Try one of the following searches:",searching:"Searching for [SEARCH_TERM]..."},jr={thanks_to:Hr,comments:Fr,direction:Nr,strings:Or};var Ft={};y(Ft,{comments:()=>Ur,default:()=>Pr,direction:()=>Dr,strings:()=>Ir,thanks_to:()=>zr});var zr="Pablo Villaverde ",Ur="",Dr="ltr",Ir={placeholder:"Buscar",clear_search:"Limpiar",load_more:"Ver m\xE1s resultados",search_label:"Buscar en este sitio",filters_label:"Filtros",zero_results:"No se encontraron resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"No se encontraron resultados para [SEARCH_TERM]. Mostrando en su lugar resultados para [DIFFERENT_TERM]",search_suggestion:"No se encontraron resultados para [SEARCH_TERM]. Prueba una de las siguientes b\xFAsquedas:",searching:"Buscando [SEARCH_TERM]..."},Pr={thanks_to:zr,comments:Ur,direction:Dr,strings:Ir};var Nt={};y(Nt,{comments:()=>qr,default:()=>Wr,direction:()=>Br,strings:()=>Vr,thanks_to:()=>Lr});var Lr="Ali Khaleqi Yekta ",qr="",Br="rtl",Vr={placeholder:"\u062C\u0633\u062A\u062C\u0648",clear_search:"\u067E\u0627\u06A9\u0633\u0627\u0632\u06CC",load_more:"\u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC \u0646\u062A\u0627\u06CC\u062C \u0628\u06CC\u0634\u062A\u0631",search_label:"\u062C\u0633\u062A\u062C\u0648 \u062F\u0631 \u0633\u0627\u06CC\u062A",filters_label:"\u0641\u06CC\u0644\u062A\u0631\u0647\u0627",zero_results:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0646\u0634\u062F",many_results:"[COUNT] \u0646\u062A\u06CC\u062C\u0647 \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0634\u062F",one_result:"[COUNT] \u0646\u062A\u06CC\u062C\u0647 \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0634\u062F",alt_search:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0646\u0634\u062F. \u062F\u0631 \u0639\u0648\u0636 \u0646\u062A\u0627\u06CC\u062C \u0628\u0631\u0627\u06CC [DIFFERENT_TERM] \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F",search_suggestion:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0646\u0634\u062F. \u06CC\u06A9\u06CC \u0627\u0632 \u062C\u0633\u062A\u062C\u0648\u0647\u0627\u06CC \u0632\u06CC\u0631 \u0631\u0627 \u0627\u0645\u062A\u062D\u0627\u0646 \u06A9\u0646\u06CC\u062F:",searching:"\u062F\u0631 \u062D\u0627\u0644 \u062C\u0633\u062A\u062C\u0648\u06CC [SEARCH_TERM]..."},Wr={thanks_to:Lr,comments:qr,direction:Br,strings:Vr};var Ot={};y(Ot,{comments:()=>Kr,default:()=>Zr,direction:()=>Jr,strings:()=>Yr,thanks_to:()=>Gr});var Gr="Valtteri Laitinen ",Kr="",Jr="ltr",Yr={placeholder:"Haku",clear_search:"Tyhjenn\xE4",load_more:"Lataa lis\xE4\xE4 tuloksia",search_label:"Hae t\xE4lt\xE4 sivustolta",filters_label:"Suodattimet",zero_results:"Ei tuloksia haulle [SEARCH_TERM]",many_results:"[COUNT] tulosta haulle [SEARCH_TERM]",one_result:"[COUNT] tulos haulle [SEARCH_TERM]",alt_search:"Ei tuloksia haulle [SEARCH_TERM]. N\xE4ytet\xE4\xE4n tulokset sen sijaan haulle [DIFFERENT_TERM]",search_suggestion:"Ei tuloksia haulle [SEARCH_TERM]. Kokeile jotain seuraavista:",searching:"Haetaan [SEARCH_TERM]..."},Zr={thanks_to:Gr,comments:Kr,direction:Jr,strings:Yr};var jt={};y(jt,{comments:()=>Qr,default:()=>el,direction:()=>xr,strings:()=>$r,thanks_to:()=>Xr});var Xr="Nicolas Friedli ",Qr="",xr="ltr",$r={placeholder:"Rechercher",clear_search:"Nettoyer",load_more:"Charger plus de r\xE9sultats",search_label:"Recherche sur ce site",filters_label:"Filtres",zero_results:"Pas de r\xE9sultat pour [SEARCH_TERM]",many_results:"[COUNT] r\xE9sultats pour [SEARCH_TERM]",one_result:"[COUNT] r\xE9sultat pour [SEARCH_TERM]",alt_search:"Pas de r\xE9sultat pour [SEARCH_TERM]. Montre les r\xE9sultats pour [DIFFERENT_TERM] \xE0 la place",search_suggestion:"Pas de r\xE9sultat pour [SEARCH_TERM]. Essayer une des recherches suivantes:",searching:"Recherche [SEARCH_TERM]..."},el={thanks_to:Xr,comments:Qr,direction:xr,strings:$r};var zt={};y(zt,{comments:()=>nl,default:()=>ll,direction:()=>sl,strings:()=>rl,thanks_to:()=>tl});var tl="Pablo Villaverde ",nl="",sl="ltr",rl={placeholder:"Buscar",clear_search:"Limpar",load_more:"Ver m\xE1is resultados",search_label:"Buscar neste sitio",filters_label:"Filtros",zero_results:"Non se atoparon resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados atopados para [SEARCH_TERM]",one_result:"[COUNT] resultado atopado para [SEARCH_TERM]",alt_search:"Non se atoparon resultados para [SEARCH_TERM]. Amosando no seu lugar resultados para [DIFFERENT_TERM]",search_suggestion:"Non se atoparon resultados para [SEARCH_TERM]. Probe unha das seguintes pesquisas:",searching:"Buscando [SEARCH_TERM]..."},ll={thanks_to:tl,comments:nl,direction:sl,strings:rl};var Ut={};y(Ut,{comments:()=>al,default:()=>cl,direction:()=>ol,strings:()=>ul,thanks_to:()=>il});var il="Nir Tamir ",al="",ol="rtl",ul={placeholder:"\u05D7\u05D9\u05E4\u05D5\u05E9",clear_search:"\u05E0\u05D9\u05E7\u05D5\u05D9",load_more:"\u05E2\u05D5\u05D3 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA",search_label:"\u05D7\u05D9\u05E4\u05D5\u05E9 \u05D1\u05D0\u05EA\u05E8 \u05D6\u05D4",filters_label:"\u05DE\u05E1\u05E0\u05E0\u05D9\u05DD",zero_results:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]",many_results:"\u05E0\u05DE\u05E6\u05D0\u05D5 [COUNT] \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]",one_result:"\u05E0\u05DE\u05E6\u05D0\u05D4 \u05EA\u05D5\u05E6\u05D0\u05D4 \u05D0\u05D7\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]",alt_search:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]. \u05DE\u05D5\u05E6\u05D2\u05D5\u05EA \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [DIFFERENT_TERM]",search_suggestion:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]. \u05E0\u05E1\u05D5 \u05D0\u05D7\u05D3 \u05DE\u05D4\u05D7\u05D9\u05E4\u05D5\u05E9\u05D9\u05DD \u05D4\u05D1\u05D0\u05D9\u05DD:",searching:"\u05DE\u05D7\u05E4\u05E9 \u05D0\u05EA [SEARCH_TERM]..."},cl={thanks_to:il,comments:al,direction:ol,strings:ul};var Dt={};y(Dt,{comments:()=>fl,default:()=>ml,direction:()=>dl,strings:()=>hl,thanks_to:()=>_l});var _l="Amit Yadav ",fl="",dl="ltr",hl={placeholder:"\u0916\u094B\u091C\u0947\u0902",clear_search:"\u0938\u093E\u092B \u0915\u0930\u0947\u0902",load_more:"\u0914\u0930 \u0905\u0927\u093F\u0915 \u092A\u0930\u093F\u0923\u093E\u092E \u0932\u094B\u0921 \u0915\u0930\u0947\u0902",search_label:"\u0907\u0938 \u0938\u093E\u0907\u091F \u092E\u0947\u0902 \u0916\u094B\u091C\u0947\u0902",filters_label:"\u092B\u093C\u093F\u0932\u094D\u091F\u0930",zero_results:"\u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E",many_results:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u092E\u093F\u0932\u0947",one_result:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u092E\u093F\u0932\u093E",alt_search:"[SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E\u0964 \u0907\u0938\u0915\u0947 \u092C\u091C\u093E\u092F [DIFFERENT_TERM] \u0915\u0947 \u0932\u093F\u090F \u092A\u0930\u093F\u0923\u093E\u092E \u0926\u093F\u0916\u093E \u0930\u0939\u093E \u0939\u0948",search_suggestion:"[SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E\u0964 \u0928\u093F\u092E\u094D\u0928\u0932\u093F\u0916\u093F\u0924 \u0916\u094B\u091C\u094B\u0902 \u092E\u0947\u0902 \u0938\u0947 \u0915\u094B\u0908 \u090F\u0915 \u0906\u091C\u093C\u092E\u093E\u090F\u0902:",searching:"[SEARCH_TERM] \u0915\u0940 \u0916\u094B\u091C \u0915\u0940 \u091C\u093E \u0930\u0939\u0940 \u0939\u0948..."},ml={thanks_to:_l,comments:fl,direction:dl,strings:hl};var It={};y(It,{comments:()=>gl,default:()=>bl,direction:()=>El,strings:()=>Rl,thanks_to:()=>pl});var pl="Diomed ",gl="",El="ltr",Rl={placeholder:"Tra\u017Ei",clear_search:"O\u010Disti",load_more:"U\u010Ditaj vi\u0161e rezultata",search_label:"Pretra\u017Ei ovu stranicu",filters_label:"Filteri",zero_results:"Nema rezultata za [SEARCH_TERM]",many_results:"[COUNT] rezultata za [SEARCH_TERM]",one_result:"[COUNT] rezultat za [SEARCH_TERM]",alt_search:"Nema rezultata za [SEARCH_TERM]. Prikazujem rezultate za [DIFFERENT_TERM]",search_suggestion:"Nema rezultata za [SEARCH_TERM]. Poku\u0161aj s jednom od ovih pretraga:",searching:"Pretra\u017Eujem [SEARCH_TERM]..."},bl={thanks_to:pl,comments:gl,direction:El,strings:Rl};var Pt={};y(Pt,{comments:()=>Cl,default:()=>yl,direction:()=>kl,strings:()=>Sl,thanks_to:()=>Tl});var Tl="Adam Laki ",Cl="",kl="ltr",Sl={placeholder:"Keres\xE9s",clear_search:"T\xF6rl\xE9s",load_more:"Tov\xE1bbi tal\xE1latok bet\xF6lt\xE9se",search_label:"Keres\xE9s az oldalon",filters_label:"Sz\u0171r\xE9s",zero_results:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",many_results:"[COUNT] db tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",one_result:"[COUNT] db tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",alt_search:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre. Tal\xE1latok mutat\xE1sa ink\xE1bb a(z) [DIFFERENT_TERM] kifejez\xE9sre",search_suggestion:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre. Pr\xF3b\xE1ld meg a k\xF6vetkez\u0151 keres\xE9sek egyik\xE9t:",searching:"Keres\xE9s a(z) [SEARCH_TERM] kifejez\xE9sre..."},yl={thanks_to:Tl,comments:Cl,direction:kl,strings:Sl};var Lt={};y(Lt,{comments:()=>Al,default:()=>Hl,direction:()=>vl,strings:()=>wl,thanks_to:()=>Ml});var Ml="Nixentric",Al="",vl="ltr",wl={placeholder:"Cari",clear_search:"Bersihkan",load_more:"Muat lebih banyak hasil",search_label:"Telusuri situs ini",filters_label:"Filter",zero_results:"[SEARCH_TERM] tidak ditemukan",many_results:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",one_result:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",alt_search:"[SEARCH_TERM] tidak ditemukan. Menampilkan hasil [DIFFERENT_TERM] sebagai gantinya",search_suggestion:"[SEARCH_TERM] tidak ditemukan. Coba salah satu pencarian berikut ini:",searching:"Mencari [SEARCH_TERM]..."},Hl={thanks_to:Ml,comments:Al,direction:vl,strings:wl};var qt={};y(qt,{comments:()=>Nl,default:()=>zl,direction:()=>Ol,strings:()=>jl,thanks_to:()=>Fl});var Fl="Cosette Bruhns Alonso, Andrew Janco ",Nl="",Ol="ltr",jl={placeholder:"Cerca",clear_search:"Cancella la cronologia",load_more:"Mostra pi\xF9 risultati",search_label:"Cerca nel sito",filters_label:"Filtri di ricerca",zero_results:"Nessun risultato per [SEARCH_TERM]",many_results:"[COUNT] risultati per [SEARCH_TERM]",one_result:"[COUNT] risultato per [SEARCH_TERM]",alt_search:"Nessun risultato per [SEARCH_TERM]. Mostrando risultati per [DIFFERENT_TERM] come alternativa.",search_suggestion:"Nessun risultato per [SEARCH_TERM]. Prova una delle seguenti ricerche:",searching:"Cercando [SEARCH_TERM]..."},zl={thanks_to:Fl,comments:Nl,direction:Ol,strings:jl};var Bt={};y(Bt,{comments:()=>Dl,default:()=>Ll,direction:()=>Il,strings:()=>Pl,thanks_to:()=>Ul});var Ul="Tate",Dl="",Il="ltr",Pl={placeholder:"\u691C\u7D22",clear_search:"\u30AF\u30EA\u30A2",load_more:"\u6B21\u3092\u8AAD\u307F\u8FBC\u3080",search_label:"\u3053\u306E\u30B5\u30A4\u30C8\u3092\u691C\u7D22",filters_label:"\u30D5\u30A3\u30EB\u30BF",zero_results:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F",many_results:"[SEARCH_TERM]\u306E[COUNT]\u4EF6\u306E\u691C\u7D22\u7D50\u679C",one_result:"[SEARCH_TERM]\u306E[COUNT]\u4EF6\u306E\u691C\u7D22\u7D50\u679C",alt_search:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002[DIFFERENT_TERM]\u306E\u691C\u7D22\u7D50\u679C\u3092\u8868\u793A\u3057\u3066\u3044\u307E\u3059",search_suggestion:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u6B21\u306E\u3044\u305A\u308C\u304B\u306E\u691C\u7D22\u3092\u8A66\u3057\u3066\u304F\u3060\u3055\u3044",searching:"[SEARCH_TERM]\u3092\u691C\u7D22\u3057\u3066\u3044\u307E\u3059"},Ll={thanks_to:Ul,comments:Dl,direction:Il,strings:Pl};var Vt={};y(Vt,{comments:()=>Bl,default:()=>Gl,direction:()=>Vl,strings:()=>Wl,thanks_to:()=>ql});var ql="Seokho Son ",Bl="",Vl="ltr",Wl={placeholder:"\uAC80\uC0C9\uC5B4",clear_search:"\uBE44\uC6B0\uAE30",load_more:"\uAC80\uC0C9 \uACB0\uACFC \uB354 \uBCF4\uAE30",search_label:"\uC0AC\uC774\uD2B8 \uAC80\uC0C9",filters_label:"\uD544\uD130",zero_results:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C",many_results:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC [COUNT]\uAC74",one_result:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC [COUNT]\uAC74",alt_search:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C. [DIFFERENT_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC",search_suggestion:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C. \uCD94\uCC9C \uAC80\uC0C9\uC5B4: ",searching:"[SEARCH_TERM] \uAC80\uC0C9 \uC911..."},Gl={thanks_to:ql,comments:Bl,direction:Vl,strings:Wl};var Wt={};y(Wt,{comments:()=>Jl,default:()=>Xl,direction:()=>Yl,strings:()=>Zl,thanks_to:()=>Kl});var Kl="",Jl="",Yl="ltr",Zl={placeholder:"Rapu",clear_search:"Whakakore",load_more:"Whakauta \u0113tahi otinga k\u0113",search_label:"Rapu",filters_label:"T\u0101tari",zero_results:"Otinga kore ki [SEARCH_TERM]",many_results:"[COUNT] otinga ki [SEARCH_TERM]",one_result:"[COUNT] otinga ki [SEARCH_TERM]",alt_search:"Otinga kore ki [SEARCH_TERM]. Otinga k\u0113 ki [DIFFERENT_TERM]",search_suggestion:"Otinga kore ki [SEARCH_TERM]. whakam\u0101tau ki ng\u0101 mea atu:",searching:"Rapu ki [SEARCH_TERM]..."},Xl={thanks_to:Kl,comments:Jl,direction:Yl,strings:Zl};var Gt={};y(Gt,{comments:()=>xl,default:()=>ti,direction:()=>$l,strings:()=>ei,thanks_to:()=>Ql});var Ql="Paul van Brouwershaven",xl="",$l="ltr",ei={placeholder:"Zoeken",clear_search:"Reset",load_more:"Meer resultaten laden",search_label:"Doorzoek deze site",filters_label:"Filters",zero_results:"Geen resultaten voor [SEARCH_TERM]",many_results:"[COUNT] resultaten voor [SEARCH_TERM]",one_result:"[COUNT] resultaat voor [SEARCH_TERM]",alt_search:"Geen resultaten voor [SEARCH_TERM]. In plaats daarvan worden resultaten voor [DIFFERENT_TERM] weergegeven",search_suggestion:"Geen resultaten voor [SEARCH_TERM]. Probeer een van de volgende zoekopdrachten:",searching:"Zoeken naar [SEARCH_TERM]..."},ti={thanks_to:Ql,comments:xl,direction:$l,strings:ei};var Kt={};y(Kt,{comments:()=>si,default:()=>ii,direction:()=>ri,strings:()=>li,thanks_to:()=>ni});var ni="Christopher Wingate",si="",ri="ltr",li={placeholder:"S\xF8k",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"S\xF8k p\xE5 denne siden",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Pr\xF8v en av disse s\xF8keordene i stedet:",searching:"S\xF8ker etter [SEARCH_TERM]"},ii={thanks_to:ni,comments:si,direction:ri,strings:li};var Jt={};y(Jt,{comments:()=>oi,default:()=>_i,direction:()=>ui,strings:()=>ci,thanks_to:()=>ai});var ai="",oi="",ui="ltr",ci={placeholder:"Szukaj",clear_search:"Wyczy\u015B\u0107",load_more:"Za\u0142aduj wi\u0119cej",search_label:"Przeszukaj t\u0119 stron\u0119",filters_label:"Filtry",zero_results:"Brak wynik\xF3w dla [SEARCH_TERM]",many_results:"[COUNT] wynik\xF3w dla [SEARCH_TERM]",one_result:"[COUNT] wynik dla [SEARCH_TERM]",alt_search:"Brak wynik\xF3w dla [SEARCH_TERM]. Wy\u015Bwietlam wyniki dla [DIFFERENT_TERM]",search_suggestion:"Brak wynik\xF3w dla [SEARCH_TERM]. Pokrewne wyniki wyszukiwania:",searching:"Szukam [SEARCH_TERM]..."},_i={thanks_to:ai,comments:oi,direction:ui,strings:ci};var Yt={};y(Yt,{comments:()=>di,default:()=>pi,direction:()=>hi,strings:()=>mi,thanks_to:()=>fi});var fi="Jonatah",di="",hi="ltr",mi={placeholder:"Pesquisar",clear_search:"Limpar",load_more:"Ver mais resultados",search_label:"Pesquisar",filters_label:"Filtros",zero_results:"Nenhum resultado encontrado para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"Nenhum resultado encontrado para [SEARCH_TERM]. Exibindo resultados para [DIFFERENT_TERM]",search_suggestion:"Nenhum resultado encontrado para [SEARCH_TERM]. Tente uma das seguintes pesquisas:",searching:"Pesquisando por [SEARCH_TERM]..."},pi={thanks_to:fi,comments:di,direction:hi,strings:mi};var Zt={};y(Zt,{comments:()=>Ei,default:()=>Ti,direction:()=>Ri,strings:()=>bi,thanks_to:()=>gi});var gi="Bogdan Mateescu ",Ei="",Ri="ltr",bi={placeholder:"C\u0103utare",clear_search:"\u015Eterge\u0163i",load_more:"\xCEnc\u0103rca\u021Bi mai multe rezultate",search_label:"C\u0103uta\u021Bi \xEEn acest site",filters_label:"Filtre",zero_results:"Niciun rezultat pentru [SEARCH_TERM]",many_results:"[COUNT] rezultate pentru [SEARCH_TERM]",one_result:"[COUNT] rezultat pentru [SEARCH_TERM]",alt_search:"Niciun rezultat pentru [SEARCH_TERM]. Se afi\u0219eaz\u0103 \xEEn schimb rezultatele pentru [DIFFERENT_TERM]",search_suggestion:"Niciun rezultat pentru [SEARCH_TERM]. \xCEncerca\u021Bi una dintre urm\u0103toarele c\u0103ut\u0103ri:",searching:"Se caut\u0103 dup\u0103: [SEARCH_TERM]..."},Ti={thanks_to:gi,comments:Ei,direction:Ri,strings:bi};var Xt={};y(Xt,{comments:()=>ki,default:()=>Mi,direction:()=>Si,strings:()=>yi,thanks_to:()=>Ci});var Ci="Aleksandr Gordeev",ki="",Si="ltr",yi={placeholder:"\u041F\u043E\u0438\u0441\u043A",clear_search:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043F\u043E\u043B\u0435",load_more:"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0435\u0449\u0435",search_label:"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443",filters_label:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B",zero_results:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",alt_search:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]. \u041F\u043E\u043A\u0430\u0437\u0430\u043D\u044B \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [DIFFERENT_TERM]",search_suggestion:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0434\u0438\u043D \u0438\u0437 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0445 \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u043E\u0432",searching:"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]"},Mi={thanks_to:Ci,comments:ki,direction:Si,strings:yi};var Qt={};y(Qt,{comments:()=>vi,default:()=>Fi,direction:()=>wi,strings:()=>Hi,thanks_to:()=>Ai});var Ai="Andrija Sagicc",vi="",wi="ltr",Hi={placeholder:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430",clear_search:"\u0411\u0440\u0438\u0441\u0430\u045A\u0435",load_more:"\u041F\u0440\u0438\u043A\u0430\u0437 \u0432\u0438\u0448\u0435 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430",search_label:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u0441\u0430\u0458\u0442\u0430",filters_label:"\u0424\u0438\u043B\u0442\u0435\u0440\u0438",zero_results:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",alt_search:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]. \u041F\u0440\u0438\u043A\u0430\u0437 \u0434\u043E\u0434\u0430\u0442\u043D\u0438\u043A \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [DIFFERENT_TERM]",search_suggestion:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]. \u041F\u043E\u043A\u0443\u0448\u0430\u0458\u0442\u0435 \u0441\u0430 \u043D\u0435\u043A\u043E\u043C \u043E\u0434 \u0441\u043B\u0435\u0434\u0435\u045B\u0438\u0445 \u043F\u0440\u0435\u0442\u0440\u0430\u0433\u0430:",searching:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u0442\u0435\u0440\u043C\u0438\u043D\u0430 [SEARCH_TERM]..."},Fi={thanks_to:Ai,comments:vi,direction:wi,strings:Hi};var xt={};y(xt,{comments:()=>Oi,default:()=>Ui,direction:()=>ji,strings:()=>zi,thanks_to:()=>Ni});var Ni="Montazar Al-Jaber ",Oi="",ji="ltr",zi={placeholder:"S\xF6k",clear_search:"Rensa",load_more:"Visa fler tr\xE4ffar",search_label:"S\xF6k p\xE5 denna sida",filters_label:"Filter",zero_results:"[SEARCH_TERM] gav inga tr\xE4ffar",many_results:"[SEARCH_TERM] gav [COUNT] tr\xE4ffar",one_result:"[SEARCH_TERM] gav [COUNT] tr\xE4ff",alt_search:"[SEARCH_TERM] gav inga tr\xE4ffar. Visar resultat f\xF6r [DIFFERENT_TERM] ist\xE4llet",search_suggestion:"[SEARCH_TERM] gav inga tr\xE4ffar. F\xF6rs\xF6k igen med en av f\xF6ljande s\xF6kord:",searching:"S\xF6ker efter [SEARCH_TERM]..."},Ui={thanks_to:Ni,comments:Oi,direction:ji,strings:zi};var $t={};y($t,{comments:()=>Ii,default:()=>qi,direction:()=>Pi,strings:()=>Li,thanks_to:()=>Di});var Di="Anonymous",Ii="",Pi="ltr",Li={placeholder:"Tafuta",clear_search:"Futa",load_more:"Pakia matokeo zaidi",search_label:"Tafuta tovuti hii",filters_label:"Vichujio",zero_results:"Hakuna matokeo ya [SEARCH_TERM]",many_results:"Matokeo [COUNT] ya [SEARCH_TERM]",one_result:"Tokeo [COUNT] la [SEARCH_TERM]",alt_search:"Hakuna mayokeo ya [SEARCH_TERM]. Badala yake, inaonyesha matokeo ya [DIFFERENT_TERM]",search_suggestion:"Hakuna matokeo ya [SEARCH_TERM]. Jaribu mojawapo ya utafutaji ufuatao:",searching:"Kutafuta [SEARCH_TERM]..."},qi={thanks_to:Di,comments:Ii,direction:Pi,strings:Li};var en={};y(en,{comments:()=>Vi,default:()=>Ki,direction:()=>Wi,strings:()=>Gi,thanks_to:()=>Bi});var Bi="",Vi="",Wi="ltr",Gi={placeholder:"\u0BA4\u0BC7\u0B9F\u0BC1\u0B95",clear_search:"\u0B85\u0BB4\u0BBF\u0B95\u0BCD\u0B95\u0BC1\u0B95",load_more:"\u0BAE\u0BC7\u0BB2\u0BC1\u0BAE\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BC8\u0B95\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B95",search_label:"\u0B87\u0BA8\u0BCD\u0BA4 \u0BA4\u0BB3\u0BA4\u0BCD\u0BA4\u0BBF\u0BB2\u0BCD \u0BA4\u0BC7\u0B9F\u0BC1\u0B95",filters_label:"\u0BB5\u0B9F\u0BBF\u0B95\u0B9F\u0BCD\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BCD",zero_results:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",many_results:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 [COUNT] \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",one_result:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1",alt_search:"[SEARCH_TERM] \u0B87\u0BA4\u0BCD\u0BA4\u0BC7\u0B9F\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8, \u0B87\u0BA8\u0BCD\u0BA4 \u0BA4\u0BC7\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0B92\u0BA4\u0BCD\u0BA4 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD [DIFFERENT_TERM]",search_suggestion:"[SEARCH_TERM] \u0B87\u0BA4\u0BCD \u0BA4\u0BC7\u0B9F\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.\u0B87\u0BA4\u0BB1\u0BCD\u0B95\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB2\u0BC0\u0B9F\u0BBE\u0BA9 \u0BA4\u0BC7\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BC8 \u0BA4\u0BC7\u0B9F\u0BC1\u0B95:",searching:"[SEARCH_TERM] \u0BA4\u0BC7\u0B9F\u0BAA\u0BCD\u0BAA\u0B9F\u0BC1\u0B95\u0BBF\u0BA9\u0BCD\u0BB1\u0BA4\u0BC1"},Ki={thanks_to:Bi,comments:Vi,direction:Wi,strings:Gi};var tn={};y(tn,{comments:()=>Yi,default:()=>Qi,direction:()=>Zi,strings:()=>Xi,thanks_to:()=>Ji});var Ji="Taylan \xD6zg\xFCr Bildik",Yi="",Zi="ltr",Xi={placeholder:"Ara\u015Ft\u0131r",clear_search:"Temizle",load_more:"Daha fazla sonu\xE7",search_label:"Site genelinde arama",filters_label:"Filtreler",zero_results:"[SEARCH_TERM] i\xE7in sonu\xE7 yok",many_results:"[SEARCH_TERM] i\xE7in [COUNT] sonu\xE7 bulundu",one_result:"[SEARCH_TERM] i\xE7in [COUNT] sonu\xE7 bulundu",alt_search:"[SEARCH_TERM] i\xE7in sonu\xE7 yok. Bunun yerine [DIFFERENT_TERM] i\xE7in sonu\xE7lar g\xF6steriliyor",search_suggestion:"[SEARCH_TERM] i\xE7in sonu\xE7 yok. Alternatif olarak a\u015Fa\u011F\u0131daki kelimelerden birini deneyebilirsiniz:",searching:"[SEARCH_TERM] ara\u015Ft\u0131r\u0131l\u0131yor..."},Qi={thanks_to:Ji,comments:Yi,direction:Zi,strings:Xi};var nn={};y(nn,{comments:()=>$i,default:()=>na,direction:()=>ea,strings:()=>ta,thanks_to:()=>xi});var xi="Vladyslav Lyshenko ",$i="",ea="ltr",ta={placeholder:"\u041F\u043E\u0448\u0443\u043A",clear_search:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u043F\u043E\u043B\u0435",load_more:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0449\u0435",search_label:"\u041F\u043E\u0448\u0443\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443",filters_label:"\u0424\u0456\u043B\u044C\u0442\u0440\u0438",zero_results:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0456\u0432 \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]",alt_search:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]. \u041F\u043E\u043A\u0430\u0437\u0430\u043D\u043E \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0438 \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [DIFFERENT_TERM]",search_suggestion:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]. \u0421\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0434\u0438\u043D \u0456\u0437 \u0442\u0430\u043A\u0438\u0445 \u0432\u0430\u0440\u0456\u0430\u043D\u0442\u0456\u0432",searching:"\u041F\u043E\u0448\u0443\u043A \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]"},na={thanks_to:xi,comments:$i,direction:ea,strings:ta};var sn={};y(sn,{comments:()=>ra,default:()=>aa,direction:()=>la,strings:()=>ia,thanks_to:()=>sa});var sa="Long Nhat Nguyen",ra="",la="ltr",ia={placeholder:"T\xECm ki\u1EBFm",clear_search:"X\xF3a",load_more:"Nhi\u1EC1u k\u1EBFt qu\u1EA3 h\u01A1n",search_label:"T\xECm ki\u1EBFm trong trang n\xE0y",filters_label:"B\u1ED9 l\u1ECDc",zero_results:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",many_results:"[COUNT] k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",one_result:"[COUNT] k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",alt_search:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]. Ki\u1EC3m th\u1ECB k\u1EBFt qu\u1EA3 thay th\u1EBF v\u1EDBi [DIFFERENT_TERM]",search_suggestion:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]. Th\u1EED m\u1ED9t trong c\xE1c t\xECm ki\u1EBFm:",searching:"\u0110ang t\xECm ki\u1EBFm cho [SEARCH_TERM]..."},aa={thanks_to:sa,comments:ra,direction:la,strings:ia};var rn={};y(rn,{comments:()=>ua,default:()=>fa,direction:()=>ca,strings:()=>_a,thanks_to:()=>oa});var oa="Amber Song",ua="",ca="ltr",_a={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F7D\u66F4\u591A\u7ED3\u679C",search_label:"\u7AD9\u5185\u641C\u7D22",filters_label:"\u7B5B\u9009",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",many_results:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",one_result:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u6539\u4E3A\u663E\u793A [DIFFERENT_TERM] \u7684\u76F8\u5173\u7ED3\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u8BF7\u5C1D\u8BD5\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},fa={thanks_to:oa,comments:ua,direction:ca,strings:_a};var ln={};y(ln,{comments:()=>ha,default:()=>ga,direction:()=>ma,strings:()=>pa,thanks_to:()=>da});var da="Amber Song",ha="",ma="ltr",pa={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F09\u66F4\u591A\u7D50\u679C",search_label:"\u7AD9\u5167\u641C\u7D22",filters_label:"\u7BE9\u9078",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",many_results:"\u627E\u5230 [COUNT] \u500B [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",one_result:"\u627E\u5230 [COUNT] \u500B [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C\u3002\u6539\u70BA\u986F\u793A [DIFFERENT_TERM] \u7684\u76F8\u95DC\u7D50\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C\u3002\u8ACB\u5617\u8A66\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},ga={thanks_to:da,comments:ha,direction:ma,strings:pa};var an={};y(an,{comments:()=>Ra,default:()=>Ca,direction:()=>ba,strings:()=>Ta,thanks_to:()=>Ea});var Ea="Amber Song",Ra="",ba="ltr",Ta={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F7D\u66F4\u591A\u7ED3\u679C",search_label:"\u7AD9\u5185\u641C\u7D22",filters_label:"\u7B5B\u9009",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",many_results:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",one_result:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u6539\u4E3A\u663E\u793A [DIFFERENT_TERM] \u7684\u76F8\u5173\u7ED3\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u8BF7\u5C1D\u8BD5\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},Ca={thanks_to:Ea,comments:Ra,direction:ba,strings:Ta};var ka=[kt,St,yt,Mt,At,vt,wt,Ht,Ft,Nt,Ot,jt,zt,Ut,Dt,It,Pt,Lt,qt,Bt,Vt,Wt,Gt,Kt,Jt,Yt,Zt,Xt,Qt,xt,$t,en,tn,nn,sn,rn,ln,an],ss=ka,rs=["../../translations/af.json","../../translations/ar.json","../../translations/bn.json","../../translations/ca.json","../../translations/cs.json","../../translations/da.json","../../translations/de.json","../../translations/en.json","../../translations/es.json","../../translations/fa.json","../../translations/fi.json","../../translations/fr.json","../../translations/gl.json","../../translations/he.json","../../translations/hi.json","../../translations/hr.json","../../translations/hu.json","../../translations/id.json","../../translations/it.json","../../translations/ja.json","../../translations/ko.json","../../translations/mi.json","../../translations/nl.json","../../translations/no.json","../../translations/pl.json","../../translations/pt.json","../../translations/ro.json","../../translations/ru.json","../../translations/sr.json","../../translations/sv.json","../../translations/sw.json","../../translations/ta.json","../../translations/tr.json","../../translations/uk.json","../../translations/vi.json","../../translations/zh-cn.json","../../translations/zh-tw.json","../../translations/zh.json"];function ls(n,e,t){let s=n.slice();return s[51]=e[t],s}function is(n){let e,t,s;function r(i){n[37](i)}let l={show_empty_filters:n[5],open_filters:n[6],available_filters:n[18],translate:n[20],automatic_translations:n[19],translations:n[7]};return n[0]!==void 0&&(l.selected_filters=n[0]),e=new ns({props:l}),le.push(()=>Mn(e,"selected_filters",r)),{c(){rt(e.$$.fragment)},m(i,a){me(e,i,a),s=!0},p(i,a){let o={};a[0]&32&&(o.show_empty_filters=i[5]),a[0]&64&&(o.open_filters=i[6]),a[0]&262144&&(o.available_filters=i[18]),a[0]&524288&&(o.automatic_translations=i[19]),a[0]&128&&(o.translations=i[7]),!t&&a[0]&1&&(t=!0,o.selected_filters=i[0],Cn(()=>t=!1)),e.$set(o)},i(i){s||(U(e.$$.fragment,i),s=!0)},o(i){P(e.$$.fragment,i),s=!1},d(i){ue(e,i)}}}function as(n){let e,t,s,r,l=[Ma,ya],i=[];function a(o,h){return o[14]?0:1}return t=a(n,[-1,-1]),s=i[t]=l[t](n),{c(){e=C("div"),s.c(),E(e,"class","pagefind-ui__results-area svelte-e9gkc3")},m(o,h){S(o,e,h),i[t].m(e,null),r=!0},p(o,h){let c=t;t=a(o,h),t===c?i[t].p(o,h):(ae(),P(i[c],1,1,()=>{i[c]=null}),oe(),s=i[t],s?s.p(o,h):(s=i[t]=l[t](o),s.c()),U(s,1),s.m(e,null))},i(o){r||(U(s),r=!0)},o(o){P(s),r=!1},d(o){o&&k(e),i[t].d()}}}function ya(n){let e,t,s,r=[],l=new Map,i,a,o;function h(u,f){return u[13].results.length===0?wa:u[13].results.length===1?va:Aa}let c=h(n,[-1,-1]),m=c(n),p=n[13].results.slice(0,n[17]),d=u=>u[51].id;for(let u=0;un[17]&&us(n);return{c(){e=C("p"),m.c(),t=A(),s=C("ol");for(let u=0;uu[17]?_?_.p(u,f):(_=us(u),_.c(),_.m(a.parentNode,a)):_&&(_.d(1),_=null)},i(u){if(!o){for(let f=0;f{o[p]=null}),oe(),r=o[s],r?r.p(e,m):(r=o[s]=a[s](e),r.c()),U(r,1),r.m(l.parentNode,l))},i(c){i||(U(r),i=!0)},o(c){P(r),i=!1},d(c){c&&k(t),o[s].d(c),c&&k(l)}}}function us(n){let e,t=n[20]("load_more",n[19],n[7])+"",s,r,l;return{c(){e=C("button"),s=w(t),E(e,"type","button"),E(e,"class","pagefind-ui__button svelte-e9gkc3")},m(i,a){S(i,e,a),b(e,s),r||(l=J(e,"click",n[22]),r=!0)},p(i,a){a[0]&524416&&t!==(t=i[20]("load_more",i[19],i[7])+"")&&N(s,t)},d(i){i&&k(e),r=!1,l()}}}function cs(n){let e,t=n[20]("searching",n[19],n[7]).replace(/\[SEARCH_TERM\]/,n[16])+"",s;return{c(){e=C("p"),s=w(t),E(e,"class","pagefind-ui__message svelte-e9gkc3")},m(r,l){S(r,e,l),b(e,s)},p(r,l){l[0]&589952&&t!==(t=r[20]("searching",r[19],r[7]).replace(/\[SEARCH_TERM\]/,r[16])+"")&&N(s,t)},d(r){r&&k(e)}}}function Na(n){let e,t,s,r,l,i,a=n[20]("clear_search",n[19],n[7])+"",o,h,c,m,p,d,_,u,f=n[12]&&is(n),T=n[15]&&as(n);return{c(){e=C("div"),t=C("form"),s=C("input"),l=A(),i=C("button"),o=w(a),h=A(),c=C("div"),f&&f.c(),m=A(),T&&T.c(),E(s,"class","pagefind-ui__search-input svelte-e9gkc3"),E(s,"type","text"),E(s,"placeholder",r=n[20]("placeholder",n[19],n[7])),E(s,"autocapitalize","none"),E(s,"enterkeyhint","search"),s.autofocus=n[8],E(i,"class","pagefind-ui__search-clear svelte-e9gkc3"),B(i,"pagefind-ui__suppressed",!n[9]),E(c,"class","pagefind-ui__drawer svelte-e9gkc3"),B(c,"pagefind-ui__hidden",!n[15]),E(t,"class","pagefind-ui__form svelte-e9gkc3"),E(t,"role","search"),E(t,"aria-label",p=n[20]("search_label",n[19],n[7])),E(t,"action","javascript:void(0);"),E(e,"class","pagefind-ui svelte-e9gkc3"),B(e,"pagefind-ui--reset",n[1])},m(R,M){S(R,e,M),b(e,t),b(t,s),pt(s,n[9]),n[34](s),b(t,l),b(t,i),b(i,o),n[35](i),b(t,h),b(t,c),f&&f.m(c,null),b(c,m),T&&T.m(c,null),d=!0,n[8]&&s.focus(),_||(u=[J(s,"focus",n[21]),J(s,"keydown",n[32]),J(s,"input",n[33]),J(i,"click",n[36]),J(t,"submit",Oa)],_=!0)},p(R,M){(!d||M[0]&524416&&r!==(r=R[20]("placeholder",R[19],R[7])))&&E(s,"placeholder",r),(!d||M[0]&256)&&(s.autofocus=R[8]),M[0]&512&&s.value!==R[9]&&pt(s,R[9]),(!d||M[0]&524416)&&a!==(a=R[20]("clear_search",R[19],R[7])+"")&&N(o,a),(!d||M[0]&512)&&B(i,"pagefind-ui__suppressed",!R[9]),R[12]?f?(f.p(R,M),M[0]&4096&&U(f,1)):(f=is(R),f.c(),U(f,1),f.m(c,m)):f&&(ae(),P(f,1,1,()=>{f=null}),oe()),R[15]?T?(T.p(R,M),M[0]&32768&&U(T,1)):(T=as(R),T.c(),U(T,1),T.m(c,null)):T&&(ae(),P(T,1,1,()=>{T=null}),oe()),(!d||M[0]&32768)&&B(c,"pagefind-ui__hidden",!R[15]),(!d||M[0]&524416&&p!==(p=R[20]("search_label",R[19],R[7])))&&E(t,"aria-label",p),(!d||M[0]&2)&&B(e,"pagefind-ui--reset",R[1])},i(R){d||(U(f),U(T),d=!0)},o(R){P(f),P(T),d=!1},d(R){R&&k(e),n[34](null),n[35](null),f&&f.d(),T&&T.d(),_=!1,G(u)}}}var Oa=n=>n.preventDefault();function ja(n,e,t){let s={},r=rs.map(g=>g.match(/([^\/]+)\.json$/)[1]);for(let g=0;gj[g]??F[g]??"";gt(()=>{let g=document?.querySelector?.("html")?.getAttribute?.("lang")||"en",F=lt(g.toLocaleLowerCase());t(19,hn=s[`${F.language}-${F.script}-${F.region}`]||s[`${F.language}-${F.region}`]||s[`${F.language}`]||s.en)}),Et(()=>{H?.destroy?.(),H=null});let mn=async()=>{if(!at&&(t(12,at=!0),!H)){let g;try{g=await import(`${l}pagefind.js`)}catch(j){console.error(j),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindUI"].join(` +`)),document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?console.error(`[DEBUG: Loaded from ${document.currentScript.src??"bad script location"}]`):console.error("no known script location")}c||t(24,c=h?12:30);let F={...f||{},excerptLength:c};await g.options(F);for(let j of T){if(!j.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let L=j.bundlePath;delete j.bundlePath,await g.mergeIndex(L,j)}H=g,hs()}},hs=async()=>{H&&(dn=await H.filters(),(!ce||!Object.keys(ce).length)&&t(18,ce=dn))},ms=g=>{let F={};return Object.entries(g).filter(([,j])=>j).forEach(([j])=>{let[L,te]=j.split(/:(.*)$/);F[L]=F[L]||[],F[L].push(te)}),F},_e,ps=async(g,F)=>{if(!g){t(15,ut=!1),_e&&clearTimeout(_e);return}let j=ms(F),L=()=>gs(g,j);u>0&&g?(_e&&clearTimeout(_e),_e=setTimeout(L,u),await pn(),H.preload(g,{filters:j})):L(),Es()},pn=async()=>{for(;!H;)mn(),await new Promise(g=>setTimeout(g,50))},gs=async(g,F)=>{t(16,fn=g||""),typeof p=="function"&&(g=p(g)),t(14,ot=!0),t(15,ut=!0),await pn();let j=++_n,L={filters:F};X&&typeof X=="object"&&(L.sort=X);let te=await H.search(g,L);_n===j&&(te.filters&&Object.keys(te.filters)?.length&&t(18,ce=te.filters),t(13,cn=te),t(14,ot=!1),t(17,ct=i))},Es=()=>{let g=W.offsetWidth;g!=fs&&t(10,O.style.paddingRight=`${g+2}px`,O)},Rs=g=>{g?.preventDefault(),t(17,ct+=i)},bs=g=>{g.key==="Escape"&&(t(9,v=""),O.blur()),g.key==="Enter"&&g.preventDefault()};function Ts(){v=this.value,t(9,v),t(23,R)}function Cs(g){le[g?"unshift":"push"](()=>{O=g,t(10,O)})}function ks(g){le[g?"unshift":"push"](()=>{W=g,t(11,W)})}let Ss=()=>{t(9,v=""),O.blur()};function ys(g){V=g,t(0,V)}return n.$$set=g=>{"base_path"in g&&t(25,l=g.base_path),"page_size"in g&&t(26,i=g.page_size),"reset_styles"in g&&t(1,a=g.reset_styles),"show_images"in g&&t(2,o=g.show_images),"show_sub_results"in g&&t(3,h=g.show_sub_results),"excerpt_length"in g&&t(24,c=g.excerpt_length),"process_result"in g&&t(4,m=g.process_result),"process_term"in g&&t(27,p=g.process_term),"show_empty_filters"in g&&t(5,d=g.show_empty_filters),"open_filters"in g&&t(6,_=g.open_filters),"debounce_timeout_ms"in g&&t(28,u=g.debounce_timeout_ms),"pagefind_options"in g&&t(29,f=g.pagefind_options),"merge_index"in g&&t(30,T=g.merge_index),"trigger_search_term"in g&&t(23,R=g.trigger_search_term),"translations"in g&&t(7,M=g.translations),"autofocus"in g&&t(8,D=g.autofocus),"sort"in g&&t(31,X=g.sort),"selected_filters"in g&&t(0,V=g.selected_filters)},n.$$.update=()=>{if(n.$$.dirty[0]&8388608)e:R&&(t(9,v=R),t(23,R=""));if(n.$$.dirty[0]&513)e:ps(v,V)},[V,a,o,h,m,d,_,M,D,v,O,W,at,cn,ot,ut,fn,ct,ce,hn,ds,mn,Rs,R,c,l,i,p,u,f,T,X,bs,Ts,Cs,ks,Ss,ys]}var on=class extends q{constructor(e){super(),Y(this,e,ja,Na,K,{base_path:25,page_size:26,reset_styles:1,show_images:2,show_sub_results:3,excerpt_length:24,process_result:4,process_term:27,show_empty_filters:5,open_filters:6,debounce_timeout_ms:28,pagefind_options:29,merge_index:30,trigger_search_term:23,translations:7,autofocus:8,sort:31,selected_filters:0},null,[-1,-1])}},_s=on;var un;try{document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&(un=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?ui.js.*$/)[1])}catch{un="/pagefind/"}var it=class{constructor(e){this._pfs=null;let t=e.element??"[data-pagefind-ui]",s=e.bundlePath??un,r=e.pageSize??5,l=e.resetStyles??!0,i=e.showImages??!0,a=e.showSubResults??!1,o=e.excerptLength??0,h=e.processResult??null,c=e.processTerm??null,m=e.showEmptyFilters??!0,p=e.openFilters??[],d=e.debounceTimeoutMs??300,_=e.mergeIndex??[],u=e.translations??[],f=e.autofocus??!1,T=e.sort??null;delete e.element,delete e.bundlePath,delete e.pageSize,delete e.resetStyles,delete e.showImages,delete e.showSubResults,delete e.excerptLength,delete e.processResult,delete e.processTerm,delete e.showEmptyFilters,delete e.openFilters,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations,delete e.autofocus,delete e.sort;let R=t instanceof HTMLElement?t:document.querySelector(t);R?this._pfs=new _s({target:R,props:{base_path:s,page_size:r,reset_styles:l,show_images:i,show_sub_results:a,excerpt_length:o,process_result:h,process_term:c,show_empty_filters:m,open_filters:p,debounce_timeout_ms:d,merge_index:_,translations:u,autofocus:f,sort:T,pagefind_options:e}}):console.error(`Pagefind UI couldn't find the selector ${t}`)}triggerSearch(e){this._pfs.$$set({trigger_search_term:e})}triggerFilters(e){let t={};for(let[s,r]of Object.entries(e))if(Array.isArray(r))for(let l of r)t[`${s}:${l}`]=!0;else t[`${s}:${r}`]=!0;this._pfs.$$set({selected_filters:t})}destroy(){this._pfs.$destroy()}};window.PagefindUI=it;})(); diff --git a/dist2/pagefind/pagefind.js b/dist2/pagefind/pagefind.js new file mode 100644 index 0000000..0ea99ad --- /dev/null +++ b/dist2/pagefind/pagefind.js @@ -0,0 +1,9 @@ +const pagefind_version="1.2.0";let wasm_bindgen;(function(){const __exports={};let script_src;if(typeof document!=='undefined'&&document.currentScript!==null){script_src=new URL("UNHANDLED",location.href).toString()}let wasm=undefined;let cachedUint8Memory0=null;function getUint8Memory0(){if(cachedUint8Memory0===null||cachedUint8Memory0.byteLength===0){cachedUint8Memory0=new Uint8Array(wasm.memory.buffer)}return cachedUint8Memory0}let WASM_VECTOR_LEN=0;function passArray8ToWasm0(arg,malloc){const ptr=malloc(arg.length*1,1)>>>0;getUint8Memory0().set(arg,ptr/1);WASM_VECTOR_LEN=arg.length;return ptr}__exports.init_pagefind=function(metadata_bytes){const ptr0=passArray8ToWasm0(metadata_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.init_pagefind(ptr0,len0);return ret>>>0};const cachedTextEncoder=(typeof TextEncoder!=='undefined'?new TextEncoder('utf-8'):{encode:()=>{throw Error('TextEncoder not available')}});const encodeString=(typeof cachedTextEncoder.encodeInto==='function'?function(arg,view){return cachedTextEncoder.encodeInto(arg,view)}:function(arg,view){const buf=cachedTextEncoder.encode(arg);view.set(buf);return{read:arg.length,written:buf.length}});function passStringToWasm0(arg,malloc,realloc){if(realloc===undefined){const buf=cachedTextEncoder.encode(arg);const ptr=malloc(buf.length,1)>>>0;getUint8Memory0().subarray(ptr,ptr+buf.length).set(buf);WASM_VECTOR_LEN=buf.length;return ptr}let len=arg.length;let ptr=malloc(len,1)>>>0;const mem=getUint8Memory0();let offset=0;for(;offset0x7F)break;mem[ptr+offset]=code}if(offset!==len){if(offset!==0){arg=arg.slice(offset)}ptr=realloc(ptr,len,len=offset+arg.length*3,1)>>>0;const view=getUint8Memory0().subarray(ptr+offset,ptr+len);const ret=encodeString(arg,view);offset+=ret.written;ptr=realloc(ptr,len,offset,1)>>>0}WASM_VECTOR_LEN=offset;return ptr}__exports.set_ranking_weights=function(ptr,weights){const ptr0=passStringToWasm0(weights,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.set_ranking_weights(ptr,ptr0,len0);return ret>>>0};__exports.load_index_chunk=function(ptr,chunk_bytes){const ptr0=passArray8ToWasm0(chunk_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.load_index_chunk(ptr,ptr0,len0);return ret>>>0};__exports.load_filter_chunk=function(ptr,chunk_bytes){const ptr0=passArray8ToWasm0(chunk_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.load_filter_chunk(ptr,ptr0,len0);return ret>>>0};__exports.add_synthetic_filter=function(ptr,filter){const ptr0=passStringToWasm0(filter,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.add_synthetic_filter(ptr,ptr0,len0);return ret>>>0};let cachedInt32Memory0=null;function getInt32Memory0(){if(cachedInt32Memory0===null||cachedInt32Memory0.byteLength===0){cachedInt32Memory0=new Int32Array(wasm.memory.buffer)}return cachedInt32Memory0}const cachedTextDecoder=(typeof TextDecoder!=='undefined'?new TextDecoder('utf-8',{ignoreBOM:true,fatal:true}):{decode:()=>{throw Error('TextDecoder not available')}});if(typeof TextDecoder!=='undefined'){cachedTextDecoder.decode()};function getStringFromWasm0(ptr,len){ptr=ptr>>>0;return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr,ptr+len))}__exports.request_indexes=function(ptr,query){let deferred2_0;let deferred2_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;wasm.request_indexes(retptr,ptr,ptr0,len0);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred2_0=r0;deferred2_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred2_0,deferred2_1,1)}};__exports.request_filter_indexes=function(ptr,filters){let deferred2_0;let deferred2_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(filters,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;wasm.request_filter_indexes(retptr,ptr,ptr0,len0);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred2_0=r0;deferred2_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred2_0,deferred2_1,1)}};__exports.request_all_filter_indexes=function(ptr){let deferred1_0;let deferred1_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);wasm.request_all_filter_indexes(retptr,ptr);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred1_0=r0;deferred1_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred1_0,deferred1_1,1)}};__exports.filters=function(ptr){let deferred1_0;let deferred1_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);wasm.filters(retptr,ptr);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred1_0=r0;deferred1_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred1_0,deferred1_1,1)}};__exports.search=function(ptr,query,filter,sort,exact){let deferred4_0;let deferred4_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ptr1=passStringToWasm0(filter,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len1=WASM_VECTOR_LEN;const ptr2=passStringToWasm0(sort,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len2=WASM_VECTOR_LEN;wasm.search(retptr,ptr,ptr0,len0,ptr1,len1,ptr2,len2,exact);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred4_0=r0;deferred4_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred4_0,deferred4_1,1)}};async function __wbg_load(module,imports){if(typeof Response==='function'&&module instanceof Response){if(typeof WebAssembly.instantiateStreaming==='function'){try{return await WebAssembly.instantiateStreaming(module,imports)}catch(e){if(module.headers.get('Content-Type')!='application/wasm'){console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e)}else{throw e}}}const bytes=await module.arrayBuffer();return await WebAssembly.instantiate(bytes,imports)}else{const instance=await WebAssembly.instantiate(module,imports);if(instance instanceof WebAssembly.Instance){return{instance,module}}else{return instance}}}function __wbg_get_imports(){const imports={};imports.wbg={};return imports}function __wbg_init_memory(imports,maybe_memory){}function __wbg_finalize_init(instance,module){wasm=instance.exports;__wbg_init.__wbindgen_wasm_module=module;cachedInt32Memory0=null;cachedUint8Memory0=null;return wasm}function initSync(module){if(wasm!==undefined)return wasm;const imports=__wbg_get_imports();__wbg_init_memory(imports);if(!(module instanceof WebAssembly.Module)){module=new WebAssembly.Module(module)}const instance=new WebAssembly.Instance(module,imports);return __wbg_finalize_init(instance,module)}async function __wbg_init(input){if(wasm!==undefined)return wasm;if(typeof input==='undefined'&&typeof script_src!=='undefined'){input=script_src.replace(/\.js$/,'_bg.wasm')}const imports=__wbg_get_imports();if(typeof input==='string'||(typeof Request==='function'&&input instanceof Request)||(typeof URL==='function'&&input instanceof URL)){input=fetch(input)}__wbg_init_memory(imports);const{instance,module}=await __wbg_load(await input,imports);return __wbg_finalize_init(instance,module)}wasm_bindgen=Object.assign(__wbg_init,{initSync},__exports)})();var u8=Uint8Array;var u16=Uint16Array;var u32=Uint32Array;var fleb=new u8([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]);var fdeb=new u8([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]);var clim=new u8([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);var freb=function(eb,start){var b=new u16(31);for(var i2=0;i2<31;++i2){b[i2]=start+=1<>>1|(i&21845)<<1;x=(x&52428)>>>2|(x&13107)<<2;x=(x&61680)>>>4|(x&3855)<<4;rev[i]=((x&65280)>>>8|(x&255)<<8)>>>1}var x;var i;var hMap=function(cd,mb,r){var s=cd.length;var i2=0;var l=new u16(mb);for(;i2>>rvb]=sv}}}}else{co=new u16(s);for(i2=0;i2>>15-cd[i2]}}}return co};var flt=new u8(288);for(i=0;i<144;++i)flt[i]=8;var i;for(i=144;i<256;++i)flt[i]=9;var i;for(i=256;i<280;++i)flt[i]=7;var i;for(i=280;i<288;++i)flt[i]=8;var i;var fdt=new u8(32);for(i=0;i<32;++i)fdt[i]=5;var i;var flrm=hMap(flt,9,1);var fdrm=hMap(fdt,5,1);var max=function(a){var m=a[0];for(var i2=1;i2m)m=a[i2]}return m};var bits=function(d,p,m){var o=p/8|0;return(d[o]|d[o+1]<<8)>>(p&7)&m};var bits16=function(d,p){var o=p/8|0;return(d[o]|d[o+1]<<8|d[o+2]<<16)>>(p&7)};var shft=function(p){return(p+7)/8|0};var slc=function(v,s,e){if(s==null||s<0)s=0;if(e==null||e>v.length)e=v.length;var n=new(v.BYTES_PER_ELEMENT==2?u16:v.BYTES_PER_ELEMENT==4?u32:u8)(e-s);n.set(v.subarray(s,e));return n};var ec=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"];var err=function(ind,msg,nt){var e=new Error(msg||ec[ind]);e.code=ind;if(Error.captureStackTrace)Error.captureStackTrace(e,err);if(!nt)throw e;return e};var inflt=function(dat,buf,st){var sl=dat.length;if(!sl||st&&st.f&&!st.l)return buf||new u8(0);var noBuf=!buf||st;var noSt=!st||st.i;if(!st)st={};if(!buf)buf=new u8(sl*3);var cbuf=function(l2){var bl=buf.length;if(l2>bl){var nbuf=new u8(Math.max(bl*2,l2));nbuf.set(buf);buf=nbuf}};var final=st.f||0,pos=st.p||0,bt=st.b||0,lm=st.l,dm=st.d,lbt=st.m,dbt=st.n;var tbts=sl*8;do{if(!lm){final=bits(dat,pos,1);var type=bits(dat,pos+1,3);pos+=3;if(!type){var s=shft(pos)+4,l=dat[s-4]|dat[s-3]<<8,t=s+l;if(t>sl){if(noSt)err(0);break}if(noBuf)cbuf(bt+l);buf.set(dat.subarray(s,t),bt);st.b=bt+=l,st.p=pos=t*8,st.f=final;continue}else if(type==1)lm=flrm,dm=fdrm,lbt=9,dbt=5;else if(type==2){var hLit=bits(dat,pos,31)+257,hcLen=bits(dat,pos+10,15)+4;var tl=hLit+bits(dat,pos+5,31)+1;pos+=14;var ldt=new u8(tl);var clt=new u8(19);for(var i2=0;i2>>4;if(s<16){ldt[i2++]=s}else{var c=0,n=0;if(s==16)n=3+bits(dat,pos,3),pos+=2,c=ldt[i2-1];else if(s==17)n=3+bits(dat,pos,7),pos+=3;else if(s==18)n=11+bits(dat,pos,127),pos+=7;while(n--)ldt[i2++]=c}}var lt=ldt.subarray(0,hLit),dt=ldt.subarray(hLit);lbt=max(lt);dbt=max(dt);lm=hMap(lt,lbt,1);dm=hMap(dt,dbt,1)}else err(1);if(pos>tbts){if(noSt)err(0);break}}if(noBuf)cbuf(bt+131072);var lms=(1<>>4;pos+=c&15;if(pos>tbts){if(noSt)err(0);break}if(!c)err(2);if(sym<256)buf[bt++]=sym;else if(sym==256){lpos=pos,lm=null;break}else{var add=sym-254;if(sym>264){var i2=sym-257,b=fleb[i2];add=bits(dat,pos,(1<>>4;if(!d)err(3);pos+=d&15;var dt=fd[dsym];if(dsym>3){var b=fdeb[dsym];dt+=bits16(dat,pos)&(1<tbts){if(noSt)err(0);break}if(noBuf)cbuf(bt+131072);var end=bt+add;for(;bt>3&1)+(flg>>4&1);zs>0;zs-=!d[st++]);return st+(flg&2)};var gzl=function(d){var l=d.length;return(d[l-4]|d[l-3]<<8|d[l-2]<<16|d[l-1]<<24)>>>0};function gunzipSync(data,out){return inflt(data.subarray(gzs(data),-8),out||new u8(gzl(data)))}var td=typeof TextDecoder!="undefined"&&new TextDecoder();var tds=0;try{td.decode(et,{stream:true});tds=1}catch(e){}var gz_default=gunzipSync;var calculate_excerpt_region=(word_positions,excerpt_length)=>{if(word_positions.length===0){return 0}let words=[];for(const word of word_positions){words[word.location]=words[word.location]||0;words[word.location]+=word.balanced_score}if(words.length<=excerpt_length){return 0}let densest=words.slice(0,excerpt_length).reduce((partialSum,a)=>partialSum+a,0);let working_sum=densest;let densest_at=[0];for(let i2=0;i2densest){densest=working_sum;densest_at=[i2]}else if(working_sum===densest&&densest_at[densest_at.length-1]===i2-1){densest_at.push(i2)}}let midpoint=densest_at[Math.floor(densest_at.length/2)];return midpoint};var build_excerpt=(content,start,length,locations,not_before,not_from)=>{let is_zws_delimited=content.includes("\u200B");let fragment_words=[];if(is_zws_delimited){fragment_words=content.split("\u200B")}else{fragment_words=content.split(/[\r\n\s]+/g)}for(let word of locations){if(fragment_words[word]?.startsWith(``)){continue}fragment_words[word]=`${fragment_words[word]}`}let endcap=not_from??fragment_words.length;let startcap=not_before??0;if(endcap-startcapendcap){start=endcap-length}if(start{const anchors=fragment.anchors.filter((a)=>/h\d/i.test(a.element)&&a.text?.length&&/\S/.test(a.text)).sort((a,b)=>a.location-b.location);const results=[];let current_anchor_position=0;let current_anchor={title:fragment.meta["title"],url:fragment.url,weighted_locations:[],locations:[],excerpt:""};const add_result=(end_range)=>{if(current_anchor.locations.length){const relative_weighted_locations=current_anchor.weighted_locations.map((l)=>{return{weight:l.weight,balanced_score:l.balanced_score,location:l.location-current_anchor_position}});const excerpt_start=calculate_excerpt_region(relative_weighted_locations,desired_excerpt_length)+current_anchor_position;const excerpt_length=end_range?Math.min(end_range-excerpt_start,desired_excerpt_length):desired_excerpt_length;current_anchor.excerpt=build_excerpt(fragment.raw_content??"",excerpt_start,excerpt_length,current_anchor.locations,current_anchor_position,end_range);results.push(current_anchor)}};for(let word of fragment.weighted_locations){if(!anchors.length||word.location=anchors[0].location){next_anchor=anchors.shift()}let anchored_url=fragment.url;try{const url_is_fq=/^((https?:)?\/\/)/.test(anchored_url);if(url_is_fq){let fq_url=new URL(anchored_url);fq_url.hash=next_anchor.id;anchored_url=fq_url.toString()}else{if(!/^\//.test(anchored_url)){anchored_url=`/${anchored_url}`}let fq_url=new URL(`https://example.com${anchored_url}`);fq_url.hash=next_anchor.id;anchored_url=fq_url.toString().replace(/^https:\/\/example.com/,"")}}catch(e){console.error(`Pagefind: Couldn't process ${anchored_url} for a search result`)}current_anchor_position=next_anchor.location;current_anchor={title:next_anchor.text,url:anchored_url,anchor:next_anchor,weighted_locations:[word],locations:[word.location],excerpt:""}}}add_result(anchors[0]?.location);return results};var asyncSleep=async(ms=100)=>{return new Promise((r)=>setTimeout(r,ms))};var PagefindInstance=class{constructor(opts={}){this.version=pagefind_version;this.backend=wasm_bindgen;this.decoder=new TextDecoder("utf-8");this.wasm=null;this.basePath=opts.basePath||"/pagefind/";this.primary=opts.primary||false;if(this.primary&&!opts.basePath){this.initPrimary()}if(/[^\/]$/.test(this.basePath)){this.basePath=`${this.basePath}/`}if(window?.location?.origin&&this.basePath.startsWith(window.location.origin)){this.basePath=this.basePath.replace(window.location.origin,"")}this.baseUrl=opts.baseUrl||this.defaultBaseUrl();if(!/^(\/|https?:\/\/)/.test(this.baseUrl)){this.baseUrl=`/${this.baseUrl}`}this.indexWeight=opts.indexWeight??1;this.excerptLength=opts.excerptLength??30;this.mergeFilter=opts.mergeFilter??{};this.ranking=opts.ranking;this.highlightParam=opts.highlightParam??null;this.loaded_chunks={};this.loaded_filters={};this.loaded_fragments={};this.raw_ptr=null;this.searchMeta=null;this.languages=null}initPrimary(){let derivedBasePath=import.meta.url.match(/^(.*\/)pagefind.js.*$/)?.[1];if(derivedBasePath){this.basePath=derivedBasePath}else{console.warn(["Pagefind couldn't determine the base of the bundle from the import path. Falling back to the default.","Set a basePath option when initialising Pagefind to ignore this message."].join("\n"))}}defaultBaseUrl(){let default_base=this.basePath.match(/^(.*\/)_?pagefind/)?.[1];return default_base||"/"}async options(options2){const opts=["basePath","baseUrl","indexWeight","excerptLength","mergeFilter","highlightParam","ranking"];for(const[k,v]of Object.entries(options2)){if(k==="mergeFilter"){let filters2=this.stringifyFilters(v);let ptr=await this.getPtr();this.raw_ptr=this.backend.add_synthetic_filter(ptr,filters2)}else if(k==="ranking"){await this.set_ranking(options2.ranking)}else if(opts.includes(k)){if(k==="basePath"&&typeof v==="string")this.basePath=v;if(k==="baseUrl"&&typeof v==="string")this.baseUrl=v;if(k==="indexWeight"&&typeof v==="number")this.indexWeight=v;if(k==="excerptLength"&&typeof v==="number")this.excerptLength=v;if(k==="mergeFilter"&&typeof v==="object")this.mergeFilter=v;if(k==="highlightParam"&&typeof v==="string")this.highlightParam=v}else{console.warn(`Unknown Pagefind option ${k}. Allowed options: [${opts.join(", ")}]`)}}}decompress(data,file="unknown file"){if(this.decoder.decode(data.slice(0,12))==="pagefind_dcd"){return data.slice(12)}data=gz_default(data);if(this.decoder.decode(data.slice(0,12))!=="pagefind_dcd"){console.error(`Decompressing ${file} appears to have failed: Missing signature`);return data}return data.slice(12)}async set_ranking(ranking){if(!ranking)return;let rankingWeights={term_similarity:ranking.termSimilarity??null,page_length:ranking.pageLength??null,term_saturation:ranking.termSaturation??null,term_frequency:ranking.termFrequency??null};let ptr=await this.getPtr();this.raw_ptr=this.backend.set_ranking_weights(ptr,JSON.stringify(rankingWeights))}async init(language,opts){await this.loadEntry();let index=this.findIndex(language);let lang_wasm=index.wasm?index.wasm:"unknown";let resources=[this.loadMeta(index.hash)];if(opts.load_wasm===true){resources.push(this.loadWasm(lang_wasm))}await Promise.all(resources);this.raw_ptr=this.backend.init_pagefind(new Uint8Array(this.searchMeta));if(Object.keys(this.mergeFilter)?.length){let filters2=this.stringifyFilters(this.mergeFilter);let ptr=await this.getPtr();this.raw_ptr=this.backend.add_synthetic_filter(ptr,filters2)}if(this.ranking){await this.set_ranking(this.ranking)}}async loadEntry(){try{let entry_response=await fetch(`${this.basePath}pagefind-entry.json?ts=${Date.now()}`);let entry_json=await entry_response.json();this.languages=entry_json.languages;if(entry_json.version!==this.version){if(this.primary){console.warn(["Pagefind JS version doesn't match the version in your search index.",`Pagefind JS: ${this.version}. Pagefind index: ${entry_json.version}`,"If you upgraded Pagefind recently, you likely have a cached pagefind.js file.","If you encounter any search errors, try clearing your cache."].join("\n"))}else{console.warn(["Merging a Pagefind index from a different version than the main Pagefind instance.",`Main Pagefind JS: ${this.version}. Merged index (${this.basePath}): ${entry_json.version}`,"If you encounter any search errors, make sure that both sites are running the same version of Pagefind."].join("\n"))}}}catch(e){console.error(`Failed to load Pagefind metadata: +${e?.toString()}`);throw new Error("Failed to load Pagefind metadata")}}findIndex(language){if(this.languages){let index=this.languages[language];if(index)return index;index=this.languages[language.split("-")[0]];if(index)return index;let topLang=Object.values(this.languages).sort((a,b)=>b.page_count-a.page_count);if(topLang[0])return topLang[0]}throw new Error("Pagefind Error: No language indexes found.")}async loadMeta(index){try{let compressed_resp=await fetch(`${this.basePath}pagefind.${index}.pf_meta`);let compressed_meta=await compressed_resp.arrayBuffer();this.searchMeta=this.decompress(new Uint8Array(compressed_meta),"Pagefind metadata")}catch(e){console.error(`Failed to load the meta index: +${e?.toString()}`)}}async loadWasm(language){try{const wasm_url=`${this.basePath}wasm.${language}.pagefind`;let compressed_resp=await fetch(wasm_url);let compressed_wasm=await compressed_resp.arrayBuffer();const final_wasm=this.decompress(new Uint8Array(compressed_wasm),"Pagefind WebAssembly");if(!final_wasm){throw new Error("No WASM after decompression")}this.wasm=await this.backend(final_wasm)}catch(e){console.error(`Failed to load the Pagefind WASM: +${e?.toString()}`);throw new Error(`Failed to load the Pagefind WASM: +${e?.toString()}`)}}async _loadGenericChunk(url,method){try{let compressed_resp=await fetch(url);let compressed_chunk=await compressed_resp.arrayBuffer();let chunk=this.decompress(new Uint8Array(compressed_chunk),url);let ptr=await this.getPtr();this.raw_ptr=this.backend[method](ptr,chunk)}catch(e){console.error(`Failed to load the index chunk ${url}: +${e?.toString()}`)}}async loadChunk(hash){if(!this.loaded_chunks[hash]){const url=`${this.basePath}index/${hash}.pf_index`;this.loaded_chunks[hash]=this._loadGenericChunk(url,"load_index_chunk")}return await this.loaded_chunks[hash]}async loadFilterChunk(hash){if(!this.loaded_filters[hash]){const url=`${this.basePath}filter/${hash}.pf_filter`;this.loaded_filters[hash]=this._loadGenericChunk(url,"load_filter_chunk")}return await this.loaded_filters[hash]}async _loadFragment(hash){let compressed_resp=await fetch(`${this.basePath}fragment/${hash}.pf_fragment`);let compressed_fragment=await compressed_resp.arrayBuffer();let fragment=this.decompress(new Uint8Array(compressed_fragment),`Fragment ${hash}`);return JSON.parse(new TextDecoder().decode(fragment))}async loadFragment(hash,weighted_locations=[],search_term){if(!this.loaded_fragments[hash]){this.loaded_fragments[hash]=this._loadFragment(hash)}let fragment=await this.loaded_fragments[hash];fragment.weighted_locations=weighted_locations;fragment.locations=weighted_locations.map((l)=>l.location);if(!fragment.raw_content){fragment.raw_content=fragment.content.replace(//g,">");fragment.content=fragment.content.replace(/\u200B/g,"")}if(!fragment.raw_url){fragment.raw_url=fragment.url}fragment.url=this.processedUrl(fragment.raw_url,search_term);const excerpt_start=calculate_excerpt_region(weighted_locations,this.excerptLength);fragment.excerpt=build_excerpt(fragment.raw_content,excerpt_start,this.excerptLength,fragment.locations);fragment.sub_results=calculate_sub_results(fragment,this.excerptLength);return fragment}fullUrl(raw){if(/^(https?:)?\/\//.test(raw)){return raw}return`${this.baseUrl}/${raw}`.replace(/\/+/g,"/").replace(/^(https?:\/)/,"$1/")}processedUrl(url,search_term){const normalized=this.fullUrl(url);if(this.highlightParam===null){return normalized}let individual_terms=search_term.split(/\s+/);try{let processed=new URL(normalized);for(const term of individual_terms){processed.searchParams.append(this.highlightParam,term)}return processed.toString()}catch(e){try{let processed=new URL(`https://example.com${normalized}`);for(const term of individual_terms){processed.searchParams.append(this.highlightParam,term)}return processed.toString().replace(/^https:\/\/example\.com/,"")}catch(e2){return normalized}}}async getPtr(){while(this.raw_ptr===null){await asyncSleep(50)}if(!this.raw_ptr){console.error("Pagefind: WASM Error (No pointer)");throw new Error("Pagefind: WASM Error (No pointer)")}return this.raw_ptr}parseFilters(str){let output={};if(!str)return output;for(const block of str.split("__PF_FILTER_DELIM__")){let[filter,values]=block.split(/:(.*)$/);output[filter]={};if(values){for(const valueBlock of values.split("__PF_VALUE_DELIM__")){if(valueBlock){let extract=valueBlock.match(/^(.*):(\d+)$/);if(extract){let[,value,count]=extract;output[filter][value]=parseInt(count)??count}}}}}return output}stringifyFilters(obj={}){return JSON.stringify(obj)}stringifySorts(obj={}){let sorts=Object.entries(obj);for(let[sort,direction]of sorts){if(sorts.length>1){console.warn(`Pagefind was provided multiple sort options in this search, but can only operate on one. Using the ${sort} sort.`)}if(direction!=="asc"&&direction!=="desc"){console.warn(`Pagefind was provided a sort with unknown direction ${direction}. Supported: [asc, desc]`)}return`${sort}:${direction}`}return``}async filters(){let ptr=await this.getPtr();let filters2=this.backend.request_all_filter_indexes(ptr);let filter_chunks=filters2.split(" ").filter((v)=>v).map((chunk)=>this.loadFilterChunk(chunk));await Promise.all([...filter_chunks]);ptr=await this.getPtr();let results=this.backend.filters(ptr);return this.parseFilters(results)}async preload(term,options2={}){await this.search(term,{...options2,preload:true})}async search(term,options2={}){options2={verbose:false,filters:{},sort:{},...options2};const log=(str)=>{if(options2.verbose)console.log(str)};log(`Starting search on ${this.basePath}`);let start=Date.now();let ptr=await this.getPtr();let filter_only=term===null;term=term??"";let exact_search=/^\s*".+"\s*$/.test(term);if(exact_search){log(`Running an exact search`)}term=term.toLowerCase().trim().replace(/[\.`~!@#\$%\^&\*\(\)\{\}\[\]\\\|:;'",<>\/\?\-]/g,"").replace(/\s{2,}/g," ").trim();log(`Normalized search term to ${term}`);if(!term?.length&&!filter_only){return{results:[],unfilteredResultCount:0,filters:{},totalFilters:{},timings:{preload:Date.now()-start,search:Date.now()-start,total:Date.now()-start}}}let sort_list=this.stringifySorts(options2.sort);log(`Stringified sort to ${sort_list}`);const filter_list=this.stringifyFilters(options2.filters);log(`Stringified filters to ${filter_list}`);let index_resp=this.backend.request_indexes(ptr,term);let filter_resp=this.backend.request_filter_indexes(ptr,filter_list);let chunks=index_resp.split(" ").filter((v)=>v).map((chunk)=>this.loadChunk(chunk));let filter_chunks=filter_resp.split(" ").filter((v)=>v).map((chunk)=>this.loadFilterChunk(chunk));await Promise.all([...chunks,...filter_chunks]);log(`Loaded necessary chunks to run search`);if(options2.preload){log(`Preload \u2014 bailing out of search operation now.`);return null}ptr=await this.getPtr();let searchStart=Date.now();let result=this.backend.search(ptr,term,filter_list,sort_list,exact_search);log(`Got the raw search result: ${result}`);let[unfilteredResultCount,all_results,filters2,totalFilters]=result.split(/:([^:]*):(.*)__PF_UNFILTERED_DELIM__(.*)$/);let filterObj=this.parseFilters(filters2);let totalFilterObj=this.parseFilters(totalFilters);log(`Remaining filters: ${JSON.stringify(result)}`);let results=all_results.length?all_results.split(" "):[];let resultsInterface=results.map((result2)=>{let[hash,score,all_locations]=result2.split("@");log(`Processing result: + hash:${hash} + score:${score} + locations:${all_locations}`);let weighted_locations=all_locations.length?all_locations.split(",").map((l)=>{let[weight,balanced_score,location]=l.split(">");return{weight:parseInt(weight)/24,balanced_score:parseFloat(balanced_score),location:parseInt(location)}}):[];let locations=weighted_locations.map((l)=>l.location);return{id:hash,score:parseFloat(score)*this.indexWeight,words:locations,data:async()=>await this.loadFragment(hash,weighted_locations,term)}});const searchTime=Date.now()-searchStart;const realTime=Date.now()-start;log(`Found ${results.length} result${results.length == 1 ? "" : "s"} for "${term}" in ${Date.now() - searchStart}ms (${Date.now() - start}ms realtime)`);return{results:resultsInterface,unfilteredResultCount:parseInt(unfilteredResultCount),filters:filterObj,totalFilters:totalFilterObj,timings:{preload:realTime-searchTime,search:searchTime,total:realTime}}}};var Pagefind=class{constructor(options2={}){this.backend=wasm_bindgen;this.primaryLanguage="unknown";this.searchID=0;this.primary=new PagefindInstance({...options2,primary:true});this.instances=[this.primary];this.init(options2?.language)}async options(options2){await this.primary.options(options2)}async init(overrideLanguage){if(document?.querySelector){const langCode=document.querySelector("html")?.getAttribute("lang")||"unknown";this.primaryLanguage=langCode.toLocaleLowerCase()}await this.primary.init(overrideLanguage?overrideLanguage:this.primaryLanguage,{load_wasm:true})}async mergeIndex(indexPath,options2={}){if(this.primary.basePath.startsWith(indexPath)){console.warn(`Skipping mergeIndex ${indexPath} that appears to be the same as the primary index (${this.primary.basePath})`);return}let newInstance=new PagefindInstance({primary:false,basePath:indexPath});this.instances.push(newInstance);while(this.primary.wasm===null){await asyncSleep(50)}await newInstance.init(options2.language||this.primaryLanguage,{load_wasm:false});delete options2["language"];await newInstance.options(options2)}mergeFilters(filters2){const merged={};for(const searchFilter of filters2){for(const[filterKey,values]of Object.entries(searchFilter)){if(!merged[filterKey]){merged[filterKey]=values;continue}else{const filter=merged[filterKey];for(const[valueKey,count]of Object.entries(values)){filter[valueKey]=(filter[valueKey]||0)+count}}}}return merged}async filters(){let filters2=await Promise.all(this.instances.map((i2)=>i2.filters()));return this.mergeFilters(filters2)}async preload(term,options2={}){await Promise.all(this.instances.map((i2)=>i2.preload(term,options2)))}async debouncedSearch(term,options2,debounceTimeoutMs){const thisSearchID=++this.searchID;this.preload(term,options2);await asyncSleep(debounceTimeoutMs);if(thisSearchID!==this.searchID){return null}const searchResult=await this.search(term,options2);if(thisSearchID!==this.searchID){return null}return searchResult}async search(term,options2={}){let search2=await Promise.all(this.instances.map((i2)=>i2.search(term,options2)));const filters2=this.mergeFilters(search2.map((s)=>s.filters));const totalFilters=this.mergeFilters(search2.map((s)=>s.totalFilters));const results=search2.map((s)=>s.results).flat().sort((a,b)=>b.score-a.score);const timings=search2.map((s)=>s.timings);const unfilteredResultCount=search2.reduce((sum,s)=>sum+s.unfilteredResultCount,0);return{results,unfilteredResultCount,filters:filters2,totalFilters,timings}}};var pagefind=void 0;var initial_options=void 0;var init_pagefind=()=>{if(!pagefind){pagefind=new Pagefind(initial_options??{})}};var options=async(new_options)=>{if(pagefind){await pagefind.options(new_options)}else{initial_options=new_options}};var init=async()=>{init_pagefind()};var destroy=async()=>{pagefind=void 0;initial_options=void 0};var mergeIndex=async(indexPath,options2)=>{init_pagefind();return await pagefind.mergeIndex(indexPath,options2)};var search=async(term,options2)=>{init_pagefind();return await pagefind.search(term,options2)};var debouncedSearch=async(term,options2,debounceTimeoutMs=300)=>{init_pagefind();return await pagefind.debouncedSearch(term,options2,debounceTimeoutMs)};var preload=async(term,options2)=>{init_pagefind();return await pagefind.preload(term,options2)};var filters=async()=>{init_pagefind();return await pagefind.filters()};export{debouncedSearch,destroy,filters,init,mergeIndex,options,preload,search} \ No newline at end of file diff --git a/dist2/pagefind/pagefind.unknown_411b1da4e9a9bb4.pf_meta b/dist2/pagefind/pagefind.unknown_411b1da4e9a9bb4.pf_meta new file mode 100644 index 0000000..fdc4781 Binary files /dev/null and b/dist2/pagefind/pagefind.unknown_411b1da4e9a9bb4.pf_meta differ diff --git a/dist2/pagefind/wasm.unknown.pagefind b/dist2/pagefind/wasm.unknown.pagefind new file mode 100644 index 0000000..9effd2f Binary files /dev/null and b/dist2/pagefind/wasm.unknown.pagefind differ diff --git a/docs/1PASSWORD_SETUP.md b/docs/1PASSWORD_SETUP.md new file mode 100644 index 0000000..b20d808 --- /dev/null +++ b/docs/1PASSWORD_SETUP.md @@ -0,0 +1,449 @@ +# 1Password Integration Setup Guide + +This guide walks you through setting up 1Password CLI integration for secure secret management in your MD-Book deployment pipeline. + +## Overview + +1Password integration provides: +- **Secure secret storage** in 1Password vaults instead of plain text files +- **Automated secret loading** in deployment scripts and GitHub Actions +- **Team collaboration** through shared vaults +- **Audit trail** of all secret access +- **Easy rotation** with automatic propagation + +## Prerequisites + +### 1. 1Password Account +- Active 1Password account (Personal, Family, or Business) +- Access to create vaults and items +- For teams: Admin access to create service accounts + +### 2. Required Tools +```bash +# Install 1Password CLI +brew install 1password-cli + +# Install GitHub CLI (for secret sync) +brew install gh + +# Verify installations +op --version +gh --version +``` + +## Quick Setup + +### 1. Run Automated Setup +```bash +./scripts/setup-1password.sh +``` + +This script will: +- Verify 1Password CLI installation +- Check authentication +- Create vault and items if needed +- Test secret retrieval +- Generate .env file from 1Password + +### 2. Local Development Usage +```bash +# Option 1: Use op run (recommended) +op run --env-file=.env.1password -- ./scripts/deploy.sh production + +# Option 2: Generate .env file +op inject -i .env.1password -o .env +./scripts/deploy.sh production + +# Option 3: Manual environment loading +source <(op inject -i .env.1password) +./scripts/deploy.sh production +``` + +### 3. GitHub Actions Setup +```bash +# Sync secrets to GitHub repository +./scripts/sync-secrets-to-github.sh + +# Or with 1Password service account (recommended) +# Add OP_SERVICE_ACCOUNT_TOKEN to GitHub secrets +gh secret set OP_SERVICE_ACCOUNT_TOKEN --body "ops_..." +``` + +## Detailed Setup + +### Step 1: 1Password Authentication + +#### First-time Setup +```bash +# Add your account (if not already done) +op account add + +# Sign in +op signin +``` + +#### Verify Authentication +```bash +# Check account status +op account list + +# Test basic access +op vault list +``` + +### Step 2: Vault and Item Creation + +#### Manual Vault Setup +```bash +# Create deployment vault +op vault create "MD-Book-Deployment" --description "MD-Book deployment secrets" + +# Create Cloudflare item +op item create \ + --category="API Credential" \ + --title="Cloudflare" \ + --vault="MD-Book-Deployment" \ + --url="https://dash.cloudflare.com/" \ + "api_token[password]=your-cloudflare-api-token" \ + "account_id[text]=your-cloudflare-account-id" +``` + +#### Automated Setup (Recommended) +```bash +# Run the setup script +./scripts/setup-1password.sh + +# Follow the prompts to enter your Cloudflare credentials +``` + +### Step 3: Vault Structure + +Your 1Password vault should contain: + +``` +📁 MD-Book-Deployment/ + 🔐 Cloudflare + 🔑 api_token (password field) + 📝 account_id (text field) + 🌐 website: https://dash.cloudflare.com/ + + 🔐 Domains (optional) + 📝 production: docs.yourdomain.com + 📝 staging: staging-docs.yourdomain.com + + 🔐 GitHub (optional) + 🔑 personal_access_token + + 🔐 Analytics (optional) + 🔑 token + 🔗 dsn +``` + +### Step 4: Secret References + +The `.env.1password` file contains references to your vault: + +```bash +# Format: op://vault-name/item-name/field-name +CLOUDFLARE_API_TOKEN="op://MD-Book-Deployment/Cloudflare/api_token" +CLOUDFLARE_ACCOUNT_ID="op://MD-Book-Deployment/Cloudflare/account_id" + +# Optional custom domains +PRODUCTION_DOMAIN="op://MD-Book-Deployment/Domains/production" +STAGING_DOMAIN="op://MD-Book-Deployment/Domains/staging" +``` + +### Step 5: Local Development + +#### Method 1: op run (Recommended) +```bash +# Deploy with secrets injected from 1Password +op run --env-file=.env.1password -- ./scripts/deploy.sh production + +# Build only +op run --env-file=.env.1password -- cargo run -- -i docs -o dist + +# Development server +op run --env-file=.env.1password -- cargo run -- -i docs -o dist --serve --watch +``` + +#### Method 2: Environment File Generation +```bash +# Generate .env from 1Password +op inject -i .env.1password -o .env + +# Use normally (secrets now in .env) +./scripts/deploy.sh production + +# Clean up (important!) +rm .env +``` + +#### Method 3: Shell Integration +```bash +# Load secrets into current shell +eval $(op inject -i .env.1password) + +# Now run commands normally +./scripts/deploy.sh production +``` + +## GitHub Actions Integration + +### Option 1: Service Account (Recommended for Teams) + +#### 1. Create Service Account +In 1Password Business: +1. Go to Integrations → Service Accounts +2. Create new service account +3. Grant access to "MD-Book-Deployment" vault +4. Copy the service account token (`ops_...`) + +#### 2. Add to GitHub Secrets +```bash +# Add service account token +gh secret set OP_SERVICE_ACCOUNT_TOKEN --body "ops_v1_..." + +# The workflow will automatically load secrets from 1Password +``` + +#### 3. Workflow Configuration +The `.github/workflows/deploy.yml` automatically detects and uses 1Password: +```yaml +- name: Load secrets from 1Password + uses: 1password/load-secrets-action@v2 + if: secrets.OP_SERVICE_ACCOUNT_TOKEN != '' + with: + export-env: true + env: + OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }} + CLOUDFLARE_API_TOKEN: "op://MD-Book-Deployment/Cloudflare/api_token" + CLOUDFLARE_ACCOUNT_ID: "op://MD-Book-Deployment/Cloudflare/account_id" +``` + +### Option 2: Secret Sync (Alternative) + +#### Manual Sync +```bash +# Sync secrets to GitHub repository secrets +./scripts/sync-secrets-to-github.sh + +# Dry run to see what would be synced +./scripts/sync-secrets-to-github.sh --dry-run +``` + +#### Automated Sync +The repository includes a workflow that automatically syncs secrets weekly: +- Runs every Sunday at 2 AM UTC +- Can be triggered manually +- Creates issues on failure + +## Validation and Testing + +### Validate Setup +```bash +# Comprehensive validation +./scripts/validate-secrets.sh + +# Verbose output +./scripts/validate-secrets.sh --verbose + +# Check specific components +./scripts/validate-secrets.sh --check-cloudflare --check-github +``` + +### Test Deployment +```bash +# Test with 1Password integration +op run --env-file=.env.1password -- ./scripts/deploy.sh staging + +# Test without 1Password (fallback to env vars) +USE_1PASSWORD=false ./scripts/deploy.sh staging +``` + +## Secret Rotation + +### Cloudflare Token Rotation +```bash +# Automated rotation (coming soon) +./scripts/rotate-cloudflare-token.sh + +# Manual rotation +# 1. Create new token in Cloudflare dashboard +# 2. Update 1Password item +op item edit "Cloudflare" --vault="MD-Book-Deployment" "api_token[password]=new-token" + +# 3. Sync to GitHub (if using secret sync) +./scripts/sync-secrets-to-github.sh + +# 4. Test deployment +./scripts/validate-secrets.sh --check-cloudflare +``` + +### Service Account Rotation +1. Generate new service account token in 1Password +2. Update GitHub secret: + ```bash + gh secret set OP_SERVICE_ACCOUNT_TOKEN --body "ops_new_token" + ``` +3. Revoke old service account token + +## Troubleshooting + +### Common Issues + +#### "op: command not found" +```bash +# Install 1Password CLI +brew install 1password-cli + +# Or download from: https://1password.com/downloads/command-line/ +``` + +#### "User not signed in" +```bash +# Sign in to your account +op signin + +# Or add account first +op account add +op signin +``` + +#### "Vault not found" +```bash +# List available vaults +op vault list + +# Create the vault +op vault create "MD-Book-Deployment" + +# Or run setup script +./scripts/setup-1password.sh +``` + +#### "Item not found" +```bash +# List items in vault +op item list --vault="MD-Book-Deployment" + +# Create Cloudflare item +./scripts/setup-1password.sh +``` + +#### "Permission denied" +For team accounts: +- Ensure you have access to the vault +- Check if vault permissions allow item creation +- Contact your 1Password admin + +#### GitHub Actions Failing +```bash +# Check if service account token is set +gh secret list | grep OP_SERVICE_ACCOUNT_TOKEN + +# Verify token has vault access +# Check GitHub Actions logs for specific error +``` + +### Debug Commands + +```bash +# Test 1Password connection +op account get +op vault get "MD-Book-Deployment" +op item get "Cloudflare" --vault="MD-Book-Deployment" + +# Test secret reading +op read "op://MD-Book-Deployment/Cloudflare/api_token" + +# Test GitHub CLI +gh auth status +gh secret list + +# Test Cloudflare API +curl -H "Authorization: Bearer $(op read 'op://MD-Book-Deployment/Cloudflare/api_token')" \ + https://api.cloudflare.com/client/v4/user/tokens/verify + +# Validate entire setup +./scripts/validate-secrets.sh --verbose --check-github --check-cloudflare +``` + +## Security Best Practices + +### 1Password Security +- **Use strong master password** and 2FA on 1Password account +- **Enable Travel Mode** when traveling +- **Regularly audit** vault access logs +- **Use service accounts** for automation instead of personal accounts +- **Limit vault access** to only necessary team members + +### Secret Management +- **Never commit** secrets to Git repositories +- **Rotate secrets regularly** (every 90 days recommended) +- **Use minimal permissions** for API tokens +- **Monitor secret usage** in audit logs +- **Clean up unused secrets** + +### Development Workflow +- **Always use** `op run` or `op inject` instead of storing secrets in files +- **Delete .env files** after use or add to .gitignore +- **Use different tokens** for development and production +- **Validate secrets** before deployment + +### Team Collaboration +- **Use shared vaults** for team secrets +- **Document secret locations** in team wiki +- **Train team members** on 1Password best practices +- **Implement approval processes** for production secret changes + +## Advanced Configuration + +### Custom Vault Names +If you use different vault names, update these files: +- `.env.1password` - Update secret references +- `scripts/setup-1password.sh` - Update VAULT_NAME variable +- `scripts/sync-secrets-to-github.sh` - Update VAULT_NAME variable +- `.github/workflows/deploy.yml` - Update secret references + +### Multiple Environments +Create separate items or vaults for different environments: + +```bash +# Staging secrets +op item create \ + --title="Cloudflare-Staging" \ + --vault="MD-Book-Deployment" \ + "api_token[password]=staging-token" \ + "account_id[text]=staging-account" + +# Update .env.1password for staging +CLOUDFLARE_API_TOKEN="op://MD-Book-Deployment/Cloudflare-Staging/api_token" +``` + +### Integration with Other Tools +- **Docker**: Use `op run` to inject secrets into containers +- **Terraform**: Use 1Password Terraform provider +- **Kubernetes**: Use 1Password Secrets Injector +- **CI/CD**: Use 1Password Actions for other platforms + +## Support and Resources + +### Documentation +- [1Password CLI Documentation](https://developer.1password.com/docs/cli/) +- [1Password GitHub Actions](https://github.com/1Password/load-secrets-action) +- [1Password Service Accounts](https://support.1password.com/service-accounts/) + +### Community +- [1Password Community](https://1password.community/) +- [1Password CLI GitHub](https://github.com/1Password/cli) +- [Project Issues](https://github.com/terraphim/md-book/issues) + +### Professional Support +- [1Password Business Support](https://support.1password.com/contact/) +- [Deployment Documentation](../DEPLOYMENT.md) +- [Cloudflare Setup Guide](../CLOUDFLARE_SETUP.md) + +--- + +*This setup enables secure, scalable secret management for your MD-Book deployment pipeline with industry-standard security practices.* \ No newline at end of file diff --git a/netlify.toml b/netlify.toml new file mode 100644 index 0000000..bdf8ce3 --- /dev/null +++ b/netlify.toml @@ -0,0 +1,51 @@ +[build] + command = "cargo run -- -i test_input -o dist" + publish = "dist" + +[build.environment] + RUST_VERSION = "1.70.0" + +# Redirect rules for better navigation +[[redirects]] + from = "/*" + to = "/404.html" + status = 404 + +# Cache optimization for static assets +[[headers]] + for = "/css/*" + [headers.values] + Cache-Control = "public, max-age=31536000, immutable" + Vary = "Accept-Encoding" + +[[headers]] + for = "/js/*" + [headers.values] + Cache-Control = "public, max-age=31536000, immutable" + Vary = "Accept-Encoding" + +[[headers]] + for = "/img/*" + [headers.values] + Cache-Control = "public, max-age=31536000, immutable" + +# HTML pages - always revalidate for fresh content +[[headers]] + for = "*.html" + [headers.values] + Cache-Control = "public, max-age=0, must-revalidate" + +# Security headers for all pages +[[headers]] + for = "/*" + [headers.values] + X-Frame-Options = "DENY" + X-XSS-Protection = "1; mode=block" + X-Content-Type-Options = "nosniff" + Referrer-Policy = "strict-origin-when-cross-origin" + Permissions-Policy = "camera=(), microphone=(), geolocation=()" + +# Enable Netlify Functions (optional) +[functions] + directory = "netlify/functions" + included_files = ["netlify/functions/**"] \ No newline at end of file diff --git a/package.json b/package.json index 7eb2e9e..9695379 100644 --- a/package.json +++ b/package.json @@ -1,26 +1,13 @@ { - "name": "md-book-frontend-tests", + "name": "md-book-build-tools", "version": "1.0.0", - "description": "Frontend tests for md-book search functionality", + "description": "Build tools and dependencies for md-book", "scripts": { - "test": "jest", - "test:watch": "jest --watch", - "test:coverage": "jest --coverage" + "build": "echo 'Build completed - using Cargo for Rust compilation'", + "install-tools": "echo 'Tools installed - using bun for package management'" }, - "devDependencies": { - "@jest/environment-jsdom": "^29.7.0", - "jest": "^29.7.0", - "jest-environment-jsdom": "^29.7.0" - }, - "jest": { - "testEnvironment": "jsdom", - "testMatch": [ - "**/tests/frontend/**/*.js" - ], - "setupFilesAfterEnv": ["/tests/frontend/setup.js"], - "moduleNameMapper": { - "^/js/(.*)$": "/src/templates/js/$1", - "^/components/(.*)$": "/src/templates/components/$1" - } + "devDependencies": {}, + "engines": { + "node": ">=18.0.0" } } \ No newline at end of file diff --git a/scripts/bench.sh b/scripts/bench.sh new file mode 100755 index 0000000..a335868 --- /dev/null +++ b/scripts/bench.sh @@ -0,0 +1,88 @@ +#!/bin/bash +set -e + +# Benchmark script for md-book performance testing +# This script runs benchmarks and compares results with previous runs + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PROJECT_DIR="$(dirname "$SCRIPT_DIR")" +BENCHMARK_DIR="$PROJECT_DIR/benchmark-results" +CURRENT_RESULTS="$BENCHMARK_DIR/current.json" +PREVIOUS_RESULTS="$BENCHMARK_DIR/previous.json" + +echo "=== MD-Book Performance Benchmarks ===" + +# Create benchmark results directory +mkdir -p "$BENCHMARK_DIR" + +# Save previous results if they exist +if [[ -f "$CURRENT_RESULTS" ]]; then + mv "$CURRENT_RESULTS" "$PREVIOUS_RESULTS" +fi + +echo "Running benchmarks..." + +# Run benchmarks with JSON output +cd "$PROJECT_DIR" +cargo bench -- --output-format json | tee "$CURRENT_RESULTS" + +# Parse and compare results if we have previous data +if [[ -f "$PREVIOUS_RESULTS" ]] && command -v jq >/dev/null 2>&1; then + echo -e "\n=== Performance Comparison ===" + + # Extract benchmark results and compare + current_times=$(jq -r '.results[]? | select(.benchmark_name) | "\(.benchmark_name):\(.mean.estimate)"' "$CURRENT_RESULTS" 2>/dev/null || echo "") + previous_times=$(jq -r '.results[]? | select(.benchmark_name) | "\(.benchmark_name):\(.mean.estimate)"' "$PREVIOUS_RESULTS" 2>/dev/null || echo "") + + if [[ -n "$current_times" && -n "$previous_times" ]]; then + echo "Benchmark\tCurrent (ns)\tPrevious (ns)\tChange (%)" + echo "--------------------------------------------------------" + + # Create associative arrays for comparison + declare -A current_map previous_map + + while IFS=: read -r name time; do + current_map["$name"]="$time" + done <<< "$current_times" + + while IFS=: read -r name time; do + previous_map["$name"]="$time" + done <<< "$previous_times" + + # Compare results + regression_detected=false + for bench_name in "${!current_map[@]}"; do + current="${current_map[$bench_name]}" + previous="${previous_map[$bench_name]:-}" + + if [[ -n "$previous" ]]; then + # Calculate percentage change + change=$(echo "scale=2; (($current - $previous) / $previous) * 100" | bc -l 2>/dev/null || echo "0") + + # Format output + printf "%-30s\t%-12.0f\t%-12.0f\t%+.2f%%\n" "$bench_name" "$current" "$previous" "$change" + + # Check for significant regression (>10% slower) + if (( $(echo "$change > 10.0" | bc -l) )); then + regression_detected=true + echo "⚠️ Significant regression detected in $bench_name" + fi + else + printf "%-30s\t%-12.0f\t%-12s\t%s\n" "$bench_name" "$current" "N/A" "NEW" + fi + done + + if $regression_detected; then + echo -e "\n❌ Performance regressions detected!" + exit 1 + else + echo -e "\n✅ No significant performance regressions detected" + fi + else + echo "Unable to parse benchmark results for comparison" + fi +else + echo "No previous results found for comparison, or jq not available" +fi + +echo -e "\nBenchmark results saved to: $CURRENT_RESULTS" \ No newline at end of file diff --git a/scripts/deploy-worker.sh b/scripts/deploy-worker.sh new file mode 100755 index 0000000..8fb03dd --- /dev/null +++ b/scripts/deploy-worker.sh @@ -0,0 +1,93 @@ +#!/bin/bash + +# Deploy Cloudflare Worker for MD-Book +# This script deploys the worker with appropriate environment settings + +set -e + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# Default environment +ENVIRONMENT=${1:-production} +WORKER_DIR="worker" + +echo -e "${GREEN}🚀 Deploying MD-Book Worker to ${ENVIRONMENT}${NC}" + +# Check if wrangler is installed +if ! command -v wrangler &> /dev/null; then + echo -e "${YELLOW}⚠️ Installing Wrangler CLI...${NC}" + npm install -g wrangler +fi + +# Check if worker directory exists +if [ ! -d "$WORKER_DIR" ]; then + echo -e "${RED}❌ Worker directory not found: $WORKER_DIR${NC}" + exit 1 +fi + +# Check if required environment variables are set +if [ -z "$CLOUDFLARE_API_TOKEN" ] || [ -z "$CLOUDFLARE_ACCOUNT_ID" ]; then + echo -e "${RED}❌ Missing required environment variables:${NC}" + echo " CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID must be set" + echo "" + echo " Set them in your environment:" + echo " export CLOUDFLARE_API_TOKEN=\"your-token-here\"" + echo " export CLOUDFLARE_ACCOUNT_ID=\"your-account-id-here\"" + exit 1 +fi + +# Change to worker directory +cd "$WORKER_DIR" + +echo -e "${YELLOW}📦 Preparing worker deployment...${NC}" + +# Validate worker code +echo -e "${YELLOW}🔍 Validating worker code...${NC}" +if [ -f "src/index.js" ]; then + # Basic syntax check + node -c src/index.js + echo -e "${GREEN}✅ Worker code validation passed${NC}" +else + echo -e "${RED}❌ Worker source file not found: src/index.js${NC}" + exit 1 +fi + +# Deploy based on environment +case $ENVIRONMENT in + "production") + echo -e "${GREEN}🚀 Deploying to production...${NC}" + wrangler deploy --env production + ;; + "staging") + echo -e "${YELLOW}🚀 Deploying to staging...${NC}" + wrangler deploy --env staging + ;; + *) + echo -e "${RED}❌ Unknown environment: $ENVIRONMENT${NC}" + echo " Supported environments: production, staging" + exit 1 + ;; +esac + +echo -e "${GREEN}✅ Worker deployment completed successfully!${NC}" + +# Show deployment info +echo "" +echo -e "${GREEN}📋 Deployment Information:${NC}" +echo " Environment: $ENVIRONMENT" +echo " Timestamp: $(date)" +echo "" + +# List recent deployments +echo -e "${YELLOW}📝 Recent deployments:${NC}" +wrangler deployments list --limit 5 2>/dev/null || echo " Unable to fetch deployment history" + +echo "" +echo -e "${GREEN}🎉 MD-Book Worker is now live!${NC}" + +# Return to original directory +cd .. \ No newline at end of file diff --git a/scripts/deploy.sh b/scripts/deploy.sh new file mode 100755 index 0000000..3c694a6 --- /dev/null +++ b/scripts/deploy.sh @@ -0,0 +1,416 @@ +#!/bin/bash + +# Comprehensive deployment script for MD-Book +# This script builds and deploys both the static site and worker to Cloudflare + +set -e + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +# Configuration +ENVIRONMENT=${1:-production} +INPUT_DIR=${2:-test_input} +OUTPUT_DIR=${3:-dist} +SKIP_TESTS=${SKIP_TESTS:-false} +DEPLOY_WORKER=${DEPLOY_WORKER:-true} +USE_1PASSWORD=${USE_1PASSWORD:-auto} + +echo -e "${BLUE}🚀 MD-Book Deployment Pipeline${NC}" +echo -e "${BLUE}================================${NC}" +echo "Environment: $ENVIRONMENT" +echo "Input Dir: $INPUT_DIR" +echo "Output Dir: $OUTPUT_DIR" +echo "Skip Tests: $SKIP_TESTS" +echo "Deploy Worker: $DEPLOY_WORKER" +echo "1Password: $USE_1PASSWORD" +echo "" + +# Load secrets from 1Password if available +load_secrets_from_1password() { + # Skip if explicitly disabled + if [ "$USE_1PASSWORD" = "false" ] || [ "$USE_1PASSWORD" = "no" ]; then + return 0 + fi + + # Check if 1Password CLI is available + if ! command -v op &> /dev/null; then + if [ "$USE_1PASSWORD" = "true" ] || [ "$USE_1PASSWORD" = "yes" ]; then + echo -e "${RED}❌ 1Password CLI required but not found${NC}" + echo " Install with: brew install 1password-cli" + exit 1 + fi + return 0 + fi + + # Check if authenticated + if ! op account list &> /dev/null; then + if [ "$USE_1PASSWORD" = "true" ] || [ "$USE_1PASSWORD" = "yes" ]; then + echo -e "${RED}❌ Not authenticated with 1Password${NC}" + echo " Run: op signin" + exit 1 + fi + return 0 + fi + + # Try to load secrets from 1Password + echo -e "${YELLOW}🔐 Loading secrets from 1Password...${NC}" + + # Set vault and item names + VAULT_NAME="MD-Book-Deployment" + CLOUDFLARE_ITEM="Cloudflare" + + # Try to read secrets + if op vault get "$VAULT_NAME" &> /dev/null && op item get "$CLOUDFLARE_ITEM" --vault="$VAULT_NAME" &> /dev/null; then + # Load API token if not already set + if [ -z "$CLOUDFLARE_API_TOKEN" ]; then + if CLOUDFLARE_API_TOKEN=$(op read "op://$VAULT_NAME/$CLOUDFLARE_ITEM/api_token" 2>/dev/null); then + export CLOUDFLARE_API_TOKEN + echo -e "${GREEN}✅ Loaded CLOUDFLARE_API_TOKEN from 1Password${NC}" + fi + fi + + # Load Account ID if not already set + if [ -z "$CLOUDFLARE_ACCOUNT_ID" ]; then + if CLOUDFLARE_ACCOUNT_ID=$(op read "op://$VAULT_NAME/$CLOUDFLARE_ITEM/account_id" 2>/dev/null); then + export CLOUDFLARE_ACCOUNT_ID + echo -e "${GREEN}✅ Loaded CLOUDFLARE_ACCOUNT_ID from 1Password${NC}" + fi + fi + else + if [ "$USE_1PASSWORD" = "true" ] || [ "$USE_1PASSWORD" = "yes" ]; then + echo -e "${RED}❌ Cannot access 1Password vault or Cloudflare item${NC}" + echo " Run: ./scripts/setup-1password.sh" + exit 1 + else + echo -e "${YELLOW}⚠️ 1Password vault not accessible, falling back to environment variables${NC}" + fi + fi +} + +# Check prerequisites +check_prerequisites() { + echo -e "${YELLOW}🔍 Checking prerequisites...${NC}" + + # Check Rust + if ! command -v cargo &> /dev/null; then + echo -e "${RED}❌ Rust/Cargo not found. Please install Rust.${NC}" + exit 1 + fi + + # Check Node.js for Cloudflare CLI + if ! command -v node &> /dev/null; then + echo -e "${RED}❌ Node.js not found. Please install Node.js.${NC}" + exit 1 + fi + + # Check if input directory exists + if [ ! -d "$INPUT_DIR" ]; then + echo -e "${YELLOW}⚠️ Input directory not found, creating minimal example...${NC}" + mkdir -p "$INPUT_DIR" + cat > "$INPUT_DIR/index.md" << 'EOF' +# Welcome to MD-Book + +This is a modern mdbook replacement written in Rust that generates beautiful HTML documentation from Markdown files. + +## Features + +- **Fast**: Built with Rust for maximum performance +- **Modern**: Uses contemporary web technologies +- **Flexible**: Support for multiple markdown formats +- **Search**: Integrated full-text search with Pagefind +- **Live Reload**: Development server with automatic refresh +- **Customizable**: Themeable with custom CSS and JavaScript + +## Quick Start + +1. Install MD-Book +2. Create your content in Markdown +3. Run the build command +4. Deploy to any static hosting service + +Start writing your documentation in Markdown and let MD-Book handle the rest! +EOF + + cat > "$INPUT_DIR/getting-started.md" << 'EOF' +# Getting Started + +Learn how to use MD-Book to create beautiful documentation sites. + +## Installation + +You can install MD-Book by cloning the repository and building from source: + +```bash +git clone https://github.com/terraphim/md-book.git +cd md-book +cargo build --release +``` + +## Building Your Documentation + +1. Create a directory for your Markdown files +2. Add your content as `.md` files +3. Run the build command: + +```bash +./target/release/md-book -i input_dir -o output_dir +``` + +## Development Mode + +For development, you can use the watch and serve modes: + +```bash +./target/release/md-book -i input_dir -o output_dir --watch --serve +``` + +This will start a development server at `http://localhost:3000` with live reload. + +## Configuration + +MD-Book can be configured using a `book.toml` file in your project root. See the example configuration for available options. +EOF + fi + + echo -e "${GREEN}✅ Prerequisites check passed${NC}" +} + +# Run tests +run_tests() { + if [ "$SKIP_TESTS" = "true" ]; then + echo -e "${YELLOW}⚠️ Skipping tests as requested${NC}" + return + fi + + echo -e "${YELLOW}🧪 Running tests...${NC}" + + # Format check + echo "Checking code formatting..." + cargo fmt --all -- --check + + # Clippy lints + echo "Running clippy..." + cargo clippy --all-targets --all-features -- -D warnings + + # Unit tests + echo "Running unit tests..." + cargo test --lib --bins + + # Install and run frontend tests if available + if [ -f "package.json" ]; then + echo "Running frontend tests..." + if command -v bun &> /dev/null; then + bun install + bun test + elif command -v npm &> /dev/null; then + npm install + npm test + fi + fi + + echo -e "${GREEN}✅ All tests passed${NC}" +} + +# Build the project +build_project() { + echo -e "${YELLOW}🔨 Building MD-Book...${NC}" + + # Clean previous builds + cargo clean + rm -rf "$OUTPUT_DIR" + + # Build release binary + echo "Building optimized release binary..." + cargo build --release --all-features + + # Generate static site + echo "Generating static site..." + ./target/release/md-book -i "$INPUT_DIR" -o "$OUTPUT_DIR" + + # Verify build output + if [ ! -d "$OUTPUT_DIR" ]; then + echo -e "${RED}❌ Build output directory not found: $OUTPUT_DIR${NC}" + exit 1 + fi + + # Check for essential files + if [ ! -f "$OUTPUT_DIR/index.html" ]; then + echo -e "${RED}❌ index.html not found in output directory${NC}" + exit 1 + fi + + # Create 404 page if it doesn't exist + if [ ! -f "$OUTPUT_DIR/404.html" ]; then + echo "Creating 404 page..." + cat > "$OUTPUT_DIR/404.html" << 'EOF' + + + + + + Page Not Found - MD-Book + + + + + +
    +
    +
    +

    Page Not Found

    +

    The page you're looking for doesn't exist.

    +

    Return to the homepage

    +
    +
    +
    + + +EOF + fi + + echo -e "${GREEN}✅ Build completed successfully${NC}" + echo "Generated $(find "$OUTPUT_DIR" -type f | wc -l) files" +} + +# Deploy to Cloudflare Pages +deploy_pages() { + echo -e "${YELLOW}🌐 Deploying to Cloudflare Pages...${NC}" + + # Install wrangler if not available + if ! command -v wrangler &> /dev/null; then + echo "Installing Wrangler CLI..." + npm install -g wrangler + fi + + # Load secrets from 1Password if available + load_secrets_from_1password + + # Check required environment variables + if [ -z "$CLOUDFLARE_API_TOKEN" ] || [ -z "$CLOUDFLARE_ACCOUNT_ID" ]; then + echo -e "${RED}❌ Missing required environment variables:${NC}" + echo " CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID must be set" + echo "" + echo " Get your API token from: https://dash.cloudflare.com/profile/api-tokens" + echo " Get your Account ID from: https://dash.cloudflare.com/" + exit 1 + fi + + # Deploy based on environment + case $ENVIRONMENT in + "production") + echo "Deploying to production..." + wrangler pages deploy "$OUTPUT_DIR" \ + --project-name=md-book \ + --compatibility-date=2024-09-06 + ;; + "staging") + echo "Deploying to staging..." + wrangler pages deploy "$OUTPUT_DIR" \ + --project-name=md-book-staging \ + --compatibility-date=2024-09-06 + ;; + *) + echo -e "${RED}❌ Unknown environment: $ENVIRONMENT${NC}" + echo " Supported environments: production, staging" + exit 1 + ;; + esac + + echo -e "${GREEN}✅ Pages deployment completed${NC}" +} + +# Deploy worker +deploy_worker() { + if [ "$DEPLOY_WORKER" != "true" ]; then + echo -e "${YELLOW}⚠️ Skipping worker deployment${NC}" + return + fi + + echo -e "${YELLOW}⚙️ Deploying Cloudflare Worker...${NC}" + + if [ -f "scripts/deploy-worker.sh" ]; then + ./scripts/deploy-worker.sh "$ENVIRONMENT" + else + echo -e "${YELLOW}⚠️ Worker deployment script not found, skipping...${NC}" + fi +} + +# Show deployment summary +show_summary() { + echo "" + echo -e "${BLUE}🎉 Deployment Summary${NC}" + echo -e "${BLUE}===================${NC}" + echo "Environment: $ENVIRONMENT" + echo "Build completed: $(date)" + echo "Files deployed: $(find "$OUTPUT_DIR" -type f | wc -l)" + echo "" + + case $ENVIRONMENT in + "production") + echo -e "${GREEN}🔗 Live URL: https://md-book.pages.dev${NC}" + ;; + "staging") + echo -e "${YELLOW}🔗 Staging URL: https://md-book-staging.pages.dev${NC}" + ;; + esac + + echo "" + echo -e "${GREEN}✅ Deployment completed successfully!${NC}" +} + +# Main execution +main() { + echo -e "${BLUE}Starting deployment process...${NC}" + + check_prerequisites + run_tests + build_project + deploy_pages + deploy_worker + show_summary + + echo -e "${GREEN}🚀 All done! Your MD-Book documentation is now live.${NC}" +} + +# Handle script arguments and help +case ${1:-""} in + "-h"|"--help"|"help") + echo "MD-Book Deployment Script" + echo "" + echo "Usage: $0 [environment] [input_dir] [output_dir]" + echo "" + echo "Arguments:" + echo " environment Deployment environment (production|staging) [default: production]" + echo " input_dir Input directory with Markdown files [default: test_input]" + echo " output_dir Output directory for generated HTML [default: dist]" + echo "" + echo "Environment Variables:" + echo " SKIP_TESTS Skip running tests [default: false]" + echo " DEPLOY_WORKER Deploy Cloudflare Worker [default: true]" + echo " USE_1PASSWORD Use 1Password for secrets (auto|true|false) [default: auto]" + echo " CLOUDFLARE_API_TOKEN Required Cloudflare API token (or from 1Password)" + echo " CLOUDFLARE_ACCOUNT_ID Required Cloudflare Account ID (or from 1Password)" + echo "" + echo "1Password Integration:" + echo " This script can automatically load secrets from 1Password if available." + echo " Set USE_1PASSWORD=false to disable, or run ./scripts/setup-1password.sh first." + echo "" + echo "Examples:" + echo " $0 production # Auto-detect 1Password" + echo " $0 staging docs dist # Use custom directories" + echo " SKIP_TESTS=true $0 production # Skip tests" + echo " USE_1PASSWORD=false $0 production # Force environment variables" + echo "" + echo "1Password Usage:" + echo " op run --env-file=.env.1password -- $0 production" + exit 0 + ;; + *) + main "$@" + ;; +esac \ No newline at end of file diff --git a/scripts/monitor.sh b/scripts/monitor.sh new file mode 100755 index 0000000..7941e95 --- /dev/null +++ b/scripts/monitor.sh @@ -0,0 +1,248 @@ +#!/bin/bash + +# Monitoring script for MD-Book deployment +# Checks deployment health and provides status information + +set -e + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +# Configuration +PRODUCTION_URL="https://md-book.pages.dev" +STAGING_URL="https://md-book-staging.pages.dev" +WORKER_HEALTH_ENDPOINT="/api/health" + +# Check URL health +check_url() { + local url=$1 + local name=$2 + + echo -n "Checking $name... " + + if curl -s -f -o /dev/null --max-time 10 "$url"; then + echo -e "${GREEN}✅ OK${NC}" + return 0 + else + echo -e "${RED}❌ FAILED${NC}" + return 1 + fi +} + +# Check API endpoint +check_api() { + local base_url=$1 + local name=$2 + + echo -n "Checking $name API... " + + local response + if response=$(curl -s -f --max-time 10 "$base_url$WORKER_HEALTH_ENDPOINT" 2>/dev/null); then + if echo "$response" | grep -q '"status":"ok"'; then + echo -e "${GREEN}✅ OK${NC}" + return 0 + else + echo -e "${YELLOW}⚠️ Response invalid${NC}" + return 1 + fi + else + echo -e "${RED}❌ FAILED${NC}" + return 1 + fi +} + +# Get deployment info +get_deployment_info() { + local environment=$1 + local project_name="md-book" + + if [ "$environment" = "staging" ]; then + project_name="md-book-staging" + fi + + echo -e "${YELLOW}📊 $environment Deployment Info:${NC}" + + if command -v wrangler &> /dev/null; then + # Get Pages deployment info + echo "Recent deployments:" + wrangler pages deployment list --project-name="$project_name" --limit=3 2>/dev/null || echo " Unable to fetch deployment info" + + # Get Worker deployment info if applicable + if [ "$DEPLOY_WORKER" != "false" ]; then + echo "" + echo "Worker deployment:" + wrangler deployments list --name="md-book-worker" --limit=2 2>/dev/null || echo " Unable to fetch worker info" + fi + else + echo " Wrangler CLI not available - install with: npm install -g wrangler" + fi + + echo "" +} + +# Performance check +performance_check() { + local url=$1 + local name=$2 + + echo -e "${YELLOW}⚡ $name Performance:${NC}" + + # Use curl to measure response times + local time_total + local time_connect + local time_starttransfer + + if command -v curl &> /dev/null; then + if time_total=$(curl -s -w "%{time_total}" -o /dev/null --max-time 30 "$url" 2>/dev/null); then + time_connect=$(curl -s -w "%{time_connect}" -o /dev/null --max-time 30 "$url" 2>/dev/null || echo "0") + time_starttransfer=$(curl -s -w "%{time_starttransfer}" -o /dev/null --max-time 30 "$url" 2>/dev/null || echo "0") + + echo " Total time: ${time_total}s" + echo " Connect time: ${time_connect}s" + echo " First byte: ${time_starttransfer}s" + + # Evaluate performance + if (( $(echo "$time_total < 2.0" | bc -l) )); then + echo -e " Performance: ${GREEN}Excellent${NC}" + elif (( $(echo "$time_total < 5.0" | bc -l) )); then + echo -e " Performance: ${YELLOW}Good${NC}" + else + echo -e " Performance: ${RED}Needs Improvement${NC}" + fi + else + echo " Unable to measure performance" + fi + else + echo " curl not available for performance testing" + fi + + echo "" +} + +# Check SSL certificate +check_ssl() { + local url=$1 + local name=$2 + + echo -e "${YELLOW}🔒 $name SSL Certificate:${NC}" + + local domain + domain=$(echo "$url" | sed 's|https\?://||' | sed 's|/.*||') + + if command -v openssl &> /dev/null; then + local cert_info + if cert_info=$(echo | openssl s_client -servername "$domain" -connect "$domain:443" 2>/dev/null | openssl x509 -noout -dates 2>/dev/null); then + echo "$cert_info" | while IFS= read -r line; do + echo " $line" + done + echo -e " Status: ${GREEN}Valid${NC}" + else + echo -e " Status: ${RED}Unable to verify${NC}" + fi + else + echo " openssl not available for SSL checking" + fi + + echo "" +} + +# Main monitoring function +monitor() { + local environment=${1:-all} + + echo -e "${BLUE}🔍 MD-Book Deployment Monitor${NC}" + echo -e "${BLUE}==============================${NC}" + echo "Timestamp: $(date)" + echo "" + + local overall_status=0 + + case $environment in + "production"|"prod"|"all") + echo -e "${GREEN}📊 Production Environment${NC}" + echo "URL: $PRODUCTION_URL" + echo "" + + check_url "$PRODUCTION_URL" "Production site" || overall_status=1 + check_api "$PRODUCTION_URL" "Production" || overall_status=1 + echo "" + + if [ "$1" != "quick" ]; then + performance_check "$PRODUCTION_URL" "Production" + check_ssl "$PRODUCTION_URL" "Production" + get_deployment_info "production" + fi + + if [ "$environment" != "all" ]; then + exit $overall_status + fi + ;; + esac + + case $environment in + "staging"|"stage"|"all") + echo -e "${YELLOW}📊 Staging Environment${NC}" + echo "URL: $STAGING_URL" + echo "" + + check_url "$STAGING_URL" "Staging site" || overall_status=1 + check_api "$STAGING_URL" "Staging" || overall_status=1 + echo "" + + if [ "$1" != "quick" ]; then + performance_check "$STAGING_URL" "Staging" + check_ssl "$STAGING_URL" "Staging" + get_deployment_info "staging" + fi + ;; + esac + + # Summary + echo -e "${BLUE}📈 Summary${NC}" + if [ $overall_status -eq 0 ]; then + echo -e "${GREEN}✅ All systems operational${NC}" + else + echo -e "${RED}❌ Some issues detected${NC}" + fi + + echo "" + echo -e "${BLUE}🔧 Troubleshooting Commands:${NC}" + echo " ./scripts/monitor.sh production # Check production only" + echo " ./scripts/monitor.sh staging # Check staging only" + echo " ./scripts/monitor.sh quick # Quick health check" + echo " ./scripts/deploy.sh production # Redeploy if issues found" + + exit $overall_status +} + +# Handle script arguments +case ${1:-""} in + "-h"|"--help"|"help") + echo "MD-Book Deployment Monitor" + echo "" + echo "Usage: $0 [environment] [mode]" + echo "" + echo "Environments:" + echo " production, prod Check production environment only" + echo " staging, stage Check staging environment only" + echo " all Check all environments (default)" + echo "" + echo "Modes:" + echo " quick Quick health check only" + echo " (default) Full monitoring with performance and SSL checks" + echo "" + echo "Examples:" + echo " $0 # Full check of all environments" + echo " $0 production # Full check of production" + echo " $0 production quick # Quick production health check" + echo " $0 staging # Full check of staging" + exit 0 + ;; + *) + monitor "$@" + ;; +esac \ No newline at end of file diff --git a/scripts/rotate-cloudflare-token.sh b/scripts/rotate-cloudflare-token.sh new file mode 100755 index 0000000..9645998 --- /dev/null +++ b/scripts/rotate-cloudflare-token.sh @@ -0,0 +1,399 @@ +#!/bin/bash + +# Cloudflare Token Rotation Script +# Automates the process of rotating Cloudflare API tokens with 1Password integration +# This script creates a new token, updates 1Password, tests it, and optionally revokes the old one + +set -e + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +VAULT_NAME="MD-Book-Deployment" +CLOUDFLARE_ITEM="Cloudflare" +DRY_RUN=false +AUTO_REVOKE=false +BACKUP_TOKEN="" + +echo -e "${BLUE}🔄 Cloudflare Token Rotation${NC}" +echo -e "${BLUE}=============================${NC}" +echo "" + +# Parse command line arguments +while [[ $# -gt 0 ]]; do + case $1 in + --dry-run) + DRY_RUN=true + echo -e "${YELLOW}🧪 Running in dry-run mode${NC}" + shift + ;; + --auto-revoke) + AUTO_REVOKE=true + shift + ;; + -h|--help) + echo "Usage: $0 [OPTIONS]" + echo "Options:" + echo " --dry-run Show what would be done without making changes" + echo " --auto-revoke Automatically revoke old token after successful test" + echo " --help Show this help message" + echo "" + echo "Process:" + echo " 1. Backup current token from 1Password" + echo " 2. Create new Cloudflare API token with same permissions" + echo " 3. Update 1Password vault with new token" + echo " 4. Test new token with deployment validation" + echo " 5. Sync new token to GitHub secrets" + echo " 6. Optionally revoke old token" + exit 0 + ;; + *) + echo -e "${RED}❌ Unknown option: $1${NC}" + exit 1 + ;; + esac +done + +# Check prerequisites +check_prerequisites() { + echo -e "${YELLOW}🔍 Checking prerequisites...${NC}" + + # Check required tools + local tools=("op" "curl" "jq") + for tool in "${tools[@]}"; do + if ! command -v "$tool" &> /dev/null; then + echo -e "${RED}❌ $tool not found${NC}" + case $tool in + "op") echo " Install with: brew install 1password-cli" ;; + "curl") echo " curl should be available on most systems" ;; + "jq") echo " Install with: brew install jq" ;; + esac + exit 1 + fi + done + + # Check 1Password authentication + if ! op account list &> /dev/null; then + echo -e "${RED}❌ Not authenticated with 1Password${NC}" + echo " Run: op signin" + exit 1 + fi + + # Check vault access + if ! op vault get "$VAULT_NAME" &> /dev/null; then + echo -e "${RED}❌ Cannot access vault: $VAULT_NAME${NC}" + echo " Run: ./scripts/setup-1password.sh" + exit 1 + fi + + echo -e "${GREEN}✅ All prerequisites met${NC}" +} + +# Backup current token +backup_current_token() { + echo -e "${YELLOW}💾 Backing up current token...${NC}" + + if BACKUP_TOKEN=$(op read "op://$VAULT_NAME/$CLOUDFLARE_ITEM/api_token" 2>/dev/null); then + echo -e "${GREEN}✅ Current token backed up${NC}" + echo " Token backup: ${BACKUP_TOKEN:0:10}...${BACKUP_TOKEN: -4}" + return 0 + else + echo -e "${RED}❌ Failed to backup current token${NC}" + exit 1 + fi +} + +# Get current token permissions +get_token_permissions() { + echo -e "${YELLOW}🔍 Analyzing current token permissions...${NC}" + + if ! TOKEN_INFO=$(curl -s -H "Authorization: Bearer $BACKUP_TOKEN" \ + "https://api.cloudflare.com/client/v4/user/tokens/verify"); then + echo -e "${RED}❌ Failed to get token information${NC}" + return 1 + fi + + if ! echo "$TOKEN_INFO" | jq -e '.success' >/dev/null 2>&1; then + echo -e "${RED}❌ Current token is invalid or expired${NC}" + echo " Response: $(echo "$TOKEN_INFO" | jq -r '.errors[0].message' 2>/dev/null || echo "Unknown error")" + return 1 + fi + + echo -e "${GREEN}✅ Current token is valid${NC}" + + # Extract token details + if TOKEN_ID=$(echo "$TOKEN_INFO" | jq -r '.result.id' 2>/dev/null); then + echo " Token ID: $TOKEN_ID" + fi + + if EXPIRES_ON=$(echo "$TOKEN_INFO" | jq -r '.result.expires_on' 2>/dev/null) && [ "$EXPIRES_ON" != "null" ]; then + echo " Expires: $EXPIRES_ON" + else + echo " Expires: Never" + fi + + return 0 +} + +# Create new token (interactive process) +create_new_token() { + echo -e "${YELLOW}🔑 Creating new Cloudflare API token...${NC}" + echo "" + echo -e "${BLUE}📋 Manual Steps Required:${NC}" + echo "1. Open: https://dash.cloudflare.com/profile/api-tokens" + echo "2. Click 'Create Token'" + echo "3. Use 'Custom token' template" + echo "4. Set permissions:" + echo " - Account: Cloudflare Pages:Edit" + echo " - Zone: Zone:Read" + echo " - Account: Account:Read" + echo "5. Add account/zone restrictions if needed" + echo "6. Set TTL (optional, recommended: 90 days)" + echo "7. Click 'Continue to summary' → 'Create Token'" + echo "8. Copy the new token" + echo "" + + if [ "$DRY_RUN" = true ]; then + echo -e "${YELLOW}[DRY RUN] Would prompt for new token${NC}" + return 0 + fi + + echo -e "${YELLOW}🔑 Enter the new API token:${NC}" + read -r -s NEW_TOKEN + echo "" + + if [ -z "$NEW_TOKEN" ]; then + echo -e "${RED}❌ No token provided${NC}" + exit 1 + fi + + # Validate new token format + if [[ ! $NEW_TOKEN =~ ^[A-Za-z0-9_-]+$ ]] || [ ${#NEW_TOKEN} -lt 40 ]; then + echo -e "${RED}❌ Token format appears invalid${NC}" + echo " Expected: 40+ alphanumeric characters" + exit 1 + fi + + echo -e "${GREEN}✅ New token received${NC}" + echo " Token: ${NEW_TOKEN:0:10}...${NEW_TOKEN: -4}" +} + +# Test new token +test_new_token() { + if [ "$DRY_RUN" = true ]; then + echo -e "${YELLOW}[DRY RUN] Would test new token${NC}" + return 0 + fi + + echo -e "${YELLOW}🧪 Testing new token...${NC}" + + # Test token verification + if TOKEN_TEST=$(curl -s -H "Authorization: Bearer $NEW_TOKEN" \ + "https://api.cloudflare.com/client/v4/user/tokens/verify"); then + + if echo "$TOKEN_TEST" | jq -e '.success' >/dev/null 2>&1; then + echo -e "${GREEN}✅ New token verification successful${NC}" + else + echo -e "${RED}❌ New token verification failed${NC}" + echo " Error: $(echo "$TOKEN_TEST" | jq -r '.errors[0].message' 2>/dev/null)" + exit 1 + fi + else + echo -e "${RED}❌ Failed to test new token${NC}" + exit 1 + fi + + # Test account access + if ACCOUNT_ID=$(op read "op://$VAULT_NAME/$CLOUDFLARE_ITEM/account_id" 2>/dev/null); then + if ACCOUNT_TEST=$(curl -s -H "Authorization: Bearer $NEW_TOKEN" \ + "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID"); then + + if echo "$ACCOUNT_TEST" | jq -e '.success' >/dev/null 2>&1; then + echo -e "${GREEN}✅ Account access confirmed${NC}" + else + echo -e "${RED}❌ Account access failed${NC}" + echo " Error: $(echo "$ACCOUNT_TEST" | jq -r '.errors[0].message' 2>/dev/null)" + exit 1 + fi + fi + fi +} + +# Update 1Password vault +update_1password_vault() { + if [ "$DRY_RUN" = true ]; then + echo -e "${YELLOW}[DRY RUN] Would update 1Password vault${NC}" + return 0 + fi + + echo -e "${YELLOW}🔐 Updating 1Password vault...${NC}" + + # Create backup of old token as separate field (optional) + TIMESTAMP=$(date +"%Y%m%d_%H%M%S") + if op item edit "$CLOUDFLARE_ITEM" --vault="$VAULT_NAME" \ + "previous_token_$TIMESTAMP[password]=$BACKUP_TOKEN" &>/dev/null; then + echo -e "${GREEN}✅ Previous token backed up as separate field${NC}" + fi + + # Update the main token field + if op item edit "$CLOUDFLARE_ITEM" --vault="$VAULT_NAME" \ + "api_token[password]=$NEW_TOKEN"; then + echo -e "${GREEN}✅ 1Password vault updated successfully${NC}" + else + echo -e "${RED}❌ Failed to update 1Password vault${NC}" + exit 1 + fi +} + +# Test deployment with new token +test_deployment() { + if [ "$DRY_RUN" = true ]; then + echo -e "${YELLOW}[DRY RUN] Would test deployment${NC}" + return 0 + fi + + echo -e "${YELLOW}🚀 Testing deployment with new token...${NC}" + + # Run validation script + if ./scripts/validate-secrets.sh --check-cloudflare; then + echo -e "${GREEN}✅ Secret validation passed${NC}" + else + echo -e "${RED}❌ Secret validation failed${NC}" + echo " Rolling back 1Password vault..." + op item edit "$CLOUDFLARE_ITEM" --vault="$VAULT_NAME" \ + "api_token[password]=$BACKUP_TOKEN" + exit 1 + fi + + # Test a minimal deployment (staging) + echo -e "${YELLOW}📦 Testing staging deployment...${NC}" + if op run --env-file=.env.1password -- ./scripts/deploy.sh staging; then + echo -e "${GREEN}✅ Staging deployment successful${NC}" + else + echo -e "${RED}❌ Staging deployment failed${NC}" + echo " Rolling back 1Password vault..." + op item edit "$CLOUDFLARE_ITEM" --vault="$VAULT_NAME" \ + "api_token[password]=$BACKUP_TOKEN" + exit 1 + fi +} + +# Sync to GitHub secrets +sync_to_github() { + if [ "$DRY_RUN" = true ]; then + echo -e "${YELLOW}[DRY RUN] Would sync to GitHub secrets${NC}" + return 0 + fi + + echo -e "${YELLOW}🔄 Syncing new token to GitHub...${NC}" + + if ./scripts/sync-secrets-to-github.sh; then + echo -e "${GREEN}✅ GitHub secrets updated${NC}" + else + echo -e "${YELLOW}⚠️ GitHub sync failed (manual sync may be needed)${NC}" + echo " Run: ./scripts/sync-secrets-to-github.sh" + fi +} + +# Revoke old token +revoke_old_token() { + if [ "$DRY_RUN" = true ]; then + echo -e "${YELLOW}[DRY RUN] Would revoke old token${NC}" + return 0 + fi + + if [ "$AUTO_REVOKE" = false ]; then + echo "" + echo -e "${YELLOW}🗑️ Do you want to revoke the old token? (y/N):${NC}" + read -r REVOKE_CONFIRM + if [[ ! $REVOKE_CONFIRM =~ ^[Yy]$ ]]; then + echo -e "${YELLOW}⚠️ Old token not revoked - remember to revoke it manually${NC}" + echo " Old token: ${BACKUP_TOKEN:0:10}...${BACKUP_TOKEN: -4}" + return 0 + fi + fi + + echo -e "${YELLOW}🗑️ Revoking old token...${NC}" + + # Get token ID for revocation (this requires the old token to still be valid) + if TOKEN_INFO=$(curl -s -H "Authorization: Bearer $BACKUP_TOKEN" \ + "https://api.cloudflare.com/client/v4/user/tokens/verify"); then + + if TOKEN_ID=$(echo "$TOKEN_INFO" | jq -r '.result.id' 2>/dev/null); then + # Revoke the token + if curl -s -X DELETE \ + -H "Authorization: Bearer $BACKUP_TOKEN" \ + "https://api.cloudflare.com/client/v4/user/tokens/$TOKEN_ID" | \ + jq -e '.success' >/dev/null 2>&1; then + echo -e "${GREEN}✅ Old token revoked successfully${NC}" + else + echo -e "${YELLOW}⚠️ Failed to revoke old token (it may have expired)${NC}" + fi + else + echo -e "${YELLOW}⚠️ Could not determine old token ID${NC}" + fi + else + echo -e "${YELLOW}⚠️ Old token no longer valid (may have expired)${NC}" + fi +} + +# Show summary +show_summary() { + echo "" + echo -e "${BLUE}📋 Token Rotation Summary${NC}" + echo -e "${BLUE}===========================${NC}" + + if [ "$DRY_RUN" = true ]; then + echo -e "${YELLOW}🧪 Dry run completed - no changes were made${NC}" + else + echo -e "${GREEN}✅ Token rotation completed successfully!${NC}" + fi + + echo "" + echo -e "${YELLOW}📝 Actions Performed:${NC}" + echo " • Backed up current token" + echo " • Created new Cloudflare API token" + echo " • Updated 1Password vault" + echo " • Validated new token functionality" + echo " • Tested deployment with new token" + echo " • Synced to GitHub repository secrets" + if [ "$AUTO_REVOKE" = true ] || [ "$REVOKE_CONFIRM" = "y" ] || [ "$REVOKE_CONFIRM" = "Y" ]; then + echo " • Revoked old token" + fi + + echo "" + echo -e "${YELLOW}🔍 Next Steps:${NC}" + echo " • Monitor deployments for any issues" + echo " • Check Cloudflare dashboard for token usage" + echo " • Update team documentation with rotation date" + echo " • Schedule next rotation (recommended: 90 days)" + + if [ "$DRY_RUN" = false ]; then + echo "" + echo -e "${BLUE}📊 Token Information:${NC}" + echo " • New token: ${NEW_TOKEN:0:10}...${NEW_TOKEN: -4}" + echo " • Rotation date: $(date)" + echo " • Backup location: 1Password vault (previous_token_* field)" + fi +} + +# Main execution +main() { + check_prerequisites + backup_current_token + get_token_permissions + create_new_token + test_new_token + update_1password_vault + test_deployment + sync_to_github + revoke_old_token + show_summary +} + +# Run main function +main "$@" \ No newline at end of file diff --git a/scripts/setup-1password.sh b/scripts/setup-1password.sh new file mode 100755 index 0000000..e2d2bfc --- /dev/null +++ b/scripts/setup-1password.sh @@ -0,0 +1,261 @@ +#!/bin/bash + +# 1Password Setup Script for MD-Book Deployment +# This script sets up 1Password CLI integration for secure secret management + +set -e + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +VAULT_NAME="MD-Book-Deployment" +CLOUDFLARE_ITEM="Cloudflare" + +echo -e "${BLUE}🔐 1Password Setup for MD-Book${NC}" +echo -e "${BLUE}===================================${NC}" +echo "" + +# Check if 1Password CLI is installed +check_op_cli() { + echo -e "${YELLOW}🔍 Checking 1Password CLI installation...${NC}" + + if ! command -v op &> /dev/null; then + echo -e "${RED}❌ 1Password CLI not found${NC}" + echo -e "${YELLOW}📋 Installation instructions:${NC}" + echo " macOS: brew install 1password-cli" + echo " Linux: See https://developer.1password.com/docs/cli/get-started/" + echo " Windows: Use package manager or download from 1Password" + echo "" + exit 1 + fi + + echo -e "${GREEN}✅ 1Password CLI found: $(op --version)${NC}" +} + +# Check authentication status +check_authentication() { + echo -e "${YELLOW}🔍 Checking 1Password authentication...${NC}" + + if ! op account list &> /dev/null; then + echo -e "${RED}❌ Not authenticated with 1Password${NC}" + echo -e "${YELLOW}🔑 Please sign in to 1Password:${NC}" + echo " op account add" + echo " op signin" + echo "" + exit 1 + fi + + echo -e "${GREEN}✅ Authenticated with 1Password${NC}" +} + +# Check if vault exists +check_vault() { + echo -e "${YELLOW}🔍 Checking for vault: ${VAULT_NAME}...${NC}" + + if ! op vault get "$VAULT_NAME" &> /dev/null; then + echo -e "${YELLOW}⚠️ Vault '${VAULT_NAME}' not found${NC}" + echo -e "${BLUE}📝 Creating vault...${NC}" + + if op vault create "$VAULT_NAME" --description "MD-Book deployment secrets"; then + echo -e "${GREEN}✅ Vault '${VAULT_NAME}' created successfully${NC}" + else + echo -e "${RED}❌ Failed to create vault${NC}" + exit 1 + fi + else + echo -e "${GREEN}✅ Vault '${VAULT_NAME}' exists${NC}" + fi +} + +# Create Cloudflare item if it doesn't exist +create_cloudflare_item() { + echo -e "${YELLOW}🔍 Checking for Cloudflare item...${NC}" + + if ! op item get "$CLOUDFLARE_ITEM" --vault="$VAULT_NAME" &> /dev/null; then + echo -e "${YELLOW}⚠️ Cloudflare item not found${NC}" + echo -e "${BLUE}📝 Creating Cloudflare item...${NC}" + + echo -e "${YELLOW}🔑 Please provide your Cloudflare credentials:${NC}" + echo "" + + # Get API token + echo -e "${BLUE}Enter your Cloudflare API Token:${NC}" + echo " (Get it from: https://dash.cloudflare.com/profile/api-tokens)" + read -r -s API_TOKEN + echo "" + + # Get Account ID + echo -e "${BLUE}Enter your Cloudflare Account ID:${NC}" + echo " (Find it in: https://dash.cloudflare.com/ - right sidebar)" + read -r ACCOUNT_ID + echo "" + + # Create the item + if op item create \ + --category="API Credential" \ + --title="$CLOUDFLARE_ITEM" \ + --vault="$VAULT_NAME" \ + --url="https://dash.cloudflare.com/" \ + "api_token[password]=$API_TOKEN" \ + "account_id[text]=$ACCOUNT_ID"; then + echo -e "${GREEN}✅ Cloudflare item created successfully${NC}" + else + echo -e "${RED}❌ Failed to create Cloudflare item${NC}" + exit 1 + fi + else + echo -e "${GREEN}✅ Cloudflare item exists${NC}" + fi +} + +# Test secret retrieval +test_secret_retrieval() { + echo -e "${YELLOW}🔍 Testing secret retrieval...${NC}" + + # Test API token + if API_TOKEN=$(op read "op://$VAULT_NAME/$CLOUDFLARE_ITEM/api_token" 2>/dev/null); then + echo -e "${GREEN}✅ API token retrieved successfully${NC}" + echo " Token starts with: ${API_TOKEN:0:10}..." + else + echo -e "${RED}❌ Failed to retrieve API token${NC}" + return 1 + fi + + # Test Account ID + if ACCOUNT_ID=$(op read "op://$VAULT_NAME/$CLOUDFLARE_ITEM/account_id" 2>/dev/null); then + echo -e "${GREEN}✅ Account ID retrieved successfully${NC}" + echo " Account ID: ${ACCOUNT_ID:0:8}...${ACCOUNT_ID: -4}" + else + echo -e "${RED}❌ Failed to retrieve Account ID${NC}" + return 1 + fi + + return 0 +} + +# Generate .env file from 1Password +generate_env_file() { + echo -e "${YELLOW}🔍 Generating .env file from 1Password...${NC}" + + if [ ! -f ".env.1password" ]; then + echo -e "${RED}❌ .env.1password template not found${NC}" + echo " Please ensure .env.1password exists in the project root" + return 1 + fi + + if op inject -i ".env.1password" -o ".env"; then + echo -e "${GREEN}✅ .env file generated successfully${NC}" + echo -e "${YELLOW}📝 Note: .env file contains actual secrets - do not commit it${NC}" + else + echo -e "${RED}❌ Failed to generate .env file${NC}" + return 1 + fi +} + +# Validate Cloudflare connection +validate_cloudflare_connection() { + echo -e "${YELLOW}🔍 Validating Cloudflare connection...${NC}" + + # Source the generated .env file + if [ -f ".env" ]; then + set -a + source .env + set +a + else + echo -e "${RED}❌ .env file not found. Run this script first to generate it.${NC}" + return 1 + fi + + # Test Cloudflare API + if command -v curl &> /dev/null && [ -n "$CLOUDFLARE_API_TOKEN" ]; then + if curl -s -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ + "https://api.cloudflare.com/client/v4/user/tokens/verify" | grep -q '"success":true'; then + echo -e "${GREEN}✅ Cloudflare API connection successful${NC}" + else + echo -e "${RED}❌ Cloudflare API connection failed${NC}" + echo " Check your API token permissions" + return 1 + fi + else + echo -e "${YELLOW}⚠️ Skipping API validation (curl not available or token empty)${NC}" + fi +} + +# Display usage instructions +show_usage_instructions() { + echo "" + echo -e "${BLUE}🎉 1Password setup complete!${NC}" + echo "" + echo -e "${YELLOW}📋 Usage Instructions:${NC}" + echo "" + echo -e "${BLUE}Local Development:${NC}" + echo " # Option 1: Use op run with env file" + echo " op run --env-file=.env.1password -- ./scripts/deploy.sh" + echo "" + echo " # Option 2: Generate .env file" + echo " op inject -i .env.1password -o .env" + echo " ./scripts/deploy.sh" + echo "" + echo -e "${BLUE}GitHub Actions Setup:${NC}" + echo " 1. Create a service account in 1Password" + echo " 2. Add service account token to GitHub secrets:" + echo " gh secret set OP_SERVICE_ACCOUNT_TOKEN --body \"ops_...\"" + echo " 3. The deployment workflow will automatically use 1Password" + echo "" + echo -e "${BLUE}Manual Secret Sync to GitHub:${NC}" + echo " ./scripts/sync-secrets-to-github.sh" + echo "" + echo -e "${YELLOW}⚠️ Security Notes:${NC}" + echo " • Never commit .env files" + echo " • Use service accounts for automation" + echo " • Rotate secrets regularly" + echo " • Monitor 1Password access logs" +} + +# Main execution +main() { + check_op_cli + check_authentication + check_vault + create_cloudflare_item + + if test_secret_retrieval; then + echo "" + echo -e "${YELLOW}🔧 Setting up local environment...${NC}" + generate_env_file + validate_cloudflare_connection + show_usage_instructions + else + echo -e "${RED}❌ Secret retrieval test failed${NC}" + echo " Please check your 1Password setup and try again" + exit 1 + fi +} + +# Handle script arguments +case "${1:-setup}" in + "test") + echo -e "${BLUE}🧪 Testing 1Password integration...${NC}" + check_op_cli + check_authentication + test_secret_retrieval + ;; + "env") + echo -e "${BLUE}🔧 Generating .env file...${NC}" + generate_env_file + ;; + "validate") + echo -e "${BLUE}🔍 Validating setup...${NC}" + validate_cloudflare_connection + ;; + "setup"|*) + main + ;; +esac + +echo "" +echo -e "${GREEN}✅ Script completed successfully${NC}" \ No newline at end of file diff --git a/scripts/setup-cloudflare.sh b/scripts/setup-cloudflare.sh new file mode 100755 index 0000000..857c3a1 --- /dev/null +++ b/scripts/setup-cloudflare.sh @@ -0,0 +1,257 @@ +#!/bin/bash + +# Setup script for Cloudflare Pages and Workers deployment +# This script helps configure the project for first-time deployment + +set -e + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +echo -e "${BLUE}🚀 MD-Book Cloudflare Setup${NC}" +echo -e "${BLUE}===========================${NC}" +echo "" + +# Check if we're in the right directory +if [ ! -f "Cargo.toml" ] || [ ! -f "wrangler.toml" ]; then + echo -e "${RED}❌ This script must be run from the md-book project root directory${NC}" + exit 1 +fi + +# Check prerequisites +check_prerequisites() { + echo -e "${YELLOW}🔍 Checking prerequisites...${NC}" + + local missing_tools=() + + # Check Node.js + if ! command -v node &> /dev/null; then + missing_tools+=("Node.js") + fi + + # Check npm + if ! command -v npm &> /dev/null; then + missing_tools+=("npm") + fi + + # Check Rust + if ! command -v cargo &> /dev/null; then + missing_tools+=("Rust/Cargo") + fi + + if [ ${#missing_tools[@]} -gt 0 ]; then + echo -e "${RED}❌ Missing required tools: ${missing_tools[*]}${NC}" + echo "" + echo "Please install the missing tools:" + for tool in "${missing_tools[@]}"; do + case $tool in + "Node.js"|"npm") + echo " - Node.js and npm: https://nodejs.org/" + ;; + "Rust/Cargo") + echo " - Rust: https://rustup.rs/" + ;; + esac + done + exit 1 + fi + + echo -e "${GREEN}✅ All prerequisites installed${NC}" +} + +# Install Wrangler CLI +setup_wrangler() { + echo -e "${YELLOW}📦 Setting up Wrangler CLI...${NC}" + + if command -v wrangler &> /dev/null; then + echo "Wrangler already installed: $(wrangler --version)" + else + echo "Installing Wrangler globally..." + npm install -g wrangler + fi + + echo -e "${GREEN}✅ Wrangler CLI ready${NC}" +} + +# Configure environment variables +setup_environment() { + echo -e "${YELLOW}🔧 Setting up environment configuration...${NC}" + + # Create .env file if it doesn't exist + if [ ! -f ".env" ]; then + cp .env.example .env + echo "Created .env file from template" + else + echo ".env file already exists" + fi + + # Check if environment variables are set + if [ -z "$CLOUDFLARE_API_TOKEN" ] || [ -z "$CLOUDFLARE_ACCOUNT_ID" ]; then + echo "" + echo -e "${YELLOW}⚠️ Environment variables not configured${NC}" + echo "" + echo "Please set up your Cloudflare credentials:" + echo "" + echo "1. Get your API Token from: https://dash.cloudflare.com/profile/api-tokens" + echo " - Click 'Create Token'" + echo " - Use 'Pages and Workers' template, or create custom with:" + echo " * Account: Cloudflare Pages:Edit" + echo " * Zone: Zone:Read, Zone:Page Rules:Edit" + echo "" + echo "2. Get your Account ID from: https://dash.cloudflare.com/" + echo " - It's shown in the right sidebar" + echo "" + echo "3. Set these in your environment:" + echo " export CLOUDFLARE_API_TOKEN=\"your-token-here\"" + echo " export CLOUDFLARE_ACCOUNT_ID=\"your-account-id-here\"" + echo "" + echo "4. Or add them to GitHub repository secrets for CI/CD" + echo "" + + read -p "Press Enter to continue once you've configured the environment variables..." + else + echo -e "${GREEN}✅ Environment variables already configured${NC}" + fi +} + +# Create Cloudflare Pages project +create_pages_project() { + echo -e "${YELLOW}🌐 Creating Cloudflare Pages project...${NC}" + + # Check if project exists + if wrangler pages project list 2>/dev/null | grep -q "md-book"; then + echo "Pages project 'md-book' already exists" + else + echo "Creating new Pages project..." + # Note: This will be created automatically on first deployment + echo "Project will be created automatically during first deployment" + fi + + echo -e "${GREEN}✅ Pages project configuration ready${NC}" +} + +# Test local build +test_build() { + echo -e "${YELLOW}🔨 Testing local build...${NC}" + + # Build the project + echo "Building Rust binary..." + cargo build --release + + # Create test input if needed + if [ ! -d "test_input" ]; then + echo "Creating test input directory..." + mkdir -p test_input + echo "# Test Documentation" > test_input/index.md + echo "This is a test page for MD-Book deployment." >> test_input/index.md + fi + + # Generate static site + echo "Generating static site..." + ./target/release/md-book -i test_input -o dist + + # Verify output + if [ -f "dist/index.html" ]; then + echo -e "${GREEN}✅ Local build successful${NC}" + echo "Generated $(find dist -type f | wc -l) files" + else + echo -e "${RED}❌ Build failed - no index.html generated${NC}" + exit 1 + fi +} + +# Setup GitHub Actions secrets +setup_github_secrets() { + echo -e "${YELLOW}🔐 GitHub Actions setup...${NC}" + + if command -v gh &> /dev/null; then + echo "GitHub CLI detected. You can set secrets with:" + echo "" + echo " gh secret set CLOUDFLARE_API_TOKEN" + echo " gh secret set CLOUDFLARE_ACCOUNT_ID" + echo "" + else + echo "To enable automatic deployments, add these secrets to your GitHub repository:" + echo "" + echo "1. Go to: https://github.com/your-username/your-repo/settings/secrets/actions" + echo "2. Add the following repository secrets:" + echo " - CLOUDFLARE_API_TOKEN: Your Cloudflare API token" + echo " - CLOUDFLARE_ACCOUNT_ID: Your Cloudflare account ID" + echo "" + fi + + echo -e "${GREEN}✅ GitHub Actions information provided${NC}" +} + +# Show next steps +show_next_steps() { + echo "" + echo -e "${BLUE}🎉 Setup Complete!${NC}" + echo -e "${BLUE}=================${NC}" + echo "" + echo "Your MD-Book project is now configured for Cloudflare deployment!" + echo "" + echo -e "${GREEN}Next Steps:${NC}" + echo "" + echo "1. 📝 Add your content:" + echo " - Put your Markdown files in the input directory" + echo " - Update book.toml with your configuration" + echo "" + echo "2. 🚀 Deploy manually:" + echo " ./scripts/deploy.sh production" + echo "" + echo "3. 🔄 Enable automatic deployments:" + echo " - Configure GitHub repository secrets" + echo " - Push to main branch to trigger deployment" + echo "" + echo "4. 🌐 Access your site:" + echo " - Production: https://md-book.pages.dev" + echo " - Staging: https://md-book-staging.pages.dev" + echo "" + echo -e "${GREEN}Useful Commands:${NC}" + echo " ./scripts/deploy.sh --help # Show deployment options" + echo " ./scripts/deploy-worker.sh # Deploy worker only" + echo " cargo run -- --help # Show MD-Book options" + echo "" + echo -e "${YELLOW}📚 Documentation:${NC}" + echo " - Project docs: ./CLAUDE.md (Deployment section)" + echo " - Cloudflare Pages: https://pages.cloudflare.com/" + echo " - Cloudflare Workers: https://workers.cloudflare.com/" +} + +# Main execution +main() { + check_prerequisites + setup_wrangler + setup_environment + create_pages_project + test_build + setup_github_secrets + show_next_steps +} + +# Handle help +if [ "$1" = "--help" ] || [ "$1" = "-h" ]; then + echo "MD-Book Cloudflare Setup Script" + echo "" + echo "This script helps you set up MD-Book for deployment to Cloudflare Pages." + echo "" + echo "Usage: $0" + echo "" + echo "What this script does:" + echo " 1. Checks for required tools (Node.js, Rust, etc.)" + echo " 2. Installs Wrangler CLI" + echo " 3. Sets up environment configuration" + echo " 4. Creates Cloudflare Pages project configuration" + echo " 5. Tests local build" + echo " 6. Provides GitHub Actions setup instructions" + echo "" + exit 0 +fi + +# Run main function +main "$@" \ No newline at end of file diff --git a/scripts/sync-secrets-to-github.sh b/scripts/sync-secrets-to-github.sh new file mode 100755 index 0000000..6e39c24 --- /dev/null +++ b/scripts/sync-secrets-to-github.sh @@ -0,0 +1,271 @@ +#!/bin/bash + +# GitHub Secrets Sync Script +# Syncs secrets from 1Password vault to GitHub repository secrets +# This allows GitHub Actions to access secrets without storing them directly + +set -e + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +VAULT_NAME="MD-Book-Deployment" +CLOUDFLARE_ITEM="Cloudflare" +REPO_NAME="" +DRY_RUN=false + +echo -e "${BLUE}🔄 GitHub Secrets Sync${NC}" +echo -e "${BLUE}=====================${NC}" +echo "" + +# Parse command line arguments +while [[ $# -gt 0 ]]; do + case $1 in + --dry-run) + DRY_RUN=true + echo -e "${YELLOW}🧪 Running in dry-run mode - no changes will be made${NC}" + shift + ;; + --repo) + REPO_NAME="$2" + shift 2 + ;; + -h|--help) + echo "Usage: $0 [OPTIONS]" + echo "Options:" + echo " --dry-run Show what would be done without making changes" + echo " --repo REPO Specify repository (owner/repo format)" + echo " --help Show this help message" + exit 0 + ;; + *) + echo -e "${RED}❌ Unknown option: $1${NC}" + exit 1 + ;; + esac +done + +# Check prerequisites +check_prerequisites() { + echo -e "${YELLOW}🔍 Checking prerequisites...${NC}" + + # Check 1Password CLI + if ! command -v op &> /dev/null; then + echo -e "${RED}❌ 1Password CLI not found${NC}" + echo " Install with: brew install 1password-cli" + exit 1 + fi + + # Check GitHub CLI + if ! command -v gh &> /dev/null; then + echo -e "${RED}❌ GitHub CLI not found${NC}" + echo " Install with: brew install gh" + exit 1 + fi + + # Check 1Password authentication + if ! op account list &> /dev/null; then + echo -e "${RED}❌ Not authenticated with 1Password${NC}" + echo " Run: op signin" + exit 1 + fi + + # Check GitHub authentication + if ! gh auth status &> /dev/null; then + echo -e "${RED}❌ Not authenticated with GitHub${NC}" + echo " Run: gh auth login" + exit 1 + fi + + echo -e "${GREEN}✅ All prerequisites met${NC}" +} + +# Detect repository +detect_repository() { + if [ -z "$REPO_NAME" ]; then + # Try to detect from git remote + if git remote -v &> /dev/null; then + REPO_URL=$(git remote get-url origin 2>/dev/null || echo "") + if [[ $REPO_URL =~ github\.com[:/]([^/]+/[^/]+) ]]; then + REPO_NAME="${BASH_REMATCH[1]}" + # Remove .git suffix if present + REPO_NAME="${REPO_NAME%.git}" + fi + fi + fi + + if [ -z "$REPO_NAME" ]; then + echo -e "${RED}❌ Could not detect repository${NC}" + echo " Use --repo owner/repository to specify manually" + exit 1 + fi + + echo -e "${GREEN}✅ Repository: $REPO_NAME${NC}" +} + +# Check vault access +check_vault_access() { + echo -e "${YELLOW}🔍 Checking 1Password vault access...${NC}" + + if ! op vault get "$VAULT_NAME" &> /dev/null; then + echo -e "${RED}❌ Cannot access vault: $VAULT_NAME${NC}" + echo " Run: ./scripts/setup-1password.sh" + exit 1 + fi + + if ! op item get "$CLOUDFLARE_ITEM" --vault="$VAULT_NAME" &> /dev/null; then + echo -e "${RED}❌ Cannot access Cloudflare item in vault${NC}" + echo " Run: ./scripts/setup-1password.sh" + exit 1 + fi + + echo -e "${GREEN}✅ Vault access confirmed${NC}" +} + +# Retrieve secrets from 1Password +retrieve_secrets() { + echo -e "${YELLOW}🔍 Retrieving secrets from 1Password...${NC}" + + # Retrieve Cloudflare API Token + if ! API_TOKEN=$(op read "op://$VAULT_NAME/$CLOUDFLARE_ITEM/api_token" 2>/dev/null); then + echo -e "${RED}❌ Failed to retrieve Cloudflare API token${NC}" + exit 1 + fi + + # Retrieve Cloudflare Account ID + if ! ACCOUNT_ID=$(op read "op://$VAULT_NAME/$CLOUDFLARE_ITEM/account_id" 2>/dev/null); then + echo -e "${RED}❌ Failed to retrieve Cloudflare Account ID${NC}" + exit 1 + fi + + echo -e "${GREEN}✅ Secrets retrieved successfully${NC}" + echo " API Token: ${API_TOKEN:0:10}..." + echo " Account ID: ${ACCOUNT_ID:0:8}...${ACCOUNT_ID: -4}" +} + +# Sync secret to GitHub +sync_secret() { + local secret_name="$1" + local secret_value="$2" + local description="$3" + + if [ "$DRY_RUN" = true ]; then + echo -e "${BLUE}[DRY RUN]${NC} Would sync: $secret_name" + return 0 + fi + + echo -e "${YELLOW}🔄 Syncing $secret_name...${NC}" + + # Use GitHub CLI to set the secret + if echo "$secret_value" | gh secret set "$secret_name" --repo="$REPO_NAME"; then + echo -e "${GREEN}✅ $secret_name synced successfully${NC}" + return 0 + else + echo -e "${RED}❌ Failed to sync $secret_name${NC}" + return 1 + fi +} + +# List current GitHub secrets +list_github_secrets() { + echo -e "${YELLOW}🔍 Current GitHub secrets:${NC}" + if gh secret list --repo="$REPO_NAME" 2>/dev/null; then + echo "" + else + echo -e "${YELLOW} Unable to list secrets (may require admin permissions)${NC}" + echo "" + fi +} + +# Validate synced secrets +validate_synced_secrets() { + if [ "$DRY_RUN" = true ]; then + echo -e "${YELLOW}[DRY RUN] Skipping validation${NC}" + return 0 + fi + + echo -e "${YELLOW}🔍 Validating synced secrets...${NC}" + + # Check if secrets exist (we can't read their values for security) + if gh secret list --repo="$REPO_NAME" | grep -q "CLOUDFLARE_API_TOKEN"; then + echo -e "${GREEN}✅ CLOUDFLARE_API_TOKEN is set${NC}" + else + echo -e "${RED}❌ CLOUDFLARE_API_TOKEN not found${NC}" + return 1 + fi + + if gh secret list --repo="$REPO_NAME" | grep -q "CLOUDFLARE_ACCOUNT_ID"; then + echo -e "${GREEN}✅ CLOUDFLARE_ACCOUNT_ID is set${NC}" + else + echo -e "${RED}❌ CLOUDFLARE_ACCOUNT_ID not found${NC}" + return 1 + fi + + return 0 +} + +# Show next steps +show_next_steps() { + echo "" + echo -e "${BLUE}🎉 Secret sync complete!${NC}" + echo "" + echo -e "${YELLOW}📋 Next Steps:${NC}" + echo " 1. Your GitHub Actions workflows can now access:" + echo " - CLOUDFLARE_API_TOKEN" + echo " - CLOUDFLARE_ACCOUNT_ID" + echo "" + echo " 2. Test the deployment workflow:" + echo " git push origin main" + echo "" + echo " 3. Or trigger manually:" + echo " gh workflow run deploy.yml" + echo "" + echo -e "${YELLOW}📝 Notes:${NC}" + echo " - Secrets are encrypted and only visible to workflows" + echo " - Re-run this script when you rotate secrets in 1Password" + echo " - Use './scripts/rotate-cloudflare-token.sh' for automated rotation" + echo "" + echo -e "${YELLOW}🔍 Monitor:${NC}" + echo " - Workflow runs: gh run list" + echo " - Secret usage: GitHub repository settings > Secrets" +} + +# Main execution +main() { + check_prerequisites + detect_repository + check_vault_access + list_github_secrets + retrieve_secrets + + echo "" + echo -e "${BLUE}🔄 Syncing secrets to GitHub...${NC}" + + # Sync each secret + SYNC_SUCCESS=true + + if ! sync_secret "CLOUDFLARE_API_TOKEN" "$API_TOKEN" "Cloudflare API Token for deployment"; then + SYNC_SUCCESS=false + fi + + if ! sync_secret "CLOUDFLARE_ACCOUNT_ID" "$ACCOUNT_ID" "Cloudflare Account ID for deployment"; then + SYNC_SUCCESS=false + fi + + if [ "$SYNC_SUCCESS" = true ]; then + validate_synced_secrets + show_next_steps + else + echo -e "${RED}❌ Some secrets failed to sync${NC}" + exit 1 + fi +} + +# Handle direct execution +if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then + main "$@" +fi \ No newline at end of file diff --git a/scripts/validate-secrets.sh b/scripts/validate-secrets.sh new file mode 100755 index 0000000..29e431d --- /dev/null +++ b/scripts/validate-secrets.sh @@ -0,0 +1,401 @@ +#!/bin/bash + +# Secret Validation Script +# Validates that secrets are accessible and properly configured for deployment + +set -e + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +VAULT_NAME="MD-Book-Deployment" +CLOUDFLARE_ITEM="Cloudflare" +CHECK_1PASSWORD=true +CHECK_ENV=true +CHECK_GITHUB=false +CHECK_CLOUDFLARE=false +VERBOSE=false + +echo -e "${BLUE}🔍 Secret Validation${NC}" +echo -e "${BLUE}===================${NC}" +echo "" + +# Parse command line arguments +while [[ $# -gt 0 ]]; do + case $1 in + --no-1password) + CHECK_1PASSWORD=false + shift + ;; + --no-env) + CHECK_ENV=false + shift + ;; + --check-github) + CHECK_GITHUB=true + shift + ;; + --check-cloudflare) + CHECK_CLOUDFLARE=true + shift + ;; + --verbose|-v) + VERBOSE=true + shift + ;; + -h|--help) + echo "Usage: $0 [OPTIONS]" + echo "Options:" + echo " --no-1password Skip 1Password validation" + echo " --no-env Skip environment variable validation" + echo " --check-github Validate GitHub secrets access" + echo " --check-cloudflare Validate Cloudflare API connection" + echo " --verbose, -v Enable verbose output" + echo " --help Show this help message" + exit 0 + ;; + *) + echo -e "${RED}❌ Unknown option: $1${NC}" + exit 1 + ;; + esac +done + +# Validation results +VALIDATION_PASSED=true + +# Log function for verbose output +log_verbose() { + if [ "$VERBOSE" = true ]; then + echo -e "${BLUE}[DEBUG]${NC} $1" + fi +} + +# Check 1Password setup +validate_1password() { + if [ "$CHECK_1PASSWORD" = false ]; then + echo -e "${YELLOW}⚠️ Skipping 1Password validation${NC}" + return 0 + fi + + echo -e "${YELLOW}🔍 Validating 1Password setup...${NC}" + + # Check if 1Password CLI is installed + if ! command -v op &> /dev/null; then + echo -e "${RED}❌ 1Password CLI not found${NC}" + echo " Install with: brew install 1password-cli" + VALIDATION_PASSED=false + return 1 + fi + + log_verbose "1Password CLI found: $(op --version)" + echo -e "${GREEN}✅ 1Password CLI installed${NC}" + + # Check authentication + if ! op account list &> /dev/null; then + echo -e "${RED}❌ Not authenticated with 1Password${NC}" + echo " Run: op signin" + VALIDATION_PASSED=false + return 1 + fi + + log_verbose "1Password authentication confirmed" + echo -e "${GREEN}✅ 1Password authenticated${NC}" + + # Check vault access + if ! op vault get "$VAULT_NAME" &> /dev/null; then + echo -e "${RED}❌ Cannot access vault: $VAULT_NAME${NC}" + echo " Run: ./scripts/setup-1password.sh" + VALIDATION_PASSED=false + return 1 + fi + + log_verbose "Vault '$VAULT_NAME' accessible" + echo -e "${GREEN}✅ Vault accessible: $VAULT_NAME${NC}" + + # Check Cloudflare item + if ! op item get "$CLOUDFLARE_ITEM" --vault="$VAULT_NAME" &> /dev/null; then + echo -e "${RED}❌ Cannot access Cloudflare item${NC}" + echo " Run: ./scripts/setup-1password.sh" + VALIDATION_PASSED=false + return 1 + fi + + log_verbose "Cloudflare item accessible" + echo -e "${GREEN}✅ Cloudflare item accessible${NC}" + + # Test secret retrieval + if API_TOKEN=$(op read "op://$VAULT_NAME/$CLOUDFLARE_ITEM/api_token" 2>/dev/null); then + log_verbose "API token retrieved: ${API_TOKEN:0:10}..." + echo -e "${GREEN}✅ API token retrieval successful${NC}" + else + echo -e "${RED}❌ Failed to retrieve API token${NC}" + VALIDATION_PASSED=false + fi + + if ACCOUNT_ID=$(op read "op://$VAULT_NAME/$CLOUDFLARE_ITEM/account_id" 2>/dev/null); then + log_verbose "Account ID retrieved: ${ACCOUNT_ID:0:8}...${ACCOUNT_ID: -4}" + echo -e "${GREEN}✅ Account ID retrieval successful${NC}" + else + echo -e "${RED}❌ Failed to retrieve Account ID${NC}" + VALIDATION_PASSED=false + fi + + return 0 +} + +# Check environment variables +validate_environment() { + if [ "$CHECK_ENV" = false ]; then + echo -e "${YELLOW}⚠️ Skipping environment variable validation${NC}" + return 0 + fi + + echo -e "${YELLOW}🔍 Validating environment variables...${NC}" + + # Check if .env file exists + if [ -f ".env" ]; then + echo -e "${GREEN}✅ .env file found${NC}" + log_verbose ".env file exists and is readable" + + # Source environment variables + set -a + source .env + set +a + elif [ -f ".env.1password" ]; then + echo -e "${YELLOW}⚠️ .env file not found, but .env.1password exists${NC}" + echo " Generate .env with: op inject -i .env.1password -o .env" + else + echo -e "${YELLOW}⚠️ No .env files found${NC}" + fi + + # Check required environment variables + if [ -n "$CLOUDFLARE_API_TOKEN" ]; then + log_verbose "CLOUDFLARE_API_TOKEN set: ${CLOUDFLARE_API_TOKEN:0:10}..." + echo -e "${GREEN}✅ CLOUDFLARE_API_TOKEN is set${NC}" + else + echo -e "${RED}❌ CLOUDFLARE_API_TOKEN not set${NC}" + VALIDATION_PASSED=false + fi + + if [ -n "$CLOUDFLARE_ACCOUNT_ID" ]; then + log_verbose "CLOUDFLARE_ACCOUNT_ID set: ${CLOUDFLARE_ACCOUNT_ID:0:8}...${CLOUDFLARE_ACCOUNT_ID: -4}" + echo -e "${GREEN}✅ CLOUDFLARE_ACCOUNT_ID is set${NC}" + else + echo -e "${RED}❌ CLOUDFLARE_ACCOUNT_ID not set${NC}" + VALIDATION_PASSED=false + fi + + # Check other configuration variables + local config_vars=("INPUT_DIR" "OUTPUT_DIR" "SKIP_TESTS" "DEPLOY_WORKER") + for var in "${config_vars[@]}"; do + if [ -n "${!var}" ]; then + log_verbose "$var = ${!var}" + echo -e "${GREEN}✅ $var configured${NC}" + else + log_verbose "$var not set (using defaults)" + fi + done + + return 0 +} + +# Check GitHub secrets (requires GitHub CLI) +validate_github_secrets() { + if [ "$CHECK_GITHUB" = false ]; then + return 0 + fi + + echo -e "${YELLOW}🔍 Validating GitHub secrets...${NC}" + + # Check if GitHub CLI is available + if ! command -v gh &> /dev/null; then + echo -e "${RED}❌ GitHub CLI not found${NC}" + echo " Install with: brew install gh" + VALIDATION_PASSED=false + return 1 + fi + + # Check authentication + if ! gh auth status &> /dev/null; then + echo -e "${RED}❌ Not authenticated with GitHub${NC}" + echo " Run: gh auth login" + VALIDATION_PASSED=false + return 1 + fi + + echo -e "${GREEN}✅ GitHub CLI authenticated${NC}" + + # List secrets (this requires appropriate permissions) + if SECRET_LIST=$(gh secret list 2>/dev/null); then + log_verbose "GitHub secrets list retrieved" + + # Check for required secrets + if echo "$SECRET_LIST" | grep -q "CLOUDFLARE_API_TOKEN"; then + echo -e "${GREEN}✅ CLOUDFLARE_API_TOKEN exists in GitHub secrets${NC}" + else + echo -e "${RED}❌ CLOUDFLARE_API_TOKEN not found in GitHub secrets${NC}" + VALIDATION_PASSED=false + fi + + if echo "$SECRET_LIST" | grep -q "CLOUDFLARE_ACCOUNT_ID"; then + echo -e "${GREEN}✅ CLOUDFLARE_ACCOUNT_ID exists in GitHub secrets${NC}" + else + echo -e "${RED}❌ CLOUDFLARE_ACCOUNT_ID not found in GitHub secrets${NC}" + VALIDATION_PASSED=false + fi + + if echo "$SECRET_LIST" | grep -q "OP_SERVICE_ACCOUNT_TOKEN"; then + echo -e "${GREEN}✅ OP_SERVICE_ACCOUNT_TOKEN exists in GitHub secrets${NC}" + else + echo -e "${YELLOW}⚠️ OP_SERVICE_ACCOUNT_TOKEN not found (optional for 1Password integration)${NC}" + fi + + if [ "$VERBOSE" = true ]; then + echo -e "${BLUE}[DEBUG] All GitHub secrets:${NC}" + echo "$SECRET_LIST" + fi + else + echo -e "${YELLOW}⚠️ Cannot list GitHub secrets (may require admin permissions)${NC}" + fi + + return 0 +} + +# Validate Cloudflare API connection +validate_cloudflare_api() { + if [ "$CHECK_CLOUDFLARE" = false ]; then + return 0 + fi + + echo -e "${YELLOW}🔍 Validating Cloudflare API connection...${NC}" + + # Check if curl is available + if ! command -v curl &> /dev/null; then + echo -e "${RED}❌ curl not found${NC}" + VALIDATION_PASSED=false + return 1 + fi + + # Ensure we have the token (try to load from 1Password if needed) + if [ -z "$CLOUDFLARE_API_TOKEN" ] && [ "$CHECK_1PASSWORD" = true ]; then + if op account list &> /dev/null && op vault get "$VAULT_NAME" &> /dev/null; then + CLOUDFLARE_API_TOKEN=$(op read "op://$VAULT_NAME/$CLOUDFLARE_ITEM/api_token" 2>/dev/null) + fi + fi + + if [ -z "$CLOUDFLARE_API_TOKEN" ]; then + echo -e "${RED}❌ CLOUDFLARE_API_TOKEN not available for testing${NC}" + VALIDATION_PASSED=false + return 1 + fi + + # Test token verification + log_verbose "Testing Cloudflare API token verification" + if API_RESPONSE=$(curl -s -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ + "https://api.cloudflare.com/client/v4/user/tokens/verify"); then + + if echo "$API_RESPONSE" | grep -q '"success":true'; then + echo -e "${GREEN}✅ Cloudflare API token is valid${NC}" + + if [ "$VERBOSE" = true ]; then + TOKEN_INFO=$(echo "$API_RESPONSE" | grep -o '"expires_on":"[^"]*"' | cut -d'"' -f4) + if [ -n "$TOKEN_INFO" ] && [ "$TOKEN_INFO" != "null" ]; then + echo -e "${BLUE}[DEBUG] Token expires: $TOKEN_INFO${NC}" + fi + fi + else + echo -e "${RED}❌ Cloudflare API token is invalid${NC}" + log_verbose "API response: $API_RESPONSE" + VALIDATION_PASSED=false + fi + else + echo -e "${RED}❌ Failed to connect to Cloudflare API${NC}" + VALIDATION_PASSED=false + fi + + # Test account access if we have Account ID + if [ -z "$CLOUDFLARE_ACCOUNT_ID" ] && [ "$CHECK_1PASSWORD" = true ]; then + if op account list &> /dev/null && op vault get "$VAULT_NAME" &> /dev/null; then + CLOUDFLARE_ACCOUNT_ID=$(op read "op://$VAULT_NAME/$CLOUDFLARE_ITEM/account_id" 2>/dev/null) + fi + fi + + if [ -n "$CLOUDFLARE_ACCOUNT_ID" ]; then + log_verbose "Testing account access for: ${CLOUDFLARE_ACCOUNT_ID:0:8}...${CLOUDFLARE_ACCOUNT_ID: -4}" + if ACCOUNT_RESPONSE=$(curl -s -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ + "https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID"); then + + if echo "$ACCOUNT_RESPONSE" | grep -q '"success":true'; then + echo -e "${GREEN}✅ Cloudflare account access confirmed${NC}" + else + echo -e "${RED}❌ Cannot access Cloudflare account${NC}" + log_verbose "Account response: $ACCOUNT_RESPONSE" + VALIDATION_PASSED=false + fi + else + echo -e "${RED}❌ Failed to test account access${NC}" + VALIDATION_PASSED=false + fi + fi + + return 0 +} + +# Display validation summary +show_summary() { + echo "" + echo -e "${BLUE}📋 Validation Summary${NC}" + echo -e "${BLUE}=====================${NC}" + + if [ "$VALIDATION_PASSED" = true ]; then + echo -e "${GREEN}✅ All validations passed!${NC}" + echo "" + echo -e "${YELLOW}🚀 Ready for deployment${NC}" + echo " Your secrets are properly configured and accessible." + echo "" + echo -e "${BLUE}Next Steps:${NC}" + echo " • Run deployment: ./scripts/deploy.sh production" + echo " • Test with 1Password: op run --env-file=.env.1password -- ./scripts/deploy.sh" + echo " • Sync to GitHub: ./scripts/sync-secrets-to-github.sh" + else + echo -e "${RED}❌ Some validations failed${NC}" + echo "" + echo -e "${YELLOW}🔧 Required Actions:${NC}" + echo " • Fix the issues mentioned above" + echo " • Run: ./scripts/setup-1password.sh (for 1Password setup)" + echo " • Check environment variables and .env file" + echo " • Verify API tokens and permissions" + echo "" + echo -e "${BLUE}For Help:${NC}" + echo " • Setup guide: ./docs/1PASSWORD_SETUP.md" + echo " • Deployment docs: ./DEPLOYMENT.md" + echo " • Run with --verbose for more details" + + exit 1 + fi +} + +# Main execution +main() { + validate_1password + echo "" + + validate_environment + echo "" + + validate_github_secrets + echo "" + + validate_cloudflare_api + echo "" + + show_summary +} + +# Run main function +main "$@" \ No newline at end of file diff --git a/src/config.rs b/src/config.rs index fb1a245..3fd917e 100644 --- a/src/config.rs +++ b/src/config.rs @@ -11,9 +11,7 @@ pub enum MarkdownFormat { Mdx, } - -#[derive(Debug, Serialize, Deserialize, Clone)] -#[derive(Default)] +#[derive(Debug, Serialize, Deserialize, Clone, Default)] pub struct MarkdownInput { #[serde(default)] pub format: MarkdownFormat, @@ -21,7 +19,6 @@ pub struct MarkdownInput { pub frontmatter: bool, } - #[config] #[derive(Debug, Default, serde::Serialize, Clone)] pub struct BookConfig { @@ -33,7 +30,7 @@ pub struct BookConfig { #[serde(default)] pub markdown: MarkdownInput, #[serde(default)] - pub paths: Paths + pub paths: Paths, } #[config] @@ -86,7 +83,7 @@ pub struct HtmlOutput { #[serde(default)] pub allow_html: bool, pub playground: PlaygroundConfig, - pub search: SearchConfig + pub search: SearchConfig, } #[derive(Debug, Serialize, Deserialize, Default, Clone)] @@ -115,11 +112,21 @@ pub struct SearchConfig { pub heading_split_level: u32, } -fn default_limit_results() -> u32 { 20 } -fn default_boost_title() -> u32 { 2 } -fn default_boost_hierarchy() -> u32 { 2 } -fn default_boost_paragraph() -> u32 { 1 } -fn default_heading_split_level() -> u32 { 2 } +fn default_limit_results() -> u32 { + 20 +} +fn default_boost_title() -> u32 { + 2 +} +fn default_boost_hierarchy() -> u32 { + 2 +} +fn default_boost_paragraph() -> u32 { + 1 +} +fn default_heading_split_level() -> u32 { + 2 +} #[derive(Debug, Serialize, Deserialize, Default, Clone)] pub struct Paths { @@ -132,9 +139,7 @@ fn default_templates_dir() -> String { } pub fn load_config(config_path: Option<&str>) -> anyhow::Result { - let mut layers = vec![ - Layer::Env(Some("MDBOOK_".to_string())), - ]; + let mut layers = vec![Layer::Env(Some("MDBOOK_".to_string()))]; // Add default book.toml if it exists if std::path::Path::new("book.toml").exists() { @@ -147,7 +152,7 @@ pub fn load_config(config_path: Option<&str>) -> anyhow::Result { // and is TOML if path.ends_with(".toml") { layers.push(Layer::Toml(path.into())); - } else if path.ends_with(".json") { + } else if path.ends_with(".json") { layers.push(Layer::Json(path.into())); } else { anyhow::bail!("Unsupported config file type: {}", path); @@ -157,4 +162,4 @@ pub fn load_config(config_path: Option<&str>) -> anyhow::Result { let config = BookConfig::with_layers(&layers)?; Ok(config) -} \ No newline at end of file +} diff --git a/src/core.rs b/src/core.rs new file mode 100644 index 0000000..06261c7 --- /dev/null +++ b/src/core.rs @@ -0,0 +1,666 @@ +use anyhow::{Context, Result}; +use clap::Parser; +use jiff::Zoned; + +use markdown::to_html_with_options; +use serde::Serialize; +use std::fs; +use tera::{Context as TeraContext, Tera}; +use walkdir::WalkDir; + +use crate::config::{BookConfig, MarkdownFormat}; +use crate::pagefind_service::PagefindBuilder; +use markdown::mdast::Node; +use markdown::to_mdast; +use std::collections::BTreeMap; +use std::path::Path; +use std::path::PathBuf; +#[cfg(feature = "syntax-highlighting")] +use syntect::highlighting::ThemeSet; +#[cfg(feature = "syntax-highlighting")] +use syntect::html::{ClassStyle, ClassedHTMLGenerator}; +#[cfg(feature = "syntax-highlighting")] +use syntect::parsing::SyntaxSet; +#[cfg(feature = "syntax-highlighting")] +use syntect::util::LinesWithEndings; + +#[derive(Parser, Debug, Clone)] +#[command(author, version, about, long_about = None)] +pub struct Args { + /// Input directory containing markdown files + #[arg(short, long)] + pub input: String, + + /// Output directory for HTML files + #[arg(short, long)] + pub output: String, + + /// Optional path to config file + #[arg(short, long)] + pub config: Option, + + /// Watch for changes and rebuild + #[arg(short, long)] + #[cfg(feature = "watcher")] + pub watch: bool, + + /// Serve the book at http://localhost:3000 + #[arg(short, long)] + #[cfg(feature = "server")] + pub serve: bool, + + /// Port to serve on when using --serve (default: 3000) + #[arg(long, default_value = "3000")] + #[cfg(feature = "server")] + pub port: u16, +} + +#[derive(Serialize, Debug, Clone)] +struct PageData { + title: String, + content: String, + sections: Vec
    , + previous: Option, + next: Option, +} + +#[derive(Serialize, Debug, Clone)] +struct Section { + title: String, + pages: Vec, +} + +#[derive(Serialize, Debug, Clone)] +pub struct PageInfo { + pub title: String, + pub path: String, +} + +#[cfg(feature = "tokio")] +pub async fn build(args: &Args, config: &BookConfig, watch_enabled: bool) -> Result<()> { + build_impl(args, config, watch_enabled).await +} + +#[cfg(not(feature = "tokio"))] +pub fn build(args: &Args, config: &BookConfig, watch_enabled: bool) -> Result<()> { + build_impl(args, config, watch_enabled) +} + +#[cfg(feature = "tokio")] +async fn build_impl(args: &Args, config: &BookConfig, watch_enabled: bool) -> Result<()> { + build_sync_impl(args, config, watch_enabled).await +} + +#[cfg(not(feature = "tokio"))] +fn build_impl(args: &Args, config: &BookConfig, watch_enabled: bool) -> Result<()> { + build_sync_impl_sync(args, config, watch_enabled) +} + +#[cfg(feature = "tokio")] +async fn build_sync_impl(args: &Args, config: &BookConfig, watch_enabled: bool) -> Result<()> { + build_sync_impl_sync(args, config, watch_enabled)?; + + // After generating HTML files, run Pagefind indexing if search feature is enabled + #[cfg(all(feature = "search", feature = "tokio"))] + { + match PagefindBuilder::new(PathBuf::from(&args.output)).await { + Ok(pagefind) => { + if let Err(e) = pagefind.build().await { + eprintln!("Search indexing failed: {}", e); + } + } + Err(e) => { + eprintln!("Failed to create search builder: {}", e); + } + } + } + + Ok(()) +} + +fn build_sync_impl_sync(args: &Args, config: &BookConfig, watch_enabled: bool) -> Result<()> { + // Initialize Tera with configured templates directory + let mut tera = Tera::default(); + + // Add template files from the configured directory + let template_files = [ + ("page", "page.html.tera"), + ("index", "index.html.tera"), + ("sidebar", "sidebar.html.tera"), + ("footer", "footer.html.tera"), + ("header", "header.html.tera"), + ]; + + for (name, file) in template_files { + let template_path = format!("{}/{}", config.paths.templates, file); + let template_content = if Path::new(&template_path).exists() { + fs::read_to_string(&template_path) + .with_context(|| format!("Failed to read template: {}", template_path))? + } else { + // Load default template content directly + match file { + "page.html.tera" => include_str!("templates/page.html.tera").to_string(), + "index.html.tera" => include_str!("templates/index.html.tera").to_string(), + "sidebar.html.tera" => include_str!("templates/sidebar.html.tera").to_string(), + "footer.html.tera" => include_str!("templates/footer.html.tera").to_string(), + "header.html.tera" => include_str!("templates/header.html.tera").to_string(), + _ => return Err(anyhow::anyhow!("Unknown template file: {}", file)), + } + }; + + tera.add_raw_template(name, &template_content) + .with_context(|| format!("Failed to add template: {}", name))?; + } + + // Create output directory if it doesn't exist + fs::create_dir_all(&args.output)?; + + // Copy static assets + copy_static_assets(&args.output, &config.paths.templates, config)?; + + // Collect all pages first + let mut all_pages = Vec::new(); + let mut section_map: BTreeMap> = BTreeMap::new(); + let mut root_pages: Vec = Vec::new(); + + // First pass: collect all pages + let mut entries: Vec<_> = WalkDir::new(&args.input) + .into_iter() + .filter_map(Result::ok) + .filter(|e| e.path().extension().is_some_and(|ext| ext == "md")) + .collect(); + + // Sort entries by path to ensure consistent ordering + entries.sort_by_key(|e| e.path().to_path_buf()); + + for entry in &entries { + let rel_path = entry.path().strip_prefix(&args.input)?; + let parent_dir = rel_path.parent().and_then(|p| p.to_str()).unwrap_or(""); + + let content = fs::read_to_string(entry.path())?; + let page_info = PageInfo { + title: extract_title(&content).unwrap_or_else(|| { + entry + .path() + .file_stem() + .map(|s| s.to_string_lossy().into_owned()) + .unwrap_or_else(|| "Untitled".to_string()) + }), + path: format!("/{}", rel_path.with_extension("html").display()), + }; + + all_pages.push(page_info.clone()); + + if parent_dir.is_empty() { + root_pages.push(page_info); + } else { + section_map + .entry(parent_dir.to_string()) + .or_default() + .push(page_info); + } + } + + // Convert the map to sections + let mut sections = Vec::new(); + + // Add root pages first if they exist + if !root_pages.is_empty() { + sections.push(Section { + title: "Guide".to_string(), + pages: root_pages, + }); + } + + // Add other sections + for (title, pages) in section_map { + sections.push(Section { title, pages }); + } + + let total_pages = all_pages.len(); + println!("Total pages: {}", total_pages); + + // Get current year using Jiff + let current_year = Zoned::now().year().to_string(); + + // Initialize syntax highlighting if feature is enabled + #[cfg(feature = "syntax-highlighting")] + let ss = SyntaxSet::load_defaults_newlines(); + + #[cfg(feature = "syntax-highlighting")] + { + // Add syntax highlighting CSS + let ts = ThemeSet::load_defaults(); + // TODO: Make this configurable + let theme = &ts.themes["Solarized (light)"]; + let syntax_css = syntect::html::css_for_theme_with_class_style(theme, ClassStyle::Spaced) + .map_err(|e| anyhow::anyhow!("CSS generation error: {:?}", e))?; + + fs::write(format!("{}/css/syntax.css", args.output), syntax_css)?; + } + + // Process each markdown file + for (current_page, entry) in entries.iter().enumerate() { + if entry.path().extension().is_some_and(|ext| ext == "md") { + let rel_path = entry.path().strip_prefix(&args.input)?; + let html_path = format!( + "{}/{}", + args.output, + rel_path.with_extension("html").display() + ); + + if let Some(parent) = Path::new(&html_path).parent() { + fs::create_dir_all(parent)?; + } + + let markdown_content = fs::read_to_string(entry.path())?; + #[cfg(feature = "syntax-highlighting")] + let html_content = process_markdown_with_highlighting(&markdown_content, &ss, config)?; + #[cfg(not(feature = "syntax-highlighting"))] + let html_content = process_markdown_basic(&markdown_content, config)?; + + let previous = if current_page > 0 { + Some(all_pages[current_page - 1].clone()) + } else { + None + }; + + let next = if current_page + 1 < total_pages { + Some(all_pages[current_page + 1].clone()) + } else { + None + }; + + let page_data = PageData { + title: extract_title(&markdown_content).unwrap_or_else(|| { + entry + .path() + .file_stem() + .map(|s| s.to_string_lossy().into_owned()) + .unwrap_or_else(|| "Untitled".to_string()) + }), + content: html_content, + sections: sections.clone(), + previous, + next, + }; + + let mut context = TeraContext::new(); + context.insert("year", ¤t_year); + context.insert("page", &page_data); + context.insert("config", &config); + context.insert( + "current_path", + &rel_path.with_extension("html").display().to_string(), + ); + context.insert("watch_enabled", &watch_enabled); + + let rendered = tera + .render("page", &context) + .with_context(|| format!("Failed to render page: {}", html_path))?; + fs::write(&html_path, rendered) + .with_context(|| format!("Failed to write file: {}", html_path))?; + } + } + + // Generate index page + let mut context = TeraContext::new(); + context.insert("year", ¤t_year); + context.insert("config", &config); + context.insert("sections", §ions); + context.insert("current_path", &"index.html"); + + let index_page = all_pages.iter().find(|p| p.path == "/index.html"); + + if let Some(index) = index_page { + // If index.md exists, use its content + let index_path = Path::new(&args.input).join("index.md"); + let markdown_content = fs::read_to_string(&index_path) + .with_context(|| format!("Failed to read index file: {}", index_path.display()))?; + #[cfg(feature = "syntax-highlighting")] + let html_content = process_markdown_with_highlighting(&markdown_content, &ss, config)?; + #[cfg(not(feature = "syntax-highlighting"))] + let html_content = process_markdown_basic(&markdown_content, config)?; + + context.insert("has_index", &true); + context.insert("title", &index.title); + context.insert("content", &html_content); + } else { + // If no index.md, use the default template with cards + context.insert("has_index", &false); + context.insert("title", &"Documentation"); + } + + let rendered = tera + .render("index", &context) + .context("Failed to render index page")?; + fs::write(format!("{}/index.html", args.output), rendered) + .context("Failed to write index.html")?; + + // Search indexing handled in async wrapper or skipped + #[cfg(not(all(feature = "search", feature = "tokio")))] + { + println!("Skipping search indexing (search or tokio feature not enabled)"); + } + + Ok(()) +} + +fn extract_title(markdown: &str) -> Option { + markdown + .lines() + .find(|line| line.starts_with("# ")) + .map(|line| line[2..].trim().to_string()) +} + +fn copy_static_assets(output_dir: &str, templates_dir: &str, _config: &BookConfig) -> Result<()> { + // Create components directory + fs::create_dir_all(format!("{}/components", output_dir))?; + + // Copy CSS directory + let css_source = format!("{}/css", templates_dir); + let css_dest = format!("{}/css/", output_dir); + fs::create_dir_all(&css_dest)?; + if std::path::Path::new(&css_source).exists() { + for entry in WalkDir::new(&css_source) { + let entry = entry?; + let dest_path = + css_dest.clone() + entry.path().strip_prefix(&css_source)?.to_str().unwrap(); + if entry.file_type().is_file() { + fs::copy(entry.path(), dest_path)?; + } + } + } + + // Copy JS directory + let js_source = format!("{}/js", templates_dir); + let js_dest = format!("{}/js/", output_dir); + fs::create_dir_all(&js_dest)?; + if std::path::Path::new(&js_source).exists() { + for entry in WalkDir::new(&js_source) { + let entry = entry?; + let dest_path = + js_dest.clone() + entry.path().strip_prefix(&js_source)?.to_str().unwrap(); + if entry.file_type().is_file() { + fs::copy(entry.path(), dest_path)?; + } + } + } + // Copy img directory from templates + let img_source = "src/templates/img"; + let img_dest = format!("{}/img/", output_dir); + fs::create_dir_all(&img_dest)?; + for entry in WalkDir::new(img_source) { + let entry = entry?; + let dest_path = img_dest.clone() + entry.path().strip_prefix(img_source)?.to_str().unwrap(); + if entry.file_type().is_file() { + fs::copy(entry.path(), dest_path) + .context(format!("Failed to copy img file: {:?}", entry.path()))?; + } + } + + fs::write( + format!("{}/components/doc-toc.js", output_dir), + include_str!("templates/components/doc-toc.js"), + ) + .context("Failed to write TOC component")?; + + fs::write( + format!("{}/components/simple-block.js", output_dir), + include_str!("templates/components/simple-block.js"), + ) + .context("Failed to write Simple Block component")?; + + fs::write( + format!("{}/components/search-modal.js", output_dir), + include_str!("templates/components/search-modal.js"), + ) + .context("Failed to write Search Modal component")?; + + Ok(()) +} + +#[cfg(feature = "syntax-highlighting")] +fn process_code_block(code: &str, language: Option<&str>, ss: &SyntaxSet) -> Result { + let syntax = match language { + Some("rust") => { + let syntax = ss + .find_syntax_by_extension("rs") + .ok_or_else(|| anyhow::anyhow!("Rust syntax not found"))?; + // Check if code block has editable tag + if code.contains("<--editable-->") { + let code_with_comment = format!("{}\n// <--editable-->", code); + process_rust_code(&code_with_comment, syntax, ss)? + } else { + process_rust_code(code, syntax, ss)? + } + } + Some("mermaid") => { + // For markdown, preserve the content exactly as is + format!( + "
    {}
    ", + html_escape::encode_text(code) + ) + } + Some(lang) => { + let syntax = ss + .find_syntax_by_extension(lang) + .or_else(|| ss.find_syntax_by_name(lang)) + .or_else(|| ss.find_syntax_by_token(lang)) + .or_else(|| Some(ss.find_syntax_plain_text())) + .ok_or_else(|| anyhow::anyhow!("Syntax not found for language: {:?}", lang))?; + process_generic_code(code, syntax, ss)? + } + None => { + let syntax = ss.find_syntax_plain_text(); + process_generic_code(code, syntax, ss)? + } + }; + Ok(syntax) +} + +#[cfg(feature = "syntax-highlighting")] +fn process_rust_code( + code: &str, + syntax: &syntect::parsing::SyntaxReference, + ss: &SyntaxSet, +) -> Result { + let mut html_generator = + ClassedHTMLGenerator::new_with_class_style(syntax, ss, ClassStyle::Spaced); + + for line in LinesWithEndings::from(code) { + html_generator + .parse_html_for_line_which_includes_newline(line) + .map_err(|e| anyhow::anyhow!("HTML generation error: {:?}", e))?; + } + let html = html_generator.finalize(); + Ok(format!( + "
    {}
    ", + html + )) +} + +#[cfg(feature = "syntax-highlighting")] +fn process_generic_code( + code: &str, + syntax: &syntect::parsing::SyntaxReference, + ss: &SyntaxSet, +) -> Result { + let mut html_generator = + ClassedHTMLGenerator::new_with_class_style(syntax, ss, ClassStyle::Spaced); + + for line in LinesWithEndings::from(code) { + html_generator + .parse_html_for_line_which_includes_newline(line) + .map_err(|e| anyhow::anyhow!("HTML generation error: {:?}", e))?; + } + let html = html_generator.finalize(); + Ok(format!("
    {}
    ", html)) +} + +#[cfg(feature = "syntax-highlighting")] +fn process_markdown_with_highlighting( + content: &str, + ss: &SyntaxSet, + config: &BookConfig, +) -> Result { + let parse_options = match config.markdown.format { + MarkdownFormat::Mdx => markdown::ParseOptions::mdx(), + MarkdownFormat::Gfm => markdown::ParseOptions::gfm(), + MarkdownFormat::Markdown => markdown::ParseOptions::default(), + }; + + let compile_options = if matches!(config.markdown.format, MarkdownFormat::Gfm) { + markdown::CompileOptions::gfm() + } else { + markdown::CompileOptions::default() + }; + + let mut options = markdown::Options { + parse: parse_options, + compile: compile_options, + }; + + // Modify constructs for HTML and frontmatter + options.parse.constructs.frontmatter = config.markdown.frontmatter; + options.parse.constructs.html_flow = config.output.html.allow_html; + options.parse.constructs.html_text = config.output.html.allow_html; + options.compile.allow_dangerous_html = config.output.html.allow_html; + options.compile.allow_dangerous_protocol = config.output.html.allow_html; + + let ast = to_mdast(content, &options.parse) + .map_err(|e| anyhow::anyhow!("Markdown parsing error: {:?}", e))?; + + let mut parts = Vec::new(); + let mut last_pos = 0; + + fn process_node( + node: &Node, + ss: &SyntaxSet, + content: &str, + parts: &mut Vec, + last_pos: &mut usize, + config: &BookConfig, + ) -> Result<()> { + match node { + Node::Code(code) => { + if let Some(pos) = &code.position { + if *last_pos < pos.start.offset { + let text = &content[*last_pos..pos.start.offset]; + if !text.trim().is_empty() { + let parse_options = match config.markdown.format { + MarkdownFormat::Mdx => markdown::ParseOptions::mdx(), + MarkdownFormat::Gfm => markdown::ParseOptions::gfm(), + MarkdownFormat::Markdown => markdown::ParseOptions::default(), + }; + + let compile_options = + if matches!(config.markdown.format, MarkdownFormat::Gfm) { + markdown::CompileOptions::gfm() + } else { + markdown::CompileOptions::default() + }; + + let mut options = markdown::Options { + parse: parse_options, + compile: compile_options, + }; + + options.parse.constructs.frontmatter = config.markdown.frontmatter; + options.parse.constructs.html_flow = config.output.html.allow_html; + options.parse.constructs.html_text = config.output.html.allow_html; + options.compile.allow_dangerous_html = config.output.html.allow_html; + options.compile.allow_dangerous_protocol = + config.output.html.allow_html; + + let temp_html = to_html_with_options(text, &options).map_err(|e| { + anyhow::anyhow!("Markdown conversion error: {:?}", e) + })?; + parts.push(temp_html); + } + } + + let highlighted = process_code_block(&code.value, code.lang.as_deref(), ss)?; + parts.push(highlighted); + + *last_pos = pos.end.offset; + } + } + _ => { + if let Some(children) = node.children() { + for child in children { + process_node(child, ss, content, parts, last_pos, config)?; + } + } + } + } + Ok(()) + } + + process_node(&ast, ss, content, &mut parts, &mut last_pos, config)?; + + if last_pos < content.len() { + let remaining = &content[last_pos..]; + if !remaining.trim().is_empty() { + let parse_options = match config.markdown.format { + MarkdownFormat::Mdx => markdown::ParseOptions::mdx(), + MarkdownFormat::Gfm => markdown::ParseOptions::gfm(), + MarkdownFormat::Markdown => markdown::ParseOptions::default(), + }; + + let compile_options = if matches!(config.markdown.format, MarkdownFormat::Gfm) { + markdown::CompileOptions::gfm() + } else { + markdown::CompileOptions::default() + }; + + let mut options = markdown::Options { + parse: parse_options, + compile: compile_options, + }; + + options.parse.constructs.frontmatter = config.markdown.frontmatter; + options.parse.constructs.html_flow = config.output.html.allow_html; + options.parse.constructs.html_text = config.output.html.allow_html; + options.compile.allow_dangerous_html = config.output.html.allow_html; + options.compile.allow_dangerous_protocol = config.output.html.allow_html; + + parts.push( + to_html_with_options(remaining, &options) + .map_err(|e| anyhow::anyhow!("Markdown conversion error: {:?}", e))?, + ); + } + } + + Ok(parts.join("")) +} + +#[cfg(not(feature = "syntax-highlighting"))] +fn process_markdown_basic(content: &str, config: &BookConfig) -> Result { + let parse_options = match config.markdown.format { + MarkdownFormat::Mdx => markdown::ParseOptions::mdx(), + MarkdownFormat::Gfm => markdown::ParseOptions::gfm(), + MarkdownFormat::Markdown => markdown::ParseOptions::default(), + }; + + let compile_options = if matches!(config.markdown.format, MarkdownFormat::Gfm) { + markdown::CompileOptions::gfm() + } else { + markdown::CompileOptions::default() + }; + + let mut options = markdown::Options { + parse: parse_options, + compile: compile_options, + }; + + // Modify constructs for HTML and frontmatter + options.parse.constructs.frontmatter = config.markdown.frontmatter; + options.parse.constructs.html_flow = config.output.html.allow_html; + options.parse.constructs.html_text = config.output.html.allow_html; + options.compile.allow_dangerous_html = config.output.html.allow_html; + options.compile.allow_dangerous_protocol = config.output.html.allow_html; + + to_html_with_options(content, &options) + .map_err(|e| anyhow::anyhow!("Markdown conversion error: {:?}", e)) +} diff --git a/src/lib.rs b/src/lib.rs index 90b108d..51333aa 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,5 +1,26 @@ pub mod config; +pub mod core; pub mod pagefind_service; +// Optional server module for native builds only +#[cfg(feature = "server")] +pub mod server; + pub use config::BookConfig; -pub use pagefind_service::{PagefindBuilder, PagefindError}; \ No newline at end of file +pub use core::{build, Args, PageInfo}; +pub use pagefind_service::{PagefindBuilder, PagefindError}; + +// Re-export server functionality when available +#[cfg(feature = "server")] +pub use server::serve_book; + +// WASM-specific exports +#[cfg(target_arch = "wasm32")] +use wasm_bindgen::prelude::*; + +#[cfg(target_arch = "wasm32")] +#[wasm_bindgen] +pub fn wasm_process_markdown(content: &str) -> String { + // Basic markdown processing for WASM + markdown::to_html(content) +} diff --git a/src/main.rs b/src/main.rs index c55ddf6..7164cd8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,135 +1,147 @@ -use anyhow::{Context, Result}; -use clap::Parser; -use jiff::Zoned; -use markdown::to_html_with_options; -use serde::Serialize; -use std::fs; -use tera::{Context as TeraContext, Tera}; -use walkdir::WalkDir; -use syntect::highlighting::ThemeSet; -use syntect::html::{ClassStyle, ClassedHTMLGenerator}; -use syntect::parsing::SyntaxSet; -use syntect::util::LinesWithEndings; -use markdown::mdast::Node; -use markdown::to_mdast; -mod config; -use config::{BookConfig, MarkdownFormat}; -use std::path::Path; -use std::collections::BTreeMap; -use tokio::sync::broadcast; -mod server; // Import the server module -use std::path::PathBuf; -pub mod pagefind_service; -use pagefind_service::PagefindBuilder; - -#[derive(Parser, Debug, Clone)] -#[command(author, version, about, long_about = None)] -pub struct Args { - /// Input directory containing markdown files - #[arg(short, long)] - input: String, - - /// Output directory for HTML files - #[arg(short, long)] - output: String, +use anyhow::Result; +use md_book::config; +use md_book::core::{build, Args}; - /// Optional path to config file - #[arg(short, long)] - config: Option, - - /// Watch for changes and rebuild - #[arg(short, long)] - watch: bool, - - /// Serve the book at http://localhost:3000 - #[arg(short, long)] - serve: bool, - - /// Port to serve on when using --serve (default: 3000) - #[arg(long, default_value = "3000")] - port: u16, -} +#[cfg(any(feature = "server", feature = "watcher"))] +use futures::future; -#[derive(Serialize, Debug, Clone)] -struct PageData { - title: String, - content: String, - sections: Vec
    , - previous: Option, - next: Option, -} +#[cfg(feature = "server")] +use md_book::serve_book; +#[cfg(feature = "server")] +use tokio::sync::broadcast; -#[derive(Serialize, Debug, Clone)] -struct Section { - title: String, - pages: Vec, -} +#[cfg(feature = "watcher")] +use notify::{RecommendedWatcher, RecursiveMode, Watcher}; +#[cfg(feature = "watcher")] +use tokio::time::Duration; -#[derive(Serialize, Debug, Clone)] -struct PageInfo { - title: String, - path: String, -} +use clap::Parser; +use std::path::Path; #[tokio::main] async fn main() -> Result<()> { let args = Args::parse(); - let watch_enabled = args.watch; + + #[cfg(any(feature = "watcher", feature = "server"))] + let watch_enabled = { + #[cfg(feature = "watcher")] + { + args.watch + } + #[cfg(not(feature = "watcher"))] + { + false + } + }; + + #[cfg(not(any(feature = "watcher", feature = "server")))] + let watch_enabled = false; + // Load configuration let config = config::load_config(args.config.as_deref())?; - + // Initial build + #[cfg(any(feature = "server", feature = "watcher"))] build(&args, &config, watch_enabled).await?; + #[cfg(not(any(feature = "server", feature = "watcher")))] + build(&args, &config, watch_enabled)?; + + #[cfg(any(feature = "watcher", feature = "server"))] + { + let should_watch = { + #[cfg(feature = "watcher")] + { + args.watch + } + #[cfg(not(feature = "watcher"))] + { + false + } + }; - if args.watch || args.serve { - let (reload_tx, _) = broadcast::channel(16); - - let mut handles = vec![]; + let should_serve = { + #[cfg(feature = "server")] + { + args.serve + } + #[cfg(not(feature = "server"))] + { + false + } + }; - // Start server if requested - if args.serve { - let output_dir = args.output.clone(); - let port = args.port; - let reload_tx = reload_tx.clone(); - - handles.push(tokio::spawn(async move { - if let Err(e) = server::serve_book(output_dir, port, reload_tx).await { - eprintln!("Server error: {}", e); - } - })); - } + if should_watch || should_serve { + #[cfg(feature = "server")] + let (reload_tx, _) = broadcast::channel(16); + #[cfg(not(feature = "server"))] + let reload_tx = (); - // Start watcher if requested - if args.watch { - let mut watch_paths = vec![args.input.clone()]; - if let Some(templates_dir) = get_templates_dir(&config) { - println!("Adding template dir to watch: {}", templates_dir); - watch_paths.push(templates_dir); - } + let mut handles = vec![]; - let args = args.clone(); - let config = config.clone(); - let reload_tx = reload_tx.clone(); + // Start server if requested + #[cfg(feature = "server")] + if should_serve { + let output_dir = args.output.clone(); + let port = args.port; + let reload_tx = reload_tx.clone(); + + handles.push(tokio::spawn(async move { + if let Err(e) = serve_book(output_dir, port, reload_tx).await { + eprintln!("Server error: {}", e); + } + })); + } - handles.push(tokio::spawn(async move { - if let Err(e) = watch_files(watch_paths, move || { - let args = args.clone(); - let config = config.clone(); - async move { build(&args, &config, watch_enabled).await } - }, reload_tx).await { - eprintln!("Watch error: {}", e); + // Start watcher if requested + #[cfg(feature = "watcher")] + if should_watch { + let mut watch_paths = vec![args.input.clone()]; + if let Some(templates_dir) = get_templates_dir(&config) { + println!("Adding template dir to watch: {}", templates_dir); + watch_paths.push(templates_dir); } - })); - } - // Keep the main task running - futures::future::join_all(handles).await; + let args = args.clone(); + let config = config.clone(); + let reload_tx = reload_tx.clone(); + + handles.push(tokio::spawn(async move { + if let Err(e) = watch_files( + watch_paths, + move || { + let args = args.clone(); + let config = config.clone(); + async move { + #[cfg(feature = "tokio")] + { + build(&args, &config, watch_enabled).await + } + #[cfg(not(feature = "tokio"))] + { + build(&args, &config, watch_enabled) + } + } + }, + reload_tx, + ) + .await + { + eprintln!("Watch error: {}", e); + } + })); + } + + // Keep the main task running + if !handles.is_empty() { + let _ = future::join_all(handles).await; + } + } } Ok(()) } -fn get_templates_dir(config: &BookConfig) -> Option { +fn get_templates_dir(config: &md_book::BookConfig) -> Option { let templates_dir = &config.paths.templates; if Path::new(templates_dir).exists() { Some(templates_dir.clone()) @@ -138,16 +150,14 @@ fn get_templates_dir(config: &BookConfig) -> Option { } } -async fn watch_files(paths: Vec, rebuild: F, reload_tx: broadcast::Sender<()>) -> Result<()> +#[cfg(feature = "watcher")] +async fn watch_files(paths: Vec, rebuild: F, reload_tx: ReloadSender) -> Result<()> where F: Fn() -> Fut + Send + Sync + 'static, Fut: std::future::Future> + Send, { - use tokio::time::Duration; - use notify::{RecommendedWatcher, RecursiveMode, Watcher}; - let (tx, mut rx) = tokio::sync::mpsc::channel(32); - + let mut watcher = RecommendedWatcher::new( move |res| { if let Ok(event) = res { @@ -180,7 +190,8 @@ where if let Err(e) = rebuild().await { eprintln!("Rebuild error: {}", e); } else { - let _ = reload_tx.send(()); + #[cfg(feature = "server")] + { let _ = reload_tx.send(()); } } } } @@ -188,457 +199,8 @@ where } } -pub async fn build(args: &Args, config: &BookConfig, watch_enabled: bool) -> Result<()> { - // Initialize Tera with configured templates directory - let mut tera = Tera::default(); - - // Add template files from the configured directory - let template_files = [ - ("page", "page.html.tera"), - ("index", "index.html.tera"), - ("sidebar", "sidebar.html.tera"), - ("footer", "footer.html.tera"), - ("header", "header.html.tera"), - ]; - - for (name, file) in template_files { - let template_path = format!("{}/{}", config.paths.templates, file); - let template_content = if Path::new(&template_path).exists() { - fs::read_to_string(&template_path) - .with_context(|| format!("Failed to read template: {}", template_path))? - } else { - // Load default template content directly - match file { - "page.html.tera" => include_str!("templates/page.html.tera").to_string(), - "index.html.tera" => include_str!("templates/index.html.tera").to_string(), - "sidebar.html.tera" => include_str!("templates/sidebar.html.tera").to_string(), - "footer.html.tera" => include_str!("templates/footer.html.tera").to_string(), - "header.html.tera" => include_str!("templates/header.html.tera").to_string(), - _ => return Err(anyhow::anyhow!("Unknown template file: {}", file)), - } - }; - - tera.add_raw_template(name, &template_content) - .with_context(|| format!("Failed to add template: {}", name))?; - } - - // Create output directory if it doesn't exist - fs::create_dir_all(&args.output)?; - - // Copy static assets - copy_static_assets(&args.output, &config.paths.templates, config)?; - - // Collect all pages first - let mut all_pages = Vec::new(); - let mut section_map: BTreeMap> = BTreeMap::new(); - let mut root_pages: Vec = Vec::new(); - - // First pass: collect all pages - let mut entries: Vec<_> = WalkDir::new(&args.input) - .into_iter() - .filter_map(Result::ok) - .filter(|e| e.path().extension().is_some_and(|ext| ext == "md")) - .collect(); - - // Sort entries by path to ensure consistent ordering - entries.sort_by_key(|e| e.path().to_path_buf()); - - for entry in &entries { - let rel_path = entry.path().strip_prefix(&args.input)?; - let parent_dir = rel_path.parent().and_then(|p| p.to_str()).unwrap_or(""); - - let content = fs::read_to_string(entry.path())?; - let page_info = PageInfo { - title: extract_title(&content) - .unwrap_or_else(|| entry.path().file_stem() - .map(|s| s.to_string_lossy().into_owned()) - .unwrap_or_else(|| "Untitled".to_string())), - path: format!("/{}", rel_path.with_extension("html").display()), - }; - - all_pages.push(page_info.clone()); - - if parent_dir.is_empty() { - root_pages.push(page_info); - } else { - section_map.entry(parent_dir.to_string()) - .or_default() - .push(page_info); - } - } - - // Convert the map to sections - let mut sections = Vec::new(); - - // Add root pages first if they exist - if !root_pages.is_empty() { - sections.push(Section { - title: "Guide".to_string(), - pages: root_pages, - }); - } - - // Add other sections - for (title, pages) in section_map { - sections.push(Section { - title, - pages, - }); - } - - let total_pages = all_pages.len(); - println!("Total pages: {}", total_pages); - - // Get current year using Jiff - let current_year = Zoned::now().year().to_string(); - - // Initialize SyntaxSet once - let ss = SyntaxSet::load_defaults_newlines(); - - // Add syntax highlighting CSS - let ts = ThemeSet::load_defaults(); - // TODO: Make this configurable - let theme = &ts.themes["Solarized (light)"]; - let syntax_css = syntect::html::css_for_theme_with_class_style(theme, ClassStyle::Spaced) - .map_err(|e| anyhow::anyhow!("CSS generation error: {:?}", e))?; - - fs::write(format!("{}/css/syntax.css", args.output), syntax_css)?; - - // Process each markdown file - for (current_page, entry) in entries.iter().enumerate() { - if entry.path().extension().is_some_and(|ext| ext == "md") { - let rel_path = entry.path().strip_prefix(&args.input)?; - let html_path = format!("{}/{}", args.output, rel_path.with_extension("html").display()); - - if let Some(parent) = Path::new(&html_path).parent() { - fs::create_dir_all(parent)?; - } - - let markdown_content = fs::read_to_string(entry.path())?; - let html_content = process_markdown_with_highlighting(&markdown_content, &ss, config)?; - - let previous = if current_page > 0 { - Some(all_pages[current_page - 1].clone()) - } else { - None - }; - - let next = if current_page + 1 < total_pages { - Some(all_pages[current_page + 1].clone()) - } else { - None - }; - - let page_data = PageData { - title: extract_title(&markdown_content) - .unwrap_or_else(|| entry.path().file_stem() - .map(|s| s.to_string_lossy().into_owned()) - .unwrap_or_else(|| "Untitled".to_string())), - content: html_content, - sections: sections.clone(), - previous, - next, - }; - - let mut context = TeraContext::new(); - context.insert("year", ¤t_year); - context.insert("page", &page_data); - context.insert("config", &config); - context.insert("current_path", &rel_path.with_extension("html").display().to_string()); - context.insert("watch_enabled", &watch_enabled); - - let rendered = tera.render("page", &context) - .with_context(|| format!("Failed to render page: {}", html_path))?; - fs::write(&html_path, rendered) - .with_context(|| format!("Failed to write file: {}", html_path))?; - } - } - - // Generate index page - let mut context = TeraContext::new(); - context.insert("year", ¤t_year); - context.insert("config", &config); - context.insert("sections", §ions); - context.insert("current_path", &"index.html"); - - let index_page = all_pages.iter().find(|p| p.path == "/index.html"); - - if let Some(index) = index_page { - // If index.md exists, use its content - let index_path = Path::new(&args.input).join("index.md"); - let markdown_content = fs::read_to_string(&index_path) - .with_context(|| format!("Failed to read index file: {}", index_path.display()))?; - let html_content = process_markdown_with_highlighting(&markdown_content, &ss, config)?; - - context.insert("has_index", &true); - context.insert("title", &index.title); - context.insert("content", &html_content); - } else { - // If no index.md, use the default template with cards - context.insert("has_index", &false); - context.insert("title", &"Documentation"); - } - - let rendered = tera.render("index", &context) - .context("Failed to render index page")?; - fs::write(format!("{}/index.html", args.output), rendered) - .context("Failed to write index.html")?; - - // After generating HTML files, run Pagefind indexing - let pagefind = PagefindBuilder::new(PathBuf::from(&args.output)).await?; - pagefind.build().await?; - Ok(()) -} - -fn extract_title(markdown: &str) -> Option { - markdown - .lines() - .find(|line| line.starts_with("# ")) - .map(|line| line[2..].trim().to_string()) -} - -fn copy_static_assets(output_dir: &str, templates_dir: &str, _config: &BookConfig) -> Result<()> { - // Create components directory - fs::create_dir_all(format!("{}/components", output_dir))?; - - // Copy CSS directory - let css_source = format!("{}/css", templates_dir); - let css_dest = format!("{}/css/", output_dir); - fs::create_dir_all(&css_dest)?; - if std::path::Path::new(&css_source).exists() { - for entry in WalkDir::new(&css_source) { - let entry = entry?; - let dest_path = css_dest.clone() + entry.path().strip_prefix(&css_source)?.to_str().unwrap(); - if entry.file_type().is_file() { - fs::copy(entry.path(), dest_path)?; - } - } - } - - // Copy JS directory - let js_source = format!("{}/js", templates_dir); - let js_dest = format!("{}/js/", output_dir); - fs::create_dir_all(&js_dest)?; - if std::path::Path::new(&js_source).exists() { - for entry in WalkDir::new(&js_source) { - let entry = entry?; - let dest_path = js_dest.clone() + entry.path().strip_prefix(&js_source)?.to_str().unwrap(); - if entry.file_type().is_file() { - fs::copy(entry.path(), dest_path)?; - } - } - } - // Copy img directory from templates - let img_source = "src/templates/img"; - let img_dest = format!("{}/img/", output_dir); - fs::create_dir_all(&img_dest)?; - for entry in WalkDir::new(img_source) { - let entry = entry?; - let dest_path = img_dest.clone() + entry.path().strip_prefix(img_source)?.to_str().unwrap(); - if entry.file_type().is_file() { - fs::copy(entry.path(), dest_path).context(format!("Failed to copy img file: {:?}", entry.path()))?; - } - } - - - fs::write( - format!("{}/components/doc-toc.js", output_dir), - include_str!("templates/components/doc-toc.js"), - ).context("Failed to write TOC component")?; - - fs::write( - format!("{}/components/simple-block.js", output_dir), - include_str!("templates/components/simple-block.js"), - ).context("Failed to write Simple Block component")?; - - fs::write( - format!("{}/components/search-modal.js", output_dir), - include_str!("templates/components/search-modal.js"), - ).context("Failed to write Search Modal component")?; - - Ok(()) -} - -fn process_code_block(code: &str, language: Option<&str>, ss: &SyntaxSet) -> Result { - let syntax = match language { - Some("rust") => { - let syntax = ss.find_syntax_by_extension("rs") - .ok_or_else(|| anyhow::anyhow!("Rust syntax not found"))?; - // Check if code block has editable tag - if code.contains("<--editable-->") { - let code_with_comment = format!("{}\n// <--editable-->", code); - process_rust_code(&code_with_comment, syntax, ss)? - } else { - process_rust_code(code, syntax, ss)? - } - }, - Some("mermaid") => { - // For markdown, preserve the content exactly as is - format!("
    {}
    ", - html_escape::encode_text(code)) - }, - Some(lang) => { - let syntax = ss.find_syntax_by_extension(lang) - .or_else(|| ss.find_syntax_by_name(lang)) - .or_else(|| ss.find_syntax_by_token(lang)) - .or_else(|| Some(ss.find_syntax_plain_text())) - .ok_or_else(|| anyhow::anyhow!("Syntax not found for language: {:?}", lang))?; - process_generic_code(code, syntax, ss)? - }, - None => { - let syntax = ss.find_syntax_plain_text(); - process_generic_code(code, syntax, ss)? - } - }; - Ok(syntax) -} - -fn process_rust_code(code: &str, syntax: &syntect::parsing::SyntaxReference, ss: &SyntaxSet) -> Result { - let mut html_generator = ClassedHTMLGenerator::new_with_class_style( - syntax, - ss, - ClassStyle::Spaced - ); - - for line in LinesWithEndings::from(code) { - html_generator.parse_html_for_line_which_includes_newline(line) - .map_err(|e| anyhow::anyhow!("HTML generation error: {:?}", e))?; - } - let html = html_generator.finalize(); - Ok(format!("
    {}
    ", html)) -} - -fn process_generic_code(code: &str, syntax: &syntect::parsing::SyntaxReference, ss: &SyntaxSet) -> Result { - let mut html_generator = ClassedHTMLGenerator::new_with_class_style( - syntax, - ss, - ClassStyle::Spaced - ); - - for line in LinesWithEndings::from(code) { - html_generator.parse_html_for_line_which_includes_newline(line) - .map_err(|e| anyhow::anyhow!("HTML generation error: {:?}", e))?; - } - let html = html_generator.finalize(); - Ok(format!("
    {}
    ", html)) -} - -fn process_markdown_with_highlighting(content: &str, ss: &SyntaxSet, config: &BookConfig) -> Result { - let parse_options = match config.markdown.format { - MarkdownFormat::Mdx => markdown::ParseOptions::mdx(), - MarkdownFormat::Gfm => markdown::ParseOptions::gfm(), - MarkdownFormat::Markdown => markdown::ParseOptions::default(), - }; - - let compile_options = if matches!(config.markdown.format, MarkdownFormat::Gfm) { - markdown::CompileOptions::gfm() - } else { - markdown::CompileOptions::default() - }; - - let mut options = markdown::Options { - parse: parse_options, - compile: compile_options, - }; - - // Modify constructs for HTML and frontmatter - options.parse.constructs.frontmatter = config.markdown.frontmatter; - options.parse.constructs.html_flow = config.output.html.allow_html; - options.parse.constructs.html_text = config.output.html.allow_html; - options.compile.allow_dangerous_html = config.output.html.allow_html; - options.compile.allow_dangerous_protocol = config.output.html.allow_html; - - let ast = to_mdast(content, &options.parse) - .map_err(|e| anyhow::anyhow!("Markdown parsing error: {:?}", e))?; - - let mut parts = Vec::new(); - let mut last_pos = 0; - - fn process_node(node: &Node, ss: &SyntaxSet, content: &str, parts: &mut Vec, last_pos: &mut usize, config: &BookConfig) -> Result<()> { - match node { - Node::Code(code) => { - if let Some(pos) = &code.position { - if *last_pos < pos.start.offset { - let text = &content[*last_pos..pos.start.offset]; - if !text.trim().is_empty() { - let parse_options = match config.markdown.format { - MarkdownFormat::Mdx => markdown::ParseOptions::mdx(), - MarkdownFormat::Gfm => markdown::ParseOptions::gfm(), - MarkdownFormat::Markdown => markdown::ParseOptions::default(), - }; +#[cfg(all(feature = "watcher", feature = "server"))] +type ReloadSender = broadcast::Sender<()>; - let compile_options = if matches!(config.markdown.format, MarkdownFormat::Gfm) { - markdown::CompileOptions::gfm() - } else { - markdown::CompileOptions::default() - }; - - let mut options = markdown::Options { - parse: parse_options, - compile: compile_options, - }; - - options.parse.constructs.frontmatter = config.markdown.frontmatter; - options.parse.constructs.html_flow = config.output.html.allow_html; - options.parse.constructs.html_text = config.output.html.allow_html; - options.compile.allow_dangerous_html = config.output.html.allow_html; - options.compile.allow_dangerous_protocol = config.output.html.allow_html; - - let temp_html = to_html_with_options(text, &options) - .map_err(|e| anyhow::anyhow!("Markdown conversion error: {:?}", e))?; - parts.push(temp_html); - } - } - - let highlighted = process_code_block(&code.value, code.lang.as_deref(), ss)?; - parts.push(highlighted); - - *last_pos = pos.end.offset; - } - }, - _ => { - if let Some(children) = node.children() { - for child in children { - process_node(child, ss, content, parts, last_pos, config)?; - } - } - } - } - Ok(()) - } - - process_node(&ast, ss, content, &mut parts, &mut last_pos, config)?; - - if last_pos < content.len() { - let remaining = &content[last_pos..]; - if !remaining.trim().is_empty() { - let parse_options = match config.markdown.format { - MarkdownFormat::Mdx => markdown::ParseOptions::mdx(), - MarkdownFormat::Gfm => markdown::ParseOptions::gfm(), - MarkdownFormat::Markdown => markdown::ParseOptions::default(), - }; - - let compile_options = if matches!(config.markdown.format, MarkdownFormat::Gfm) { - markdown::CompileOptions::gfm() - } else { - markdown::CompileOptions::default() - }; - - let mut options = markdown::Options { - parse: parse_options, - compile: compile_options, - }; - - options.parse.constructs.frontmatter = config.markdown.frontmatter; - options.parse.constructs.html_flow = config.output.html.allow_html; - options.parse.constructs.html_text = config.output.html.allow_html; - options.compile.allow_dangerous_html = config.output.html.allow_html; - options.compile.allow_dangerous_protocol = config.output.html.allow_html; - - parts.push(to_html_with_options(remaining, &options) - .map_err(|e| anyhow::anyhow!("Markdown conversion error: {:?}", e))?); - } - } - - Ok(parts.join("")) -} \ No newline at end of file +#[cfg(all(feature = "watcher", not(feature = "server")))] +type ReloadSender = (); diff --git a/src/pagefind_service.rs b/src/pagefind_service.rs index 275a283..6469c53 100644 --- a/src/pagefind_service.rs +++ b/src/pagefind_service.rs @@ -1,39 +1,46 @@ use anyhow::Result; use std::path::PathBuf; use thiserror::Error; + +#[cfg(feature = "search")] use jiff::Zoned; #[derive(Error, Debug)] pub enum PagefindError { #[error("Configuration error: {0}")] Config(#[from] anyhow::Error), - + #[error("Multiple config files found: {files:?}. Please ensure only one exists")] MultipleConfigs { files: Vec }, - + #[error("Invalid config file format: {path}")] InvalidConfigFormat { path: String }, - + #[error("Source path does not exist: {path}")] SourcePathNotFound { path: PathBuf }, - + #[error("Indexing failed: {message}")] IndexingFailed { message: String }, - + #[error("I/O error: {0}")] Io(#[from] std::io::Error), - + #[cfg(target_arch = "wasm32")] #[error("WASM operation failed: {message}")] WasmError { message: String }, } - +#[cfg(feature = "search")] #[derive(Debug)] pub struct PagefindBuilder { source_path: PathBuf, } +#[cfg(not(feature = "search"))] +#[derive(Debug)] +pub struct PagefindBuilder; + +#[cfg(feature = "search")] impl PagefindBuilder { pub async fn new(source_path: PathBuf) -> Result { // Validate source path exists @@ -46,7 +53,7 @@ impl PagefindBuilder { pub async fn build(&self) -> Result<(), PagefindError> { let start_time = Zoned::now(); - + // Simple implementation using tokio command to run pagefind CLI // This is a fallback approach when the Rust API is not stable let output = tokio::process::Command::new("pagefind") @@ -54,64 +61,90 @@ impl PagefindBuilder { .arg(&self.source_path) .output() .await - .map_err(|e| PagefindError::IndexingFailed { - message: format!("Failed to run pagefind command: {}", e) + .map_err(|e| PagefindError::IndexingFailed { + message: format!("Failed to run pagefind command: {}", e), })?; if !output.status.success() { let stderr = String::from_utf8_lossy(&output.stderr); return Err(PagefindError::IndexingFailed { - message: format!("Pagefind command failed: {}", stderr) + message: format!("Pagefind command failed: {}", stderr), }); } let end_time = Zoned::now(); - let duration = end_time.since(&start_time).map_err(|e| PagefindError::IndexingFailed { - message: format!("Time calculation failed: {}", e) - })?; - - println!("Pagefind indexing completed in {}ms", duration.total(jiff::Unit::Millisecond).unwrap_or(0.0)); - + let duration = end_time + .since(&start_time) + .map_err(|e| PagefindError::IndexingFailed { + message: format!("Time calculation failed: {}", e), + })?; + + println!( + "Pagefind indexing completed in {}ms", + duration.total(jiff::Unit::Millisecond).unwrap_or(0.0) + ); + Ok(()) } - + /// Returns the configured source path pub fn source_path(&self) -> Option<&PathBuf> { Some(&self.source_path) } - + #[cfg(target_arch = "wasm32")] pub async fn build_wasm(&self) -> Result<(), PagefindError> { // WASM-specific implementation // This would use different APIs optimized for WebAssembly - Err(PagefindError::WasmError { - message: "WASM build not yet implemented".to_string() + Err(PagefindError::WasmError { + message: "WASM build not yet implemented".to_string(), + }) + } +} + +#[cfg(not(feature = "search"))] +impl PagefindBuilder { + pub async fn new(_source_path: PathBuf) -> Result { + Err(PagefindError::IndexingFailed { + message: "Search feature not enabled".to_string(), }) } + + pub async fn build(&self) -> Result<(), PagefindError> { + Err(PagefindError::IndexingFailed { + message: "Search feature not enabled".to_string(), + }) + } + + pub fn source_path(&self) -> Option<&PathBuf> { + None + } } #[cfg(test)] mod tests { use super::*; use tempfile::TempDir; - + + #[cfg(feature = "search")] #[tokio::test] async fn test_pagefind_builder_new() { let temp_dir = TempDir::new().unwrap(); let source_path = temp_dir.path().to_path_buf(); - + let builder = PagefindBuilder::new(source_path.clone()).await; assert!(builder.is_ok()); - + let builder = builder.unwrap(); assert_eq!(builder.source_path(), Some(&source_path)); } - + + #[cfg(feature = "search")] #[tokio::test] async fn test_invalid_source_path() { let invalid_path = PathBuf::from("/nonexistent/path"); let result = PagefindBuilder::new(invalid_path.clone()).await; - + assert!(result.is_err()); match result.unwrap_err() { PagefindError::SourcePathNotFound { path } => { @@ -120,4 +153,4 @@ mod tests { _ => panic!("Expected SourcePathNotFound error"), } } -} \ No newline at end of file +} diff --git a/src/server.rs b/src/server.rs index da39020..0f1ad6b 100644 --- a/src/server.rs +++ b/src/server.rs @@ -1,12 +1,21 @@ -use warp::Filter; use anyhow::Result; -use tokio::sync::broadcast; +#[cfg(feature = "server")] use futures::{SinkExt, StreamExt}; +#[cfg(feature = "server")] +use tokio::sync::broadcast; +#[cfg(feature = "server")] use warp::ws::{Message, WebSocket}; +#[cfg(feature = "server")] +use warp::Filter; -pub async fn serve_book(output_dir: String, port: u16, reload_tx: broadcast::Sender<()>) -> Result<()> { - let static_files = warp::fs::dir(output_dir.clone()) - .or(warp::fs::file(format!("{}/index.html", output_dir))); +#[cfg(feature = "server")] +pub async fn serve_book( + output_dir: String, + port: u16, + reload_tx: broadcast::Sender<()>, +) -> Result<()> { + let static_files = + warp::fs::dir(output_dir.clone()).or(warp::fs::file(format!("{}/index.html", output_dir))); // Add WebSocket route for live reload let reload = warp::path("live-reload") @@ -23,6 +32,7 @@ pub async fn serve_book(output_dir: String, port: u16, reload_tx: broadcast::Sen Ok(()) } +#[cfg(feature = "server")] async fn handle_live_reload(ws: WebSocket, reload_tx: broadcast::Sender<()>) { let mut rx = reload_tx.subscribe(); let (mut ws_tx, _) = ws.split(); diff --git a/tests/e2e/build_test.rs b/tests/e2e/build_test.rs deleted file mode 100644 index a00ace3..0000000 --- a/tests/e2e/build_test.rs +++ /dev/null @@ -1,325 +0,0 @@ -use anyhow::Result; -use std::fs; -use std::path::PathBuf; -use tempfile::TempDir; -use std::process::Command; -use tokio; - -#[tokio::test] -async fn test_full_build_pipeline() -> Result<()> { - let temp_dir = TempDir::new()?; - let input_path = temp_dir.path().join("input"); - let output_path = temp_dir.path().join("output"); - - // Create input directory structure - fs::create_dir_all(&input_path)?; - fs::create_dir_all(input_path.join("docs"))?; - fs::create_dir_all(input_path.join("guides"))?; - - // Create test markdown files - fs::write( - input_path.join("index.md"), - r#"# Welcome to Test Documentation - -This is the home page of our test documentation site. - -## Features -- Full-text search functionality -- Responsive design -- Syntax highlighting - -Search for "test" or "documentation" to verify search works. -"#, - )?; - - fs::write( - input_path.join("docs").join("getting-started.md"), - r#"# Getting Started - -This guide will help you get started with the software. - -## Installation - -1. Download the binary -2. Extract the archive -3. Run the installer - -Use the search feature to find installation instructions quickly. - -## Configuration - -Configuration options are available in the config file. -"#, - )?; - - fs::write( - input_path.join("guides").join("advanced.md"), - r#"# Advanced Usage - -This guide covers advanced topics and features. - -## Environment Variables - -- `DEBUG`: Enable debug mode -- `LOG_LEVEL`: Set logging verbosity -- `PORT`: Configure server port - -## API Reference - -The API provides programmatic access to all features. - -### Endpoints - -- `GET /api/docs`: List all documentation -- `POST /api/search`: Perform search query -- `PUT /api/config`: Update configuration -"#, - )?; - - // Create book.toml configuration - fs::write( - input_path.join("book.toml"), - r#"[book] -title = "Test Documentation" -authors = ["Test Author"] -description = "Test documentation for CI/CD pipeline" -language = "en" - -[output.html] -mathjax-support = false -allow_html = true - -[markdown] -format = "gfm" -frontmatter = false -"#, - )?; - - // Run the build command - let output = Command::new("cargo") - .args(&[ - "run", - "--", - "-i", - input_path.to_str().unwrap(), - "-o", - output_path.to_str().unwrap(), - ]) - .output()?; - - // Check that build succeeded - if !output.status.success() { - let stderr = String::from_utf8_lossy(&output.stderr); - let stdout = String::from_utf8_lossy(&output.stdout); - panic!( - "Build failed!\nStdout: {}\nStderr: {}", - stdout, stderr - ); - } - - // Verify HTML files were generated - assert!(output_path.join("index.html").exists(), "index.html should be generated"); - assert!(output_path.join("docs").join("getting-started.html").exists(), "getting-started.html should be generated"); - assert!(output_path.join("guides").join("advanced.html").exists(), "advanced.html should be generated"); - - // Verify CSS and JS files were copied - assert!(output_path.join("css").join("styles.css").exists(), "styles.css should be copied"); - assert!(output_path.join("css").join("search.css").exists(), "search.css should be copied"); - assert!(output_path.join("js").join("pagefind-search.js").exists(), "pagefind-search.js should be copied"); - assert!(output_path.join("components").join("search-modal.js").exists(), "search-modal.js should be copied"); - - // Verify Pagefind search index was created - assert!(output_path.join("pagefind").exists(), "pagefind directory should be created"); - - // Check that HTML contains expected content - let index_content = fs::read_to_string(output_path.join("index.html"))?; - assert!(index_content.contains("Welcome to Test Documentation"), "Index should contain title"); - assert!(index_content.contains("search-modal"), "Index should include search modal"); - assert!(index_content.contains("pagefind-search.js"), "Index should include search script"); - - let getting_started_content = fs::read_to_string(output_path.join("docs").join("getting-started.html"))?; - assert!(getting_started_content.contains("Getting Started"), "Getting started should contain title"); - assert!(getting_started_content.contains("Installation"), "Getting started should contain installation section"); - - // Verify search functionality files exist - if output_path.join("pagefind").join("pagefind.js").exists() { - let pagefind_js = fs::read_to_string(output_path.join("pagefind").join("pagefind.js"))?; - assert!(!pagefind_js.is_empty(), "pagefind.js should not be empty"); - } - - println!("✅ Full build pipeline test passed"); - Ok(()) -} - -#[tokio::test] -async fn test_build_with_custom_templates() -> Result<()> { - let temp_dir = TempDir::new()?; - let input_path = temp_dir.path().join("input"); - let output_path = temp_dir.path().join("output"); - - // Create input and templates directory - fs::create_dir_all(&input_path)?; - fs::create_dir_all(input_path.join("templates"))?; - - // Create custom header template - fs::write( - input_path.join("templates").join("header.html.tera"), - r#"
    -

    {{ config.book.title }}

    - -
    "#, - )?; - - // Create test content - fs::write( - input_path.join("test.md"), - "# Test Page\n\nThis tests custom templates.\n", - )?; - - // Run build with custom templates - let output = Command::new("cargo") - .args(&[ - "run", - "--", - "-i", - input_path.to_str().unwrap(), - "-o", - output_path.to_str().unwrap(), - ]) - .output()?; - - assert!(output.status.success(), "Build should succeed with custom templates"); - - // Verify custom template was used - let html_content = fs::read_to_string(output_path.join("test.html"))?; - assert!(html_content.contains("custom-header"), "Should use custom header template"); - assert!(html_content.contains("Custom search"), "Should include custom search text"); - - println!("✅ Custom templates test passed"); - Ok(()) -} - -#[tokio::test] -async fn test_build_error_handling() -> Result<()> { - let temp_dir = TempDir::new()?; - let nonexistent_input = temp_dir.path().join("nonexistent"); - let output_path = temp_dir.path().join("output"); - - // Try to build with nonexistent input directory - let output = Command::new("cargo") - .args(&[ - "run", - "--", - "-i", - nonexistent_input.to_str().unwrap(), - "-o", - output_path.to_str().unwrap(), - ]) - .output()?; - - // Should fail gracefully - assert!(!output.status.success(), "Should fail with nonexistent input directory"); - - let stderr = String::from_utf8_lossy(&output.stderr); - assert!(stderr.contains("error") || stderr.contains("Error"), "Should contain error message"); - - println!("✅ Error handling test passed"); - Ok(()) -} - -#[tokio::test] -async fn test_build_with_different_formats() -> Result<()> { - let temp_dir = TempDir::new()?; - let input_path = temp_dir.path().join("input"); - let output_path = temp_dir.path().join("output"); - - fs::create_dir_all(&input_path)?; - - // Create book.toml with GFM format - fs::write( - input_path.join("book.toml"), - r#"[book] -title = "Format Test" - -[markdown] -format = "gfm" -"#, - )?; - - // Create markdown with GFM features - fs::write( - input_path.join("gfm-test.md"), - r#"# GFM Features Test - -## Task Lists -- [x] Completed task -- [ ] Incomplete task - -## Tables -| Header 1 | Header 2 | -|----------|----------| -| Cell 1 | Cell 2 | -| Cell 3 | Cell 4 | - -## Strikethrough -~~This text is strikethrough~~ - -## Code blocks with syntax highlighting -```rust -fn main() { - println!("Hello, world!"); -} -``` -"#, - )?; - - // Run build - let output = Command::new("cargo") - .args(&[ - "run", - "--", - "-i", - input_path.to_str().unwrap(), - "-o", - output_path.to_str().unwrap(), - ]) - .output()?; - - assert!(output.status.success(), "Build should succeed with GFM format"); - - // Verify GFM features were processed - let html_content = fs::read_to_string(output_path.join("gfm-test.html"))?; - assert!(html_content.contains(""), "Should process tables"); - assert!(html_content.contains("checked"), "Should process task lists"); - assert!(html_content.contains(""), "Should process strikethrough"); - assert!(html_content.contains("rust"), "Should include language class"); - - println!("✅ Different formats test passed"); - Ok(()) -} - -#[tokio::test] -async fn test_watch_mode_preparation() -> Result<()> { - // This test verifies the setup for watch mode testing - // Actual watch mode testing would require more complex async handling - - let temp_dir = TempDir::new()?; - let input_path = temp_dir.path().join("input"); - - fs::create_dir_all(&input_path)?; - fs::write(input_path.join("test.md"), "# Test\n\nContent for watch test.\n")?; - - // Verify watch mode can be started (but don't actually run it in CI) - let help_output = Command::new("cargo") - .args(&["run", "--", "--help"]) - .output()?; - - let help_text = String::from_utf8_lossy(&help_output.stdout); - assert!(help_text.contains("--watch"), "Should support watch flag"); - assert!(help_text.contains("--serve"), "Should support serve flag"); - - println!("✅ Watch mode preparation test passed"); - Ok(()) -} \ No newline at end of file diff --git a/tests/e2e/server_test.rs b/tests/e2e/server_test.rs deleted file mode 100644 index 9a404b2..0000000 --- a/tests/e2e/server_test.rs +++ /dev/null @@ -1,308 +0,0 @@ -use anyhow::Result; -use std::fs; -use std::process::{Command, Child}; -use std::time::Duration; -use tempfile::TempDir; -use tokio::time::sleep; -use tokio; - -/// Test server startup and basic functionality -#[tokio::test] -async fn test_server_startup() -> Result<()> { - let temp_dir = TempDir::new()?; - let input_path = temp_dir.path().join("input"); - let output_path = temp_dir.path().join("output"); - - // Create test content - fs::create_dir_all(&input_path)?; - fs::write( - input_path.join("index.md"), - "# Server Test\n\nTesting server functionality.\n", - )?; - - // Build the site first - let build_output = Command::new("cargo") - .args(&[ - "run", - "--", - "-i", - input_path.to_str().unwrap(), - "-o", - output_path.to_str().unwrap(), - ]) - .output()?; - - assert!(build_output.status.success(), "Build should succeed"); - - // Test that server command is available - let help_output = Command::new("cargo") - .args(&["run", "--", "--help"]) - .output()?; - - let help_text = String::from_utf8_lossy(&help_output.stdout); - assert!(help_text.contains("--serve"), "Should support serve option"); - assert!(help_text.contains("--port"), "Should support port option"); - - println!("✅ Server startup test passed"); - Ok(()) -} - -/// Test server with custom port -#[tokio::test] -async fn test_server_custom_port() -> Result<()> { - let temp_dir = TempDir::new()?; - let input_path = temp_dir.path().join("input"); - let output_path = temp_dir.path().join("output"); - - // Create minimal test content - fs::create_dir_all(&input_path)?; - fs::write(input_path.join("test.md"), "# Port Test\n")?; - - // Build first - let build_output = Command::new("cargo") - .args(&[ - "run", - "--", - "-i", - input_path.to_str().unwrap(), - "-o", - output_path.to_str().unwrap(), - ]) - .output()?; - - assert!(build_output.status.success(), "Build should succeed"); - - // Test server help includes port configuration - let help_output = Command::new("cargo") - .args(&["run", "--", "--help"]) - .output()?; - - let help_text = String::from_utf8_lossy(&help_output.stdout); - assert!(help_text.contains("--port"), "Should document port option"); - assert!(help_text.contains("3000"), "Should show default port"); - - println!("✅ Custom port test passed"); - Ok(()) -} - -/// Test live reload WebSocket setup -#[tokio::test] -async fn test_live_reload_setup() -> Result<()> { - let temp_dir = TempDir::new()?; - let input_path = temp_dir.path().join("input"); - let output_path = temp_dir.path().join("output"); - - // Create test content with templates - fs::create_dir_all(&input_path)?; - fs::create_dir_all(input_path.join("src").join("templates"))?; - - fs::write( - input_path.join("index.md"), - "# Live Reload Test\n\nTesting live reload functionality.\n", - )?; - - // Build with watch enabled (preparation) - let build_output = Command::new("cargo") - .args(&[ - "run", - "--", - "-i", - input_path.to_str().unwrap(), - "-o", - output_path.to_str().unwrap(), - ]) - .output()?; - - assert!(build_output.status.success(), "Build should succeed"); - - // Check that live reload script is included in output - let index_html = fs::read_to_string(output_path.join("index.html"))?; - - // In watch mode, live reload script should be conditionally included - // We can't test actual WebSocket connection in unit tests, but we can verify - // the infrastructure is in place - - // Verify JavaScript files exist for live reload - assert!( - output_path.join("js").exists() || input_path.join("src").join("templates").join("js").exists(), - "JavaScript directory should exist for live reload" - ); - - println!("✅ Live reload setup test passed"); - Ok(()) -} - -/// Test search modal integration in server mode -#[tokio::test] -async fn test_search_modal_integration() -> Result<()> { - let temp_dir = TempDir::new()?; - let input_path = temp_dir.path().join("input"); - let output_path = temp_dir.path().join("output"); - - // Create test content with searchable terms - fs::create_dir_all(&input_path)?; - fs::write( - input_path.join("index.md"), - r#"# Search Integration Test - -This page tests search modal integration. - -## Searchable Content -- Installation guide -- Configuration options -- API reference -- Troubleshooting tips - -Use keyboard shortcuts to open search: -- Press `/` to open search -- Press `Cmd+K` or `Ctrl+K` to open search -"#, - )?; - - fs::write( - input_path.join("api.md"), - r#"# API Documentation - -Complete API reference for developers. - -## Endpoints -- GET /users - List users -- POST /users - Create user -- PUT /users/{id} - Update user -- DELETE /users/{id} - Delete user - -Search for specific endpoints using the search feature. -"#, - )?; - - // Build the site - let build_output = Command::new("cargo") - .args(&[ - "run", - "--", - "-i", - input_path.to_str().unwrap(), - "-o", - output_path.to_str().unwrap(), - ]) - .output()?; - - assert!(build_output.status.success(), "Build should succeed"); - - // Verify search components are included - let index_html = fs::read_to_string(output_path.join("index.html"))?; - assert!(index_html.contains("search-modal"), "Should include search modal component"); - assert!(index_html.contains("pagefind-search.js"), "Should include search script"); - assert!(index_html.contains("search-init.js"), "Should include search initialization"); - - // Verify search CSS is included - assert!(index_html.contains("search.css"), "Should include search styles"); - - // Check that search files exist - assert!(output_path.join("css").join("search.css").exists(), "Search CSS should exist"); - assert!(output_path.join("js").join("pagefind-search.js").exists(), "Search JS should exist"); - assert!(output_path.join("components").join("search-modal.js").exists(), "Search modal should exist"); - assert!(output_path.join("js").join("search-init.js").exists(), "Search init should exist"); - - // Verify Pagefind index was created for search functionality - assert!(output_path.join("pagefind").exists(), "Pagefind index should exist"); - - println!("✅ Search modal integration test passed"); - Ok(()) -} - -/// Test keyboard shortcuts setup -#[tokio::test] -async fn test_keyboard_shortcuts() -> Result<()> { - let temp_dir = TempDir::new()?; - let input_path = temp_dir.path().join("input"); - let output_path = temp_dir.path().join("output"); - - // Create test content - fs::create_dir_all(&input_path)?; - fs::write( - input_path.join("shortcuts.md"), - r#"# Keyboard Shortcuts - -This page documents available keyboard shortcuts. - -## Search Shortcuts -- `/` - Open search modal -- `Cmd+K` (Mac) or `Ctrl+K` (Windows/Linux) - Open search modal -- `Escape` - Close search modal -- `↑` and `↓` - Navigate search results -- `Enter` - Select search result -"#, - )?; - - // Build the site - let build_output = Command::new("cargo") - .args(&[ - "run", - "--", - "-i", - input_path.to_str().unwrap(), - "-o", - output_path.to_str().unwrap(), - ]) - .output()?; - - assert!(build_output.status.success(), "Build should succeed"); - - // Verify keyboard shortcut handling is in place - let shortcuts_html = fs::read_to_string(output_path.join("shortcuts.html"))?; - assert!(shortcuts_html.contains("search-init.js"), "Should include search initialization"); - - // Check search init script exists (contains keyboard handling) - let search_init_content = fs::read_to_string(output_path.join("js").join("search-init.js"))?; - assert!(search_init_content.contains("keydown"), "Should handle keydown events"); - assert!(search_init_content.contains("/"), "Should handle / key"); - - println!("✅ Keyboard shortcuts test passed"); - Ok(()) -} - -/// Test server error handling -#[tokio::test] -async fn test_server_error_handling() -> Result<()> { - // Test serving from nonexistent directory - let temp_dir = TempDir::new()?; - let nonexistent = temp_dir.path().join("nonexistent"); - - // This should fail gracefully when trying to serve nonexistent content - let output = Command::new("cargo") - .args(&[ - "run", - "--", - "-i", - nonexistent.to_str().unwrap(), - "-o", - temp_dir.path().join("output").to_str().unwrap(), - "--serve", - ]) - .output(); - - // We expect this to fail since the input doesn't exist - match output { - Ok(result) => { - if result.status.success() { - // If it succeeds unexpectedly, that's also a kind of test result - println!("Server handled nonexistent directory gracefully"); - } else { - // Expected failure - let stderr = String::from_utf8_lossy(&result.stderr); - assert!( - stderr.contains("error") || stderr.contains("Error") || stderr.contains("No such file"), - "Should provide meaningful error message" - ); - } - } - Err(_) => { - // Command execution failed, which is also acceptable for this test - println!("Command execution failed as expected for nonexistent directory"); - } - } - - println!("✅ Server error handling test passed"); - Ok(()) -} \ No newline at end of file diff --git a/tests/frontend/README.md b/tests/frontend/README.md deleted file mode 100644 index 577969f..0000000 --- a/tests/frontend/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# Frontend Tests - -JavaScript/browser tests for search functionality. - -## Test Files -- `search_test.js` - Main search functionality tests -- `search_modal_test.js` - Search modal UI tests -- `search_results_test.js` - Search results display tests - -## Running Tests -```bash -# Install test dependencies (if using Node.js test runner) -npm install --save-dev jest - -# Run tests -npm test -``` \ No newline at end of file diff --git a/tests/frontend/search_test.js b/tests/frontend/search_test.js deleted file mode 100644 index e989cef..0000000 --- a/tests/frontend/search_test.js +++ /dev/null @@ -1,448 +0,0 @@ -/** - * Frontend Search Tests - * Tests for Pagefind search functionality in the browser - */ - -// Mock Pagefind for testing -const mockPagefind = { - init: jest.fn().mockResolvedValue(undefined), - options: jest.fn().mockResolvedValue(undefined), - search: jest.fn(), - preload: jest.fn().mockResolvedValue(undefined), -}; - -// Mock search results -const mockSearchResults = { - results: [ - { - id: '1', - score: 0.95, - data: jest.fn().mockResolvedValue({ - url: '/docs/getting-started.html', - meta: { title: 'Getting Started' }, - excerpt: 'This guide will help you get started quickly...', - content: 'Full content here', - sub_results: [] - }) - }, - { - id: '2', - score: 0.87, - data: jest.fn().mockResolvedValue({ - url: '/docs/advanced.html', - meta: { title: 'Advanced Topics' }, - excerpt: 'Learn about advanced configuration options...', - content: 'Advanced content here', - sub_results: [] - }) - } - ], - unfilteredResultCount: 2 -}; - -// Mock DOM environment -document.body.innerHTML = ` -
    - - -
    -`; - -describe('PagefindSearch', () => { - let PagefindSearch; - let searchInstance; - - beforeAll(async () => { - // Mock dynamic import - global.import = jest.fn().mockResolvedValue(mockPagefind); - - // Import our search class - const module = await import('../../src/templates/js/pagefind-search.js'); - PagefindSearch = module.default || window.PagefindSearch; - }); - - beforeEach(() => { - searchInstance = new PagefindSearch({ - bundlePath: '/pagefind/', - debounceDelay: 50, // Faster for tests - minQueryLength: 2 - }); - - // Reset mocks - jest.clearAllMocks(); - mockPagefind.search.mockResolvedValue(mockSearchResults); - - // Clear localStorage - localStorage.clear(); - }); - - afterEach(() => { - if (searchInstance) { - searchInstance.destroy(); - } - }); - - describe('Initialization', () => { - test('should initialize with default options', () => { - const search = new PagefindSearch(); - expect(search.options.bundlePath).toBe('/pagefind/'); - expect(search.options.debounceDelay).toBe(300); - expect(search.options.minQueryLength).toBe(2); - }); - - test('should initialize with custom options', () => { - const options = { - bundlePath: '/custom-pagefind/', - debounceDelay: 100, - minQueryLength: 1, - maxResults: 5 - }; - - const search = new PagefindSearch(options); - expect(search.options.bundlePath).toBe('/custom-pagefind/'); - expect(search.options.debounceDelay).toBe(100); - expect(search.options.minQueryLength).toBe(1); - expect(search.options.maxResults).toBe(5); - }); - - test('should initialize pagefind library', async () => { - await searchInstance.init(); - - expect(global.import).toHaveBeenCalledWith('/pagefind/pagefind.js'); - expect(mockPagefind.options).toHaveBeenCalledWith({ - bundlePath: '/pagefind/', - baseUrl: '/' - }); - expect(mockPagefind.init).toHaveBeenCalled(); - expect(searchInstance.isInitialized).toBe(true); - }); - }); - - describe('Search functionality', () => { - beforeEach(async () => { - await searchInstance.init(); - }); - - test('should perform search and return results', async () => { - const callback = jest.fn(); - - await searchInstance.search('getting started', callback); - - // Wait for debounce - await new Promise(resolve => setTimeout(resolve, 60)); - - expect(mockPagefind.preload).toHaveBeenCalledWith('getting started'); - expect(mockPagefind.search).toHaveBeenCalledWith('getting started'); - expect(callback).toHaveBeenCalledWith({ - query: 'getting started', - results: expect.arrayContaining([ - expect.objectContaining({ - url: '/docs/getting-started.html', - title: 'Getting Started', - excerpt: 'This guide will help you get started quickly...' - }) - ]), - totalResults: 2, - unfilteredResultCount: 2 - }); - }); - - test('should handle search errors gracefully', async () => { - mockPagefind.search.mockRejectedValue(new Error('Search failed')); - - const callback = jest.fn(); - await searchInstance.search('test query', callback); - - // Wait for debounce - await new Promise(resolve => setTimeout(resolve, 60)); - - expect(callback).toHaveBeenCalledWith([], expect.any(Error)); - }); - - test('should not search for queries below minimum length', async () => { - const callback = jest.fn(); - - await searchInstance.search('a', callback); - - expect(callback).toHaveBeenCalledWith([]); - expect(mockPagefind.search).not.toHaveBeenCalled(); - }); - - test('should debounce multiple rapid searches', async () => { - const callback = jest.fn(); - - // Rapid succession searches - searchInstance.search('test1', callback); - searchInstance.search('test2', callback); - searchInstance.search('test3', callback); - - // Wait for debounce - await new Promise(resolve => setTimeout(resolve, 60)); - - // Should only search for the last query - expect(mockPagefind.search).toHaveBeenCalledTimes(1); - expect(mockPagefind.search).toHaveBeenCalledWith('test3'); - }); - }); - - describe('URL handling', () => { - test('should extract query from URL parameters', () => { - // Mock URL with search parameter - delete window.location; - window.location = { search: '?q=test%20query&other=value' }; - - const query = searchInstance.handleUrlParams(); - expect(query).toBe('test query'); - }); - - test('should return null for URLs without query parameter', () => { - delete window.location; - window.location = { search: '?other=value' }; - - const query = searchInstance.handleUrlParams(); - expect(query).toBeNull(); - }); - - test('should update URL with search query', () => { - // Mock URL and history - delete window.location; - window.location = new URL('https://example.com/'); - window.history = { replaceState: jest.fn() }; - - searchInstance.updateUrl('test query'); - - expect(window.history.replaceState).toHaveBeenCalledWith( - {}, - '', - expect.stringContaining('q=test%20query') - ); - }); - }); - - describe('Search history', () => { - test('should save and load search history', () => { - searchInstance.addToSearchHistory('first query'); - searchInstance.addToSearchHistory('second query'); - - const history = searchInstance.getSearchHistory(); - expect(history).toEqual(['second query', 'first query']); - }); - - test('should persist search history in localStorage', () => { - searchInstance.addToSearchHistory('persistent query'); - - // Create new instance to test persistence - const newInstance = new PagefindSearch(); - const history = newInstance.getSearchHistory(); - - expect(history).toContain('persistent query'); - }); - - test('should limit search history size', () => { - // Add more than 10 items - for (let i = 0; i < 15; i++) { - searchInstance.addToSearchHistory(`query ${i}`); - } - - const history = searchInstance.getSearchHistory(); - expect(history.length).toBe(10); - expect(history[0]).toBe('query 14'); // Most recent - }); - - test('should clear search history', () => { - searchInstance.addToSearchHistory('query to clear'); - searchInstance.clearSearchHistory(); - - const history = searchInstance.getSearchHistory(); - expect(history).toEqual([]); - }); - }); - - describe('Text highlighting', () => { - test('should highlight search terms in text', () => { - const text = 'This is a test document with some content'; - const query = 'test content'; - - const highlighted = searchInstance.highlightTerms(text, query); - - expect(highlighted).toContain('test'); - expect(highlighted).toContain('content'); - }); - - test('should handle empty query gracefully', () => { - const text = 'Some text'; - const highlighted = searchInstance.highlightTerms(text, ''); - - expect(highlighted).toBe(text); - }); - - test('should escape regex special characters', () => { - const escaped = searchInstance.escapeRegex('test.*+?^${}()|[]\\'); - expect(escaped).toBe('test\\.\\*\\+\\?\\^\\$\\{\\}\\(\\)\\|\\[\\]\\\\'); - }); - }); -}); - -describe('SearchModal', () => { - let searchModal; - - beforeEach(() => { - // Create search modal element - document.body.innerHTML = ` - - - `; - - searchModal = document.querySelector('search-modal'); - - // Mock PagefindSearch - window.PagefindSearch = class MockPagefindSearch { - constructor(options) { - this.options = options; - this.isInitialized = false; - } - - async init() { - this.isInitialized = true; - } - - async search(query, callback) { - setTimeout(() => { - callback({ - query, - results: mockSearchResults.results.map(r => ({ - url: '/test.html', - title: 'Test Result', - excerpt: 'Test excerpt', - score: 0.9 - })), - totalResults: 1 - }); - }, 10); - } - - handleUrlParams() { - return null; - } - - updateUrl(query) {} - - highlightTerms(text, query) { - return text.replace(new RegExp(`(${query})`, 'gi'), '$1'); - } - - destroy() {} - }; - }); - - afterEach(() => { - document.body.innerHTML = ''; - }); - - test('should initialize and render modal structure', async () => { - // Trigger connected callback - searchModal.connectedCallback(); - - expect(searchModal.querySelector('.search-modal-overlay')).toBeTruthy(); - expect(searchModal.querySelector('.search-input')).toBeTruthy(); - expect(searchModal.querySelector('.search-results')).toBeTruthy(); - expect(searchModal.querySelector('.search-close-btn')).toBeTruthy(); - }); - - test('should open and close modal', async () => { - searchModal.connectedCallback(); - - // Test opening - searchModal.open(); - expect(searchModal.isOpen).toBe(true); - expect(searchModal.overlay.style.display).toBe('flex'); - - // Test closing - searchModal.close(); - expect(searchModal.isOpen).toBe(false); - expect(searchModal.overlay.style.display).toBe('none'); - }); - - test('should handle keyboard shortcuts', async () => { - searchModal.connectedCallback(); - - // Test '/' key - const slashEvent = new KeyboardEvent('keydown', { key: '/' }); - document.dispatchEvent(slashEvent); - - expect(searchModal.isOpen).toBe(true); - - // Test Escape key - const escapeEvent = new KeyboardEvent('keydown', { key: 'Escape' }); - document.dispatchEvent(escapeEvent); - - expect(searchModal.isOpen).toBe(false); - }); - - test('should perform search and display results', async () => { - searchModal.connectedCallback(); - await searchModal.initializeSearch(); - - searchModal.performSearch('test query'); - - // Wait for async search - await new Promise(resolve => setTimeout(resolve, 50)); - - const results = searchModal.querySelectorAll('.search-result-item'); - expect(results.length).toBeGreaterThan(0); - }); - - test('should handle empty search results', async () => { - searchModal.connectedCallback(); - - // Mock empty results - window.PagefindSearch = class MockPagefindSearch { - async search(query, callback) { - callback({ query, results: [], totalResults: 0 }); - } - handleUrlParams() { return null; } - updateUrl() {} - destroy() {} - }; - - await searchModal.initializeSearch(); - searchModal.performSearch('nonexistent'); - - await new Promise(resolve => setTimeout(resolve, 10)); - - expect(searchModal.emptyElement.style.display).toBe('flex'); - }); -}); - -describe('Search Integration', () => { - test('should connect header input with search modal', () => { - document.body.innerHTML = ` - - - `; - - const headerInput = document.getElementById('header-search-input'); - const searchModal = document.querySelector('search-modal'); - - // Mock modal methods - searchModal.open = jest.fn(); - searchModal.triggerSearch = jest.fn(); - - // Simulate search initialization script - headerInput.addEventListener('focus', () => searchModal.open()); - headerInput.addEventListener('input', (e) => { - if (e.target.value.trim()) { - searchModal.triggerSearch(e.target.value); - } - }); - - // Test focus opens modal - headerInput.dispatchEvent(new Event('focus')); - expect(searchModal.open).toHaveBeenCalled(); - - // Test input triggers search - headerInput.value = 'test query'; - headerInput.dispatchEvent(new Event('input')); - expect(searchModal.triggerSearch).toHaveBeenCalledWith('test query'); - }); -}); \ No newline at end of file diff --git a/tests/frontend/setup.js b/tests/frontend/setup.js deleted file mode 100644 index f8bcfbc..0000000 --- a/tests/frontend/setup.js +++ /dev/null @@ -1,113 +0,0 @@ -/** - * Test setup for frontend tests - */ - -// Mock localStorage -const localStorageMock = { - getItem: jest.fn(), - setItem: jest.fn(), - removeItem: jest.fn(), - clear: jest.fn(), -}; -global.localStorage = localStorageMock; - -// Mock Web APIs that might not be available in jsdom -global.ResizeObserver = jest.fn().mockImplementation(() => ({ - observe: jest.fn(), - unobserve: jest.fn(), - disconnect: jest.fn(), -})); - -// Mock requestAnimationFrame -global.requestAnimationFrame = jest.fn(cb => setTimeout(cb, 0)); -global.cancelAnimationFrame = jest.fn(); - -// Mock URL constructor -global.URL = URL; - -// Mock console methods to reduce noise in tests -global.console = { - ...console, - warn: jest.fn(), - error: jest.fn(), - log: jest.fn(), -}; - -// Mock custom elements -global.customElements = { - define: jest.fn(), - get: jest.fn(), - upgrade: jest.fn(), - whenDefined: jest.fn(() => Promise.resolve()), -}; - -// Mock HTMLElement for custom elements -global.HTMLElement = class MockHTMLElement { - constructor() { - this.children = []; - this.innerHTML = ''; - this.textContent = ''; - this.style = {}; - this.classList = { - add: jest.fn(), - remove: jest.fn(), - contains: jest.fn(), - toggle: jest.fn(), - }; - } - - querySelector(selector) { - return null; - } - - querySelectorAll(selector) { - return []; - } - - appendChild(child) { - this.children.push(child); - } - - removeChild(child) { - const index = this.children.indexOf(child); - if (index > -1) { - this.children.splice(index, 1); - } - } - - addEventListener(event, handler) { - // Mock implementation - } - - removeEventListener(event, handler) { - // Mock implementation - } - - setAttribute(name, value) { - this[name] = value; - } - - getAttribute(name) { - return this[name]; - } - - focus() { - // Mock focus - } - - scrollIntoView() { - // Mock scroll - } -}; - -// Setup DOM environment -beforeEach(() => { - document.head.innerHTML = ''; - document.body.innerHTML = ''; - - // Reset localStorage mock - localStorageMock.getItem.mockClear(); - localStorageMock.setItem.mockClear(); - localStorageMock.removeItem.mockClear(); - localStorageMock.clear.mockClear(); -}); \ No newline at end of file diff --git a/tests/integration/mod.rs b/tests/integration/mod.rs deleted file mode 100644 index fcfc241..0000000 --- a/tests/integration/mod.rs +++ /dev/null @@ -1,4 +0,0 @@ -// Integration test module for md-book -// Tests real file system operations and full build process - -pub mod pagefind_test; \ No newline at end of file diff --git a/tests/integration/pagefind_test.rs b/tests/integration/pagefind_test.rs deleted file mode 100644 index 2125fa5..0000000 --- a/tests/integration/pagefind_test.rs +++ /dev/null @@ -1,301 +0,0 @@ -use anyhow::Result; -use std::fs; -use std::path::PathBuf; -use tempfile::TempDir; -use md_book::{PagefindBuilder, PagefindError}; -use tokio; - -/// Create a temporary directory with sample markdown files for testing -async fn create_test_site(temp_dir: &TempDir) -> Result { - let site_path = temp_dir.path().to_path_buf(); - - // Create directory structure - fs::create_dir_all(site_path.join("docs"))?; - fs::create_dir_all(site_path.join("guides"))?; - - // Create sample markdown files - fs::write( - site_path.join("index.html"), - r#" - -Home Page - -

    Welcome to the Documentation

    -

    This is the home page with searchable content.

    - -"#, - )?; - - fs::write( - site_path.join("docs").join("getting-started.html"), - r#" - -Getting Started - -

    Getting Started Guide

    -

    This guide will help you get started quickly with our documentation system.

    -

    Installation

    -

    Follow these steps to install the system.

    - -"#, - )?; - - fs::write( - site_path.join("docs").join("advanced.html"), - r#" - -Advanced Topics - -

    Advanced Configuration

    -

    Learn about advanced configuration options and customization techniques.

    -

    Performance Tuning

    -

    Optimize your setup for better performance.

    - -"#, - )?; - - fs::write( - site_path.join("guides").join("tutorial.html"), - r#" - -Tutorial - -

    Step-by-Step Tutorial

    -

    A comprehensive tutorial covering all features.

    -
      -
    • Basic setup
    • -
    • Configuration options
    • -
    • Advanced features
    • -
    - -"#, - )?; - - Ok(site_path) -} - -/// Create a test configuration file -fn create_test_config(temp_dir: &TempDir) -> Result { - let config_path = temp_dir.path().join("pagefind.toml"); - - fs::write( - &config_path, - r#"[pagefind] -root_selector = "body" -exclude_selectors = ["nav", "footer"] -glob = "**/*.html" -"#, - )?; - - Ok(config_path) -} - -#[tokio::test] -async fn test_pagefind_builder_initialization() { - let temp_dir = TempDir::new().expect("Failed to create temp directory"); - let site_path = create_test_site(&temp_dir).await.expect("Failed to create test site"); - - // Test successful initialization - let builder = PagefindBuilder::new(site_path.clone()).await; - assert!(builder.is_ok(), "PagefindBuilder should initialize successfully"); - - let builder = builder.unwrap(); - assert_eq!(builder.source_path(), Some(&site_path)); -} - -#[tokio::test] -async fn test_pagefind_builder_invalid_path() { - let invalid_path = PathBuf::from("/nonexistent/path/that/should/not/exist"); - - let result = PagefindBuilder::new(invalid_path.clone()).await; - assert!(result.is_err(), "Should fail with invalid path"); - - match result.unwrap_err() { - PagefindError::SourcePathNotFound { path } => { - assert_eq!(path, invalid_path); - } - other => panic!("Expected SourcePathNotFound error, got: {:?}", other), - } -} - -#[tokio::test] -async fn test_pagefind_with_config_file() { - let temp_dir = TempDir::new().expect("Failed to create temp directory"); - let site_path = create_test_site(&temp_dir).await.expect("Failed to create test site"); - - // Create config file in the working directory - let _config_path = create_test_config(&temp_dir).expect("Failed to create config"); - - // Change to temp directory so config file is found - let original_dir = std::env::current_dir().expect("Failed to get current dir"); - std::env::set_current_dir(temp_dir.path()).expect("Failed to change dir"); - - let result = { - let builder = PagefindBuilder::new(site_path).await; - builder - }; - - // Restore original directory - std::env::set_current_dir(original_dir).expect("Failed to restore dir"); - - assert!(result.is_ok(), "Should initialize with config file"); -} - -#[tokio::test] -async fn test_multiple_config_files_error() { - let temp_dir = TempDir::new().expect("Failed to create temp directory"); - let site_path = create_test_site(&temp_dir).await.expect("Failed to create test site"); - - // Create multiple config files - fs::write(temp_dir.path().join("pagefind.toml"), "# TOML config").expect("Failed to write TOML"); - fs::write(temp_dir.path().join("pagefind.json"), "{}").expect("Failed to write JSON"); - - // Change to temp directory - let original_dir = std::env::current_dir().expect("Failed to get current dir"); - std::env::set_current_dir(temp_dir.path()).expect("Failed to change dir"); - - let result = { - PagefindBuilder::new(site_path).await - }; - - // Restore directory - std::env::set_current_dir(original_dir).expect("Failed to restore dir"); - - assert!(result.is_err(), "Should fail with multiple config files"); - - match result.unwrap_err() { - PagefindError::MultipleConfigs { files } => { - assert!(files.len() >= 2, "Should detect multiple config files"); - assert!(files.contains(&"pagefind.toml".to_string())); - assert!(files.contains(&"pagefind.json".to_string())); - } - other => panic!("Expected MultipleConfigs error, got: {:?}", other), - } -} - -#[tokio::test] -async fn test_pagefind_build_process() { - let temp_dir = TempDir::new().expect("Failed to create temp directory"); - let site_path = create_test_site(&temp_dir).await.expect("Failed to create test site"); - - let builder = PagefindBuilder::new(site_path.clone()).await - .expect("Failed to create PagefindBuilder"); - - // This test might fail if the pagefind library has issues, - // but we want to test our error handling - let build_result = builder.build().await; - - // The build might succeed or fail depending on the environment - // We're mainly testing that our error handling works - match build_result { - Ok(()) => { - // Build succeeded - check that pagefind directory was created - let pagefind_dir = site_path.join("pagefind"); - assert!( - pagefind_dir.exists(), - "Pagefind directory should exist after successful build" - ); - - // Check for expected files - assert!( - pagefind_dir.join("pagefind.js").exists(), - "pagefind.js should be generated" - ); - } - Err(PagefindError::IndexingFailed { message }) => { - // Build failed with indexing error - this is acceptable for testing - println!("Build failed as expected in test environment: {}", message); - } - Err(other) => { - panic!("Unexpected error type: {:?}", other); - } - } -} - -#[tokio::test] -async fn test_builder_configuration_access() { - let temp_dir = TempDir::new().expect("Failed to create temp directory"); - let site_path = create_test_site(&temp_dir).await.expect("Failed to create test site"); - - let builder = PagefindBuilder::new(site_path.clone()).await - .expect("Failed to create PagefindBuilder"); - - // Test configuration access - let config = builder.config(); - assert!(config.source.is_some(), "Source should be set in config"); - assert_eq!(config.source.as_ref().unwrap(), &site_path); -} - -#[tokio::test] -async fn test_error_display() { - // Test that our custom errors display properly - let invalid_path = PathBuf::from("/invalid/path"); - let error = PagefindError::SourcePathNotFound { path: invalid_path.clone() }; - - let error_string = error.to_string(); - assert!(error_string.contains("Source path does not exist")); - assert!(error_string.contains("/invalid/path")); - - let multi_config_error = PagefindError::MultipleConfigs { - files: vec!["config1.toml".to_string(), "config2.json".to_string()], - }; - - let multi_error_string = multi_config_error.to_string(); - assert!(multi_error_string.contains("Multiple config files found")); - assert!(multi_error_string.contains("config1.toml")); - assert!(multi_error_string.contains("config2.json")); -} - -#[tokio::test] -async fn test_concurrent_builds() { - let temp_dir = TempDir::new().expect("Failed to create temp directory"); - let site_path = create_test_site(&temp_dir).await.expect("Failed to create test site"); - - // Test that multiple PagefindBuilder instances can be created concurrently - let builders = futures::future::join_all((0..3).map(|_| { - let site_path = site_path.clone(); - async move { - PagefindBuilder::new(site_path).await - } - })).await; - - // All builders should initialize successfully - for (i, builder) in builders.into_iter().enumerate() { - assert!(builder.is_ok(), "Builder {} should initialize successfully", i); - } -} - -#[tokio::test] -async fn test_environment_variable_config() { - let temp_dir = TempDir::new().expect("Failed to create temp directory"); - let site_path = create_test_site(&temp_dir).await.expect("Failed to create test site"); - - // Set environment variable for Pagefind config - std::env::set_var("PAGEFIND_VERBOSE", "true"); - - let builder = PagefindBuilder::new(site_path).await; - - // Clean up environment variable - std::env::remove_var("PAGEFIND_VERBOSE"); - - assert!(builder.is_ok(), "Should initialize with environment variables"); -} - -// Performance test - measure initialization time -#[tokio::test] -async fn test_initialization_performance() { - let temp_dir = TempDir::new().expect("Failed to create temp directory"); - let site_path = create_test_site(&temp_dir).await.expect("Failed to create test site"); - - let start = std::time::Instant::now(); - let _builder = PagefindBuilder::new(site_path).await - .expect("Failed to create PagefindBuilder"); - let duration = start.elapsed(); - - // Initialization should be fast (under 100ms for this simple case) - assert!( - duration.as_millis() < 100, - "Initialization took {}ms, expected <100ms", - duration.as_millis() - ); -} \ No newline at end of file diff --git a/tests/wasm/mod.rs b/tests/wasm/mod.rs deleted file mode 100644 index a231f9c..0000000 --- a/tests/wasm/mod.rs +++ /dev/null @@ -1,5 +0,0 @@ -// WASM-specific tests for md-book -// Tests WebAssembly compilation and browser compatibility - -#[cfg(target_arch = "wasm32")] -pub mod pagefind_wasm_test; \ No newline at end of file diff --git a/tests/wasm/pagefind_wasm_test.rs b/tests/wasm/pagefind_wasm_test.rs deleted file mode 100644 index 1667786..0000000 --- a/tests/wasm/pagefind_wasm_test.rs +++ /dev/null @@ -1,106 +0,0 @@ -#[cfg(target_arch = "wasm32")] -mod wasm_tests { - use wasm_bindgen_test::*; - use md_book::{PagefindBuilder, PagefindError}; - use std::path::PathBuf; - - wasm_bindgen_test_configure!(run_in_browser); - - #[wasm_bindgen_test] - async fn test_wasm_pagefind_error() { - // Test that WASM-specific error handling works - let temp_path = PathBuf::from("/tmp/test"); - - // This should fail since the path doesn't exist - let result = PagefindBuilder::new(temp_path).await; - assert!(result.is_err()); - - match result.unwrap_err() { - PagefindError::SourcePathNotFound { .. } => { - // Expected error type - } - _ => panic!("Expected SourcePathNotFound error"), - } - } - - #[wasm_bindgen_test] - fn test_wasm_error_display() { - let error = PagefindError::WasmError { - message: "Test WASM error".to_string(), - }; - - let error_string = error.to_string(); - assert!(error_string.contains("WASM operation failed")); - assert!(error_string.contains("Test WASM error")); - } - - #[wasm_bindgen_test] - async fn test_wasm_build_method() { - // Create a mock builder (this will fail at path validation) - // but we can test the WASM-specific method exists - let temp_path = PathBuf::from("/"); - - if let Ok(builder) = PagefindBuilder::new(temp_path).await { - let wasm_result = builder.build_wasm().await; - - // Should return WASM error since it's not implemented - assert!(wasm_result.is_err()); - match wasm_result.unwrap_err() { - PagefindError::WasmError { message } => { - assert!(message.contains("not yet implemented")); - } - _ => panic!("Expected WasmError"), - } - } - } - - // Test WASM-specific compilation features - #[wasm_bindgen_test] - fn test_wasm_feature_flags() { - // This test ensures WASM-specific code compiles - #[cfg(target_arch = "wasm32")] - { - // WASM-specific assertions - assert!(true, "WASM compilation successful"); - } - - #[cfg(not(target_arch = "wasm32"))] - { - panic!("This test should only run on WASM"); - } - } - - // Test that jiff works in WASM environment - #[wasm_bindgen_test] - fn test_jiff_wasm_compatibility() { - use jiff::Zoned; - - // Test that jiff's time functions work in WASM - let now = Zoned::now(); - assert!(now.year() > 2020, "Should get reasonable year"); - } -} - -// Native-only tests for comparison -#[cfg(not(target_arch = "wasm32"))] -mod native_tests { - use super::*; - - #[tokio::test] - async fn test_native_vs_wasm_feature_parity() { - // Test that the same API works on native - use md_book::{PagefindBuilder, PagefindError}; - use std::path::PathBuf; - - let invalid_path = PathBuf::from("/nonexistent/path"); - let result = PagefindBuilder::new(invalid_path.clone()).await; - - assert!(result.is_err()); - match result.unwrap_err() { - PagefindError::SourcePathNotFound { path } => { - assert_eq!(path, invalid_path); - } - _ => panic!("Expected SourcePathNotFound error"), - } - } -} \ No newline at end of file diff --git a/worker/src/index.js b/worker/src/index.js new file mode 100644 index 0000000..354f35e --- /dev/null +++ b/worker/src/index.js @@ -0,0 +1,208 @@ +/** + * Cloudflare Worker for MD-Book + * Provides API endpoints, redirects, and edge functions for the documentation site + */ + +export default { + async fetch(request, env, ctx) { + const url = new URL(request.url); + const { pathname } = url; + + // Handle API routes + if (pathname.startsWith('/api/')) { + return handleApi(request, env, pathname); + } + + // Handle redirects and legacy URLs + if (pathname.startsWith('/legacy/') || pathname.startsWith('/old/')) { + return handleRedirects(pathname); + } + + // Add security headers to all responses + const response = await env.ASSETS.fetch(request); + return addSecurityHeaders(response); + }, +}; + +/** + * Handle API endpoints + */ +async function handleApi(request, env, pathname) { + const apiPath = pathname.replace('/api', ''); + + switch (apiPath) { + case '/health': + return new Response(JSON.stringify({ + status: 'ok', + timestamp: new Date().toISOString(), + version: '1.0.0' + }), { + headers: { 'Content-Type': 'application/json' } + }); + + case '/search/suggestions': + // Enhanced search suggestions using the search index + return handleSearchSuggestions(request, env); + + case '/analytics/event': + // Track custom analytics events + if (request.method === 'POST') { + return handleAnalyticsEvent(request, env); + } + return new Response('Method not allowed', { status: 405 }); + + case '/feedback': + // Handle feedback submissions + if (request.method === 'POST') { + return handleFeedback(request, env); + } + return new Response('Method not allowed', { status: 405 }); + + default: + return new Response('API endpoint not found', { status: 404 }); + } +} + +/** + * Handle search suggestions + */ +async function handleSearchSuggestions(request, env) { + const url = new URL(request.url); + const query = url.searchParams.get('q'); + + if (!query || query.length < 2) { + return new Response(JSON.stringify({ suggestions: [] }), { + headers: { + 'Content-Type': 'application/json', + 'Cache-Control': 'public, max-age=300' + } + }); + } + + // This would integrate with your search index + // For now, return mock suggestions + const suggestions = [ + 'getting started', + 'configuration', + 'deployment', + 'features', + 'api reference' + ].filter(s => s.toLowerCase().includes(query.toLowerCase())); + + return new Response(JSON.stringify({ + query, + suggestions: suggestions.slice(0, 5) + }), { + headers: { + 'Content-Type': 'application/json', + 'Cache-Control': 'public, max-age=300' + } + }); +} + +/** + * Handle analytics events + */ +async function handleAnalyticsEvent(request, env) { + try { + const data = await request.json(); + + // Validate event data + if (!data.event || !data.page) { + return new Response('Invalid event data', { status: 400 }); + } + + // Store in KV or send to external analytics service + // For now, just log and return success + console.log('Analytics event:', data); + + return new Response(JSON.stringify({ success: true }), { + headers: { 'Content-Type': 'application/json' } + }); + } catch (error) { + return new Response('Invalid JSON', { status: 400 }); + } +} + +/** + * Handle feedback submissions + */ +async function handleFeedback(request, env) { + try { + const data = await request.json(); + + // Validate feedback data + if (!data.message || !data.page) { + return new Response('Message and page are required', { status: 400 }); + } + + // Store feedback in KV or send to external service + const feedbackId = crypto.randomUUID(); + + // You could store this in Cloudflare KV: + // await env.FEEDBACK.put(feedbackId, JSON.stringify({ + // ...data, + // timestamp: new Date().toISOString(), + // ip: request.headers.get('CF-Connecting-IP') + // })); + + console.log('Feedback received:', { id: feedbackId, ...data }); + + return new Response(JSON.stringify({ + success: true, + id: feedbackId + }), { + headers: { 'Content-Type': 'application/json' } + }); + } catch (error) { + return new Response('Invalid JSON', { status: 400 }); + } +} + +/** + * Handle URL redirects for legacy or moved content + */ +function handleRedirects(pathname) { + const redirectMap = { + '/legacy/docs': '/introduction', + '/old/getting-started': '/getting-started', + '/docs/api': '/api-reference', + }; + + const newPath = redirectMap[pathname]; + if (newPath) { + return Response.redirect(newPath, 301); + } + + return new Response('Not found', { status: 404 }); +} + +/** + * Add security headers to responses + */ +function addSecurityHeaders(response) { + const newHeaders = new Headers(response.headers); + + // Security headers + newHeaders.set('X-Content-Type-Options', 'nosniff'); + newHeaders.set('X-Frame-Options', 'DENY'); + newHeaders.set('X-XSS-Protection', '1; mode=block'); + newHeaders.set('Referrer-Policy', 'strict-origin-when-cross-origin'); + newHeaders.set('Permissions-Policy', 'camera=(), microphone=(), geolocation=()'); + + // Content Security Policy for documentation sites + newHeaders.set('Content-Security-Policy', + "default-src 'self'; " + + "script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdnjs.cloudflare.com; " + + "style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; " + + "font-src 'self' https://fonts.gstatic.com; " + + "img-src 'self' data: https:; " + + "connect-src 'self';" + ); + + return new Response(response.body, { + status: response.status, + statusText: response.statusText, + headers: newHeaders, + }); +} \ No newline at end of file diff --git a/worker/wrangler.toml b/worker/wrangler.toml new file mode 100644 index 0000000..305ca02 --- /dev/null +++ b/worker/wrangler.toml @@ -0,0 +1,40 @@ +name = "md-book-worker" +main = "src/index.js" +compatibility_date = "2024-09-06" +compatibility_flags = ["nodejs_compat"] + +# Worker routing - only handle specific paths +routes = [ + { pattern = "md-book.pages.dev/api/*", zone_name = "pages.dev" }, + { pattern = "md-book.pages.dev/legacy/*", zone_name = "pages.dev" }, + { pattern = "md-book.pages.dev/old/*", zone_name = "pages.dev" } +] + +[env.production] +name = "md-book-worker" + +[env.staging] +name = "md-book-worker-staging" + +# KV namespaces for storing data +# [[kv_namespaces]] +# binding = "FEEDBACK" +# id = "your-kv-namespace-id" +# preview_id = "your-preview-kv-namespace-id" + +# D1 Database for more complex data storage +# [[d1_databases]] +# binding = "DB" +# database_name = "md-book-db" +# database_id = "your-d1-database-id" + +# Environment variables +[vars] +ENVIRONMENT = "production" + +[env.staging.vars] +ENVIRONMENT = "staging" + +# Limits and resources +[limits] +cpu_ms = 50 # 50ms CPU time limit for API endpoints \ No newline at end of file diff --git a/wrangler.toml b/wrangler.toml new file mode 100644 index 0000000..430b359 --- /dev/null +++ b/wrangler.toml @@ -0,0 +1,73 @@ +name = "md-book" +compatibility_date = "2024-09-06" + +[env.production] +name = "md-book" + +[env.staging] +name = "md-book-staging" + +# Pages configuration +[pages] +# Output directory from the Rust build process +build_output_dir = "dist" +# Build command will be handled in GitHub Actions +build_command = "" + +# Environment variables for Cloudflare Pages +[vars] +NODE_VERSION = "20" +RUST_VERSION = "1.70.0" + +# Custom domains (optional - configure in Cloudflare dashboard) +# [pages.custom_domains] +# production = "your-domain.com" +# staging = "staging.your-domain.com" + +# Headers for security and optimization +[[pages.headers]] +for = "/*" +[pages.headers.values] +X-Content-Type-Options = "nosniff" +X-Frame-Options = "DENY" +X-XSS-Protection = "1; mode=block" +Referrer-Policy = "strict-origin-when-cross-origin" +Permissions-Policy = "camera=(), microphone=(), geolocation=()" + +# Cache control for static assets +[[pages.headers]] +for = "/css/*" +[pages.headers.values] +Cache-Control = "public, max-age=31536000, immutable" + +[[pages.headers]] +for = "/js/*" +[pages.headers.values] +Cache-Control = "public, max-age=31536000, immutable" + +[[pages.headers]] +for = "/img/*" +[pages.headers.values] +Cache-Control = "public, max-age=31536000, immutable" + +[[pages.headers]] +for = "/pagefind/*" +[pages.headers.values] +Cache-Control = "public, max-age=3600" + +# HTML files should be revalidated +[[pages.headers]] +for = "/*.html" +[pages.headers.values] +Cache-Control = "public, max-age=0, must-revalidate" + +# Redirects (example) +# [[pages.redirects]] +# from = "/old-path" +# to = "/new-path" +# status = 301 + +# Error pages +[pages.error_pages] +"404.html" = "/404.html" +"500.html" = "/500.html" \ No newline at end of file